ESP 32 Devkit v1 hangs (IDFGH-11732)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report
I have flashed my esp board and evertyhing looks wel, but at startup it hangs.
Anyone knows what is wrong? Here the logs from my serial log:
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:7080
load:0x40078000,len:15584
load:0x40080400,len:4
0x40080400: _init at ??:?
ho 8 tail 4 room 4
load:0x40080404,len:3876
entry 0x4008064c
I (31) boot: ESP-IDF v5.1.2 2nd stage bootloader
I (31) boot: compile time Dec 17 2023 15:14:50
I (31) boot: Multicore bootloader
I (35) boot: chip revision: v3.1
I (39) boot.esp32: SPI Speed      : 40MHz
I (44) boot.esp32: SPI Mode       : DIO
I (48) boot.esp32: SPI Flash Size : 2MB
I (53) boot: Enabling RNG early entropy source...
I (58) boot: Partition Table:
I (62) boot: ## Label            Usage          Type ST Offset   Length
I (69) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (77) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (84) boot:  2 factory          factory app      00 00 00010000 00100000
I (92) boot: End of partition table
I (96) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=09d38h ( 40248) map
I (119) esp_image: segment 1: paddr=00019d60 vaddr=3ffb0000 size=02158h (  8536) load
I (122) esp_image: segment 2: paddr=0001bec0 vaddr=40080000 size=04158h ( 16728) load
I (132) esp_image: segment 3: paddr=00020020 vaddr=400d0020 size=14e60h ( 85600) map
I (164) esp_image: segment 4: paddr=00034e88 vaddr=40084158 size=0825ch ( 33372) load
I (184) boot: Loaded app from partition at offset 0x10000
I (184) boot: Disabling RNG early entropy source...
I (196) cpu_start: Multicore app
I (196) cpu_start: Pro cpu up.
I (196) cpu_start: Starting app cpu, entry point is 0x40081100
0x40081100: call_start_cpu1 at C:/Users/Greeve/esp/esp-idf/components/esp_system/port/cpu_start.c:157
I (0) cpu_start: App cpu up.
I (214) cpu_start: Pro cpu start user code
I (214) cpu_start: cpu freq: 240000000 Hz
I (214) cpu_start: Application information:
I (219) cpu_start: Project name:     esp32_rf_receiver
I (225) cpu_start: App version:      29bead8-dirty
I (230) cpu_start: Compile time:     Dec 17 2023 15:14:15
I (236) cpu_start: ELF file SHA256:  33c8ef3f229b24bf...
I (242) cpu_start: ESP-IDF:          v5.1.2
I (247) cpu_start: Min chip rev:     v1.0
I (252) cpu_start: Max chip rev:     v3.99
I (257) cpu_start: Chip rev:         v3.1
I (262) heap_init: Initializing. RAM available for dynamic allocation:
I (269) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (275) heap_init: At 3FFB2AF8 len 0002D508 (181 KiB): DRAM
I (281) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (287) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (294) heap_init: At 4008C3B4 len 00013C4C (79 KiB): IRAM
I (301) spi_flash: detected chip: generic
I (305) spi_flash: flash io: dio
W (308) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary
image header.
I (322) app_start: Starting scheduler on CPU0
I (327) app_start: Starting scheduler on CPU1
I (327) main_task: Started on CPU0
I (337) main_task: Ca�

Hi @heineken63, it seems that your program gets stuck just before calling app_main(), or at the very beginning of it. Are you at liberty to share the content of your main function or at least what it does?

Hi @SoucheSouche
Here is the app_main is this enough?
void app_main()
{
if (s_esp_RF433_queue == NULL) {
s_esp_RF433_queue = xQueueCreate(1, sizeof(uint8_t));
if (s_esp_RF433_queue != NULL) {
// Configure the data input
gpio_config_t data_pin_config = {
.intr_type = GPIO_INTR_ANYEDGE,
.mode = GPIO_MODE_INPUT,
.pin_bit_mask = GPIO_NUM_22, // GPIO_NUM_22 (SEL) DATA PIN!
.pull_up_en = GPIO_PULLUP_DISABLE,
.pull_down_en = GPIO_PULLDOWN_DISABLE
};
    gpio_config(&data_pin_config);

    // Attach the interrupt handler
    gpio_install_isr_service(ESP_INTR_FLAG_EDGE);
    gpio_isr_handler_add(GPIO_NUM_22, data_interrupt_handler, NULL);  // GPIO_NUM_22 DATA PIN!
    xTaskCreate(&receiver_rf433, "receiver_rf433", 2048, NULL, 3, NULL);
}

}
}

@heineken63, yes thank you very much. I could reproduce your issue. I will investigate and come back to you when I know more.

@heineken63, you are passing the pin number GPIO_NUM_22 in the gpio_config_t field .pin_bit_mask instead of passing the bit mask.
.pin_bit_mask = BIT64(GPIO_NUM_22), // 1 << GPIO_NUM_22

It is very easy to overlook this mistake. I couldn't figure out why using the pin 22 as input was not possible without realizing that the configuration provided was erroneous :)
Well, anyway, this should solve your issue.

@SoucheSouche
Thanks the app is starting now.
But the following is happening as not expected, I expected it to keep on listening but this is the only thing showing:
I (340) gpio: GPIO[22]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:3
I (350) main_task: Returned from app_main()

I am not sure what you mean. I tested you code and implemented data_interrupt_handler, and every time I change the state on the pin 22, the function data_interrupt_handler is called.

That is strange, I have connected my rf_receiver to pin 22 but nothing happens.
You say you implemented the data_interrupt_handler, with something of your own?

Hi @heineken63,
In your code,
gpio_isr_handler_add(GPIO_NUM_22, data_interrupt_handler, NULL);, data_interrupt_handler should be a function defined in your code.
void data_interrupt_handler(void *arg)
{
    // add the code you want executed every time the interrupt triggers on the gpio 22
}

@heineken63,
I will close the issue now since the initial problem was resolved. I also provided the necessary information for you to successfully implement the interrupt handler function.


[SMALLFIX] Fix LsCommand console message typo

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/1950/
Test PASSed.


Support a lambda or a partial for the 'operatorfunc' option

The 'operatorfunc' option currently accepts a function name (as a string).
Add support for using a lambda or a partial as a value for this option.

This deserves a good example, or perhaps two, for how the lambda can be useful.

This could be handy for when the opfunc is a script-local function.  We can't write this:
set operatorfunc=s:MyOpfunc

Because it raises E120:
E120: Using <SID> not in a script context: s:MyOpfunc

So, we have to write this:
let &operatorfunc = expand('<SID>') .. 'MyOpfunc'

Which looks a bit weird.
But with a lambda, we could write this instead:
set operatorfunc={type\ ->\ s:MyOpfunc(type)}

One could argue that it still looks weird.  I still prefer reading a lambda which can be used in many other contexts, rather than expand('<SID>'), which is less often used.

Just 2 remarks.  It works with :set but not with :let.  That is, we cannot write this:
let &operatorfunc = {type -> s:MyOpfunc(type)}

Because it raises E729:
E729: Using a Funcref as a String

It still doesn't work if we manually coerce the lambda into a string:
let &operatorfunc = {type -> s:MyOpfunc(type)}->string()
                                              ^--------^

Because this time, it raises E129:
E129: Function name required

It would be nice if could work so that we don't have to escape spaces:
# ugly
set operatorfunc={type\ ->\ s:MyOpfunc(type)}
                      ^   ^

# nicer
let &operatorfunc = {type -> s:MyOpfunc(type)}
                         ^  ^

Also, it doesn't work with a Vim9 lambda.  That is, in a Vim9 script/function, we cannot write this:
set operatorfunc=(type)\ =>\ MyOpfunc(type)

Because it raises E117:
E117: Unknown function: (type) => MyOpfunc(type)

I suspect that's because the option is wrongly evaluated in the legacy context.  Possibly relevant todo item:

Use the location where the option was set for deciding whether it's to be
evaluated in Vim9 script context.

As a workaround, we have to use the :legacy modifier:
legacy set operatorfunc={type\ ->\ MyOpfunc(type)}
^----^

Using the example given at :help g@:
vim9script
nnoremap <expr> <F4> <SID>CountSpaces()
xnoremap <expr> <F4> <SID>CountSpaces()
nnoremap <expr> <F4><F4> <SID>CountSpaces() .. '_'

def CountSpaces(type = ''): string
  if type == ''
    legacy set operatorfunc={type\ ->\ CountSpaces(type)}
    return 'g@'
  endif

  var sel_save: string = &selection
  var reg_save: dict<any> = getreginfo('"')
  var cb_save: string = &clipboard
  var visual_marks_save: list<list<number>> = [getpos("'<"), getpos("'>")]

  try
    set clipboard= selection=inclusive
    var commands: dict<string> = {line: "'[V']y", char: "`[v`]y", block: "`[\<c-v>`]y"}
    silent execute 'noautocmd keepjumps normal! ' .. get(commands, type, '"')
    echom getreg('"')->count(' ')
  finally
    setreg('"', reg_save)
    setpos("'<", visual_marks_save[0])
    setpos("'>", visual_marks_save[1])
    &clipboard = cb_save
    &selection = sel_save
  endtry
  return ''
enddef

'a b c d e'->setline(1)
feedkeys("\<F4>\<F4>")

What's weird is that we don't have to specify the s: prefix in the legacy lambda in front of the script-local function name.  Usually, in the legacy context, s: is mandatory; it can only be dropped in the Vim9 context.

Hi,
Thanks for trying out the patch and the detailed report. See below for some
comments.
On Sat, Aug 21, 2021 at 9:48 AM lacygoill @.***> wrote:

This could be handy for when the opfunc is a script-local function. We
can't write this:
set operatorfunc=s:MyOpfunc
Because it raises E120:
E120: Using  not in a script context: s:MyOpfunc
So, we have to write this:
let &operatorfunc = expand('') .. 'MyOpfunc'
Which looks a bit weird.
But with a lambda, we could write this instead:
set operatorfunc={type\ ->\ s:MyOpfunc(type)}
One could argue that it still looks weird. I still prefer reading a lambda
which can be used in many other contexts, rather than expand(''),
which is less often used.
Just 2 remarks. It works with :set but not with :let. That is, we cannot
write this:
let &operatorfunc = {type -> s:MyOpfunc(type)}
Because it raises E729:
E729: Using a Funcref as a String
It still doesn't work if we manually coerce the lambda into a string:

Yes. Currently this option only supports a string value. So to set the
option using 'let' you need to quote the lambda:
let &operatorfunc = '{type -> s:MyOpfunc(type)}'

let &operatorfunc = {type -> s:MyOpfunc(type)}->string()
^--------^
Because this time, it raises E129:
E129: Function name required
It would be nice if could work so that we don't have to escape spaces:
ugly
set operatorfunc={type\ ->\ s:MyOpfunc(type)}
^   ^
nicer
let &operatorfunc = {type -> s:MyOpfunc(type)}
^  ^

Agreed. But supporting this syntax is a lot more work. We need
to add a new option type that can accept function names (string)
or lambdas or funcrefs.

Also, it doesn't work with a Vim9 lambda. That is, in a Vim9
script/function, we cannot write this:
set operatorfunc=(type)\ =>\ MyOpfunc(type)

Yes. I will take a look at this.

Because it raises E117:
E117: Unknown function: (type) => MyOpfunc(type)
I suspect that's because the option is wrongly evaluated in the legacy
context. Possibly relevant todo item:
Use the location where the option was set for deciding whether it's to be
evaluated in Vim9 script context.
As a workaround, we have to use the :legacy modifier:
legacy set operatorfunc={type\ ->\ MyOpfunc(type)}
^----^
Using the example given at :help g@:

Thanks for enhancing the example with the new syntax.
Regards,
Yegappan

vim9scriptnnoremap   CountSpaces()xnoremap   CountSpaces()nnoremap   CountSpaces() .. '_'
def CountSpaces(type = ''): string
if type == ''
legacy set operatorfunc={type\ ->\ CountSpaces(type)}
return 'g@'
endif
var sel_save: string = &selection
var reg_save: dict = getreginfo('"')
var cb_save: string = &clipboard
var visual_marks_save: list<list> = [getpos("'<"), getpos("'>")]
try
set clipboard= selection=inclusive
var commands: dict = {line: "'[V']y", char: "[v]y", block: "[\<c-v>]y"}
silent execute 'noautocmd keepjumps normal! ' .. get(commands, type, '"')
echom getreg('"')->count(' ')
finally
setreg('"', reg_save)
setpos("'<", visual_marks_save[0])
setpos("'>", visual_marks_save[1])
&clipboard = cb_save
&selection = sel_save
endtry
return ''enddef
'a b c d e'->setline(1)feedkeys("<F4><F4>")
What's weird is that we don't have to specify the s: prefix in the legacy
lambda in front of the script-local function name. Usually, in the legacy
context, s: is mandatory; it can only be dropped in the Vim9 context.

Finally had time to look into the patch.  It does make sense, I think we can use his for all options that take the name of a function as an argument.
The use of function() and funcref() is not documented.  We should make a separate section in the help, with some examples, and link to it from the options that support this format.
We have to make sure that the callback is cleared when exiting.  The asan build doesn't report a leak, but that's probably because the tests end with making the option empty.

It seems that we can use a partial in a legacy function:
vim9script
nnoremap <expr> zd <SID>ZdSetup('zd')
function ZdSetup(cmd)
    set operatorfunc=function('s:Zd',\ [a:cmd])
    return 'g@l'
endfunction
def Zd(cmd: string, type: string)
    execute 'normal! ' .. cmd
enddef
var lines =<< trim END
    some folded lines {{{
    some folded lines
    some folded lines }}}
END
lines->setline(1)
&foldmethod = 'marker'
normal zd

the fold is correctly deleted

But not in a Vim9 function:
vim9script
nnoremap <expr> zd <SID>ZdSetup('zd')
def ZdSetup(cmd: string): string
    set operatorfunc=function(Zd,\ [cmd])
    return 'g@l'
enddef
def Zd(cmd: string, type: string)
    execute 'normal! ' .. cmd
enddef
var lines =<< trim END
    some folded lines {{{
    some folded lines
    some folded lines }}}
END
lines->setline(1)
&foldmethod = 'marker'
normal zd

E121: Undefined variable: cmd

Am I missing something?  Shouldn't Vim be able to find the cmd argument in a :def function:
set operatorfunc=function(Zd,\ [cmd])
                                ^^^

just like it is able to in a legacy function:
set operatorfunc=function('s:Zd',\ [a:cmd])
                                    ^---^

Note that the issue is not caused by the omission of the s: scope in front of Zd, nor by the omission of the quotes around.  None of them are required in the Vim9 context.  And it doesn't suppress the error here anyway.

Sorry, I think it's the same issue as the one reported earlier about the lambdas:

Also, it doesn't work with a Vim9 lambda. That is, in a Vim9 script/function, we cannot write this:
set operatorfunc=(type)\ =>\ MyOpfunc(type)

Hi,
On Mon, Nov 15, 2021 at 7:21 PM lacygoill @.***> wrote:

It seems that we can use a partial in a legacy function:
vim9script
nnoremap  zd ZdSetup('zd')
function ZdSetup(cmd)
set operatorfunc=function('s:Zd',\ [a:cmd])
return @.***'
endfunction
def Zd(cmd: string, type: string)
execute 'normal! ' .. cmd
enddef
var lines =<< trim END
some folded lines {{{
some folded lines
some folded lines }}}
END
lines->setline(1)
&foldmethod = 'marker'
normal zd
the fold is correctly deleted
But not in a Vim9 function:
vim9script
nnoremap  zd ZdSetup('zd')
def ZdSetup(cmd: string): string
set operatorfunc=function(Zd,\ [cmd])
return @.***'
enddef
def Zd(cmd: string, type: string)
execute 'normal! ' .. cmd
enddef
var lines =<< trim END
some folded lines {{{
some folded lines
some folded lines }}}
END
lines->setline(1)
&foldmethod = 'marker'
normal zd
E121: Undefined variable: cmd
Am I missing something? Shouldn't Vim be able to find the cmd argument in a :def function:
set operatorfunc=function(Zd,\ [cmd])
^^^
just like it is able to in a legacy function:
set operatorfunc=function('s:Zd',\ [a:cmd])
^---^
Note that the issue is not caused by the omission of the s: scope in front of Zd, nor by the omission of the quotes around. None of them are required in the Vim9 context. And it doesn't suppress the error here anyway.

The current implementation only supports legacy functions and
funcrefs. It doesn't support
Vim9 functions.
Regards,
Yegappan

Hi Bram,
On Mon, Nov 15, 2021 at 11:40 AM Bram Moolenaar @.***>
wrote:

Finally had time to look into the patch. It does make sense, I think we
can use his for all options that take the name of a function as an argument.
The use of function() and funcref() is not documented. We should make a
separate section in the help, with some examples, and link to it from the
options that support this format.
We have to make sure that the callback is cleared when exiting. The asan
build doesn't report a leak, but that's probably because the tests end with
making the option empty.

The current implementation only supports legacy functions and doesn't
support compiled
Vim9 functions and lambdas.
Regards,
Yegappan

Hi Bram,
On Mon, Nov 15, 2021 at 11:40 AM Bram Moolenaar @.***>
wrote:

Finally had time to look into the patch. It does make sense, I think we
can use his for all options that take the name of a function as an argument.
The use of function() and funcref() is not documented. We should make a
separate section in the help, with some examples, and link to it from the
options that support this format.
We have to make sure that the callback is cleared when exiting. The asan
build doesn't report a leak, but that's probably because the tests end with
making the option empty.

I have updated the PR to incorporate your comments.
Regards,
Yegappan

Hi,
See below for some comments (after patch 8.2.3751)
On Sat, Aug 21, 2021 at 9:48 AM lacygoill @.***> wrote:

This could be handy for when the opfunc is a script-local function. We
can't write this:
set operatorfunc=s:MyOpfunc

This should work now.

Because it raises E120:
E120: Using  not in a script context: s:MyOpfunc
So, we have to write this:
let &operatorfunc = expand('') .. 'MyOpfunc'
Which looks a bit weird.
But with a lambda, we could write this instead:
set operatorfunc={type\ ->\ s:MyOpfunc(type)}
One could argue that it still looks weird. I still prefer reading a lambda
which can be used in many other contexts, rather than expand(''),
which is less often used.
Just 2 remarks. It works with :set but not with :let. That is, we cannot
write this:
let &operatorfunc = {type -> s:MyOpfunc(type)}

This should work now.

Because it raises E729:
E729: Using a Funcref as a String
It still doesn't work if we manually coerce the lambda into a string:
let &operatorfunc = {type -> s:MyOpfunc(type)}->string()
^--------^
This also should work now.

Because this time, it raises E129:
E129: Function name required
It would be nice if could work so that we don't have to escape spaces:
ugly
set operatorfunc={type\ ->\ s:MyOpfunc(type)}
^   ^
nicer
let &operatorfunc = {type -> s:MyOpfunc(type)}
^  ^
Also, it doesn't work with a Vim9 lambda. That is, in a Vim9
script/function, we cannot write this:
set operatorfunc=(type)\ =>\ MyOpfunc(type)

This should work now.

Because it raises E117:
E117: Unknown function: (type) => MyOpfunc(type)
I suspect that's because the option is wrongly evaluated in the legacy
context. Possibly relevant todo item:
Use the location where the option was set for deciding whether it's to be
evaluated in Vim9 script context.
As a workaround, we have to use the :legacy modifier:
legacy set operatorfunc={type\ ->\ MyOpfunc(type)}
^----^

Can you try the latest version and let us know if you see any problems?
Thanks,
Yegappan

Thank you very much for all your work on this.  I don't know whether it's planned at some point, but we can still not set an opfunc with a simple assignment in Vim9:
vim9script
nnoremap <expr> <F4><F4> <SID>CountSpaces() .. '_'
def CountSpaces(type = ''): string
  if type == ''
    &operatorfunc = (t) => CountSpaces(t)
    return 'g@'
  endif
  normal! '[V']y
  echomsg getreg('"')->count(' ')
  return ''
enddef
'a b c d e'->setline(1)
feedkeys("\<F4>\<F4>")

E1012: Type mismatch; expected string but got func(any): string

The issue comes from this line:
&operatorfunc = (t) => CountSpaces(t)

Which works in legacy:
legacy let &operatorfunc = {t -> CountSpaces(t)}

Test:
vim9script
nnoremap <expr> <F4><F4> <SID>CountSpaces() .. '_'
def CountSpaces(type = ''): string
  if type == ''
    legacy let &operatorfunc = {t -> CountSpaces(t)}
    return 'g@'
  endif
  normal! '[V']y
  echomsg getreg('"')->count(' ')
  return ''
enddef
'a b c d e'->setline(1)
feedkeys("\<F4>\<F4>")

4

Also, still in Vim9, we can not use a partial; neither with :set:
set operatorfunc=function(Zd,\ [cmd])

Test:
vim9script
nnoremap <expr> zd <SID>ZdSetup('zd')
def ZdSetup(cmd: string): string
    set operatorfunc=function(Zd,\ [cmd])
    return 'g@l'
enddef
def Zd(cmd: string, type: string)
    execute 'normal! ' .. cmd
enddef
var lines =<< trim END
    some folded lines {{{
    some folded lines
    some folded lines }}}
END
lines->setline(1)
&foldmethod = 'marker'
normal zd

E121: Undefined variable: cmd

nor with an assignment:
&operatorfunc = function(Zd, [cmd])

Test:
vim9script
nnoremap <expr> zd <SID>ZdSetup('zd')
def ZdSetup(cmd: string): string
    &operatorfunc = function(Zd, [cmd])
    return 'g@l'
enddef
def Zd(cmd: string, type: string)
    execute 'normal! ' .. cmd
enddef
var lines =<< trim END
    some folded lines {{{
    some folded lines
    some folded lines }}}
END
lines->setline(1)
&foldmethod = 'marker'
normal zd

E1012: Type mismatch; expected string but got func(...): unknown

Hi,
On Mon, Dec 6, 2021 at 7:36 PM lacygoill @.***> wrote:

Thank you very much for all your work on this. I don't know whether it's
planned at some point, but we can still not set an opfunc with a simple
assignment in Vim9:

Thanks for testing this. Setting the 'opfunc', 'completefunc', etc. options
to a funcref
variable in a compiled Vim9 function is currently not supported.
Regards,
Yegappan

vim9scriptnnoremap   CountSpaces() .. '_'def CountSpaces(type = ''): string
if type == ''
&operatorfunc = (t) => CountSpaces(t)
return 'g@'
endif
normal! '[V']y
echomsg getreg('"')->count(' ')
return ''enddef'a b c d e'->setline(1)feedkeys("<F4><F4>")
E1012: Type mismatch; expected string but got func(any): string
The issue comes from this line:
&operatorfunc = (t) => CountSpaces(t)
Which works in legacy:
legacy let &operatorfunc = {t -> CountSpaces(t)}
Test:
vim9scriptnnoremap   CountSpaces() .. '_'def CountSpaces(type = ''): string
if type == ''
legacy let &operatorfunc = {t -> CountSpaces(t)}
return 'g@'
endif
normal! '[V']y
echomsg getreg('"')->count(' ')
return ''enddef'a b c d e'->setline(1)feedkeys("<F4><F4>")
4

Also, still in Vim9, we can not use a partial; neither with :set:
set operatorfunc=function(Zd,\ [cmd])
Test:
vim9scriptnnoremap  zd ZdSetup('zd')def ZdSetup(cmd: string): string
set operatorfunc=function(Zd,\ [cmd])
return @.***'enddefdef Zd(cmd: string, type: string)
execute 'normal! ' .. cmdenddefvar lines =<< trim END
some folded lines {{{
some folded lines
some folded lines }}}
ENDlines->setline(1)
&foldmethod = 'marker'normal zd
E121: Undefined variable: cmd
nor with an assignment:
&operatorfunc = function(Zd, [cmd])
Test:
vim9scriptnnoremap  zd ZdSetup('zd')def ZdSetup(cmd: string): string
&operatorfunc = function(Zd, [cmd])
return @.***'enddefdef Zd(cmd: string, type: string)
execute 'normal! ' .. cmdenddefvar lines =<< trim END
some folded lines {{{
some folded lines
some folded lines }}}
ENDlines->setline(1)
&foldmethod = 'marker'normal zd
E1012: Type mismatch; expected string but got func(...): unknown

The option assignment to a lambda in a :def function was implemented with 8.2.3765.  I hope it works for you.
The "set" command is not compiled, thus it cannot use variables from its context.  You can see this with ":disas":
 set operatorfunc=function(Zd,\ [cmd])
   0 EXEC     set operatorfunc=function(Zd,\ [cmd])

The last example fails because the 'operatorfunc' option is set to the lambda, not the partial.
Perhaps we could make this work but since using a lambda is easier and already works, I don't think we need it.

Actually, using a lambda doesn't work, because the 'operatorfunc' calls the function without the context of where it was defined.


Change certificate key size to 4096 bits

Description
Changes proposed in this pull request:

Change certificate key size
Fix typo

Pre-Merge Checklist

[ ] As a PR reviewer, verify code coverage and evaluate if it is acceptable.

Related issues
#969
Info
https://istio.io/latest/docs/ops/configuration/traffic-management/manage-mesh-certificates/
Can be tested with:
kubectl get secrets -n istio-system istio-ca-secret --template='{{ range $key, $value := .data }}{{ printf "%s: %s\n" $key ($value | base64decode) }}{{ end }}'

@werdes72 @nataliasitko Release notes?


Update collaborate-as-team.md

Corrected the navigation path for sharing in sharepoint admin center

@JohanFreelancer9  Please copy review

Issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/3010

@MikePlumleyMSFT Please merge this PR. Thanks.


(Enhancement): Add annotationCheck [true/false] in chaosengine spec

What happened:

Add annotationCheck as [true/false] in chaosengine spec.
Remove chaosType from engine.

What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:

https://github.com/litmuschaos/chaos-operator/pull/125


HBASE-23553 Snapshot referenced data files are deleted in some case

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 28s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 1 new or modified test files.

_ master Compile Tests _

+1 :green_heart:
mvninstall
5m 51s
master passed

+1 :green_heart:
compile
0m 57s
master passed

+1 :green_heart:
checkstyle
1m 29s
master passed

+1 :green_heart:
shadedjars
5m  1s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 37s
master passed

+0 :ok:
spotbugs
4m 34s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
4m 32s
master passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
5m 24s
the patch passed

+1 :green_heart:
compile
0m 58s
the patch passed

+1 :green_heart:
javac
0m 58s
the patch passed

+1 :green_heart:
checkstyle
1m 24s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedjars
5m  0s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
hadoopcheck
17m  4s
Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.

+1 :green_heart:
javadoc
0m 34s
the patch passed

+1 :green_heart:
findbugs
4m 48s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
151m 39s
hbase-server in the patch passed.

+1 :green_heart:
asflicense
0m 26s
The patch does not generate ASF License warnings.

214m  2s

Subsystem
Report/Notes

Docker
Client=19.03.4 Server=19.03.4 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-922/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/922

Optional Tests
dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile

uname
Linux 5e99ddee3733 4.15.0-70-generic #79-Ubuntu SMP Tue Nov 12 10:36:11 UTC 2019 x86_64 GNU/Linux

Build tool
maven

Personality
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-922/out/precommit/personality/provided.sh

git revision
master / 82e155eb26

Default Java
1.8.0_181

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-922/1/testReport/

Max. process+thread count
4137 (vs. ulimit of 10000)

modules
C: hbase-server U: hbase-server

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-922/1/console

versions
git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.


Implement EcDoubleAssignNewXV1 hint

Resolves #258

Also I ran the CI/CD. All the tests pass, but try to lint the code with golangci-lint run as well! Thanks 😎

Also I ran the CI/CD. All the tests pass, but try to lint the code with golangci-lint run as well! Thanks 😎

Ty! I fixed the lint issues! 😎

Only linting is required from me, expect of that lgtm, @cicr99 can you take a look?

Apart from a minor function naming issue it looks good to me!

@cicr99 final look? I think it's ready for an approve

lgtm!


[FEATURE] Start VM on 'clvm "connect"/"ssh start"' on GCP/Azure

Is your feature request related to a problem? Please describe.
I'm expecting the VM starts on command "clvm connect vm-instance-name".
It works on AWS Okay.

Implemented


Release static 64bit version

Hi,
The static binary release is great. However, it's 32bit only. So, I suggest to release both 32 and 64 bit versions. The reason is quite simple: in a minimal install of a 64bit system the 32 libraries doesn't exist, threfore a native 64bit static binary is a must have.
I hope you consider it!

I'm NOT considering it as static version is a nightmare for security upgrades.
You can build a static version yourself, it's very easy.
Take a look here: https://github.com/zehome/MLVPN/blob/master/.gitlab-ci.yml


Fix problems and improve tests according to cargo mutants

This PR fixes problems found by mutation testing.

[x] Asynch module is not fixed yet

Fixes #46 and #45.
Partially implements #40.

@cljoly you can review this PR.

Fixed the PR according to your review. Thanks!


Add issue templates

As always, only a bit GitHub "housekeeping" from me (;
This PR adds issue templates to this repository.

@Ein-Tim Thanks.


Polish org.apache.groovy package documentation

Fix typos and improve documentation (javadoc, comments) in the org.apache.groovy package.
Note that the following words / expressions were preferred :

meta data -> metadata (incorrect, see https://www.merriam-webster.com/dictionary/metadata)
sub-class -> subclass (more common, see https://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html),
meta class -> metaclass (incorrect, see https://en.wikipedia.org/wiki/Metaclass).

Merged, thanks!


Are the models fine tune-able?

❓ How to Finetune these new models

Are the three models provided work in same way as pre-trained models?
How to finetune them?

It would be great if you can provide script for fine-tuning.

All 3 models work the same way.
You can use train_net_dla.py to finetune. Add cfg.MODEL.WEIGHTS = "<path to dla trained model>" in your train_net_dla.py

Where is train_net_dla.py? What if I want to train a new model such as F-CNN? Better question I have is where is the actual train and test code located?


can't get gpu info with wsl platform

ENV

os: Ubuntu 22.04.4 LTS in  <IP_ADDRESS>-microsoft-standard-WSL2
gpud: gpud version v0.2.3

exec gpud scan:
admin@test$ sudo gpud scan

⌛ scanning the host

⌛ scanning the process counts
✔ counted processes by status
✔ "sleep" 65
✔ "running" 1

⌛ scanning dmesg for 5000 lines
✔ scanned dmesg file -- found no issue

⌛ checking network connectivity to edge/derp servers

✔ latency check complete

✔ scan complete

Hello, can you share the nvidia-smi output?

ui page also can't get gpu info

@zhuima We are adding more debugging level logs to root cause this. We will let you know once the new release is out.

I'll test out the latest version

Also, could you share the output of

lspci | grep -i nvidia

nothing output

https://github.com/leptonai/gpud/releases/tag/v0.2.4 now has gpud scan --log-level=debug flag. Could you try that to double confirm

Me and @photoszzt did some search and found out https://github.com/microsoft/WSL/issues/9821 -- quiet a different platform: https://docs.nvidia.com/cuda/wsl-user-guide/index.html#cuda-support-for-wsl-2
I don't think we will full support WSL platform for now.  Please try with Linux.

thanks


Selectively disable materials from casting shadows

So enclosed room internals can still be affected by an environment map.
The material / object would just be ignored on subsequent bounces.

@setpixel my working idea for an implementation here is to just ignore any materials that have shadow casting disabled only after the first bounce - effectively treating them as 100% transparent. But that means that reflections, emission, etc would also all be ignored. Is that what this feature does in Blender, as well?

From @setpixel:
Blender lets you disable an object from being visible to certain ray types. See docs here:

In these images the room (walls + ceiling) are set to not cast shadows but still show up in the reflections of the sphere:

In this portion of the reflection it looks like the reflection mixes both the skybox lighting and the reflected lighting:


feat(turbopack-core): parse query params of resolve requests

Description

Testing Instructions

Current dependencies on/for this PR:

main

PR #5677   👈

PR #5660

This comment was auto-generated by Graphite.


allow custom renderer

this will enable future integration with virtualization libs
cc @bmathews , would love if you could take a look when you get a chacne

This looks close. I think I have a concern/question about the inline styles for the top level row though. react-virtualized passes you an object with inline styles for positioning that you have to apply to a row. It contains something like position: absolute; top: 100px;. If I'm understanding the createElement correctly, it'd pass those inline styles to all the row's children, too?
import SyntaxHighlighter, {createElement} from 'react-syntax-highlighter';

const rowRenderer = (rows, rowStyle, useInlineStyles, virtualProps) => {
  return createElement({
    node: rows[virtualProps.index],
    style: {...rowStyle, ...virtualProps.style},
    useInlineStyles,
    virtualProps.key
  });
}

const renderer = ({rows, style, useInlineStyles}) => {
  return <ReactVirtualizedList rowCount={rows.length} rowHeight={25} rowRenderer={rowRenderer.bind(null, rows, style, useInlineStyles)} />;
}

const codeSnippet = `function () {\n  alert();\n };`

return (
  <SyntaxHighlighter renderer={renderer} language="javascript">
     {codeSnippet}
  </SyntaxHighlighter>
);

@bmathews it shouldn't, i'll play around to make sure though. each of the children should have it's own style. and createElement will call recursively. The children will get passed the stylesheet object which they will ref based on classNames from virtual-dom but they won't have properties.style (only elements created in lib by row wrapper will have) so that will just default to empty object
https://github.com/conorhastings/react-syntax-highlighter/blob/master/src/highlight.js#L8

@bmathews had to make a couple changes but was able to get it working with react virtualized and added a demo, let me know what you think.

Came here from my repo of attempting to make this work with RN. For the uninitiated, what are some of the virtualization libraries you have mentioned earlier?

@Naoto-Ida one of them would be bvaughn/react-virtualized.

:100:


Switching From AngularJS to Latest Version of Angular in One Test

I created this question over on StackOverflow, but have gotten no response, just wondering if anyone has some thoughts on how to do this.

Using this worked. Thank you so much. I use it in my beforeEach() for the tests I need it on, but it does work.


WIP TraceContext propagation handler

I paired with @tylerbenson so thanks for the help.
Very early so don't read too much into how the code is shaped until comments suggest otherwise
See also https://github.com/openzipkin/zipkin4net/issues/200 cc @bgrainger

I will move this to openzipkin-contrib repo at some point. It is too early to put this into brave and I also have less confidence the spec until there are others implementing it.

https://github.com/w3c/distributed-tracing is a decent place to consider

fyi this is on pause still as there's a discussion that significantly affects portability pending. We don't have the resources to thrash the impl so waiting on a decision to finalize with ideally a quorum of diverse input.
https://github.com/w3c/distributed-tracing/issues/167

@SergeyKanzhelev do you mind a quick mention of the status of the w3c tracecontext. I see it is working draft on the github repo, but then also see some pull requests for review. How stable are things? are there any public endpoints available to interop with?

I will rebase this again

rebased

some things that changed since this was done:

tracestate encoding is more complex as characters such as @ are now allowed. I've noticed some using a more expensive regex approach to split on account of this.
there's a version in the header now, oddly 00 eventhough the spec is final now.
there are a lot of MUST in the spec for things that were opposite before. For example, you have to handle mixed case, which will be silly in messaging for the reasons we already know about.
odd things like traceparent field for span id renamed to parent id, which conflicts conceptually with B3 with no mention about B3 of course. super strange behavior as using simply "id" could have been done if the word span was problematic. anyway like all the above regressions, this is water under the bridge.

here's the published version, several days ago. we should watch out to see which errata are accepted (eg if version 00 is errata or intentional) https://www.w3.org/TR/trace-context-1/
iotw recommend if someone wants to pick this up, to wait a few days for errata

looks like people settled on version double-zero. Also the implementation expectations are extremely low, like just map b3 to traceparent and push tracestate https://github.com/jaegertracing/jaeger-client-java/pull/694
that in mind, I'll happily check this off and push the same parity.

I rebased this and renamed the thing to "w3c" as I can't imagine us wanting to add another module for correlation-context later. Also, I wrote in the README the implementation rationale, which is made to survive multiple systems.
later, I'll scan for spec drift and rally for merge.

backfilled traceparent tests as that format didn't change much. next is to manage the drift on tracestate which is a lot more permissive than last time.

I will redo the traceparent stuff following this as it is faster and has better logging https://github.com/openzipkin/brave/pull/1114

rewrote the traceparent parser based on recent work committed for b3 single (thanks to @anuraaga for the epic review on that).
This fully supports the traceparent spec now, including edge cases like forward versions. next step is to redo the tracestate parser.

started on tracestate key generation. it took a bit to understand the validation rules. hats off to @anuraaga for the tip to parse with a boolean array as it is faster than the usual approach https://github.com/netty/netty/pull/9896

tracestate key parsing numbers from latest commit:
Benchmark                                                     Mode  Cnt  Score   Error   Units
TracestateFormatBenchmarks.validateKey_brave_longest_basic   thrpt   15  5.168 ± 0.061  ops/us
TracestateFormatBenchmarks.validateKey_brave_longest_tenant  thrpt   15  4.056 ± 0.018  ops/us
TracestateFormatBenchmarks.validateKey_regex_longest_basic   thrpt   15  0.401 ± 0.013  ops/us
TracestateFormatBenchmarks.validateKey_regex_longest_tenant  thrpt   15  0.414 ± 0.011  ops/us

ok tracestatekey algo done.. need to go back and cite the sections of the spec and add logging for the various failure cases.
Benchmark                                                     Mode  Cnt  Score   Error   Units
TracestateFormatBenchmarks.validateKey_brave_longest_basic   thrpt   15  5.265 ± 0.035  ops/us
TracestateFormatBenchmarks.validateKey_brave_longest_tenant  thrpt   15  5.127 ± 0.021  ops/us
TracestateFormatBenchmarks.validateKey_regex_longest_basic   thrpt   15  0.375 ± 0.033  ops/us
TracestateFormatBenchmarks.validateKey_regex_longest_tenant  thrpt   15  0.425 ± 0.009  ops/us

added all the validation rules and assertions so that when a tracestate header arrives with a malformed key, there's a chance to know what is wrong.
Tomorrow I will work on the value parsing and integrating the logic written today (it isn't in the tracestate value parsing loop yet)

hi @adriancole, do you need a hand on this?

@samukce would be helpful, sure.. there's some things to follow-up on.. I think maybe need a checklist, but will mention for now.

somewhere there's a debate about how many @ can be present or if it will be ok to allow any. We should delete all the special cases around "tenant" if they decided that way..
the next step here was parsing tracestate, however the code we'd make here is code we already need upstream for dynamic baggage. I'd be less inclined to progress until the other is done. One way you can hasten things is to review any PRs that mention baggage in any way, become acclimated with the codebase as it will be what powers tracestate. You may find opportunities to contribute to make that quicker also.

sg?

@samukce also in front of this is getting secondary sampling working on the baggage apis. the main thing is to get everything aligned so that the apis we use here also work for secondary sampling etc. a bit of up front work, but it is slowly coming together later https://github.com/openzipkin-contrib/zipkin-secondary-sampling

as far as I know there won't be a constraint on at signs, so it is far easier to parse now https://github.com/w3c/trace-context/pull/386

started reworking this over latest master. next step: take out the unnecessary @ logic

Annoyingly, trace-context defines some strange whitespace rules. Ex
tracestate: key=          value where           value is actually the value per the spec.
https://github.com/w3c/trace-context/issues/409
I don't expect them to fix this so I wrote a parser that can deal with it.
once this is in I can finish up https://github.com/openzipkin/brave/pull/1193

@anuraaga @samukce I think Brave now has what's needed to do this with the least cruft. As such, once 5.12 is out I'll cut a new openzipkin-contrib repository named brave-w3c with this as "initial commit" referencing this issue in order to retain history. After that, I'll close this PR.
In that repo, we can carry forward the rest of it decoupled from Brave releases, allow people to experiment while details in w3c are still fluid.

@anuraaga @samukce as people are often confused by HTTP encoding rules, I summarized the relationship with our APIs here https://github.com/openzipkin/brave/pull/1205

https://github.com/openzipkin-contrib/brave-propagation-w3c will carry this on


add link between -D and --log-level=debug back in

Due to popular demand :-)
See #11965
Signed-off-by: Doug Davis<EMAIL_ADDRESS>

@jfrazelle @tiborvass

LGTM

LGTM


Crash when startWithApplicationToken is called

Description
On app launch, NewRelic.start(withApplicationToken: [token here]) crashes on iOS 15 and iOS 16 for classes that are marked as only available in iOS 17+. This is most likely the same type of issue as reported here: https://forum.newrelic.com/s/hubtopic/aAX8W0000008caqWAA/xcode-13-ios-14-crash
Steps to Reproduce

Create a new project where the minimum deployment is iOS 15.
Add the NewRelic.start(withApplicationToken: newRelicKey) method to the app delegate
Add a file to the project with the following code:

import SwiftData

@available(iOS 17.0, *)
@Model class SomeModel {
  var someProperty: Bool

  init(someProperty: Bool) {
    self.someProperty = someProperty
  }
}

and/or
import Foundation

@available(iOS 17.0, *)
@Observable class SomeObservable {
  var someProperty: Bool

  init(someProperty: Bool) {
    self.someProperty = someProperty
  }
}

Run the app

Expected Behavior
The app should not crash due to New Relic.
Relevant Logs / Console output
Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Codes: 0x0000000000000001, 0x0000000000000000
VM Region Info: 0 is not in any region.  Bytes before following region:<PHONE_NUMBER>
      REGION TYPE                 START - END      [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->
      __TEXT                   102cd4000-106050000 [ 51.5M] r-x/r-x SM=COW  ...7/--.app/--
Termination Reason: SIGNAL 11 Segmentation fault: 11
Terminating Process: exc handler [1919]

Triggered by Thread:  0

Thread 0 name:   Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   ???                           	               0x0 ???
1   libswiftCore.dylib            	       0x1b27918c8 swift::MetadataCacheEntryBase<(anonymous namespace)::SingletonMetadataCacheEntry, int>::doInitialization(swift::MetadataWaitQueue::Worker&, swift::MetadataRequest) + 468
2   libswiftCore.dylib            	       0x1b27802d8 swift_getSingletonMetadata + 880
3   --                           	       0x1052b4e30 type metadata accessor for SomeObservable + 44
4   libobjc.A.dylib               	       0x1b189c2b4 realizeClassMaybeSwiftMaybeRelock(objc_class*, locker_mixin<lockdebug::lock_mixin<objc_lock_base_t> >&, bool) + 184
5   libobjc.A.dylib               	       0x1b187d7b4 look_up_class + 148
6   NewRelic                      	       0x10aa6e3bc NRMA__generateClassTrees + 136
7   NewRelic                      	       0x10aa6e2cc 0x10aa48000 + 156364
8   libdispatch.dylib             	       0x1bfbd8fdc _dispatch_client_callout + 20
9   libdispatch.dylib             	       0x1bfbda828 _dispatch_once_callout + 32
10  NewRelic                      	       0x10aa6e274 0x10aa48000 + 156276
11  NewRelic                      	       0x10aa74a78 0x10aa48000 + 182904
12  NewRelic                      	       0x10aa7474c 0x10aa48000 + 182092
13  NewRelic                      	       0x10aa77b08 0x10aa48000 + 195336
14  libdispatch.dylib             	       0x1bfbd8fdc _dispatch_client_callout + 20
15  libdispatch.dylib             	       0x1bfbda828 _dispatch_once_callout + 32
16  NewRelic                      	       0x10aa77aa4 0x10aa48000 + 195236
17  NewRelic                      	       0x10aa7782c 0x10aa48000 + 194604
18  --                           	       0x10333a4dc specialized AppDelegate.application(_:didFinishLaunchingWithOptions:) + 3200
19  --                           	       0x103330fb0 @objc AppDelegate.application(_:didFinishLaunchingWithOptions:) + 136
20  UIKitCore                     	       0x1baaeac54 -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 300
21  UIKitCore                     	       0x1baaea378 -[UIApplication _callInitializationDelegatesWithActions:forCanvas:payload:fromOriginatingProcess:] + 2848
22  UIKitCore                     	       0x1baae9354 -[UIApplication _runWithMainScene:transitionContext:completion:] + 856
23  UIKitCore                     	       0x1baae8fcc -[_UISceneLifecycleMultiplexer completeApplicationLaunchWithFBSScene:transitionContext:] + 176
24  UIKitCore                     	       0x1bab337f0 -[UIApplication _compellApplicationLaunchToCompleteUnconditionally] + 48
25  UIKitCore                     	       0x1bab32848 -[UIApplication _run] + 852
26  UIKitCore                     	       0x1bab324d0 UIApplicationMain + 340
27  --                           	       0x103338b3c main + 68
28  dyld                          	       0x1d6e5e960 start + 2528

Your Environment
Xcode 15.4
iOS 16.4 simulator
New Relic v7.5.1 via SPM

Hi @laurentaylormarshall . We've asked Apple about this Swift language bug. I will follow up with a code workaround you can use to get around Apples Swift language bug.
This is not an issue with the New Relic iOS agent. I've created a ticket in our JIRA system to track Apples progress fixing this and our workarounds.

Hi @laurentaylormarshall , I forgot to mention that this is an issue that can be fixed by disabling InteractionTracing as well, if you don't need to use that. We'll look into the code change to workaround this.
See below code , call this before caling NewRelic.start.. This will result in InteractionTracing being disabled and you should not experience the crash.
        NewRelic.disableFeatures([
            NRMAFeatureFlags.NRFeatureFlag_InteractionTracing
        ])

Thank you @cdillard-NewRelic , that does seem to prevent the crash! However, interaction tracking for iOS 15 and 16 users is still valuable to us, so a long term fix is what we're ultimately looking for.

@cdillard-NewRelic Have you filed a Feeback Assistant ticket in addition to the forum link that you posted?

Hi @laurentaylormarshall ,  we haven't sent Apple the Feedback Assistant request yet but I'll make a note in our JIRA system to send this up soon. Thanks for the reminder.


Discussion: should HA show "Unavailable" for entities whenever we fail to poll the SAIC API?

As title says, I'd like to gather some feedback about the current behaviour and a possibile change:

Currently HA entities show "available" as long as the docker container of the MQTT Gateway is alive

But sometimes we fail to talk with the SAIC API (either for a specific car or completely), giving HA false information about the data (i.e. if you use an utility meter integration to compute the kWh charged)
The proposal (testable with this docker image: ghcr.io/nanomad/saic-python-mqtt-gateway/saic-mqtt-gateway:0.6.0-rc8) is to make:

Gateway configuration entities available as long as the gateway docker container is connected to MQTT (mostly refresh mode and refresh periods)
Car entities available as long as we managed to poll BOTH car state and battery state

What do you think?

Tagging @tisoft @magior @Tonno87 @tosate for feedback :)

I like this idea. In my case with two cars Inregularily experience that one car peovides. data and at the same time the other car shows an error and no dara can be requested anymore (sometimes for days). So while MQTT GW and also SAIC API login are successfull, data from one car is not available/reliable anymore.

However as I am not using HA the sams information should be provided via MQTT in a dedicated topic for other SmartHome systems to fetch the status per car.

It will be :)
I've added a new topic under the car info with the usual 'online' and 'offline' payloads

As a technician i would say: Better no values than wrong values! From this point of view it's a good idea.
Additionally in the case of problems we can better specify if it's a gateway or api problem.
On the other hand this behaviour will provoke more issues and discussions.

On the other hand this behaviour will provoke more issues and discussions.

To be fair, I've already had my fair share of discussion about "commands not working"
Keep in mind the proposal only applies to "polling" errors so essentially mostly during driving and as a response to a successful command execution.
The question now is...how can we make users aware of errors during commands execution? I bet that is a more common scenario, and I don't think putting the whole car into an "unavailable" state is the best choice in terms of user experience

To understand the changes in RC8 without testing your image yet:
If the gateway polls any values without success  all car entity's became unavailable like this:

What do you think about sending a notification to home assistant if a command doesn't work?

That would be nice, I don't see a way of sending those via MQTT though...Should we think about a direct API integration?

Is it possible to create an automation with autodiscovery? If so we can trigger the notification service by sending an mqtt message to home assistant.
A native Integration is a cool idea, but if we change something we need to wait for home assistant updates... Or we need to release it at the Hacs store.

Is it possible to create an automation with autodiscovery? If so we can trigger the notification service by sending an mqtt message to home assistant.

Unfortunately not :(
We can use HA API keys and API call to  http://<HA_URI>:8123/api/services/notify though

I also like the idea of setting entities to unavailable if we did not manage to get proper values. This should improve the statistics for certain sensors.
I would use notifications in very specific scenarios only. From my point of view it makes sense when a user invokes a command so that he receives a feedback in case of error and does not need to look into the log.
For polling errors I would avoid the notifications because they can quickly pile up and annoy the user.

Installed the new pre-release at 19:27:49, everything seems to work. but at 20:57:41 the car became unavailable. Seems that the gateway failed with "code 4: the remote control instruction failed, please try again later. "

Seems that the car won't go to a sleep state:

Seems that the car won't go to a sleep state:
Interesting, I don't think I changed the refresh logic there. Let me check

Ah you're right... I think it's just an edge case that has always been there but we failed to notice in the past....
It may happen that we fetch the car state but not the charge state. If so, the gateway gets stuck in a loop never marking the refresh as successful

Seems that the charging state doesn't work at the moment, but the car state does:

Logfiles are not so easy in home assistant... no idea where to find them outside the addon console

Seems that the charging state doesn't work at the moment, but the car state does:
Logfiles are not so easy in home assistant... no idea where to find them outside the addon console

No worries, I'll have an hotfix shortly. For now it will mark the refresh as successfull, I'll work on having different availabilities depending on the provenance of the data

@Tonno87 please try RC10. If it works I kindly ask you to push it as an add-on update

Seems to work. RC10 is already pushed to the pre addon.


Completion is not case sensitive

In the screenshot below I have typed the word tok, which has triggered completion, and I want to use one of the fields from the data type.

In my view, the first two should not be shown at all, and the third (permutation of the word) only if nothing else shows up.
I am not sure how much of this is other company backends in my emacs, and how much is hie.
Except the HIE ones show up with that underscore in the middle, which is the concatenation of the actual completion and the description of it. Probably needs fixing in emacs-lsp too.

And looking more closely, there are duplicates, because of my screwed up re-exporting. But operationally they are the same, so only one of e.g. the tokLexeme suggestions should be provided.

I am going to make completion case sensitive, but add a configuration option for people who prefer the current behaviour.


fix(svg): update _svgDom when vnode changed.

The initial _svgDom will be removed and replaced by the newly generated element after the patch process so that all next operations on the old _svgDom won't work, e.g. resize, innerHTML, clear.

https://github.com/ecomfe/zrender/blob/9fb1577705ac21e15deb4fc8562a5ca907398cb4/src/svg/patch.ts#L330
This branch can be removed since we don't use Element as patch target anymore.

insertedVnodeQueue seems unused as well.


Failed propType: Invalid prop width of type String supplied to LineChart

Warning: Failed propType: Invalid prop width of type string supplied to LineChart, expected number. Check the render method of MyComponent.

<LineChart
              legend={true}
              data={lineData}
              width='100%'
              height={400}
              viewBoxObject={{
                x: 0,
                y: 0,
                width: 500,
                height: 400
              }}
              title="Line Chart"
              yAxisLabel="Altitude"
              xAxisLabel="Elapsed Time (sec)"
              domain={{x: [,10], y: [-10,]}}
              gridHorizontal={true}
            />

How to go around this? If I set a number I lose the responsive on the width.

Have you tried {width='100%'}?
On 29 April 2016 at 22:06, Daveyon Mayne<EMAIL_ADDRESS>wrote:

Warning: Failed propType: Invalid prop width of type string supplied to
LineChart, expected number. Check the render method of MyComponent.
<LineChart
legend={true}
data={lineData}
width='100%'
height={400}
viewBoxObject={{
x: 0,
y: 0,
width: 500,
height: 400
}}
title="Line Chart"
yAxisLabel="Altitude"
xAxisLabel="Elapsed Time (sec)"
domain={{x: [,10], y: [-10,]}}
gridHorizontal={true}
/>
How to go around this? If I set a number I lose the responsive on the
width.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/esbullington/react-d3/issues/327

@johnsoftek Same issue:
...
width={'100%'}
...

Thanks for the report.
It's fix in the forked library. https://github.com/yang-wei/rd3/pull/22
If you don't want to use it you can see how to fix it and apply it in your own fork. Thanks @SylarRuby


Validate Topic Creation and Record Publishing For Mismatches

In V2, when publishers submit schemas where both key avro and value avro have a field with the same name, we now validate that the type is the same. When users publish records to this topic, we now validate that the values for any "same named fields" are the same.

Need to run end-to-end tests and make sure that the publishers receive the intended error when their payloads violate these validations.

Done


[RFE] Automate update of pot file in translation repository

Hello everyone,
As you know Fedora is moving to Weblate (or already moved). The Weblate recommended workflow for bigger projects is to have separate repository where developers should update pot file. This pot file is then automatically loaded to the Weblate and translations from Weblate are committed to the translation repository.
We think that the pot file update could be handled by the Packit service. Packit have plenty of the features required for this already in place. It would be great to automate pot file creation and push this to the localization repository on each pull request merge to the main project.
Right now we have to do:

Checkout main project repository
Call make to create translations
Checkout localization repsository
Copy pot-file to this repository (to directory belonging to the correct translation branch)
Commit changes and push

What do you think, are we able to set this up with current Packit or Packit service have to be extended. If so, how hard it would be to make it work?

The workflow is very similar to the propose-update -- but less complicated.

To have it in the CLI, we will need to:

[ ] new subcommand [easy]
[ ] design the configuration
[ ] implement the workflow (copy and clear the propose-update) [should be easy, but will take some time]
[ ] test it properly

On top of that for CI:

[ ] authentication for the Weblate git -- not sure, what we/they are using for pushing to those repositories.
[ ] implement the triggers and the response to the UI [probably easy, but will take some time]

To sum it: It should not be complicated, but I am not sure if we have time to do it (soon).

Can you count the potential packages/users so we can prioritize that?

The workflow is very similar to the propose-update -- but less complicated.
* To have it in the CLI, we will need to:

  * [ ]  new subcommand [easy]
  * [ ]  design the configuration
  * [ ]  implement the workflow (copy and clear the propose-update) [should be easy, but will take some time]
  * [ ]  test it properly

* On top of that for CI:

  * [ ]  authentication for the Weblate git -- not sure, what we/they are using for pushing to those repositories.

Weblate doesn't have special repository. It is our repository which has write access for weblate-bot. This is also in the same organization which already has access for your service.

  * [ ]  implement the triggers and the response to the UI [probably easy, but will take some time]

To sum it: It should not be complicated, but I am not sure if we have time to do it (soon).
* Can you count the potential packages/users so we can prioritize that?

@Jibec, do you know how many packages could benefit from this?
From what I know, https://github.com/storaged-project and https://github.com/rpm-software-management/ will most likely be glad for this feature on their projects. Is that correct @vojtechtrefny , @m-blaha?

Weblate doesn't have special repository. It is our repository which has write access for weblate-bot. This is also in the same organization which already has access for your service.

OK, we need to figure out how we can push to repositories as a GitHub app. (Or an easy way how you can grant as the permissions to do it.)

any initiative making our life easier (as upstream maintainer or translator) is really welcome
I feel like mostly RH internal projects will make use of it.

If the automation imply to use both: a separate git repo for translations and a folder per branch.
Then, I feel like only Anaconda have use of it, maybe Cockpit also.
Most projects should not handle translations per targeted distribution.
Enforcing it with automation would encourage a bad behavior.
Correct worflow for translations: the same release cycle has the product itself.
Translations should follow release branches.
If a product have the following branches:

master (contains next release)
release-1.x (contains bugfixes, minor improvments)
release-0.9 (only security fixes)

Then, you should have master and release-1.x available for translations.
Obvious: new release will include translations.
Each time the project release a minor version of 1.x, it should includes new translations.
I don't know if Packit play a role here for this.

Yes, I agree that Anaconda is special in this. However, all the projects with separate localization repository have to update their pot files regularly and this may help them a lot in this effort.
I honestly think that this could be feature used by many projects outside of the RHEL/Fedora. Basically for anyone using weblate translation platform.

It makes sense to use a separate repository when:

a team works a single product, don't want to break dev workflows and have automation,
there is a huge amount of content to translate, such as libvirt
Weblate pull requests are not supported for the platform (pagure, gitlab, gitea, savannah, etc.)

So yes, there are some legitimate workflows. I can only think of Red Hat related projects because it's common to interact with Red Hat inside Fedora community.

So what's the status here, what do we need to do on the packit side?

It would be great for our team but I'm still waiting on reaction from @vojtechtrefny , @m-blaha if they would be interested in this. Not sure about others.
We want to create something which would automate our pot file creation so or so. The only question is if Packit will be the tool here. However, maybe we can take this in a more general way. I mean I could try to use Packit as a testing farm for this. The problem is how can I create PR from the testing farm on the localization repository. Or is there a better way how to achieve my goal with the existing Packit tooling?

Sorry, had to read the OP again to understand what is going on here.
The biggest problem w/ using packit service for such a thing is that you need a GitHub API token to create a PR and there is no interface to provide your token to p-s. You could potentially use ours, but we would need to write code to support this workflow (which is very specific to the use case) - Franta alredy laid out the task list. Given that we're super-busy with CentOS Stream atm we'd have no time to write that code - so you'd need to write it yourself - I can guarantee it would take weeks to write it and merge it.
I'd say that a much better solution would be to use GitHub actions. I'm pretty sure that you can make a prototype in a day while you are in a full control of the code. Integrating this use case into packit would be really demanding.
Hence I'm going to close this as wontfix. In case you have resources to work on this and integrate it into packit, we can reopen and work together on the design, but I highly doubt you have that much capacity in your team :)

OK, thanks for your explanation. I'll look on GitHub actions.


k3s kata-deploy: Failed to restart containerd.service: Unit not found.

Description of problem
I installed a k3s cluster version: v1.17.4+k3s1
I ran:
$ kubectl apply -k github.com/kata-containers/packaging/kata-deploy/kata-deploy/overlays/k3s
Expected result
kata-containers installed on the cluster and ability to successfully run containers with its runtime class
Actual result
Failed to restart containerd.service: Unit not found.
$ kubectl logs -n kube-system pod/kata-deploy-r76fj
time="2020-04-02T18:37:03Z" level=info msg="Preparing data dir /var/lib/rancher/k3s/data/ca752b211ccbacb1b66df2ec0bc203a9511c0ec045ef5566b31c297958d46a3a"
copying kata artifacts onto host
Add Kata Containers as a supported runtime for containerd
Configuration exists for plugins.cri.containerd.runtimes.kata, overwriting
Configuration exists for plugins.cri.containerd.runtimes.kata.options, overwriting
Configuration exists for plugins.cri.containerd.runtimes.kata-fc, overwriting
Configuration exists for plugins.cri.containerd.runtimes.kata-fc.options, overwriting
warning: containerd-shim-kata-fc-v2 already exists
#!/bin/bash
KATA_CONF_FILE=/opt/kata/share/defaults/kata-containers/configuration-fc.toml /opt/kata/bin/containerd-shim-kata-v2 $@
Configuration exists for plugins.cri.containerd.runtimes.kata-qemu, overwriting
Configuration exists for plugins.cri.containerd.runtimes.kata-qemu.options, overwriting
warning: containerd-shim-kata-qemu-v2 already exists
#!/bin/bash
KATA_CONF_FILE=/opt/kata/share/defaults/kata-containers/configuration-qemu.toml /opt/kata/bin/containerd-shim-kata-v2 $@
Configuration exists for plugins.cri.containerd.runtimes.kata-qemu-virtiofs, overwriting
Configuration exists for plugins.cri.containerd.runtimes.kata-qemu-virtiofs.options, overwriting
warning: containerd-shim-kata-qemu-virtiofs-v2 already exists
#!/bin/bash
KATA_CONF_FILE=/opt/kata/share/defaults/kata-containers/configuration-qemu-virtiofs.toml /opt/kata/bin/containerd-shim-kata-v2 $@
Configuration exists for plugins.cri.containerd.runtimes.kata-clh, overwriting
Configuration exists for plugins.cri.containerd.runtimes.kata-clh.options, overwriting
warning: containerd-shim-kata-clh-v2 already exists
#!/bin/bash
KATA_CONF_FILE=/opt/kata/share/defaults/kata-containers/configuration-clh.toml /opt/kata/bin/containerd-shim-kata-v2 $@
Failed to restart containerd.service: Unit not found.

cc @egernst

/cc @wilsonianb

@devimc @grahamwhaley
Note that I wanted to debug and try solving the issue myself but it's unclear how you setup a development environment that does not depend on your CI setup which I do not have rights on so I figured I'll just pass it on upstream as it would be difficult making a pull request I can't test locally.

@leolb-aphp - if you just want more log details, have you looked at enabling full debug output?:

https://github.com/kata-containers/documentation/blob/master/Developer-Guide.md#enable-full-debug

/cc @mvincerx who might be interested in looking at our "documentation path" for users being able to self-diagnose issues.

@leolb-aphp - if you just want more log details, have you looked at enabling full debug output?:

https://github.com/kata-containers/documentation/blob/master/Developer-Guide.md#enable-full-debug

/cc @mvincerx who might be interested in looking at our "documentation path" for users being able to self-diagnose issues.

I think that allows me to debug kata containers itself but not the installer script. I did not find anything that could allow a debug mode to be enabled in kata-deploy.sh.
I wanted to simply list the list of services because I'm suspecting maybe containerd.service doesnt exist, or it's config is invalid after kata-deploy.sh modified it somehow?

@leolb-aphp

But it seems that it always takes the script from a Docker image of your own?

yes, I think so, but I think you can modify the image (create a container, modify the script and save the container) and commit the change locally, right?

Last time I debugged the kata-deploy script, I ran up the daemonset, watched it fail, and then kubectl exec bash into the 'dead' node deployment container (you can find it in the system namespace), undid some of the damage by hand, edited the script (down in /opt/kata/*, and then re-ran it by hand directly on the node. It's not ideal, but it is workable.
If you have the ability to load a container image locally to your cluster, then you can rebuild your own local image and enable set -x etc. for debug, like @devimc suggests.
Also, there was a suggestion to add a debug mode to kata deploy over on https://github.com/kata-containers/packaging/issues/629 - I thought it was a good idea. We could pick that up again...

@jodh-intel. Thanks for the mention. I'll add this issue to my new project board -- forthcoming.

I'm able to reproduce the issue and am looking into it.
FWIW, when I was working on adding k3s support, I would push my work in progress kata-deploy image to my personal dockerhub account and then test with that image in a k3s cluster.

I believe you can run a registry inside your own cluster - but, I've not been brave enough to try it yet.... https://blog.container-solutions.com/installing-a-registry-on-kubernetes-quickstart
So far, managed to work around it - or, use a minikube, where you can push images to its image cache directly from your host ;-) I have done that before.... and kata-deploy does work with minikube - https://github.com/kata-containers/documentation/blob/master/install/minikube-installation-guide.md
I have recently tried both cri-o and containerd minikubes with kata-deploy.


ensure unique buildingId and latest readin in sql trigger

connects to #107

Hi @hanzzhang, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;

This should also address #67.  testing


Crashlytics dependency

Could we add dependency to 'CrashlyticsFramework'?

So now Crashlytics has pushed their official Podspec, could we assign it as required dependency?
For Podfile like
use_frameworks!
pod 'ARAnalytics', :subspecs => ['Crashlytics']

This is necessary (Since the built ARAnalytics.framework does require Crashlytics.framework)

for sure


API status code irregularities

In what area(s)?

/area runtime
What version of Dapr?

edge

Expected Behavior
Actual Behavior

Endpoint
Doc link
Code Does
Docs Say
Notes
Tests Verify All Status Codes

POST/PUT /v1.0/state/<storename>
State

POST only
State stores not configured gives 400 (should be 500?)
[x]

GET /v1.0/state/<storename>/<key>
State

State stores not configured gives 400 (should be 500?)

DELETE /v1.0/state/<storename>/<key>
State

State stores not configured gives 400 (should be 500?). Tests suggest Bad ETag gives 500 (should be 400 or 404) ?
[x]

POST/PUT /v1.0/state/<storename>/transaction
State
Gives 401 on state store not found (should be 400?)

State stores not configured gives 400 (should be 500?)
[ ]

POST /v1.0/state/<storename>/bulk
State
400 on bad JSON

State stores not configured gives 400 (should be 500?)
[x]

POST /v1.0/publish/<pubsubname>/<topic>
PubSub
Gives 404 on missing topic, gives 400 on pubsub not found

[ ]

POST <appPort>/<path>
PubSub

[ ]

OPTIONS <appPort>/<name>
Bindings

App side API - Needs verification
[ ]

POST/PUT /v1.0/bindings/<name>
Bindings

Gives 500 on invalid JSON (should be 400?)

POST/GET/PUT/DELETE /v1.0/actors/<actorType>/<actorId>/method/<method>
Actors
400 on actor runtime not initialized
404 on actor not found
should probably give 500 on actor not initialized
[ ]

POST/PUT /v1.0/actors/<actorType>/<actorId>/state
Actors
400 on actor runtime not initialized, 400 on invalid JSON

should probably give 500 (instead of 400) on actor not initialized
[ x ]

POST/PUT /v1.0/actors/<actorType>/<actorId>/reminders/<name>
Actors
400 on actor runtime not initialized, 400 on invalid JSON
404 on actor not found
We give 200 here when we give 201 elsewhere. Should probably give 500 on actor not initialized
[x]

GET /v1.0/actors/<actorType>/<actorId>/reminders/<name>
Actors
400 on actor runtime not initialized
404 on actor not found
Should probably give 500 on actor not initialized
[x]

DELETE /v1.0/actors/<actorType>/<actorId>/reminders/<name>
Actors
400 on actor runtime not initialized
404 on actor not found
Should probably give 500 on actor not initialized
[x]

POST/PUT /v1.0/actors/<actorType>/<actorId>/timers/<name>
Actors
400 on actor runtime not initialized, 400 on invalid JSON
404 on actor not found
We give 200 here when we give 201 elsewhere. Should probably give 500 on actor not initialized
[x]

DELETE /v1.0/actors/<actorType>/<actorId>/timers/<name>
Actors
400 on actor runtime not initialized
404 on actor not found
Should probably give 500 on actor not initialized
[x]

GET /v1.0/secrets/<secret-store-name>/<name>
Actors
401 on secret store not found, 403 on ACL deny

[ ]

Steps to Reproduce the Problem

Release Note

RELEASE NOTE: FIX Dapr API status codes audited and updated to match documentation

LGTM on this, except for: App side API - Needs verification. It's weird that we expect 2XX on a retryable message failure. Should be 503 with Retry-After: header?
It's not retryable in terms of the HTTP operation, a 2xx can return with a body payload that tells Dapr how to treat the pub/sub event (ack, nack, abandon).
As far as I'm concerned, @wcs1only you can begin working on a PR to address the above.

LGTM on this, except for: App side API - Needs verification. It's weird that we expect 2XX on a retryable message failure. Should be 503 with Retry-After: header?
It's not retryable in terms of the HTTP operation, a 2xx can return with a body payload that tells Dapr how to treat the pub/sub event (ack, nack, abandon).
As far as I'm concerned, @wcs1only you can begin working on a PR to address the above.

Ok, I removed that one.

@wcs1only this is a breaking change correct since the status code is changing? Additionally corresponding changes need to be done in SDKs right?

@wcs1only this is a breaking change correct since the status code is changing? Additionally corresponding changes need to be done in SDKs right?

Technically, if someone depended on the error codes for anything, then yes it is a breaking change. I'm really curious, do the APIs care about whether they got a 4xx or 5xx? I'll need to audit them as well.


Invalid type lookup

Hi!
I ran into a problem in my .swifttemplate template. It seems that the type of a Variable is resolved incorrectly if there is a nested and global type with the same name.
In the following example, the type of a Variable a is resolved to the global type A instead of the expected nested type X.A.
struct X {
  struct A {}
  struct B {}

  let a: A // variable.type?.globalName == "A"
  let b: B // variable.type?.globalName == "X.B"
}

struct A {}

Example (zip)

swift-driver version: 1.45.2 Apple Swift version 5.6.1 (swiftlang-<IP_ADDRESS>3.66 clang-13<IP_ADDRESS>)
Sourcery version 1.8.2

IIRC when I had this problem I used the full type. in your example is X.A as the type of variable.
struct X {
  struct A {}
  struct B {}

  let a: X.A // variable.type?.globalName == "A"
  let b: X.B // variable.type?.globalName == "X.B"
}

👋 Hey @artyom-stv ,
thank you very much for reporting and providing files, I was able to easily reproduce the issue.
Smallest data set to reproduce the issue is this:
struct X {
  struct A {}

  let a: A
}

struct A {}

I'm investigating and will keep you updated 👍

Investigation goes on, in the meanwhile:
SwiftSyntax does not embed nested type information after parsing the tree:
                  ▿ 0 : PatternBindingSyntax
                    - unexpectedBeforePattern : nil
                    ▿ pattern : IdentifierPatternSyntax
                      - unexpectedBeforeIdentifier : nil
                      ▿ identifier : identifier("a")
                        - text : "a"
                        ▿ leadingTrivia : []
                          - pieces : 0 elements
                        ▿ trailingTrivia : []
                          - pieces : 0 elements
                        ▿ tokenKind : TokenKind
                          - identifier : "a"
                      - unexpectedAfterIdentifier : nil
                    - unexpectedBetweenPatternAndTypeAnnotation : nil
                    ▿ ...
                        ▿ type : SimpleTypeIdentifierSyntax
                          - unexpectedBeforeName : nil
                          ▿ name : identifier("A")
                            - text : "A"
                            ▿ leadingTrivia : []
                              - pieces : 0 elements
                            ▿ trailingTrivia : []
                              - pieces : 0 elements
                            ▿ tokenKind : TokenKind
                              - identifier : "A"
                          - unexpectedBetweenNameAndGenericArgumentClause : nil
                          - genericArgumentClause : nil
                          - unexpectedAfterGenericArgumentClause : nil
                        - unexpectedAfterType : nil
                    - unexpectedBetweenTypeAnnotationAndInitializer : nil
                    - initializer : nil
                    - unexpectedBetweenInitializerAndAccessor : nil
                    - accessor : nil
                    - unexpectedBetweenAccessorAndTrailingComma : nil
                    - trailingComma : nil
                    - unexpectedAfterTrailingComma : nil

Then, it is parsed into Variable type as:
storedVariables = [Variable: name = a, typeName = A, isComputed = false, isAsync = false, `throws` = false, isStatic = false, readAccess = internal, writeAccess = , accessLevel = (read: SourceryRuntime.AccessLevel.internal, write: SourceryRuntime.AccessLevel.none), isMutable = false, defaultValue = nil, annotations = [:], documentation = [], attributes = [:], modifiers = [], isFinal = false, isLazy = false, definedInTypeName = Optional(X), actualDefinedInTypeName = Optional(X)]

Here, there's a possibility to check if the embedding struct has the same inner type as variable's type (or any other component type, maybe better to make this logic generic 🤷 ). Continuing ...

@art-divin the issue here is more of a resolver / combine phase issue rather than parsing, we build up tree correctly so we know there is X.A type and A, when we resolve types when combining multiple parser results we probably don't correctly match up

Thanks @krzysztofzablocki , indeed, parsing is done correctly, the missing logic was in Variable implementation.
Creating MR, fixed 👍

I suspect that MethodParameter and Mehtod miss this logic also. Something to improve

Addressed the reported issue in #1179


flutter web renderer html keyboard hide when click outside in mobile

i want to keep show keyboard when outside tap, but it is not working. flutter web html renderer
https://user-images.githubusercontent.com/16702158/218916268-f07fd9d5-6241-45a2-88df-6e3cfdac724b.mp4
flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, 3.4.0-33.0.pre.44, on macOS 12.6.3 21G419 darwin-x64, locale ko-KR)
[!] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1)
[!] Android Studio
    ✗ Unable to find bundled Java version.
[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
[✓] VS Code (version 1.75.0)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

! Doctor found issues in 2 categories.

Code sample

import 'dart:html';

import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/services.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_textfield/text_editing_default.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',

      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  ScrollController scrollController = ScrollController();
  bool isMultiLine = false;
  TextEditingDefault textEditDefault = TextEditingDefault();

  late FocusNode keyboardFocus = FocusNode(
    onKeyEvent: (node, event) {

      if (true && event.physicalKey == PhysicalKeyboardKey.enter && !HardwareKeyboard.instance.physicalKeysPressed.any((el) => <PhysicalKeyboardKey>{
        PhysicalKeyboardKey.shiftLeft,
        PhysicalKeyboardKey.shiftRight,
      }.contains(el),
      )) {
        if (event is KeyDownEvent) {
        }

        return KeyEventResult.handled;
      }

      return KeyEventResult.ignored;
    },
  );

  @override
  void initState() {
    super.initState();

    textEditDefault.init("messege", this, onPressedSubmit: () {

      isMultiLine = false;

      textEditDefault.controller.clear();

    }, onChanged: (String text) {

      if(text.isEmpty) {
        isMultiLine = false;
      }
    });

    scrollController.addListener(addListenerScroll);
  }

  void addListenerScroll() {
    debugPrint("=======12321321");
    if (isMultiLine == false && scrollController.position.maxScrollExtent > 0) {
      isMultiLine = true;
      setState(() {});
    }
  }

  FocusNode focusNode = FocusNode();
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Focus(
        autofocus: true,
        child: ListView(
          children: [
            Container(
              width: double.maxFinite,
              height: 100,
              color: Colors.red,
            ),
            Container(
              width: double.maxFinite,
              height: 100,
              color: Colors.redAccent,
            ),
            Container(
              width: double.maxFinite,
              height: 100,
              color: Colors.green,
            ),
            Container(
              width: double.maxFinite,
              height: 100,
              color: Colors.black,
            ),
          ],
        ),
      ),

      bottomSheet: Row(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          SizedBox(
            width: 200,
            child: Container(
              width: double.maxFinite,
              color: Colors.orange,
              child: TextFormField(

                focusNode: keyboardFocus,
                scrollController: scrollController,
                maxLengthEnforcement: MaxLengthEnforcement.enforced,
                controller: textEditDefault.controller,
                keyboardType: TextInputType.multiline,
                minLines: 1,
                maxLines: 4,
                autocorrect: false,
                autofocus: false,
                // onSubmitted: isBlockedSendBtn == false ? (_) => sendMessage.call() : null,
                onChanged: textEditDefault.onChanged,
                onEditingComplete: () {},
                onTap: () {

                  addListenerScroll.call();
                },
                maxLength: 100,
                scrollPadding: EdgeInsets.zero,
                decoration: InputDecoration(
                  suffixIcon: MouseRegion(
                    cursor: SystemMouseCursors.click,
                    child: GestureDetector(
                      onTap: () {
                        FocusScope.of(context).requestFocus(keyboardFocus);
                      },
                      child: Padding(
                        padding: const EdgeInsets.all(13.0),
                        child: Icon(Icons.add, size: 23)
                      ),
                    ),
                  ),
                  counterText: "",
                  constraints: BoxConstraints(minHeight: 40),
                  hintText: "testset",
                  hintStyle: TextStyle(color: Colors.grey, fontSize: 14),
                  contentPadding: EdgeInsets.only(left: 14, top: 17, bottom: 10),
                  border: InputBorder.none,
                  enabledBorder: InputBorder.none,
                  disabledBorder: InputBorder.none,
                  errorBorder: InputBorder.none,
                  focusedBorder: InputBorder.none,
                  focusedErrorBorder: InputBorder.none,
                  counter: isMultiLine ? Container(
                    decoration: BoxDecoration(
                        color: Colors.grey,
                        borderRadius: BorderRadius.circular(13.0)
                    ),
                    padding: EdgeInsets.only(bottom:5),
                    alignment: Alignment.centerLeft,
                    child: Text("${textEditDefault.resultText.length}/30", style: TextStyle(color: Colors.black, fontSize: 14, fontWeight: FontWeight.w500)),
                  ) : null,
                ),
              ),
            ),
          ),

          TextFieldTapRegion(
            child: GestureDetector(
              behavior: HitTestBehavior.opaque,
              onTap: () {
                FocusScope.of(context).requestFocus(focusNode);
              },
              child: Container(
                color: Colors.green,
                width: 30,
                height: 30,
                child: Icon(Icons.add),
              ),
            ),
          )
        ],
      ),
    );
  }

  void onSubmitted(text) {
    FocusScope.of(context).requestFocus(focusNode);
  }
}

@kokihoon Thanks for the report. A similar issue https://github.com/flutter/flutter/issues/60373 described that tapping outside of a focused textfield used to open up the keyboard.
Per your description, you are looking to have exactly opposite of what is described in that issue ? ie, to keep the keyboard open if you tap outside of focused textfield ?
Can you upgrade to latest master or stable and run your scenario again to see if you still get same behavior or not ? ie keyboard still hides ?
Also, is the behavior only occuring using html renderer or with canvaskit too ?

yes i want to keep focus and always open keyboard when click outside textfield

@kokihoon
Is flutter_textfield a third party plugin ? If so, can you try by removing it's implementation and just use TextField widget and see if you still get same error or not ?

android is ok, but ios safari is not working

@kokihoon
See this similar open issue and this comment as why it is happening and check if it helps to answer your issue.

not helpful in solving

@kokihoon
The comment link I shared was for your reference to know as why it is occuring on safari browser. It also states that if the same behavior occurs in native html / css, then it is not an issue with the flutter framework.
If someone has an example of normal HTML/JS website with automatically-opening keyboard, then maybe it's possible. Hence the behavior you are seeing, ie, keyboard is hidden is WAI.


Project description states an invalid PHP compatibility

Hi there,
The project description states that it's compatible with PHP >= 5.3 however the parse() function uses hash_equals() which is a PHP >= 5.6 function.
I just thought I would post an issue as a heads up.
Thanks for the lib!

For installation on pre 5.6; the package suggests to install symfony/polyfill-php56. See https://github.com/vaibhavpandeyvpz/jweety/blob/master/composer.json#L33.


Better exports

Based on #15

Codecov Report

Merging #18 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #18   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          23     23
  Lines         208    252   +44
  Branches        8      8
=====================================
+ Hits          208    252   +44

Impacted Files
Coverage Δ

src/chunk/index.ts
100% <100%> (ø)
:arrow_up:

src/sum/index.ts
100% <100%> (ø)
:arrow_up:

src/shuffle/index.ts
100% <100%> (ø)
:arrow_up:

src/index.ts
100% <100%> (ø)
:arrow_up:

src/hash/index.ts
100% <100%> (ø)
:arrow_up:

src/slugify/index.ts
100% <100%> (ø)
:arrow_up:

src/unique/index.ts
100% <100%> (ø)
:arrow_up:

src/randomString/index.ts
100% <100%> (ø)
:arrow_up:

src/identifier/index.ts
100% <100%> (ø)
:arrow_up:

src/compact/index.ts
100% <100%> (ø)
:arrow_up:

... and 12 more

Continue to review full report at Codecov.

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


Optimize routing resources on unused signals.

Unused reset signals are tied to VCC by default, which would cause
these reset signals to be tied high.  Use the inverter to tie these signals
low with no additional routing.

LGTM!


Align 42 more information block

Wait for PR-22 before merging - possible refactor due to changes to summary card macro

Closed due to weird issue pulling in extra commits


Add (optional) gathering of statistics

If the ADIAR_STATS option is set to true in CMake, then various statistics are gathered. This adds the two new functions for Adiar (names derived from BuDDy).

adiar::adiar_stats() obtains a struct with all the gathered raw data.
adiar::adiar_printstat(std::ostream &o) pretty prints the set of statistics to o (default std::cout).

In light of the amount of work to rebase #128 on top of this, it may be best to keep this as a feature branch and then redo it for ZDDs afterwards.


Upgrade to GDAL 2.0.0

Upgrade CI build scripts to use GDAL 2.0.0

Coverage remained the same at 86.242% when pulling 4fb459f4c8d5f51199e4b6efd0841450fdbf840b on gdal2.0-upgrade into 8ca0339975831532c5df5adf115e0cfe5d7354b9 on master.


Use crypto-hash to calculate SHA256

crypto-hash is an abstraction library for native hash libraries.
It uses CryptoAPI on Windows, CommonCrypto on macOS, and OpenSSL on *nix.
This PR will also remove openssl and advapi32-sys from dependencies since they are only used for calculating SHA256, which is superseded by crypto-hash.
(crypto-hash itself uses openssl and advapi32-sys though)

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @matklad (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

@alexcrichton could we use a pure rust crate for SHA256 calculations? It seems like there's little reason to use native libraries for hashes specifically.

I believe https://github.com/RustCrypto/hashes computes sha256 natively.

Since I made this PR to reduce OpenSSL dependency on macOS, pure-rust implementation is also fine to me.
I'll wait for decision anyway.

Thanks for the PR! It seems like the only major change here though is to not use OpenSSL on OSX? I think that we still have to pull it in anyway because of libssh2, right?

@alexcrichton Yes, we'll still need OpenSSL for libssh2, but I want this change so that we can remove OpenSSL dependency on macOS once libssh2 supports macOS' Security Framework in future.

@alexcrichton How do you think about pure-rust implementation for SHA256?

alexcrichton How do you think about pure-rust implementation for SHA256?

@equal-l2 let's not wait on alexcrichton and just use the sha2 crate from https://github.com/RustCrypto :) It's the thing that is used by rustup, so it should be good for Cargo as well!

@matklad OK, then should I do that in new PR?

OK, then should I do that in new PR?

You can create a new PR, or force push this one, either is fine!

You can create a new PR, or force push this one, either is fine!

Then I will create a new PR soon.

Created new PR
https://github.com/rust-lang/cargo/pull/4545

@bors: r+

:pushpin: Commit 8346104 has been approved by alexcrichton

:hourglass: Testing commit 8346104c1cf54624b8679610681f5451b8ff7f58 with merge 0ac53629de72657ce8187ee51aee94651e8517bb...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing 0ac53629de72657ce8187ee51aee94651e8517bb to master...


ui: Fix external prefix not having a trailing slash

There was a regression introduced in #2714 where we expected the externalPrefix to have a trailing slash but actually missed adding it there. This PR fixes that bug.

[ ] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

Changes
Add a trailing slash to externalPrefix. Also, sanitize externalPrefix as well.
Verification
Tested locally with multiple combinations of web.route-prefix and web.external-prefix

Thanks for helping :heart:


Add shards cmd

And also fixes some out of date mocks and interfaces.
Shard command outputs something like this:
SHARD ID              0  1  2
shardId-000000000000  o--o
shardId-000000000001     o--o

Hash keys:
0: 0
1:<PHONE_NUMBER>60469231731687303715884105728
2:<PHONE_NUMBER>20938463463374607431768211456

:+1:


Broken link in the main README

I tried the link under contribution in README.md and it led to a 404 - Page not found, although the link seems right. Any idea why this is happening?
The link to the website above on the same README works perfectly.
Thanks for looking into it!

Yeah, the problem is that links to specific pages within the website don't currently work as standalone URLs. You have to go to the main page and then navigate to where you want. For example, the "About" page can't be accessed directly, either:
https://m-l-d-h.github.io/Closing-The-Gap-In-Non-Latin-Script-Data/about
I'm working on a new version of the front end that will not have this problem:
https://ctg-redux.pages.dev/about
We're using issue #169 to track the reimplementation of the front end. So I'll close this issue, though the fix is still in progress. Thanks for reporting.


Using par_iter::* is too broad

The docs recommend use rayon::par_iter::*; -- but this includes every pub mod, and those have very generic names.  So something simple like this fails:
use rayon::par_iter::*;
use std::slice;

error: a module named `slice` has already been imported in this module
If those submodules really need to be public, perhaps there should be a prelude to glob use instead?

Hmm, yes, I was thinking recently that prelude::* is more the standard pattern anyway.

I guess the thing to do would be to have pub mod prelude in the root level that imports all the par_iter traits. Probably not worth putting join in there -- I figure people would prefer to write rayon::join(..) (or, at least, I would).
(The main reason to have those modules be public is just so that users can name all the intermediate types if they should want to.)

Yeah, I think join is too general a name to be a prelude import, and
rayon::join is easy enough.  The par_iter traits alone would be a great
start for this.

I wonder if it would be helpful to have the prelude include rayon itself, so that one can write:
use rayon::prelude::*;
...
rayon::join(...)


It it mandatory to make HTTP calls using the built-in HTTP client?

Reading the documentation it seems that the suggested and maybe only way to make HTTP calls using Hubot is by using the built-in HTTP mechanism on the robot. I'm currently specing a bot and I'd like to know if I'll be able to reuse libs we already use in our system that are built using request and already have all the logic for properly connecting to our apps. Can I just require those (async) scripts and use res.send with the result?
Thanks for your time and great project.

You are welcome to make outbound requests using any HTTP library you want. In fact, the docs even suggest using request as an alternative: https://github.com/github/hubot/blob/master/docs/scripting.md#advanced-http-and-https-settings

Thanks @michaelansel.


Add JumpWire to users in README

Adds a reference to JumpWire as a user of the library.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 87.159%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
16379

Relevant Lines:
18792

💛  - Coveralls


Remove zero'ing of bss, as it wipes out sys and entrym

This 5 year old weird problem is now fixed.
Signed-off-by: Ronald G Minnich<EMAIL_ADDRESS>

Please test.

Nice!

any time I get a review from Aki is a good time :-)