Mode ZHA or zigbee2mqtt not showing in configuration

Mode ZHA or zigbee2mqtt not showing in configuration.
Already tried all stock firmwares and mod firmwares.
Details

{
"home_assistant": {
"installation_type": "Home Assistant Supervised",
"version": "2023.12.3",
"dev": false,
"hassio": true,
"virtualenv": false,
"python_version": "3.11.6",
"docker": true,
"arch": "aarch64",
"timezone": "Europe/Minsk",
"os_name": "Linux",
"os_version": "6.1.0-rpi7-rpi-v8",
"supervisor": "2023.12.1.dev1801",
"host_os": "Debian GNU/Linux 12 (bookworm)",
"docker_version": "24.0.7",
"chassis": "",
"run_as_root": true
},
"custom_components": {
"hacs": {
"version": "1.33.0",
"requirements": [
"aiogithubapi>=22.10.1"
]
},
"xiaomi_gateway3": {
"version": "3.3.4",
"requirements": [
"zigpy>=0.44.1"
]
}
},
"integration_manifest": {
"domain": "xiaomi_gateway3",
"name": "Xiaomi Gateway 3",
"codeowners": [
"@AlexxIT"
],
"config_flow": true,
"dependencies": [
"http"
],
"documentation": "https://github.com/AlexxIT/XiaomiGateway3",
"iot_class": "local_push",
"issue_tracker": "https://github.com/AlexxIT/XiaomiGateway3/issues",
"requirements": [
"zigpy>=0.44.1"
],
"version": "3.3.4",
"is_built_in": false
},
"data": {
"version": "68fe340",
"options": {
"host": "",
"token": "",
"key": "nxyKp2WDYqkHloWR"
},
"errors": [],
"device": {
"type": "gateway",
"model": "lumi.gateway.mgl03",
"fw_ver": "1.5.0_0102",
"available": true,
"decode_time": 437,
"encode_time": 45,
"entities": {
"alarm": "unknown",
"command": {
"state": "unknown",
"value": null
},
"data": {
"state": "unknown",
"value": null
},
"led": {
"state": "DISABLED",
"value": null
},
"gateway": {
"state": "unknown",
"value": null
}
},
"gateways": [
"54ef44313709"
],
"stats": {},
"unique_id": "54ef44313709"
},
"logger": null
}
}

Why it should showing there?

During gateway3 integration, I want to change its mode from mi home to zigbee2mqtt. According all the manuals what I found, this debug configuration must be presented like DEV or PRO. But when I integrate my gateway3, it not show any switches, just BLE support or logs switches in integration configuration.
I found previously opened issue, relates to same problem. Seems flashing the firmware helped there. But I already tried all the firmwarres hawe on repository.

You found outdated manuals. Check official docs.

oh.. I found it. thank you for support!


Python interactive over scrolls

Recently, my visual studio code behaves weirdly.
every time I hit shift+enter to execute the line, the result is covered and the new input line is at the top. There is huge area left below and the scroll bar is only at the center. I can keep scrolling down.
Anther thing is that when the intellisense window pops up as I type, it is no long at the normal position. As you can see in the pic, it is offset above.
Can anyone suggest me what to do to make it back to normal. I have tried deleting code folder to reset visual studio code and remove and clean install python. Neither of them resolved. Thank you.

Please file the issue against the Python extension which provides this feature.


Update to impress v2.0.0-alpha.15 and refactor

Landed in https://github.com/metarhia/Example/commit/6c3c18b0b52bb75ec4a82c34a9f32144e1b866d9


Run Agent in Subdomains Details page

Mockups

Agent Execution popup

Specifications

When user click on button Run, the Agent Execution popup will appear.
The Agent Execution popup includes:

A progress bar and a progress circle to display the progress of the execution of the agent in the subdomain
A time indicating how long have been executing the agent
A button to pause or play the execution
If  Terminal option is selected, then the user will see the terminal output.
If  Logs option is selected, then the user will see the logs generated during the execution of the agent.
Status of the execution. Possible status are: Running, Paused, Finished
Stop button, to stop the execution of the agent. Stop button will also close the popup

When the Agent is running, the text of Run button, in the Agents list, will be renamed to Running. If user clicks on Running button, the Agent Execution popup will appear and its content will be updated according with the status of the current execution.
The user will be able to close the Agent Execution popup at any time. This won't interrupt the execution of the Agent. If the user closes the Terminal popup, he will be able to open it again by clicking on Running button.
If the user wants to Stop the execution of the agent he will need to click on Stop button, in the Agent Execution popup.
2 or more agents can NOT be executed at the same time, so when an Agent is running in the subdomain, all other Run buttons will be disabled. Once the execution of the agent is stopped by the user or if the execution finishes, then all Run buttons in the list will be enabled again.


refactor(headless-client): remove automatic IPC / headless decision

Closes #4907
I had wanted to completely separate the two, but that would take more effort. This change may unlock future refactors and cleanups.

I think this is conflicting with the "linux-client" --> "headless-client" change. Once that's flushed out, the compat tests for this might pass.
For now it's not worth it, I can do Windows IPC without it.


Opening new line from list causes unwanted indent

When in a list, in normal mode, hitting o causes the new line to be opened, but with the cursor indented irregularly. See image.

I believe this is due to your own configuration or some plugin. Can you provide a minimal example? Something like this:
test.vim
set nocompatible

set runtimepath^=~/.local/plugged/lists.vim
set noswapfile
set nomore

runtime plugin/lists.vim

silent edit list.txt
ListsEnable

list.md
# List

* First entry. Long line
  that spans two lines.
  * Depth two 1 also a long
    line.
  * Depth two 2 short line
    * Depth three 0
    * Depth three 1 with long line here.
      spans three
      lines.
    * Depth three 2 and 2
      lines
  * Depth two 3
    2 lines
* Second entry
  also two lines
  * Depth two 1 single line
  * Depth two 2
    three lines

* A
  * Aa
  * Ab
    * Ab1
      * Ab1i

Open with nvim --clean -u test.vim (neovim) or vim -u test.vim (Vim). Now check if you still have the problem. If you don't, then this is likely to be a problem caused by your configuration or a plugin.

Excuse my ineptitude when it comes to code: I have no idea how to do what you are asking in MacVim (which is how I do Vim).

Hmm, ok. Are you familiar with terminals; can you open a terminal and run commands in them?
In the meantime, another way to do minimal setups is to make a copy of your vimrc file and then create a termporary vimrc file with minimal settings:

Copy your current vimrc for safekeeping.

Edit your vimrc file and add a minimal setup similar to the one I posted above. If you use vim-plug to install plugins, this should also work:
call plug#begin()
Plug 'lervag/lists.vim'
call plug#end()

Please adapt this; the point is to apply only the necessary configuration to reproduce the problem described in the issue.

Now open MacVim as you normally do, it should open with the minimal settings. Edit some simple lists.txt file or something similar, and enable lists.vim with ListsEnable.

Is the problem still there?

The most relevant option for the behaviour of o is :help 'formatoptions'. The behaviour is also affected by other things, such as indentation settings. Notice that these are not really something lists.vim change, so the problem is essentially not a problem with lists.vim. But I'll try to help you figure out what's going on.
Which filetype are you working on when you see this issue (check with :set filetype). Also, can you show me your current vimrc?

The most relevant option for the behaviour of o is :help 'formatoptions'. The behaviour is also affected by other things, such as indentation settings. Notice that these are not really something lists.vim change, so the problem is essentially not a problem with lists.vim. But I'll try to help you figure out what's going on.
Which filetype are you working on when you see this issue (check with :set filetype). Also, can you show me your current vimrc?

Thanks for your patience. I'll answer this one first, perhaps the exercise with the minimal settings you outlined earlier won't be needed.
Filetype = markdown
Here's my .vimrc, with a few abbreviations, hostnames and paths removed for security reasons.
set nocompatible
filetype plugin indent on

augroup textobj_sentence
  autocmd!
  autocmd FileType markdown call textobj#sentence#init()
  autocmd FileType text call textobj#sentence#init()
augroup END

" 2 is markdown symbolen verbergen, 0 is niets verbergen
set conceallevel=2

syntax on
" colorscheme iawriter
colorscheme apprentice

" set guicursor+=i:hor20-Cursor/lCursor
set guicursor=i:block-iCursor
set guicursor+=n-i-v:blinkon0
" set guicursor+=i:blinkwait500-blinkon1200-blinkoff350
" guioptions= verwijdert de scrollbar
set guioptions=

set ignorecase
set smartcase
" set infercase
set scrolloff=3

autocmd FileType text setlocal tabstop=16

let g:vim_markdown_folding_disabled = 0
let g:vim_markdown_folding_level = 6
let g:vim_markdown_strikethrough = 1

" allow backspacing over everything in insert mode
set backspace=indent,eol,start

set nobackup		" do not keep a backup file, use versions instead
set noswapfile
" set directory=~/Dropbox/Schrijven/vimbestanden/dotvim/swapfiles/

set history=50		" keep 50 lines of command line history
set ruler		" show the cursor position all the time
set showcmd		" display incomplete commands
set incsearch		" do incremental searching
set noshowmode
set cmdheight=1
set linespace=4
set clipboard=unnamed

call plug#begin('~/.vim/plugged')
Plug 'romainl/vim-cool'
Plug 'jremmen/vim-ripgrep'
Plug 'kana/vim-textobj-user'
Plug 'preservim/vim-textobj-sentence'
Plug 'ron89/thesaurus_query.vim'
Plug 'preservim/vim-markdown'
Plug 'tpope/vim-commentary'
Plug 'tommcdo/vim-exchange'
Plug 'tpope/vim-surround'
" Plug 'justinmk/vim-sneak'
Plug 'tpope/vim-obsession'
Plug 'junegunn/fzf'
Plug 'junegunn/fzf.vim'
Plug 'tpope/vim-eunuch'
" Plug 'alok/notational-fzf-vim'
Plug 'unblevable/quick-scope'
Plug 'svermeulen/vim-subversive'
Plug 'tpope/vim-repeat'
Plug 'svermeulen/vim-yoink'
Plug 'svermeulen/vim-cutlass'
Plug 'lervag/wiki.vim'
Plug 'lervag/lists.vim'
" Plug 'Konfekt/FastFold' (aanzetten als Vim traag wordt; dan ook let g:markdown_folding = 1 weer uncommenten)
call plug#end()

let g:wiki_root = '~/Dropbox/Schrijven/vimwiki'
let g:wiki_filetypes = ['md']
let g:wiki_link_extension = '.md'
let g:wiki_link_target_type = 'md'

let g:wiki_map_create_page = 'WikiCreatePage'
function WikiCreatePage(text) abort
  return substitute(tolower(a:text), '\s\+', '_', 'g')
endfunction

let g:wiki_map_text_to_link = 'MyTextToLink'
    function MyTextToLink(text) abort
      return [substitute(tolower(a:text), '\s\+', '_', 'g'), a:text]
    endfunction

let g:wiki_mappings_local_journal = {
          \ '<plug>(wiki-journal-prev)' : '[j',
          \ '<plug>(wiki-journal-next)' : ']j',
          \}
let g:wiki_fzf_pages_opts = '--preview "cat {1}"'
let g:wiki_write_on_nav = 1

nmap <leader>wi <plug>(wiki-journal-index)
nmap <leader>fw <plug>(wiki-fzf-pages)
let g:wiki_fzf_pages_force_create_key = 'ctrl-v'
nmap <leader>wb <plug>(wiki-graph-find-backlinks)
nmap <leader>wv <plug>(wiki-link-follow-vsplit)

inoremap <C-Space> <C-x><C-o>

let g:lists_filetypes = ['markdown', 'md']
let g:lists_todos = ['_TODO_', '_DONE_']

let g:fzf_action = {
  \ 'ctrl-t': 'tab split',
  \ 'ctrl-x': 'split',
  \ 'ctrl-v': 'vsplit',
  \ 'ctrl-y': {lines -> setreg('*', join(lines, "\n"))}}

set foldmethod=expr

let g:netrw_liststyle = 3
let g:netrw_browse_split = 0
let g:netrw_altv=1
let g:netrw_banner = 0
let g:netrw_winsize = 30
let g:netrw_bufsettings = "noma nomod nu nobl nowrap ro rnu"

nnoremap <leader>th :ThesaurusQueryReplaceCurrentWord<CR>
let g:tq_enabled_backends=["openoffice_en","datamuse_com"]
let g:tq_openoffice_en_file="~/xxxxxxxx/MyThes-1.0/th_en_US_new"

inoremap <silent> <S-TAB> <esc>cas
inoremap <s-left> <esc>lcl

" maps voor svermeulens 3 plugins
nmap s <plug>(SubversiveSubstitute)
nnoremap gm m
nmap <c-n> <plug>(YoinkPostPasteSwapBack)
nmap <c-p> <plug>(YoinkPostPasteSwapForward)
nmap p <plug>(YoinkPaste_p)
nmap P <plug>(YoinkPaste_P)
let g:yoinkIncludeDeleteOperations=1
nnoremap m d
xnoremap m d
nnoremap mm dd

let g:qs_highlight_on_keys = ['f', 'F', 't', 'T']

" let g:markdown_folding = 1 (weer uncommenten als fastfold plugin actief wordt)

nnoremap z` zMzv
nnoremap Q vipgq

nnoremap <leader>tr :Texplore<CR>

" nnoremap <leader>f :Files<CR>
nnoremap <leader>r :Rg<space>

" nnoremap k k0
" nnoremap j j0

" Beweeg naar andere splits met control-hjkl
nnoremap <C-h> <C-w>h
nnoremap <C-l> <C-w>l
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k

" restore 'ge' as move to end of previous word instead of what preservim/vim-markdown uses it for
map <Plug> <Plug>Markdown_EditUrlUnderCursor

nnoremap <leader>pda :!pandoc -V lang=nl -V papersize:a4 titel.md -o titel.pdf --template latekiss --top-level-division chapter
nnoremap <leader>pdb :!pandoc -V lang=en-GB -V papersize:a4 titel.md -o titel.pdf --template latekiss --top-level-division chapter -V numbersections

" hybrid line numbers, bredere marge linkerkant en command-regel maar 1 regel hoog
set nu rnu
set ch=1

if hostname() ==# 'xxxxxxxx'
	set numberwidth=7
elseif hostname() ==# 'xxxxxxxx'
	set numberwidth=7
else
	set numberwidth=20
endif

set complete=.,w,b,u,kspell
set autoread
set autoindent
set wildmenu

iabbrev teh the

" Surroundings met leader s: daarna '])_"
nmap <leader>s ysiw

" map voor 'insert aan eind van paragraaf' (werkt niet aan het einde van de buffer)
nmap <leader>a }kA

" Map \d for dark, \l for light colorscheme
nmap <leader>d :colo apprentice<CR>
nmap <leader>l :colo iawriter<CR>

nmap <leader>en :setlocal spelllang=en spell<CR>
nmap <leader>nl :setlocal spelllang=nl spell<CR>

" Arrows scrollen nu per schermvol
nnoremap <Up> <c-b>
nnoremap <Down> <c-f>

" Convert hard wrap to soft wrap and remove superfluous " linebreaks
nmap <leader>sw :setlocal tw=0 linebreak<bar>%s/\n\n/§§§/g<bar>%join<bar>:%s/§§§/\r\r/g<CR>

" Convert soft wrap to hard wrap
nmap <leader>hw :setlocal tw=60 nolinebreak<bar>norm ggVGgq<CR>

" Remove trailing whitespace in entire buffer (untested)
nmap <leader>ws :%s/\s\+$//

" go to file opens new buffer for filename under cursor
:map gf :e <cfile><CR>

" Undo-geschiedenis gaat nu per volzin
inoremap . .<C-g>u
inoremap ! !<C-g>u
inoremap ? ?<C-g>u
inoremap : :<C-g>u

" Het bestand dat nu focus heeft wissen
nnoremap <leader>rm :call delete(expand('%')) \| bdelete!

" Voor softwrap textwidth weer op 0 en linebreak weer uncommenten
set textwidth=60
" set linebreak

" breakindent zorgt dat linewrap netjes gaat bij indents
set breakindent

set nolist
set display=lastline
set nospell
" set laststatus=2

set undofile
set undodir=~/xxxxxxxx/undodir

if &t_Co > 2 || has("gui_running")
  syntax on
  set hlsearch
endif

" start MacVim fullscreen
if has('gui_running') && has('gui_macvim')
        set fullscreen
    endif

" Save bij iedere switch naar normal mode
autocmd CursorHold * update

" When editing a file, always jump to the last known cursor position.
autocmd BufReadPost *
    \ if line("'\"") > 0 && line("'\"") <= line("$") |
    \   exe "normal g`\"" |
    \ endif

" Nieuwe bestanden worden hier geschreven:
cd ~/xxxxxxxx

" Misschien zijn met deze code de swapfiles overbodig:
" if ! exists("g:CheckUpdateStarted")
"     let g:CheckUpdateStarted=1
"     call timer_start(1,'CheckUpdate')
" endif
" function! CheckUpdate(timer)
"     silent! checktime
"     call timer_start(1000,'CheckUpdate')
" endfunction

" script found online for switching between two last active tabs
if !exists('g:lasttab')
  let g:lasttab = 1
endif
nmap <Leader>tt :exe "tabn ".g:lasttab<CR>
au TabLeave * let g:lasttab = tabpagenr()

" set foldlevel=6

" Open wiki index without folds folded
au BufRead index.md normal zR

First, I took the liberty of removing all comments from the pasted vimrc - they don't matter to me or to this issue.
Next, here is an equivalent version, somewhat cleaned up. I've added comments like "NOTE: ..." where I have a particular comment.  I did this mostly to faster understand your vimrc file, and you are of course free to keep your current version.
call plug#begin('~/.vim/plugged')
Plug 'romainl/vim-cool'
Plug 'jremmen/vim-ripgrep'
Plug 'kana/vim-textobj-user'
Plug 'preservim/vim-textobj-sentence'
Plug 'ron89/thesaurus_query.vim'
Plug 'preservim/vim-markdown'
Plug 'tpope/vim-commentary'
Plug 'tommcdo/vim-exchange'
Plug 'tpope/vim-surround'
Plug 'tpope/vim-obsession'
Plug 'junegunn/fzf'
Plug 'junegunn/fzf.vim'
Plug 'tpope/vim-eunuch'
Plug 'unblevable/quick-scope'
Plug 'svermeulen/vim-subversive'
Plug 'tpope/vim-repeat'
Plug 'svermeulen/vim-yoink'
Plug 'svermeulen/vim-cutlass'
Plug 'lervag/wiki.vim'
Plug 'lervag/lists.vim'
call plug#end()
" NOTE: plug#end will do the filetype plugin indent on and syntax on!

" Autocommands in vimrc should be kept in an augroup
augroup vimrc
  autocmd!
  autocmd FileType markdown call textobj#sentence#init()
  autocmd FileType text call textobj#sentence#init()
  autocmd FileType text setlocal tabstop=16
  autocmd CursorHold * update
  autocmd BufReadPost *
      \ if line("'\"") > 0 && line("'\"") <= line("$") |
      \   exe "normal g`\"" |
      \ endif
  au TabLeave * let g:lasttab = tabpagenr()
  au BufRead index.md normal zR
augroup END

" Options
colorscheme apprentice

set conceallevel=2

set guicursor=i:block-iCursor
set guicursor+=n-i-v:blinkon0
set guioptions=

set ignorecase
set smartcase
set scrolloff=3

set backspace=indent,eol,start

set nobackup
set noswapfile

set history=50
set ruler
set showcmd
set incsearch
set noshowmode
set cmdheight=1
set linespace=4
set clipboard=unnamed

" NOTE: This option is not useful in vimrc unless you also specify
"   set foldexpr=EXPR. I suggest you remove it.
"set foldmethod=expr

set number
set relativenumber

if hostname() ==# 'xxxxxxxx'
  set numberwidth=7
elseif hostname() ==# 'xxxxxxxx'
  set numberwidth=7
else
  set numberwidth=20
endif

set complete=.,w,b,u,kspell
set autoread
set autoindent
set wildmenu

" NOTE: Minor comment - 60 seems like an unconventional default?
set textwidth=60

set breakindent

set nolist
set display=lastline
set nospell

set undofile
set undodir=~/xxxxxxxx/undodir

if &t_Co > 2 || has("gui_running")
  set hlsearch
endif

if has('gui_running') && has('gui_macvim')
  set fullscreen
endif

" Mappings and abbreviations
inoremap <C-Space> <C-x><C-o>

iabbrev teh the

nmap <leader>s ysiw

nmap <leader>a }kA

nmap <leader>d :colo apprentice<CR>
nmap <leader>l :colo iawriter<CR>

nmap <leader>en :setlocal spelllang=en spell<CR>
nmap <leader>nl :setlocal spelllang=nl spell<CR>

nnoremap <Up> <c-b>
nnoremap <Down> <c-f>

nnoremap z` zMzv
nnoremap Q vipgq

nnoremap <C-h> <C-w>h
nnoremap <C-l> <C-w>l
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k

nnoremap <leader>pda :!pandoc -V lang=nl -V papersize:a4 titel.md -o titel.pdf --template latekiss --top-level-division chapter
nnoremap <leader>pdb :!pandoc -V lang=en-GB -V papersize:a4 titel.md -o titel.pdf --template latekiss --top-level-division chapter -V numbersections

nmap <leader>sw :setlocal tw=0 linebreak<bar>%s/\n\n/§§§/g<bar>%join<bar>:%s/§§§/\r\r/g<CR>

nmap <leader>hw :setlocal tw=60 nolinebreak<bar>norm ggVGgq<CR>

nmap <leader>ws :%s/\s\+$//

map gf :e <cfile><CR>

inoremap . .<C-g>u
inoremap ! !<C-g>u
inoremap ? ?<C-g>u
inoremap : :<C-g>u

nnoremap <leader>rm :call delete(expand('%')) \| bdelete!

" Plugin configuration
let g:vim_markdown_folding_disabled = 0
let g:vim_markdown_folding_level = 6
let g:vim_markdown_strikethrough = 1

let g:wiki_root = '~/Dropbox/Schrijven/vimwiki'
let g:wiki_filetypes = ['md']
let g:wiki_link_extension = '.md'
let g:wiki_link_target_type = 'md'
let g:wiki_map_create_page = 'WikiCreatePage'
let g:wiki_map_text_to_link = 'MyTextToLink'
let g:wiki_mappings_local_journal = {
          \ '<plug>(wiki-journal-prev)' : '[j',
          \ '<plug>(wiki-journal-next)' : ']j',
          \}
let g:wiki_fzf_pages_opts = '--preview "cat {1}"'
let g:wiki_fzf_pages_force_create_key = 'ctrl-v'
let g:wiki_write_on_nav = 1

function WikiCreatePage(text) abort
  return substitute(tolower(a:text), '\s\+', '_', 'g')
endfunction

function MyTextToLink(text) abort
  return [substitute(tolower(a:text), '\s\+', '_', 'g'), a:text]
endfunction

nmap <leader>wi <plug>(wiki-journal-index)
nmap <leader>fw <plug>(wiki-fzf-pages)
nmap <leader>wb <plug>(wiki-graph-find-backlinks)
nmap <leader>wv <plug>(wiki-link-follow-vsplit)

let g:lists_filetypes = ['markdown', 'md']
let g:lists_todos = ['_TODO_', '_DONE_']

let g:fzf_action = {
  \ 'ctrl-t': 'tab split',
  \ 'ctrl-x': 'split',
  \ 'ctrl-v': 'vsplit',
  \ 'ctrl-y': {lines -> setreg('*', join(lines, "\n"))}}

let g:netrw_liststyle = 3
let g:netrw_browse_split = 0
let g:netrw_altv=1
let g:netrw_banner = 0
let g:netrw_winsize = 30
let g:netrw_bufsettings = "noma nomod nu nobl nowrap ro rnu"

let g:tq_enabled_backends=["openoffice_en","datamuse_com"]
let g:tq_openoffice_en_file="~/xxxxxxxx/MyThes-1.0/th_en_US_new"

nnoremap <leader>th :ThesaurusQueryReplaceCurrentWord<CR>

inoremap <silent> <S-TAB> <esc>cas
inoremap <s-left> <esc>lcl

let g:yoinkIncludeDeleteOperations=1

nmap s <plug>(SubversiveSubstitute)
nnoremap gm m
nmap <c-n> <plug>(YoinkPostPasteSwapBack)
nmap <c-p> <plug>(YoinkPostPasteSwapForward)
nmap p <plug>(YoinkPaste_p)
nmap P <plug>(YoinkPaste_P)
nnoremap m d
xnoremap m d
nnoremap mm dd

let g:qs_highlight_on_keys = ['f', 'F', 't', 'T']

if !exists('g:lasttab')
  let g:lasttab = 1
endif
nmap <Leader>tt :exe "tabn ".g:lasttab<CR>

nnoremap <leader>tr :Texplore<CR>

nnoremap <leader>r :Rg<space>

map <Plug> <Plug>Markdown_EditUrlUnderCursor

" Execute desired commands
cd ~/xxxxxxxx

Now, before we continue, can you be specific about which behaviour you expect after o in a list line?

Thanks a lot, my .vimrc looks much better :-) However, the 'unwanted indent' remains.

Now, before we continue, can you be specific about which behaviour you expect after o in a list line?

I would expect a new line to be opened continuing the list. So

List item
List item|

In normal mode, with the cursor somewhere in the second list item line, this should result:

|

Perhaps this is because I remember bullets.vim did that (but I had lots of other trouble with it).

I also noted that numbered lists are not continued. I'd write

Test

... and hit return, and expect

... but instead I get just an empty new line.

Thanks, those are good explanations.
bullets.vim remaps both <cr> and o to achieve this behaviour. lists.vim tries to avoid this and instead rely on built-in mechanisms.
I'll look into it, in any case.

Both in MacVim and Terminal, control-s after <cr> and o causes the cursor to jump to the command line, adding unexpected hidden characters in MacVim (see screen capture). I can make a screen recording if it helps.

There's no screen capture..? Whats the output of :verbose map <c-s> (literally, as in four characers: "")?

n  <C-S>        @<Plug>(lists-toggle)

The mapping listed is the normal mode map. I should have asked for :imap <c-s> - does it give a similar output?

Now we are getting there.
i  <C-S>         <Plug>Isurround

Precisely; can you (for the context of this issue) disable the plugin that adds that mapping?

And then repeat what I asked for previously.

Disabling tpope's Surround plugin causes <c-s> after <cr> to continue the list as intended, both in normal (hitting o instead of <cr>)and in insert mode. It would be a pity to lose the Surround plugin functionality, though...

Do you want to investigate this further? The surround plugin is quite popular, I think, so it might be worth the effort. Let me know if I can help.

Do you want to investigate this further? The surround plugin is quite popular, I think, so it might be worth the effort. Let me know if I can help.

Sorry, I've been busy, so I have not had time to follow up yet.

It would be a pity to lose the Surround plugin functionality, though...

Of course, you won't. Don't worry. I just want us to be on the same page about things before I make updates/changes/suggestions.

Disabling tpope's Surround plugin causes <c-s> after <cr> to continue the list as intended, both in normal (hitting o instead of <cr>) and in insert mode.

Ok. So, does this mean that you can live with the lists.vim behaviour of <c-s> as a "resolution" here? This is how I do things personally, and it gives me the option to easily add newlines within lists and then adding new list bullets/numbers with <c-s> when I want them.
If so, then the last part is to handle the conflict with surround.vim; this is not hard. But before I explain that I want feedback on my previous question.

Thanks for your continued efforts! Yes, I could certainly live with that behaviour.

Great. :)
So, what you want is to have the functionality of <c-s> from both lists.vim and from surround.vim. But you can't have both of these mapped to <c-s>. To resolve this, you want to remap for one of the plugins. I don't know how to do it for surround.vim, so this is how to remap for lists.vim:
let g:lists_maps_default_override = {
      \ 'i_<plug>(lists-toggle)': '<c-t>',
      \}

See :help g:lists_maps_default_override for more info on this.
PS! This is a new feature, so you must update the plugin first.

Let me know if this works for you as expected and if it is sufficient to resolve the issue.

Thanks. It works, but...

Lists with dashes auto-continue without the <c-t>, which is inconsistent and means they can't be ended (going forward with normal newlines) by just hitting return. Numbered lists don't auto-continue and do need the <c-t>.
<c-t> is normally bound to 'indent list item' in insert mode, so to preserve that, I changed the lists shortcut to <c-l>.
Lists with items starting - [ ] auto-continue with just the dash, and the new shortcut doesn't provide the missing [ ].

Thanks for the update!
I believe I need to do some changes and improvements here. I originally had <c-s> for toggling lists (normal mode), and added <c-s> in insert mode for the similar thing, except also to add missing number/dash/etc. But I believe it would be better to change.
The current docs say:
*:ListsToggle*
*<plug>(lists-toggle)*
  Toggle a list item. The mapping works in both normal and insert mode.

But I think this is better:
*:ListsToggle*
*<plug>(lists-toggle)*
  Toggle a list items "status". For checkboxes, this means to toggle the
  checkmark on/off. Elsewhere, we toggle between statuses defined in
  |g:lists_todos|.

*i_<plug>(lists-new-element)*
  An insert mode mapping to add a new element in the current list. This is
  useful after creating a new line below a list element to add the
  bullet/dash/number in front, possibly with a checkbox if relevant.

What do you think?

Sounds very good!

Ok, I've updated now. Please read the updated docs and test. I think, if nothing else, it is closer to decent now.

Hi. Lists with dashes still auto-continue without the (new) shortcut. And continuing a numbered list using the shortcut triggers the audible alert.

What's your formatoptions and comments settings? I.e., what's the ouptut of :set formatoptions and :set comments?

What's your formatoptions and comments settings? I.e., what's the ouptut of :set formatoptions and :set comments?

Ok, so; the autocontinuing of lists is due to your formatoptions and comments options. Specifically: the r in formatoptions means this (see :help fo-r):

Automatically insert the current comment leader after hitting <Enter> in Insert mode.

The comment leader is defined by the comments option. Specifically, the entries b:* and b:- combined with the r in formatoptions means that the - and * will be inserted automatically on <Enter>.
If you don't want these to be enterred automaticaly, then you must either remove r from your formatoptions or update the comments options.
Regarding the audible thing; I believe this can be controlled with set belloff and I advice you to read the help docs on that option. If you have a problem with numerred lists, it would be helpful if you could be more specific. Provide a sample file, the accurate steps to reproduce your problem, explain expected and observed behaviour.

Closing this; I don't remember why it was reopened and I don't see any immediate tasks here.


How to set response headers?

Please document setting response headers.

Hi, @notramo , as promised this is now available on latest main.
The demo app provided in the Jetzig repository now includes this example:
const jetzig = @import("jetzig");

pub fn index(request: *jetzig.Request, data: *jetzig.Data) !jetzig.View {
    var root = try data.object();
    try root.put("message", data.string("Welcome to Jetzig!"));

    try request.response.headers.append("x-example-header", "example header value");

    return request.render(.ok);
}

Thanks for reporting this issue.


Skype Call with Johnathan Tarpy-CEO of virgilant.com @6:30pm for 15 mins

Respiratory health startup. The purpose is to exchange info on analytics and overview of problem.
see:
https://www.linkedin.com/in/jonathan-tarpy-44b21823/
www.virgilant.com
Join Microsoft Teams Meeting
https://teams.microsoft.com/l/meetup-join/19%3Ameeting_MzkwZTdjZTQtY2RlYy00MTlkLWI3NGUtZTkzNmUwZWQ1ZjBk%40thread.v2/0?context={"Tid"%3A"b71cde4b-9351-491e-84b3-4dca9d03c8c4"%2C"Oid"%3A"e89e7f52-b97a-4659-b81b-09ece63d75da"}
If you need a local number, get one here. And if you've forgotten the dial-in PIN, you can reset it.
Learn more about Teams https://aka.ms/JoinTeamsMeeting Meeting options<EMAIL_ADDRESS>

Done!


chore: adding mainnet chain id and setting as default

:)
Also removed blockspace race
Part of #2823

Codecov Report

Merging #2840 (e725bcc) into main (127eca7) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #2840      +/-   ##
==========================================
- Coverage   51.28%   51.27%   -0.01%
==========================================
  Files         168      168
  Lines       10730    10730
==========================================
- Hits         5503     5502       -1
  Misses       4747     4747
- Partials      480      481       +1

Files
Coverage Δ

nodebuilder/p2p/bootstrap.go
6.66% <ø> (ø)

nodebuilder/p2p/genesis.go
0.00% <ø> (ø)

nodebuilder/p2p/network.go
57.89% <ø> (ø)

... and 2 files with indirect coverage changes


Not Auto-completing Haskell properly

Hi,
I have installed
$apm install language-haskell haskell-ghc-mod ide-haskell autocomplete-haskell
but, when i type import System. it is not auto-completing whole path. In Console, i am getting an error like :
"haskell-ghc-mod debug: System. moduleName mismatch: undefined != System."
i have set haskell environmnet variables in PATH. I have set ghc-mod and ghc-modi as
C:\Users<username>\AppData\Roaming\cabal\bin
Let me know is there any configuration i missed to setup.
Thanks,
Senthil.

undefined != something is just a debug message meaning that you didn't specify module name for current file. That's perfectly normal. Debug messages are like that.
On the topic of System., there is a known quirk with autocomplete-plus in that it doesn't consider dot . a valid completion symbol. Try autocompleting just System, or System.I for example.

Oopsie. Nope, I'm wrong, this was fixed a long time ago, but I didn't update accordingly. I'll try to fix this.

Okay, language-haskell v1.1.2 should allow autocompleting module names ending with dot. Thanks for reporting!

Hi,
Still, facing the same issue. Now, i am using v1.1.4 version. Am i missing any configurational setup ?
Thanks in advance.

First, autocompletion takes a little while to fire up, since it has to traverse modules for symbols.
Second, please describe what works and what doesn't. Does autocompletion work at all? Anywhere?

for me, if i type "imp" import statment is pre-populating
second, if i type "import Da"  i am expecting import Data should come. But, it is not coming.
third, if i type "import Data." i am expecting import Data.Char should come. But, it is not coming.
If i type "let" and enter "let
name = expression
in expression"
Looks like, it is not working for module names.

Is C:\Users\<username>\AppData\Roaming\cabal\bin in PATH?

Or did you specify full path to ghc-mod and ghc-modi in haskell-ghc-mod settings?

I had set ghc-mod : C:\Users\sporunan\AppData\Roaming\cabal\bin
ghc-modi: C:\Users\sporunan\AppData\Roaming\cabal\bin
in haskell-ghc-mod package.

You need to specify path to executable. In your case that would be something along the lines of
C:\Users\sporunan\AppData\Roaming\cabal\bin\ghc-mod.exe
and
C:\Users\sporunan\AppData\Roaming\cabal\bin\ghc-modi.exe

Now, i had set ghc-mod: C:\Users\sporunan\AppData\Roaming\cabal\bin\ghc-mod.exe
ghc-modi: C:\Users\sporunan\AppData\Roaming\cabal\bin\ghc-modi.exe
But still, if i type "import Data." i am expecting import Data.Char should come. But, it is not coming.

I have installed autocomplete-haskell, haskell-ghc-mod, helium, ide-haskell, language-haskell.

You really should remove helium. I have no idea how it would interact with everything else.

What version of Atom are you using by the way?

I am using atom version no: 0.209.0. I have removed helium package.  Now, its working now.
Thanks a lot.

Good.


StringCodec fix for characters split between PLP chunks

Issue description
#169
Additional context
StringCodec expects that every PLP chunk of a string is a valid encoded character sequence.
But backend can split one character between PLP chunks. In that case we read half of a character and try decode. There's no error because default action is CodingErrorAction.REPLACE. After that we read next PLP chunk from the middle of a character and that corrupts remaining characters.
So we can't really read any chunk as a String.
We can accumulate complete string bytes in a CompositeByteBuf and decode it or we can use CharsetDecoder directly and keep track of split characters. I've picked first option here.

Thank you @Squiry! I never fully understood how SQL server splits the PLP chunk, whether it happens on character boundaries or whether it could happen within a character.

Thank you for your contribution. That's merged, polished, and backported now.


Profile v3: Show IEP document inline when possible

Part of https://github.com/studentinsights/studentinsights/issues/1990, follow-on to https://github.com/studentinsights/studentinsights/pull/2070.
Who is this PR for?
educators
What problem does this PR fix?
Some educators have said it's helpful that they can see the IEP-at-a-glance here.  But for IE users, depending on their setup, they may have to complete several steps before they can actually see the document.
1. confirm

2. open

3. choose viewer

4. confirm opening

5. reader application

What does this PR do?
Uses PdfObject to detect inline PDF viewing support, and if it's available, renders the PDF inline with <object />.  If not, falls back to the same download link.
I experimented with https://github.com/mozilla/pdf.js a pdf, to target helping users with older unconfigured browsers, but stopped as it's not intended as a drop-in JS dependency.
Screenshot (if adding a client-side feature)
Firefox

Safari

Chrome

IE11, with Acrobat installled, on initial view

IE11, with Acrobat installled, on closing and re-opening dialog
This shows something different, with more Acrobat toolbars and menus, not sure why.

Fallback (IE, no PDF viewer)

Checklists

[x] Author checked latest in IE - Student Profile

selfie


chore: MOTD cleanup

No idea if this will work

@nicknamenamenick <br> and \n won't work, I'm implementing a workaround instead. Use ~ as the new line character.
We should also shorten these URLs with ublue.it

Now on main with the typo fix, this PR can handle the shortening and new lines in tips now


setup error

Description

I have installed all the Python dependencies, and I run "util/dvsim/dvsim.py hw/ip/uart/dv/uart_sim_cfg.hjson -i uart_smoke --waves fsdb --tool vcs"
it shows the below error.
any help is appreciated.
Please let me know if you need more information.

build.log

Hi @anudeepdharavathu, thanks for reporting this issue. From the logs I see that you're using Python 3.6. Our officially supported development environment is based on Ubuntu 20.04 LTS, which features Python 3.8. Python 3.6 has reached its end of life at the end of 2021, so we cannot help you with this issue.


Add official documentation on Quarkus Native introduced in 1.7

@astefanutti I guess you may have already worked on something. As we're about to publish the blog, I think soon we will have questions and basic doubts where we will benefit from an official documentation page. Thanks!

There is a bit of documentation in the quarkus trait page, and an example about automatic rollout deployment to native integration. That being said, a dedicated page focusing on the native build details would definitely be a valuable addition.

https://camel.apache.org/camel-k/next/running/quarkus-native.html


Thanks for the report.
I try to get to it, but am currently pretty busy with other things so can't promise anything timely. I am happy to review a PR that fixes it though.
[one-liner to reproduce]
bazel run -c dbg verilog/tools/syntax:verible-verilog-syntax -- - <<EOF
module m();
         id_0var_0 (var_3), var_1, var_2;
endmodule
EOF

The problem seems to be happening in the rule for instantiation_base:
instantiation_base
  : instantiation_type non_anonymous_gate_instance_or_register_variable_list
    { $$ = MakeInstantiationBase($1, $2); }
  | reference call_base ',' gate_instance_or_register_variable_list
    {$$ = MakeInstantiationBase(ReinterpretReferenceAsDataTypePackedDimensions($1), ExtendNode($4,$3,$2)); }
  | reference_or_call_base
    {$$ = MakeTaggedNode(N::kFunctionCall,$1); }
  ;

The second case is matched due to the comma appearing after the call (id_0var_0 (var_3)). ReinterpretReferenceAsDataTypePackedDimensions will return a node with the kDataType tag, but MakeInstantiationBase expects a kInstantiationType tag.
Why is this second case of the rule needed at all? I can't think of any situation where it would be needed for valid syntax. When I tried commenting it out, all of Verible's tests have passed and verible-verilog-syntax correctly identified the syntax error in the input given by @joaovam:
-:2:27: syntax error at token ","

Just briefly looking at this, I recall that we don't have great support for anonymous instances, and this second grammar case may have been a haklf-baked attempt to support a single declaration that mixes anonymous with named instances (I'm not even sure if this is valid).

So sounds like this faulty production might be good to comment out with a /* TODO: support mixed anonymous declarations */ with a reference to this bug why it was removed.
@rafasumi can you prepare a Pull Request ?
Might be worthwhile checking that running .github/bin/smoke-test.sh has the same non-zero exit code counts for all verible-verilog-syntax invocations.

@rafasumi can you prepare a Pull Request ?

Sure, I'll work on it!


[krakenfutures] Adding Kraken futures support

is kraken-futures a replacement to crypto-facilities? Same API, just a rename?

is kraken-futures a replacement to crypto-facilities? Same API, just a rename?

Yes, but i have added more endpoints. Cryptofacilities has been bought by Kraken so cryptofacilities doesn't exists anymore.

Right now this implementation has an issue on kraken-futures-stream websocket authentication endpoints. If the stream gets disconnection or something happens and the connection restarts, it doesn't re-authenticate itself. I need to fix it

I finally fixed the issue


params is an array

params is supposed to be pairs of settings
http://docs.opencv.org/2.4/modules/highgui/doc/reading_and_writing_images_and_video.html#bool imwrite(const string& filename, InputArray img, const vector<int>& params)
This bug has been pointed out already, perhaps 6 months ago https://github.com/lazywei/go-opencv/issues/68
You might as well just fix it. It'll break some programs, but they were unable to use this anyway. Might be useful to bump the version.

Hi @brian-armstrong-discord, thanks for the effort! Do you think it is possible that you also modify other place (like samples) that uses SaveImage so that we will have correct example? Also the usage in README might also need modification.
Thanks.

@lazywei Yep, makes sense :)
Thanks for such a handy library. This thing really hauls compared to other Go libs

awesome. thanks for the great work!


DataFrame's get accessor throws exception after column values replaced via set (using Series)

Describe the bug
Unable to access DataFrame columns with get (e.g., df['foo']) after using set to replace an existing column. Attempts to access via get throw the following exception (from the Chrome browser):
Uncaught Error: File format not supported!                                                 startup:4
    at t.e (startup:4:47)
    at new t (startup:4:47)
    at t.$getColumnData (startup:4:47)
    at t.get (startup:4:47)
    at <anonymous>:1:17

To Reproduce:
In the browser interactive console:
let df = new dfd.DataFrame([{'foo': 'bar'}]);
let ds_foo = df['foo'];
ds_foo.apply(val => val + '2', { inplace: true });
df['foo'] = ds_foo;       // <- this seems to work as data in the foo column appears updated in the browser interactive console
let ds_foo2 = df['foo'];  // <- but column can no longer be retrieved using the DataFrame's get accessor

Note that use of the column() method yields identical behavior.
Expected behavior
Return of the Series object containing 'foo' column values when let ds_foo2 = df['foo'] is executed.
Desktop:

OS: Fedora 35 Linux
Firefox 105.0.1 (64-bit), Chrome 106.0.5249.91 (64-bit), Brave v1.44.105 (64-bit)
danfo.js v1.1.1

Additional context
Observed behavior was consistent across all tested browsers (Firefox, Chrome, Brave). Inspecting df after df['foo'] = ds_foo reveals that the column values are updated as expected:
t {$dataIncolumnFormat: Array(1), $index: Array(1), $columns: Array(1), $dtypes: Array(1), $isSeries: false, …}
  $columns: ['foo']
  $config: e {tableDisplayConfig: {…}, tableMaxRow: 10, tableMaxColInConsole: 10, dtypeTestLim: 20, lowMemoryMode: false}
  $data: Array(1)
    0: ['bar2']
    length: 1
    [[Prototype]]: Array(0)
  $dataIncolumnFormat: [t]
  $dtypes: ['string']
  $index: [0]
  $isSeries: false

Note: Possible duplicate of issue #499

Please note that as an alternative the addColumn() method does appear to work:
df = df.addColumn('foo', ds_foo);


Lucene Replication - Geting revision from replicator (local) and handler (remote)

I am studying Lucene replication for my understanding .  Lets consider case server A is the master and server B is the slave.
I have indexA1, indexA2 on server A which I want to replicate to Server B
Process
-- On Server A - Any time i make changes to index A1 or indexA2 , i call Replicator.Publish(new IndexRevision(_writer))  for the corresponding index. Here Replicator represents local replicator (there will be 2 local replicator - as I want to replicate 2 indexes)
-- On  Server B - I will create a replication client , passing it to http replicator, IndexReplicationHandler and persessionfactor , and then I can ask replicationclient to get data from server A  (as i have 2 indexes to replicate - I will start 2 clients) .
Question -
1  -- Is my understanding correct.
2   -- How can i know the current status of replication , i thought , I can use the field = Version , which is present in both localreplicator and IndexReplicationHandler , and I can know if  the replicated copy is at the same version as master copy, but the field is private -- Is there any reason for keeping it private
3   -- To keep things simple, say I only do batch updates in server A , i manually start the replication on ServerB (with updatenow call) , how can I know that replication copy has finished.
I think , having point 2 and 3 , will give greater control to the developer in planning his replication strategy (as well as how to handle failover/recovery from failover better)
regards

Sounds about right

Since your passing a IReplicationHandler to the client, where IndexReplicationHandler is just the built-in implementation, see: CurrentVersion : https://github.com/apache/lucenenet/blob/4e66181e702db9a0849a26a86361a8fc1e796c3f/src/Lucene.Net.Replicator/ReplicationClient.cs#L496

Do the batch update and wait with publishing a revision till your done, on server B the IndexReplicationHandler takes a Func<bool?> as a last parameter in the constructor, this is called as the last thing in the replication process.

If you require a tighter integration or perhaps more insight to when a replication starts and ends on server B, or to expose additional information. You can utilize a decorator pattern and simply delegate to the IndexReplicationHandler.
E.g.
public class MyIndexReplicationHandler : IReplicationHandler
{
    private readonly IReplicationHandler innerHandler;

    public string CurrentVersion => innerHandler.CurrentVersion;

    public IDictionary<string, IList<RevisionFile>> CurrentRevisionFiles => innerHandler.CurrentRevisionFiles;

    public MyIndexReplicationHandler(IReplicationHandler innerHandler)
    {
        this.innerHandler = innerHandler;
    }

    public void RevisionReady(string version, IDictionary<string, IList<RevisionFile>> revisionFiles, IDictionary<string, IList<string>> copiedFiles, IDictionary<string, Directory> sourceDirectory)
    {
        //TODO: Do something before replication takes place.
        innerHandler.RevisionReady(version, revisionFiles, copiedFiles, sourceDirectory);
        //TODO: Do something after replication takes place.
    }
}

Sounds about right

Since your passing a IReplicationHandler to the client, where IndexReplicationHandler is just the built-in implementation, see: CurrentVersion : https://github.com/apache/lucenenet/blob/4e66181e702db9a0849a26a86361a8fc1e796c3f/src/Lucene.Net.Replicator/ReplicationClient.cs#L496

Do the batch update and wait with publishing a revision till your done, on server B the IndexReplicationHandler takes a Func<bool?> as a last parameter in the constructor, this is called as the last thing in the replication process.

If you require a tighter integration or perhaps more insight to when a replication starts and ends on server B, or to expose additional information. You can utilize a decorator pattern and simply delegate to the IndexReplicationHandler.
E.g.
public class MyIndexReplicationHandler : IReplicationHandler
{
    private readonly IReplicationHandler innerHandler;

    public string CurrentVersion => innerHandler.CurrentVersion;

    public IDictionary<string, IList<RevisionFile>> CurrentRevisionFiles => innerHandler.CurrentRevisionFiles;

    public MyIndexReplicationHandler(IReplicationHandler innerHandler)
    {
        this.innerHandler = innerHandler;
    }

    public void RevisionReady(string version, IDictionary<string, IList<RevisionFile>> revisionFiles, IDictionary<string, IList<string>> copiedFiles, IDictionary<string, Directory> sourceDirectory)
    {
        //TODO: Do something before replication takes place.
        innerHandler.RevisionReady(version, revisionFiles, copiedFiles, sourceDirectory);
        //TODO: Do something after replication takes place.
    }
}

Thanks , for the explanation . How can we get the revision from server A LocalReplicator (ie the entity for which we are replicating data) . I looked in the code for it  -- lucenenet/src/Lucene.Net.Replicator/LocalReplicator.cs
I dont see a way to get version from it.
### private volatile RefCountedRevision currentRevision;
The above field is marked private .
Can you please explain how to get this value

Thanks , for the explanation . How can we get the revision from server A LocalReplicator (ie the entity for which we are replicating data) . I looked in the code for it  -- lucenenet/src/Lucene.Net.Replicator/LocalReplicator.cs
I dont see a way to get version from it.
### private volatile RefCountedRevision currentRevision;
The above field is marked private .
Can you please explain how to get this value

You can get that from the Revision you publish. So create that outside the call to publish and assign it to a variable, then you can read it's Version property.

You can get that from the Revision you publish. So create that outside the call to publish and assign it to a variable, then you can read it's Version property.

Perfect thanks for your inputs. Now I think i have got the required understanding, now let me see , if I can use it to build something.

Perfect thanks for your inputs. Now I think i have got the required understanding, now let me see , if I can use it to build something.


Molecular visualization

Create a notebook for module titled "Molecular visualization"

@rozyczko: can we close this issue or plan to continue working on the notebook?

we can close it now


Http status codes of 5xx should be counted as failed uploads

Expected behavior
"uploaded successfully" message should be accurate
Observed behavior
"uploaded successfully" message is inaccurate because it counts http status code of 502 as a success. This is probably because curl exits with 0 since it successfully received a response from the server.
example out put
Uploading UUID: 8C347340-A95A-31CA-B9A1-AD02BC7D4895 (arm64) /a/b/appDsyms/8c347340-a95a-31ca-b9a1-ad02bc7d4895.dSYM/Contents/Resources/DWARF/abcd
 <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>502 Server Error</title>
Error: Server Error

The server encountered a temporary error and could not complete your request.
Please try again in 30 seconds.

Steps to reproduce
Not sure why my uploads fail but I do see the script output the html from the server that indicates a 502.
Version
bugsnag-dsym-upload 1.4.1
Additional information
Adding --fail to the curl command will probably fix this
Can't comment on Issues?
Some users have been unable to comment on Github issues when an adblocker extension is enabled.
We recommend temporarily disabling the extension, or if that fails, contacting<EMAIL_ADDRESS>

Hi @freddy1h
Thanks for the report - we will look into it and get back to you.
With regards to your 502 error, we've seen issues with uploading which appear to affect some customers with the cURL version on MacOS Catalina. Upgrading the version of cURL appears to resolve this but we've found the most straightforward workaround is to force cURL to use HTTP1.1 since the issue only appears to affect HTTP2.
We released a new version of bugsnag-dsym-upload v1.4.2 which applies the workaround for this issue.

Upgraded to 1.4.2 and I haven't seen any 502s yet. Thanks. However, the issue still stands since the script will actually incorrectly count 502 as successful upload. Unless I missed something.

@freddy1h Yes you are correct, we will look into getting this fixed.

Hey @freddy1h, this has been fixed in v2.0.0.


Temporarily disabling TimeSegmentPruner.

While time column is expected to be long, it may not necessarily be, due
to user error or other reasons.  Also the start/end time in metadata may
not match actual time column data. Disabling TimeSegmentPruner until
we can handle these.

Codecov Report

Merging #1111 into master will decrease coverage by -0.1%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master    #1111     +/-   ##
=========================================
- Coverage   67.18%   67.08%   -0.1%
=========================================
  Files         750      750
  Lines       35906    35900      -6
  Branches     4599     4597      -2
=========================================
- Hits        24123    24084     -39
- Misses      10192    10219     +27
- Partials     1591     1597      +6

Impacted Files
Coverage Δ

...din/pinot/core/query/pruner/TimeSegmentPruner.java
75.55% <100%> (-6.8%)
:x:

...ot/core/query/pruner/SegmentPrunerServiceImpl.java
57.89% <0%> (-15.79%)
:x:

.../pinot/core/common/datatable/DataTableBuilder.java
85.62% <0%> (-11.98%)
:x:

...altime/impl/dictionary/FloatMutableDictionary.java
58.46% <0%> (-4.62%)
:x:

.../pinot/core/realtime/impl/RealtimeSegmentImpl.java
66.11% <0%> (-4.61%)
:x:

...mon/utils/retry/ExponentialBackoffRetryPolicy.java
81.81% <0%> (-4.55%)
:x:

...lix/core/realtime/PinotRealtimeSegmentManager.java
75.14% <0%> (-2.9%)
:x:

...m/linkedin/pinot/common/metrics/MetricsHelper.java
72.6% <0%> (-2.74%)
:x:

...core/query/executor/ServerQueryExecutorV1Impl.java
85.48% <0%> (-2.42%)
:x:

... and 13 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 ad75a89...eaaccbc. Read the comment docs.


fix(map) - update rename collection styling

Signed-off-by: Vlad Tomsa<EMAIL_ADDRESS>All boxes should be checked before the PR can be accepted. Exceptions can be made, but they need to be argumented and discussed with the reviewer

### BUGFIX
Required

[x] Ran Unit Tests and they pass successfuly
[x] Ran the linter with yarn lint
[X] No TypeScript warnings are introduced

Not Needed

[ ] Translated all the user facing text (static & dynamic)
[ ] I have made corresponding changes to the documentation

References

Include any links supporting this change such as a:

GitHub Issue/PR number addressed or fixed
StackOverflow post
Support forum thread
Related pull requests/issues from other repos

If there are no references, simply delete this section.

By submitting a PR to this repository, you agree to the terms within the Code of Conduct. Please see the contributing guidelines for how to create and submit a high-quality PR for this repo.

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

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


What is the best way to implement stream?

What I want to do

I'm developing Todo app
Multiple members can create and edit tasks at the same time
When changes are made, other members receive it in real-time and the task is updated.

My understanding

connect-query does not support streams and cannot be implemented

Question

Can I use connect-web in parallel with connect-query?

Or is there a better way?

Thanks!

Hi @himaratsu, you can use connect-web along with connect-query, no problem. Connect-query itself doesn't support streaming because the underlying @tanstack/query doesn't provide a sufficient primitive to work with streams consistently. There are a few ideas that have been bounced around in #225 #31 that might provide some ideas.

Thank you for your advice! I'll try using connect-web.
In my opinion, stream is one of the key elements of gRPC(Connect), and supporting it will benefit library users more than being consistent with @tanstack/query.
Thank you for great work!


option to pass current calling directory

How can I pass current directory from where I am running grunt.
Say I am running grunt execute from /project/foo and nodejs file which I want to run is in /project
I am trying to pass  /project/foo to 'client.js'
My execute task looks like this
    execute: {
        target: {
            options: {
                args: [ __dirname ]
            },
            src: ['client.js']
        }
    }
  });

related to grunt, how you pass subdirectory path to task


Consider making DbModelStore registration provider specific

As the generated Edmx-File has provider-specific information it seems not consistent to use one DbModelStore for different Providers.
Also it is different from the way IDbModelCacheKey is working and could break when used together. (Differnt cacheKey per Provider but same DbCompiledModel).
Currently it is possible to save provider-specific Edmx-Files to provider-specific paths, but i can not find a way to supply the provider-informations to the TryLoad() and TryGetEdmx()-Methods of DbModelStore.
Looking through LazyInternalContex.CreateModel() and EdmxWriter.WriteEdmx() the necessary information seem to be present via the Connection- or ModelProviderInfo-Properties of LazyInternalContext and could be passed to the DbModelStore from there.
This is not so much an issue for production (but could be, if one DbModelStore generated DbCompiledModel could be used against different database types. Not very common, i guess, perhaps some homegrown replication-tool or having different sub-DbContexts, pointing to different Databases, using the same DbCompiledModel via IDbModelCacheKey), but for integration tests, where one would like to test queries against different providers without having to create parallel structures and the need for a new  AppDomain per provider-specific test.

@J-Hauser This does seem to be a limitation in the use of DbModelStore; we would certainly consider a PR to remove the limitation, but we don't plan on working on it in the EF team. @j-Edge, who submitted the PR that introduced this feature might also be interested in submitting a new PR. We will re-open the issue if a PR is submitted.


⚠ 366.ru has degraded performance

In ac0d2d6, 366.ru (https://366.ru) experienced degraded performance:

HTTP code: 200
Response time: 2216 ms

Resolved: 366.ru performance has improved in 2b73ab9.


CUDA Simulator not working

Hi guys! I have some issue with the simulator.
I'm trying to use the example you show in your documentation:
https://numba.pydata.org/numba-doc/dev/cuda/simulator.html
`import numpy as np
@cuda.jit(debug=True)
def vec_add(A, B, out):
    x = cuda.threadIdx.x
    bx = cuda.blockIdx.x
    bdx = cuda.blockDim.x
    if x == 1 and bx == 3:
        from pdb import set_trace;
        set_trace()
    i = bx * bdx + x
    out[i] = A[i] + B[i]

os.environ["NUMBA_ENABLE_CUDASIM"] = "1"
A = np.ones((4, 4))
B = np.ones((4, 4))
C = np.zeros((4, 4))
vec_add(A,B,C)`

This the code I'm running and it tells me I can not import inside the function, like if it is still compiling.
"Use of unsupported opcode (IMPORT_NAME) found"
Am I doing something wrong or is not working?
Thank you
Nicola

You need to set the environment variable NUMBA_ENABLE_CUDASIM before you import Numba.

There are a couple of other issues with your code:

The inputs A, B, and out are 2D, so the indexing in the last line out[i] = A[i] + B[i] adds entire rows - only scalar operations are supported on the CUDA target, so you need to index them like out[i, j] = A[i, j] + B[i, j]. To generate the j index, you could use a for loop or a 2D grid. Or you could pass in 1D inputs instead.
There is no kernel launch configuration in vec_add(A,B,C) - you need to specify the grid and block dimensions like vec_add[griddim, blockdim](A,B,C).

I've modified the example so that it runs:
import numpy as np
import os
os.environ["NUMBA_ENABLE_CUDASIM"] = "1"

from numba import cuda  # noqa: E402

@cuda.jit(debug=True)
def vec_add(A, B, out):
    x = cuda.threadIdx.x
    bx = cuda.blockIdx.x
    bdx = cuda.blockDim.x
    if x == 1 and bx == 3:
        from pdb import set_trace

        set_trace()
    i = bx * bdx + x
    out[i] = A[i] + B[i]

A = np.ones((16))
B = np.ones((16))
C = np.zeros((16))
vec_add[4, 4](A, B, C)

Note that for a vector add, a more canonical way to implement it might be to use the cuda.grid() function to simplify the computation of indices:
import numpy as np
import os
os.environ["NUMBA_ENABLE_CUDASIM"] = "1"

from numba import cuda  # noqa: E402

@cuda.jit(debug=True)
def vec_add(A, B, out):
    # Generate a 1D index from the thread and block indices
    i = cuda.grid(1)

    # If our ID exceeds the length of the vectors, return early to avoid
    # writing out of bounds
    if i >= len(out):
        return

    # Vector addition
    out[i] = A[i] + B[i]

A = np.ones((16))
B = np.ones((16))
C = np.zeros((16))

# Purposefully launch with more threads (20) than elements (16) to demonstrate
# that the early return in the kernel is working
vec_add[5, 4](A, B, C)

Hi @gmarkall , thank you for your answer.
Yep sorry for my bad code, I was just trying to see if the problem was still present. Now I set the env var before importing numba and it is working!
Probably it's my fault that I'm not such an expert but I think you can add this note about setting the env var before importing to the documentation because I went through several times but I was not able to find an easy solution
Thank you very much for your time! I'm using numba for doing complex stuff and it's definitely a great library!

You're welcome - glad things are working well for you!
Closing the issue as it is now resolved.

@nicolapivaro Proposed documentation update in #6331 - would that have helped?


Print Project name when using "tod filter process"

When using "Tod filter process", the due date and labels are printed. Adding "#" to the end would help clarify the current task being displayed.

Completing in this PR https://github.com/alanvardy/tod/pull/707


New rule: no-default-export

In my experience, default exports are not a great practice, especially anonymous ones. I think you should always name the things you are exporting. Also, default exports allow for subtle mistakes after refactoring. With default exports, you could change the semantics of a component but it might be imported elsewhere with a name suggesting its old semantic meaning.
// app.ts
import ActionPopover from "./action";

// action.ts
export default class ActionMenu {
    ...
}
// oops, we just renamed this from popover -> menu but our consumer had no idea!

If nobody is interesting in taking this one, I would love to get this in the code base today.

go for it @patsissons!

relevant to those on this thread: https://github.com/palantir/tslint/pull/2117

I'm not really convinced by the arguments here.
Typically when using export default you have the name of the file being the same (within project conventions) as the thing being exported e.g.:
import fizzBuzz from "./fizzBuzz"
// or depending on convention in the project
import fizzBuzz from "./fizz-buzz"

Following that convention you'll never hit a case where the semantic meaning of a name is different from the import-ed name as you have to refer to exactly the file that contains that certain object, if the export changes then so must the filename.

if the export changes then so must the filename

but we don't have a lint rule to enforce that :)

This is not a issue for a typeless ES6, it should not be a issue for TS.
If you are replacing ActionPopover by ActionMenu, then, well, problem is in you ;)

Sorry for necro-posting. I found this rule to be very useful to enforce one style of exporting things (especially classes) across an app.


Clean up binary dump dependency for createOrder tests

Coverage decreased (-0.08%) to 71.945% when pulling e6d01015281a2e91c3b755986ab6b20beb3a83dc on issue-1048 into 8180ebb1d7bc0c007d743345b51137e294c6e5a3 on master.


Add wiki link for MAD

Add wiki link for Median Absolute Deviation (MAD)

Coverage remained the same at 99.52% when pulling 6654b559e58181e1fcc7e425281f1ab7933c15cf on fyockm:patch-1 into 823439e551d3fb63c675fc451aa3d138e89ab5a8 on tmcw:master.


Task: Redirect to new homepage

This PR removes the existing gh-pages page and will redirect to the new dox site: https://formidable.com/open-source/component-playground/
/cc @rgerstenberger @kenwheeler

👍


added subject docs on allowing all users

replaces #1892

This change is

sorry for delay, I was OOO. @deads2k is probably a better reviewer anyway.

lgtm


python3Packages.datasett: 0.29.3 -> 0.30.2

Motivation for this change
noticed it was broken when reviewing #73053
Things done

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

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

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

Notify maintainers
cc @
python38 broken by python38Packages.websockets:
[0 built (3 failed), 1 copied (0.5 MiB), 0.1 MiB DL]
error: build of '/nix/store/i5isg1kam2ggc0psa769krvp2j4bnd9c-env.drv' failed
https://github.com/NixOS/nixpkgs/pull/73127
1 package failed to build:
python38Packages.datasette

1 package were build:
datasette

@GrahamcOfBorg build python3Packages.datasette

@GrahamcOfBorg build python3Packages.datasette
pushed darwin fix

fixed commit message

@GrahamcOfBorg build python3Packages.datasette

darwin failure related to black package


PIN code search

Closes: #505
Describe the changes you've made
Added the project "PIN code Tracker" with real data fetching, which will provide the location info of that particular PIN code. & it's responsive!
Describe if there is any unusual behavior of your code(Write NA if there isn't)
NA
Checklist:

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[ ] I have commented on my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] New and existing unit tests pass locally with my changes.

Demo
https://tidbitsjs.github.io/Awesome-JavaScript-Projects/

Kindly review @harshgupta20 & @urvashi-code1255 :)
( Else I will have to keep adding comments of merge conflicts resolve 😂 )

@TidbitsJS Please resolve them again.

@TidbitsJS Please resolve them again.

Yes, done :)

Hey @TidbitsJS Can you share hosted link of your fork on GitHub pages

Hey @TidbitsJS Can you share hosted link of your fork on GitHub pages

Here you go - https://tidbitsjs.github.io/Awesome-JavaScript-Projects/
( I have set it to the main branch )

@urvashi-code1255, can you let me know whether the PR is good or not so that I can make changes over here? ( or else I will start working on the other issue's PR )


Handle error when docker isn't running

This prevents drone from crashing if docker isn't running when calling drone exec.

thanks!


JwBootstrapSwitchNg2Module is not compatible with Angular Ivy

Bug Report or Feature Request (mark with an x)
- [ x] bug report -> please search issues before submitting
- [ ] feature request

Versions.
Angular: 16
Repro steps.
  npm install jw-bootstrap-switch-ng2 --save

The log given by the failure.
  node_modules/jw-bootstrap-switch-ng2/lib/jw-bootstrap-switch-ng2.module.d.ts:1:22
    1 export declare class JwBootstrapSwitchNg2Module {
                           ~~~~~~~~~~~~~~~~~~~~~~~~~~
    This likely means that the library (jw-bootstrap-switch-ng2) which declares JwBootstrapSwitchNg2Module is not compatible with Angular Ivy. Check if a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Ivy.

Facing same issue

Any progress on this? Is library going to be compatible with Angular Ivy?

i forked it and moved it fully to Angular 16:
https://github.com/Servoy/jw-bootstrap-switch-ng2

@jcompagner Any chance it can be fully compatible with Angular 17?


[MRG] generate URLs for lists of valid IDs dynamically

So https://github.com/nih-cfde/update-content-registry/pull/68 does a really nice job of addressing #70 but the new scripts/retrieve-ids.sh file implements some behavior that Snakemake can do more nicely (in terms of integrating into file date checking, etc.)
This PR demonstrates how to shift that behavior back into Snakemake, and as a bonus (?) removes the "valid ID" files from github.

I like this a lot! I was reading about lamba and parms but wasn't quite sure how to use them.
The only thing is that that the rule all isn't quite working to incorporate the retrieve and etrieve_term_wc rules. I had to run make retrieve to get the list to successfully run make.  This is why the action.

ahh, I see.
The simplest and most correct (but also most tedious) way to deal with this is to add explicit references to data/validate/TERM.csv to all the rules that use them - e.g. add data/validate/gene.csv to the inputs for rule gene_json_alias_widget. I'll do that when I have a moment, or you can ;)

fixed! ready for merge I think.

works great now. thanks! the snakemake output is very nice as well.


About object categories

Hi, @joaanna . Seems my issue #3 is not solved thus I reopen a new one. I need to know how those placeholders [4k+ unique placeholders] are mapped to your new object categories [total 371 classes in objectsA.json and objectsB.json], which is not provided in the released json file.

Hi @kennymckormick ,
I am not sure I understand your question, so let me explain the procedure here. In our experiments with the objects, we found that they are occurring in many combinations and it would not be feasible to distill two groups of objects that would be completely disjointed. Instead, we selected the frequently appearing objects, those that appear in more than 100 videos and divided them into A and B. The rest of the categories of the objects could be paired with either object from A or B (for example in a video that uses two "something's".
The issue you described before with the duplicates such as 'rubix cube', 'rubic cube', etc. was not directly addressed in our work. We got rid of some duplicates by applying some simple preprocessing such as removing 'a' and 'an', 'the' from the object names etc., but we didn't use an exact mapping for those near duplicates. Hope this explains your question.

Thanks for the explanation, got it.


lnwallet/chancloser: remove the commit fee clamp, introduce max fee

In this commit, we stop clamping the ideal fee rate to the commitment fee of the channel. This catches us up to this PR of the spec: https://github.com/lightning/bolts/pull/847.
We also do away with the old 3x ideal fee "max fee", and replace that with an explicit max fee. This new max fee will either be the default multiplier of the ideal fee, or a new user specified max fee value.
We also add a new max_fee field to the co-op close RPC which allow the caller to specify when we should bail out due to fees being too high. This field is only observeed if it's set by the initiator however. Once we finish #5644, both sides will be able to properly set this field.

cc @sputn1ck

If possible It would probably be nice for users to retroactively change the maxfee in an initiated coop close.

Agreed, though I think it's outside the scope of this PR. Ideally we go ahead with the proposed overhaul of the co-op close in the protocol generally, which should really simplify all the code related to this.


Change the type of dims for QuantumObject to SVector for type stabilities

Description
With this PR I made a lot of changes, because I basically changed the internal structure of the QuantumObject constructor.
I changed the type of the dims field from Vector{Int} to SVector{N,Int}, where N is the number of subsystems (e.g., two qubits, a qubit and a cavity….).
This change would fix possible type instabilities for functions like ptrace, where the temporary reshaped array depends on the length of the dims field.
Being a static fixed-length vector, the length of the dims field is already known at compile time, improving the performances.
It would also improve performances on functions dealing with dims, for example dfd_mesolve, where the Hilbert space dimension is changed dynamically during a time evolution.

[!IMPORTANT]
I kept the support for Vector as input, generating a warning string, and then converting it into a SVector

This PR is just a starting point. Here everything works. In the next PRs I will try to optimize the code to take advantage of the power of SVectors.

As an example, I was doing some benchmarks comparing the current implementation of ptrace and the one with SVector.
This is the result with SVector
julia> g = fock(2, 1)
Quantum Object:   type=Ket   dims=[2]   size=(2,)
2-element Vector{ComplexF64}:
 0.0 + 0.0im
 1.0 + 0.0im

julia> e = fock(2, 0)
Quantum Object:   type=Ket   dims=[2]   size=(2,)
2-element Vector{ComplexF64}:
 1.0 + 0.0im
 0.0 + 0.0im

julia> state = normalize(kron(g, e) + kron(e, g))
Quantum Object:   type=Ket   dims=[2, 2]   size=(4,)
4-element Vector{ComplexF64}:
                0.0 + 0.0im
 0.7071067811865475 + 0.0im
 0.7071067811865475 + 0.0im
                0.0 + 0.0im

julia> ptrace(state, 1)
Quantum Object:   type=Operator   dims=[2]   size=(2, 2)   ishermitian=true
2×2 Matrix{ComplexF64}:
 0.5+0.0im  0.0+0.0im
 0.0+0.0im  0.5+0.0im

julia> @code_warntype ptrace(state, 1)
MethodInstance for QuantumToolbox.ptrace(::QuantumObject{Vector{ComplexF64}, KetQuantumObject, 2}, ::Int64)
  from ptrace(QO::QuantumObject, sel::Int64) @ QuantumToolbox ~/.julia/dev/QuantumToolbox/src/qobj/arithmetic_and_attributes.jl:529
Arguments
  #self#::Core.Const(QuantumToolbox.ptrace)
  QO::QuantumObject{Vector{ComplexF64}, KetQuantumObject, 2}
  sel::Int64
Body::Union{QuantumObject{Matrix{ComplexF64}, BraQuantumObject, 1}, QuantumObject{Matrix{ComplexF64}, OperatorQuantumObject, 1}}
1 ─ %1 = QuantumToolbox.SVector(sel)::StaticArraysCore.SVector{1, Int64}
│   %2 = QuantumToolbox.ptrace(QO, %1)::Union{QuantumObject{Matrix{ComplexF64}, BraQuantumObject, 1}, QuantumObject{Matrix{ComplexF64}, OperatorQuantumObject, 1}}
└──      return %2

julia> using BenchmarkTools

julia> @benchmark ptrace($state, 1)
BenchmarkTools.Trial: 10000 samples with 240 evaluations.
 Range (min … max):  306.850 ns … 208.118 μs  ┊ GC (min … max):  0.00% … 99.70%
 Time  (median):     320.371 ns               ┊ GC (median):     0.00%
 Time  (mean ± σ):   385.384 ns ±   2.132 μs  ┊ GC (mean ± σ):  11.99% ±  5.47%

   ▂▅▄█▆▁
  ▂██████▇▄▃▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▂▃▄▃▂▂▁ ▂
  307 ns           Histogram: frequency by time          469 ns <

 Memory estimate: 736 bytes, allocs estimate: 13.

And this is with the latest stable version
julia> @benchmark ptrace($state, 1)
BenchmarkTools.Trial: 10000 samples with 40 evaluations.
 Range (min … max):  903.350 ns …   4.131 μs  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):       1.137 μs               ┊ GC (median):    0.00%
 Time  (mean ± σ):     1.114 μs ± 126.638 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

     ▃▃                              ▂▄▆▇█▇▅▄▂▁
  ▂▃▇██▇▄▃▂▂▂▂▂▂▂▂▂▂▁▂▁▂▁▂▁▂▂▂▂▃▃▄▅▇███████████▇▆▅▅▄▄▃▃▃▃▃▂▂▂▂▂ ▄
  903 ns           Histogram: frequency by time         1.27 μs <

 Memory estimate: 1.09 KiB, allocs estimate: 20.

Almost 4 times slower.


ast_add_sibling: Assertion new_sibling != NULL failed.

Hi
The (admittedly nonsense) code below triggers an assertion failure in ponyc:
use "collections"

type MyMap is MapIs[String, Array[String]]

class C
  let _m: MyMap

  new create() =>
    _m = MyMap

  fun foo(s: String) ? =>
    let a = _m(s)?
    bar(consume val a)

  fun bar(a: Array[String] val) =>
    None

Compiling with the latest ponyc from git, this leads to
$ ponyc -d
Building builtin -> /usr/local/lib/pony/0.25.0-ac6388696/packages/builtin
Building . -> /home/andre
Building collections -> /usr/local/lib/pony/0.25.0-ac6388696/packages/collections
Building ponytest -> /usr/local/lib/pony/0.25.0-ac6388696/packages/ponytest
Building time -> /usr/local/lib/pony/0.25.0-ac6388696/packages/time
src/libponyc/ast/ast.c:1371: ast_add_sibling: Assertion `new_sibling != NULL` failed.

Backtrace:
  ponyc(ponyint_assert_fail+0x90) [0x4dd2d0]
  ponyc(ast_add_sibling+0x1f9) [0x47ade9]
  ponyc(consume_type+0xc4) [0x453b64]
  ponyc(expr_consume+0xc3) [0x4a6b83]
  ponyc(pass_expr+0x2fb) [0x427ebb]
  ponyc(ast_visit+0x1c8) [0x420828]
  ponyc(ast_visit+0x170) [0x4207d0]
  ponyc(ast_visit+0x170) [0x4207d0]
  ponyc(ast_visit+0x170) [0x4207d0]
  ponyc(ast_visit+0x170) [0x4207d0]
  ponyc(ast_visit+0x170) [0x4207d0]
  ponyc(ast_visit+0x170) [0x4207d0]
  ponyc(ast_visit+0x170) [0x4207d0]
  ponyc(ast_visit+0x170) [0x4207d0]
  ponyc(ast_visit+0x170) [0x4207d0]
  ponyc() [0x420edd]
  ponyc(ast_passes_program+0x7e7) [0x422007]
  ponyc(program_load+0x74) [0x4433d4]
  ponyc(main+0x1ae) [0x41fe7e]
  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f113b562830]
  ponyc(_start+0x29) [0x4202a9]

More minimal example:
actor Main
  let a: Array[String ref] = []

  new create(env: Env) =>
    None

  fun foo() ? =>
    let s = a(0)?
    consume val s

Interesting note: replacing String ref with String tag results in no crash and the correct error message.


search keyword doesn't update when search in Google search box

it happens when the search url is https://www.google.co.uk/search instead of webhp.

it has #q together with q use global match g to match all and get the last one!


Add 'lineno' and 'source' attributes to V2 listener methods

This is related to issue #3451, even though that issue was closed.
This does not add the source and lineno information to output.xml. While that might be useful, it would bloat the size of the xml considerably. I think it would be best to get the logic necessary to include the information in the listener, and then make the problem of saving the information to output.xml as a separate issue.

Codecov Report

Merging #3518 into master will decrease coverage by 0.43%.
The diff coverage is 80.00%.

@@            Coverage Diff             @@
##           master    #3518      +/-   ##
==========================================
- Coverage   73.89%   73.47%   -0.42%
==========================================
  Files         199      198       -1
  Lines       16373    16334      -39
  Branches     2632     2627       -5
==========================================
- Hits        12098    11999      -99
- Misses       3851     3895      +44
- Partials      424      440      +16

Impacted Files
Coverage Δ

src/robot/running/librarykeywordrunner.py
48.13% <ø> (ø)

src/robot/running/steprunner.py
28.87% <ø> (ø)

src/robot/running/userkeywordrunner.py
57.37% <ø> (ø)

src/robot/output/listenerarguments.py
84.94% <50.00%> (-0.98%)
:arrow_down:

src/robot/result/model.py
100.00% <100.00%> (ø)

src/robot/utils/encodingsniffer.py
66.16% <0.00%> (-21.53%)
:arrow_down:

src/robot/version.py
55.56% <0.00%> (-11.11%)
:arrow_down:

src/robot/utils/robotpath.py
64.16% <0.00%> (-9.43%)
:arrow_down:

src/robot/utils/robottypes3.py
87.18% <0.00%> (-7.69%)
:arrow_down:

src/robot/utils/argumentparser.py
78.02% <0.00%> (-5.67%)
:arrow_down:

... and 8 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 bdd3a22...05b3f24. Read the comment docs.

Getting source information via the listener interface would be very valuable, but unfortunately the approach used by this PR is not something I want to use. Adding source information to the result side objects has some major problems:

Unless we save them also to output.xml and read them there, they would only be available during execution and not when processing results after execution. This would be highly inconsistent behavior.

Saving source information to output.xml is pretty much out of the question. The main problem is that it would increase the output.xml size considerably and reading this information would also slow down processing them. Another problem is that source information, especially paths, make sense only on the machine where tests have been run. If using relative paths, they would be broken also locally if files are moved.

As far I can see, there are no other benefits in adding source information to the result objects other than making it possible to use it with start/end_keyword listener methods.

I believe the only reason the result objects have been used for this purpose is that at the moment there is no other simple way to get the source information to start/end_keyword methods. The reason for that is that the execution code related to this is somewhat messed up, and the same reason prevents also adding start/end_keyword methods to the listener API v3. A much better solution to this problem is cleaning up that mess. That won't happen in RF 3.2, but it is a high priority enhancement planned for RF 4.0 (#3296).
It can be argued that we should anyway add source info to result objects to get this important enhancement implemented. Possibly it could then be removed when there's a better way to get this feature implemented. After thinking this quite hard, I've nevertheless decided not to do that. It would just add extra work (incl. deprecation) to further releases. I rather spent that time and energy for cleaning up the execution side mess. If it turns out that this feature would be very important, we can even consider creating RF 3.3 with #3296 and this feature as the main enhancements.

I submitted issue #3538 about adding this feature in RF 4.0 (or possibly already in RF 3.3). I linked this PR from there to give those people who need this feature badly a possibility to take it into use. It would be great if you @boakley could merge the changes from master to this branch to get also the latest changes from there. If you want, you can also make your version more easily available for possibly interested users.

This PR won't be merged in the current form so I close it.

There's no point in me merging features from master and making it more readily available if this is a dead end.


Default schema is not recognized on latest version

Hello,
I have this changeset:
--changeset nicola:003 runAlways:true
--comment: call function which enable auditing for every table
SELECT audit_trigger_install();

--rollback -- nothing to do here

This functions exists inside the schema application
CREATE OR REPLACE FUNCTION application.audit_trigger_install()
...

Since about 2 years ago I started this project, I always used the changelog as you can see, without a specific declaration of which schema is the function installed. The command I used has always been:
liquibase \
   --driver=org.postgresql.Driver \
   --classpath=postgresql-42.2.20.jar \
   --url=jdbc:postgresql://<IP_ADDRESS>/postgres \
   --username=xxxxxx \
   --password=yyyyyyyy \
   --changeLogFile=databaseChangelog.xml \
   --liquibaseSchemaName=liquibase \
   --defaultSchemaName=application \
   --contexts=dev\
   update

You can see that there is a specific notation "defaultSchemaName" to allow Liquibase work on a specific schema, and that has always worked since always using the version 4.2.2 I installed at first
Liquibase Community 4.2.2 by Datical
####################################################
##   _     _             _ _                      ##
##  | |   (_)           (_) |                     ##
##  | |    _  __ _ _   _ _| |__   __ _ ___  ___   ##
##  | |   | |/ _` | | | | | '_ \ / _` / __|/ _ \  ##
##  | |___| | (_| | |_| | | |_) | (_| \__ \  __/  ##
##  \_____/_|\__, |\__,_|_|_.__/ \__,_|___/\___|  ##
##              | |                               ##
##              |_|                               ##
##                                                ##
##  Get documentation at docs.liquibase.com       ##
##  Get certified courses at learn.liquibase.com  ##
##  Free schema change activity reports at        ##
##      https://hub.liquibase.com                 ##
##                                                ##
####################################################
Starting Liquibase at 17:54:49 (version 4.2.2 #36 built at 2020-12-09 20:07+0000)
Liquibase: Update has been successful.

Today I updated the version of Liquibase up to the latest one, 4.9.0 (no other changes, same changelog, same postgres driver, same liquibase command, ...) and here is the result
####################################################
##   _     _             _ _                      ##
##  | |   (_)           (_) |                     ##
##  | |    _  __ _ _   _ _| |__   __ _ ___  ___   ##
##  | |   | |/ _` | | | | | '_ \ / _` / __|/ _ \  ##
##  | |___| | (_| | |_| | | |_) | (_| \__ \  __/  ##
##  \_____/_|\__, |\__,_|_|_.__/ \__,_|___/\___|  ##
##              | |                               ##
##              |_|                               ##
##                                                ##
##  Get documentation at docs.liquibase.com       ##
##  Get certified courses at learn.liquibase.com  ##
##  Free schema change activity reports at        ##
##      https://hub.liquibase.com                 ##
##                                                ##
####################################################
Starting Liquibase at 18:06:46 (version 4.9.0 #1885 built at 2022-03-16 16:58+0000)
Liquibase Version: 4.9.0
Liquibase Community 4.9.0 by Liquibase
Running Changeset: databaseChangeLog_BUILD/changelog_1000_001_setup auto_trigger[audit_tables].sql::1000_001-003::nicola

Unexpected error running Liquibase: ERROR: function audit_trigger_install() does not exist
  Hint: No function matches the given name and argument types. You might need to add explicit type casts.
  Position: 8 [Failed SQL: (0) SELECT audit_trigger_install()]

The only way I found to be working (with this new release) is forcing the schema as prefix of the function inside the changelog;
SELECT application.audit_trigger_install();

But, while this seems to be working, has a wide impact on my changelogs because I have many cases like this.
I then reverted the version back to previous 4.2.2 and it is working again.
What is going on? Something changed during one of the last releases?
Thanks

@NicolaSpreafico Thanks for all the detail here. We are taking a look.

Hi @kataggart ,
I think I found an additional information about this.
Using the working version 4.2.2 I tried the updateSQL command in order to find some hint on where is the issue.
This is the resulting code
-- Changeset databaseChangeLog_BUILD/changelog_1000_001_setup auto_trigger[audit_tables].sql::1000_001-003::nicola
-- call function which enable auditing for every table
SET SEARCH_PATH TO application;

SELECT audit_trigger_install();

You can see that there is a notation here
SET SEARCH_PATH TO application;
While using the latest version 4.9.0, the generated code is different
-- call function which enable auditing for every table
SELECT audit_trigger_install();

Without the schema overidde with the SEARCH_PATH it is understandable why it is not able to find the function.
It seems that somehow we lost the defaultSchemaName definition with latest releases.

@nvoxland I am wondering if the above behavior was introduced inadvertently in https://github.com/liquibase/liquibase/commit/c950ccebef96be9862455a9b2b192e3f7da3baf8 https://github.com/liquibase/liquibase/pull/1864  v4.5.0 ?

Oracle has the same problem

This should be resolved for postgresql in #2812 but the change wouldn't apply to oracle.
I'll see if I can tell what oracle is doing

@nvoxland Was this ever fixed in Oracle? This is still a problem in Oracle

@SambitNanda It is in our queue to resolve. Sorry we haven't been able to get to it yet.

A similar issue we had seen in Snowflake recently. Until the liquibase 4.9.1 version worked as we were using the liquibase 4.9.1 extension for the snowflake. I recently read through the documentation for liquibase-snowflake that they had stopped maintaining the repo as the support for the same is moved to the liquibase regular or core repo. We had a script for creating the relationships which we use for both redshift and snowflake. The DDL works in both the DW implementations but as the default schema doesn't work we can't provide the use search_path in the case of redshift or use schema in the case of snowflake as it's a common script.

Hi @SambitNanda , which liquibase version are you using? I tested option "--defaultSchemaName=my_schema"  on liquibase 4.8, 4.12 and 4.16.1 and running in debug I can see it doing an ALTER SESSION SET CURRENT_SCHEMA=my_schema . I'm running a simple insert into a table that is located in the defined schema and it's working.  Could you test with 4.16.1 and check it it's ok now?
@shaounak  could you test with liquibase 4.16.1 too? I see some fixes have been introduced since 4.9.1 . If it fails can you provide more details?

I think the 4.17 is also released let me try with that and get back to you.
On Wed, Oct 19, 2022, 5:12 PM filipe lautert @.***>
wrote:

Hi @SambitNanda https://github.com/SambitNanda , which liquibase
version are you using? I tested option "--defaultSchemaName=my_schema" on
liquibase 4.8, 4.12 and 4.16.1 and running in debug I can see it doing an
ALTER SESSION SET CURRENT_SCHEMA=my_schema . I'm running a simple insert
into a table that is located in the defined schema and it's working. Could
you test with 4.16.1 and check it it's ok now?
@shaounak https://github.com/shaounak could you test with liquibase
4.16.1 too? I see some fixes have been introduced since 4.9.1 . If it fails
can you provide more details?
—
Reply to this email directly, view it on GitHub
https://github.com/liquibase/liquibase/issues/2665#issuecomment-1284579526,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE2OCU3H7POCCVYRGAN7I5DWEBP2XANCNFSM5RLPQCLA
.
You are receiving this because you were mentioned.Message ID:
@.***>

@filipelautert  4.16.1 is the version we are seeing the issue in. Database is Oracle

Thanks @SambitNanda ! Could you provide more details on how to reproduce the issue, maybe an example file? Are you executing it from command line or using any integration as maven or springboot?

@filipelautert  invoking the Liquibase update() from a java class directly. Our DB upgrader is neither maven or springboot. It starts an init-container and upgrades the DB before the main service comes up.
We have an Oracle system type user with DBA permissions that creates the databse objects. It needs to create them in applcation/service schema.
Database getDatabase(String schema, Connection connection) throws DatabaseException {
   Database database = DatabaseFactory.getInstance() .findCorrectDatabaseImplementation(new
                                                                                JdbcConnection(connection));
    if (schema != null && !schema.isBlank()) {
        database.setDefaultSchemaName(schema);
    }

    return database;
}

 void executeChangeLog(Contexts contexts, String schemaToConnect, final String resourcePath)
        throws LiquibaseException, SQLException, IOException {
    try (Connection connection = getConnection()) {
        Database database = getDatabase(schemaToConnect, connection);

    // Now execute service's changelogs
        Liquibase liquibase =
                new liquibase.Liquibase(resourcePath, new ClassLoaderResourceAccessor(), database);
        liquibase.update(contexts, new LabelExpression());
    }
}

Current workaround
Get this executed first before other objects are created.
<changeSet id="oracle-alter-session" author="me">
  <sql dbms="oracle">ALTER SESSION SET CURRENT_SCHEMA=${database.defaultSchemaName}</sql>
</changeSet>

Hope that helps.

@SambitNanda I still reviewing the code to understand where/how to fix it, but so far I found out that for Oracle using method setDefaultCatalogName would fix it:
if (schema != null && !schema.isBlank()) {
       if (oracle) {
          database.setDefaultCatalogName(schema);
       } else {
          database.setDefaultSchemaName(schema);
       }
    }

@filipelautert That is interesting. It wasn’t obvious in the documentation to me, but I will let you know the result if my testing. Thanks

Isn't default catalogue name is the default database name? What should be
the case with Redshift and Snowflake?
On Thu, Oct 20, 2022, 11:37 PM SambitNanda @.***> wrote:

@filipelautert https://github.com/filipelautert That is interesting. It
wasn’t obvious in the documentation to me, but I will let you know the
result if my testing. Thanks
—
Reply to this email directly, view it on GitHub
https://github.com/liquibase/liquibase/issues/2665#issuecomment-1286415911,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE2OCU5H3H2CVWRKU4GCJD3WEIFYHANCNFSM5RLPQCLA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Thanks, I'll check it out.
On Fri, Oct 21, 2022, 1:45 PM filipe lautert @.***>
wrote:

Hello @shaounak https://github.com/shaounak - on Liquibase concepts,
Redshit supports schemas and Snowflake supports schemas and catalog. So for
your case you can still using setDefaultSchemaName as it has been fixed on
version 4.12.0 (it was really broken on version 4.9 as you mentioned above).
—
Reply to this email directly, view it on GitHub
https://github.com/liquibase/liquibase/issues/2665#issuecomment-1287262417,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE2OCU3NRUPGTSS3FALD6T3WELJB5ANCNFSM5RLPQCLA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hello, did it work? If it's all fine now we can close this ticket.

Yes it worked for us.
Regards,
Shaounak Nasikkar

From: filipe lautert @.>
Sent: Friday, October 28, 2022 4:08:50 PM
To: liquibase/liquibase @.>
Cc: shaounak @.>; Mention @.>
Subject: Re: [liquibase/liquibase] Default schema is not recognized on latest version (Issue #2665)
Hello, did it work? If it's all fine now we can close this ticket.
—
Reply to this email directly, view it on GitHubhttps://github.com/liquibase/liquibase/issues/2665#issuecomment-1295416782, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AE2OCUZ2SL3SUZKXFWGBT7DWFQXFFANCNFSM5RLPQCLA.
You are receiving this because you were mentioned.Message ID: @.***>


Make console output a bit lighter?

I find that seeing lines with a lot of "---" makes the output difficult to read or make me feel like something went wrong.

What do you think of using empty lines instead to separates the stages?

@MangelMaxime sure we can, before I use gray is because I thought that meta information is not important and do not want to distract users focus.
Do you have any preferred color?

What I am speaking about is the ---------- lines.
Not sure, what you want to apply the grey to?
My proposition is to change the out put to something like that:
── STAGE #1 Restore tools and dependencies started. Stage timeout: -1ms. Step timeout: ─────────

Clean/step-0> started:
Clean/step-0> finished. 9ms.

── STAGE #1 Restore tools and dependencies finished. 2329ms. ─────────────────────────

── STAGE #3 Publish started. Stage timeout: -1ms. Step timeout: -1ms. ────────────────────

See how there are no double ------- lines anymore between the stage but just new lines.

Oh, I thought lighter is for brighter 😅.
Replace with new lines is ok for me. I will change that.

Will close this, the changes should be in 0.1.7.


Request preset-electron

@sergeysova Thanks for the suggestion. I'll try to research it in two weeks


Ansible request for build-osuosl-aix71-ppc64-{1,2} rebuild

AIX 7.1 TL4 SP4 (or SP8)

[ ] Missing install
[ ] Bug in ansible playbook
[ ] Request for new playbook addition
[x] Non-reproducible setup of build system

Details:

These systems were originally installed in June 2017

The base OS has never been updated since.

Recently the OSS packages have been updated, but, again, not the base OS.

Over the years - the have been manual tweaks to the system - undocumented, or poorly documented, in many cases - which implies these systems are not reproducible - cannot be rebuilt into the current setup.

My proposal is to save the current images (as backup) and to rebuild the systems from scratch.

Depending on AdoptOpenJDK needs this could still be at AIX 7.1 TL4 SP4 (current in 2017) or continue with AIX 7.1 TL4 but with the latest SP (iirc, SP8)

These systems would then be further configured using the current playbook (AIX version2 using roles rather than flatfile aix.yml -- this should ensure reproducibility of these build systems.

After acceptance of the new builds - delete the saved images as no longer relevant.

Reminder: this is to ensure the systems are in a reproducible state.