Slow in a repo with large working tree

Hi, this plugin is awesome. Great ideas on filtering and sources, easy to customize and extend, and very active development. Thank you first.
To reproduce this issue:

Create a bare repo git init --bare $HOME/bare.git
In zshenv, set git envexport GIT_DIR="$HOME/bare.git"
export GIT_WORK_TREE="$HOME"

In a new shell, under $HOME, let's create a file, and commit ittouch file1
git add file1
git commit -m "first commit"

Next, we open this file using Neovim. Then open neo-tree via :NeoTreeRevealToggle. Now it freezes there. After around 2~3 seconds, the neo-tree window opens.
Then with neo-tree window open, we modify this file. Finally we save it via :w. After pressing <ENTER>, Neovim freezes again.

It seems that neo-tree fetches the git info synchronously, so Neovim will block in a bare repo with a large working directory. Is it possible to deal with this situation?
Looking forward to your response, and thank you so much.

I ran through the test and I don't have an issue if I follow the instructions exactly, but ti will freeze up if I open the bare.git directory.
This is a known issue with adding file watches to a git directory, because it throws off change events constantly. I have a check for .git directories where I skip adding watchers to those, but I hadn't come across the bare.git pattern before this.
Does this sound like it may be the issue?
If not, can you please include your neo-tree config and try capturing a log file with the instructions here: https://github.com/nvim-neo-tree/neo-tree.nvim/wiki/Troubleshooting#logs

Oh, and thanks for the kind words!

Thank you.

Does this sound like it may be the issue

Maybe not. Let me make my example above clearer. :)
Throughout the process, I stay under $HOME directory. On step 4, I open this file by nvim file1. Then I run :NeoTreeShow. Neovim is stuck there for around 3 seconds until neo-tree window shows up. Next, I type something in this file, then I run :w, Neovim will be stuck again for a little while until [M] symbol shows next to the filename. During the stuck time, the cursor disappears as well.
I will put a short video below for demo.
https://asciinema.org/a/elRuwAgal79z09hL5bWGIM9sC

can you please include your neo-tree config

I didn't config it. What I did is install neo-tree and nui and that's it.
I will attach the log info below

[DEBUG Tue Feb 15 06:59:28 2022] ...ig/nvim/pack/minpac/start/neo-tree.nvim/lua/neo-tree.lua:529: setup
[TRACE Tue Feb 15 06:59:28 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/events/init.lua:44: Teardown autocmds for  vim_buffer_added
[TRACE Tue Feb 15 06:59:28 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/events/init.lua:44: Teardown autocmds for  vim_buffer_changed
[TRACE Tue Feb 15 06:59:28 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/events/init.lua:44: Teardown autocmds for  vim_buffer_deleted
[TRACE Tue Feb 15 06:59:28 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/events/init.lua:44: Teardown autocmds for  vim_buffer_enter
[TRACE Tue Feb 15 06:59:28 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/events/init.lua:44: Teardown autocmds for  vim_diagnostic_changed
[TRACE Tue Feb 15 06:59:28 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/events/init.lua:44: Teardown autocmds for  vim_dir_changed
[TRACE Tue Feb 15 06:59:28 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/events/init.lua:44: Teardown autocmds for  vim_tab_closed
[TRACE Tue Feb 15 06:59:28 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/events/init.lua:44: Teardown autocmds for  vim_win_enter
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:170: Creating queue for event: vim_buffer_enter
[TRACE Tue Feb 15 06:59:28 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/events/init.lua:39: Registering autocmds: %s augroup NeoTreeEvent_vim_buffer_enter
autocmd BufEnter,BufWinEnter * :lua require('neo-tree.events').fire_event('vim_buffer_enter', { afile = vim.fn.expand('<afile>') })
augroup END
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:177: Setup for event vim_buffer_enter was run
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:184: Adding event handler [ nil ] for event:  vim_buffer_enter
[DEBUG Tue Feb 15 06:59:28 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:445: filesystem  setup  {
  bind_to_cwd = true,
  commands = {
    add = <function 1>,
    clear_filter = <function 2>,
    close_all_nodes = <function 3>,
    close_node = <function 4>,
    close_window = <function 5>,
    ...
[TRACE Tue Feb 15 06:59:28 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:136: subscribing to event: filesystem.before_render
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:170: Creating queue for event: before_render
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:184: Adding event handler [ filesystem.before_render ] for event:  before_render
[TRACE Tue Feb 15 06:59:28 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:136: subscribing to event: filesystem.vim_buffer_changed
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:170: Creating queue for event: vim_buffer_changed
[TRACE Tue Feb 15 06:59:28 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/events/init.lua:39: Registering autocmds: %s augroup NeoTreeEvent_vim_buffer_changed
autocmd BufWritePost,BufFilePost * :lua require('neo-tree.events').fire_event('vim_buffer_changed', { afile = vim.fn.expand('<afile>') })
augroup END
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:177: Setup for event vim_buffer_changed was run
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:184: Adding event handler [ filesystem.vim_buffer_changed ] for event:  vim_buffer_changed
[TRACE Tue Feb 15 06:59:28 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:136: subscribing to event: filesystem.vim_dir_changed
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:170: Creating queue for event: vim_dir_changed
[TRACE Tue Feb 15 06:59:28 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/events/init.lua:39: Registering autocmds: %s augroup NeoTreeEvent_vim_dir_changed
autocmd DirChanged * :lua require('neo-tree.events').fire_event('vim_dir_changed', { afile = vim.fn.expand('<afile>') })
augroup END
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:177: Setup for event vim_dir_changed was run
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:184: Adding event handler [ filesystem.vim_dir_changed ] for event:  vim_dir_changed
[TRACE Tue Feb 15 06:59:28 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:136: subscribing to event: filesystem.vim_diagnostic_changed
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:170: Creating queue for event: vim_diagnostic_changed
[TRACE Tue Feb 15 06:59:28 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/events/init.lua:39: Registering autocmds: %s augroup NeoTreeEvent_vim_diagnostic_changed
autocmd DiagnosticChanged * :lua require('neo-tree.events').fire_event('vim_diagnostic_changed', { afile = vim.fn.expand('<afile>') })
augroup END
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:177: Setup for event vim_diagnostic_changed was run
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:184: Adding event handler [ filesystem.vim_diagnostic_changed ] for event:  vim_diagnostic_changed
[TRACE Tue Feb 15 06:59:28 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:136: subscribing to event: filesystem.vim_tab_closed
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:170: Creating queue for event: vim_tab_closed
[TRACE Tue Feb 15 06:59:28 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/events/init.lua:39: Registering autocmds: %s augroup NeoTreeEvent_vim_tab_closed
autocmd TabClosed * :lua require('neo-tree.events').fire_event('vim_tab_closed', { afile = vim.fn.expand('<afile>') })
augroup END
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:177: Setup for event vim_tab_closed was run
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:184: Adding event handler [ filesystem.vim_tab_closed ] for event:  vim_tab_closed
[DEBUG Tue Feb 15 06:59:28 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:445: buffers  setup  {
  bind_to_cwd = true,
  commands = {
    add = <function 1>,
    buffer_delete = <function 2>,
    close_node = <function 3>,
    close_window = <function 4>,
    copy_to_clipboard = <function 5>,
 ...
[TRACE Tue Feb 15 06:59:28 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:136: subscribing to event: buffers.before_render
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:184: Adding event handler [ buffers.before_render ] for event:  before_render
[TRACE Tue Feb 15 06:59:28 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:136: subscribing to event: buffers.vim_buffer_changed
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:184: Adding event handler [ buffers.vim_buffer_changed ] for event:  vim_buffer_changed
[TRACE Tue Feb 15 06:59:28 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:136: subscribing to event: buffers.vim_buffer_added
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:170: Creating queue for event: vim_buffer_added
[TRACE Tue Feb 15 06:59:28 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/events/init.lua:39: Registering autocmds: %s augroup NeoTreeEvent_vim_buffer_added
autocmd BufAdd * :lua require('neo-tree.events').fire_event('vim_buffer_added', { afile = vim.fn.expand('<afile>') })
augroup END
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:177: Setup for event vim_buffer_added was run
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:184: Adding event handler [ buffers.vim_buffer_added ] for event:  vim_buffer_added
[TRACE Tue Feb 15 06:59:28 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:136: subscribing to event: buffers.vim_buffer_deleted
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:170: Creating queue for event: vim_buffer_deleted
[TRACE Tue Feb 15 06:59:28 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/events/init.lua:39: Registering autocmds: %s augroup NeoTreeEvent_vim_buffer_deleted
autocmd BufDelete * :lua require('neo-tree.events').fire_event('vim_buffer_deleted', { afile = vim.fn.expand('<afile>') })
augroup END
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:177: Setup for event vim_buffer_deleted was run
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:184: Adding event handler [ buffers.vim_buffer_deleted ] for event:  vim_buffer_deleted
[TRACE Tue Feb 15 06:59:28 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:136: subscribing to event: buffers.vim_dir_changed
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:184: Adding event handler [ buffers.vim_dir_changed ] for event:  vim_dir_changed
[TRACE Tue Feb 15 06:59:28 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:136: subscribing to event: buffers.vim_diagnostic_changed
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:184: Adding event handler [ buffers.vim_diagnostic_changed ] for event:  vim_diagnostic_changed
[TRACE Tue Feb 15 06:59:28 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:136: subscribing to event: buffers.vim_tab_closed
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:184: Adding event handler [ buffers.vim_tab_closed ] for event:  vim_tab_closed
[DEBUG Tue Feb 15 06:59:28 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:445: git_status  setup  {
  commands = {
    add = <function 1>,
    close_node = <function 2>,
    close_window = <function 3>,
    copy_to_clipboard = <function 4>,
    cut_to_clipboard = <function 5>,
    delete = <functi...
[TRACE Tue Feb 15 06:59:28 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:136: subscribing to event: git_status.vim_buffer_changed
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:184: Adding event handler [ git_status.vim_buffer_changed ] for event:  vim_buffer_changed
[TRACE Tue Feb 15 06:59:28 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:136: subscribing to event: git_status.vim_diagnostic_changed
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:184: Adding event handler [ git_status.vim_diagnostic_changed ] for event:  vim_diagnostic_changed
[TRACE Tue Feb 15 06:59:28 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:136: subscribing to event: git_status.vim_tab_closed
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:184: Adding event handler [ git_status.vim_tab_closed ] for event:  vim_tab_closed
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:170: Creating queue for event: vim_win_enter
[TRACE Tue Feb 15 06:59:28 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/events/init.lua:39: Registering autocmds: %s augroup NeoTreeEvent_vim_win_enter
autocmd WinEnter * :lua require('neo-tree.events').fire_event('vim_win_enter', { afile = vim.fn.expand('<afile>') })
augroup END
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:177: Setup for event vim_win_enter was run
[DEBUG Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:184: Adding event handler [ neo-tree-win-enter ] for event:  vim_win_enter
[TRACE Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  {
  event = "vim_buffer_enter",
  handler = <function 1>
}  for vim_buffer_enter called successfully.
[TRACE Tue Feb 15 06:59:28 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  {
  event = "vim_buffer_enter",
  handler = <function 1>
}  for vim_buffer_enter called successfully.
[TRACE Tue Feb 15 06:59:29 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  {
  event = "vim_buffer_enter",
  handler = <function 1>
}  for vim_buffer_enter called successfully.
[TRACE Tue Feb 15 06:59:29 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  {
  event = "vim_buffer_enter",
  handler = <function 1>
}  for vim_buffer_enter called successfully.
[TRACE Tue Feb 15 06:59:30 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:287: refreshing due to vim_buffer_changed event:  [Wilder Float 1]
[TRACE Tue Feb 15 06:59:30 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  filesystem.vim_buffer_changed  for vim_buffer_changed called successfully.
[TRACE Tue Feb 15 06:59:30 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  buffers.vim_buffer_changed  for vim_buffer_changed called successfully.
[TRACE Tue Feb 15 06:59:30 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  git_status.vim_buffer_changed  for vim_buffer_changed called successfully.
[TRACE Tue Feb 15 06:59:33 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:307: navigate filesystem nil nil
[TRACE Tue Feb 15 06:59:33 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:166: navigate nil nil
[TRACE Tue Feb 15 06:59:33 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:112: navigate_internal nil nil nil
[DEBUG Tue Feb 15 06:59:33 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:116: navigate_internal: path is nil, using cwd
[DEBUG Tue Feb 15 06:59:33 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:120: navigate_internal: path changed from  nil  to  /Users/rockyzhang
[TRACE Tue Feb 15 06:59:33 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:148: navigate_internal: position saved
[DEBUG Tue Feb 15 06:59:33 2022] ...ree.nvim/lua/neo-tree/sources/filesystem/lib/fs_scan.lua:173: Not unwatching folders... use_libuv_file_watcher is  false  and state.tree is  false
[TRACE Tue Feb 15 06:59:36 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  filesystem.before_render  for before_render called successfully.
[TRACE Tue Feb 15 06:59:36 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  buffers.before_render  for before_render called successfully.
[TRACE Tue Feb 15 06:59:36 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  neo-tree-win-enter  for vim_win_enter called successfully.
[TRACE Tue Feb 15 06:59:36 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  {
  event = "vim_buffer_enter",
  handler = <function 1>
}  for vim_buffer_enter called successfully.
[TRACE Tue Feb 15 06:59:36 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  {
  event = "vim_buffer_enter",
  handler = <function 1>
}  for vim_buffer_enter called successfully.
[DEBUG Tue Feb 15 06:59:36 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:395: Setting expanded nodes
[DEBUG Tue Feb 15 06:59:36 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:351: No node_id to restore to
[TRACE Tue Feb 15 06:59:36 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  neo-tree-win-enter  for vim_win_enter called successfully.
[TRACE Tue Feb 15 06:59:36 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  {
  event = "vim_buffer_enter",
  handler = <function 1>
}  for vim_buffer_enter called successfully.
[TRACE Tue Feb 15 06:59:36 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:284: Ignoring vim_buffer_changed event from filesystem
[TRACE Tue Feb 15 06:59:36 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  filesystem.vim_buffer_changed  for vim_buffer_changed called successfully.
[TRACE Tue Feb 15 06:59:36 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  buffers.vim_buffer_changed  for vim_buffer_changed called successfully.
[TRACE Tue Feb 15 06:59:36 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  git_status.vim_buffer_changed  for vim_buffer_changed called successfully.
[TRACE Tue Feb 15 06:59:39 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  {
  event = "vim_buffer_enter",
  handler = <function 1>
}  for vim_buffer_enter called successfully.
[TRACE Tue Feb 15 06:59:39 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  {
  event = "vim_buffer_enter",
  handler = <function 1>
}  for vim_buffer_enter called successfully.
[TRACE Tue Feb 15 06:59:39 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:287: refreshing due to vim_buffer_changed event:  file1
[TRACE Tue Feb 15 06:59:39 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:327: filesystem  refresh
[TRACE Tue Feb 15 06:59:39 2022] ...pac/start/neo-tree.nvim/lua/neo-tree/sources/manager.lua:307: navigate filesystem /Users/rockyzhang nil
[TRACE Tue Feb 15 06:59:39 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:166: navigate /Users/rockyzhang nil
[TRACE Tue Feb 15 06:59:39 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:112: navigate_internal left /Users/rockyzhang nil
[TRACE Tue Feb 15 06:59:39 2022] ...t/neo-tree.nvim/lua/neo-tree/sources/filesystem/init.lua:148: navigate_internal: position saved
[DEBUG Tue Feb 15 06:59:39 2022] ...ree.nvim/lua/neo-tree/sources/filesystem/lib/fs_scan.lua:173: Not unwatching folders... use_libuv_file_watcher is  false  and state.tree is  false
[TRACE Tue Feb 15 06:59:41 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  filesystem.vim_buffer_changed  for vim_buffer_changed called successfully.
[TRACE Tue Feb 15 06:59:41 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  buffers.vim_buffer_changed  for vim_buffer_changed called successfully.
[TRACE Tue Feb 15 06:59:41 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  git_status.vim_buffer_changed  for vim_buffer_changed called successfully.
[TRACE Tue Feb 15 06:59:41 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  filesystem.before_render  for before_render called successfully.
[TRACE Tue Feb 15 06:59:41 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  buffers.before_render  for before_render called successfully.
[TRACE Tue Feb 15 06:59:41 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:611: Preserving expanded nodes
[DEBUG Tue Feb 15 06:59:41 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:395: Setting expanded nodes
[DEBUG Tue Feb 15 06:59:41 2022] .../minpac/start/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:355: Restoring position to node_id: /Users/rockyzhang
[TRACE Tue Feb 15 06:59:42 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  {
  event = "vim_buffer_enter",
  handler = <function 1>
}  for vim_buffer_enter called successfully.
[TRACE Tue Feb 15 06:59:42 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  {
  event = "vim_buffer_enter",
  handler = <function 1>
}  for vim_buffer_enter called successfully.
[TRACE Tue Feb 15 06:59:44 2022] ...minpac/start/neo-tree.nvim/lua/neo-tree/events/queue.lua:130: Handler  neo-tree-win-enter  for vim_win_enter called successfully.

Thanks a lot.

I think the problem is with the respect_gitignore setting. Can you try disabling that with:
      require("neo-tree").setup({
        filesystem = {
          filters = {
            respect_gitignore = false,
          }
        }
      })

and letting me know if that fixes the problem?
if it does we may be able to throttle or cache that check.

Here is the command that is actually run to get the ignored files:
git --no-optional-locks status --porcelain=v1 --ignored=matching --untracked-files=normal

Thanks.

letting me know if that fixes the problem?

I can confirm that after setting respect_gitignore = false, the issue is totally solved and neo-tree is so smooth and responsive with a large git working tree. Awesome.
However, sometimes respect_gitignore = true is still useful for a repo with a large working tree. Is it possible to fix this to make neo-tree has good performance even if respect_gitignore set to true?
Thanks a lot.

Is it possible to fix this to make neo-tree has good performance even if respect_gitignore set to true?

Maybe, I will try out different strategies and see if there is a better way. We may have to add options that trade accuracy for performance. The built-in plenary filter that we used to use is likely better performing in this situation, but not always accurate.
The hard part was figuring out exactly where the issue was. The rest should be downhill from here.

It makes sense. Thank you very much for developing and maintaining this plugin. I will use it with respect_gitignore = false and looking forward to your new strategies to see whether this can be solved.

Or is it possible to make the process of checking gitignore asynchronous?
neo-tree could open a window containing all files and check the gitignore in the background. After finishing, update the tree to filter out the entries in gitignore.

You know, I checked out the linux repo, which is insanely huge, and I had no performance issues. I think the problem with the bare repo as you have configured it is that there is a large amount of untracked but eligible files. I bet if you just add an appropriate .gitignore file that would solve the issue. In this case, you might want to .gitignore everything and then only track what you explicitly add, or add an exclusion just for certain folders which you do actually want to track.
If you are using the bare repo for dotfile management, I would highlly recommend using dotbot instead.
I'll still add an alternative respect_ignore option, but I also wanted to throw this out there.

... but if you do keep your bare repo as-is, update to the latest in maint and add this option to enable the alternative gitignore logic:
      require("neo-tree").setup({
        filesystem = {
          filters = {
            respect_gitignore = true,
            gitignore_source = "plenary"
          }
        }
      })

Thank you so much for you help and suggestions.

You know, I checked out the linux repo, which is insanely huge, and I had no performance issues.

Lol, yesterday I tested it with linux repo (more than 5GB) as well. I opened the Makefile file under the root directory in linux and then run :NeoTreeReveal, the neo-tree window didn't show immediately, and still had a hundreds of milliseconds freeze. I can feel it, even though it is not that noticeable. If I run :NeoTreeReveal in a very small repo, the neo-tree window shows instantly. So I thought probably linux repo is not large enough, because its actually files are just 1.1GB, .git is 4G. So the working tree of linux repo is not large actually.
In order to make the working tree large enough, in the shell rc file, I only set export GIT_WORK_TREE="$HOME". Then I opened a new shell and went back to the linux folder. This time linux repo has a very large working tree, the whole $HOME. Then, stay in linux folder, I tried to open a file like Makefile, and run :NeoTreeReveal. The performance issue appeared again, the freezing time is very long, near 4s. Then I tried to set respect_gitignore = false, however, the freezing was not gone, but relieved some, near 2s, and I don't know why. Could you please test this on your end?

you might want to .gitignore everything and then only track what you explicitly add, or add an exclusion just for certain folders which you do actually want to track

But I need to see the whole structure of $HOME. I set showUntrackedFiles = no for the bare repo to hide all the untracked files for command like git status.

update to the latest in main and add this option to enable the alternative gitignore logic

I tried this option and the performance is great with respect_gitignore = true. Awesome. But this option has a low accuracy, right?

I tried this option and the performance is great with respect_gitignore = true. Awesome. But this option has a low accuracy, right?

The major issue with this is that it only works when your cwd is the root of the repo, otherwise it doesn't find the .gitignore file. It also is not aware of any cascading .gitignore that may be in effect. See this for more info: https://github.com/nvim-neo-tree/neo-tree.nvim/issues/78
...actually, now that I read that I realize it's worse than I remember. It only works for the root level objects... I'll need to revisit this.

Okay. Thanks.
For my verbose relay above, I want to extract and summarize the questions so far below to make it clear for your reference.
For all situations below, use 1.x branch, i.e., not set gitignore_source.

For bare repo
In zshrc, set
export GIT_DIR="$HOME/bare.git"
export GIT_WORK_TREE="$HOME"

Then open a file under $HOME, and run :NeoTreeReveal.
If set respect_gitignore = true, it has a long latency.
If set respect_gitignore = false, no latency.

For linux repo
open ./Makefile and run :NeoTreeReveal
If set respect_gitignore = true, milliseconds latency
If set respect_gitignore = false, improved but still a slight latency

For linux repo, but set export GIT_WORK_TREE=$HOME in zshrc.
open ./Makefile and run :NeoTreeReveal
If set respect_gitignore = true, very long, 8~10s latency
If set respect_gitignore = false, improved but still 4s latency

Thank you very much.

One more idea:
For the gitignored files, how about adding an option to show them with a symbol like [I], or hide them directly?
E.g.,
require("neo-tree").setup({
	filesystem = {
		filters = {
			respect_gitignore = true,
			gitignore_treatmente = 'symbol'	-- can be 'hidden' or 'symbol'
		}
	}
})

For the symbols, nvim-tree uses symbols for different status of files

I think this is a good addition to neo-tree

3. For linux repo, but set export GIT_WORK_TREE=$HOME in zshrc.
open ./Makefile and run :NeoTreeReveal
If set respect_gitignore = true, very long, 8~10s latency

That definitely resulted in a delay but but I only had a long delay the first time, and after that it was about 1 second. I think the cache is more effective on my computer, maybe because it is clean or I just have a lot less files in my HOME directory. Whatever the case it is still enough to make an obvious delay but not to the degree that you are seeing.

If set `respect_gitignore = false`, improved but still 4s latency

I don't have that, but it could be that you are still getting a significant delay from the git status step.
I just committed a new option in main that runs git check-ignore on each directory that is scanned instead of running a single git status on the whole repo. It is faster on my computer in this situation. here is how you enable it:
      require("neo-tree").setup({
        filesystem = {
          filters = {
            respect_gitignore = true,
            --gitignore_source = "git status", -- <-- this is the default
            gitignore_source = "git check-ignore",
          }
        }
      })

Can you try it out and let me know if it is improved?

Can you try it out and let me know if it is improved?

No, still very long latency. What I did is bit by bit is:

Put export GIT_WORK_TREE=$HOME in .zshrc.
Open a new shell window
cd into linux folder, then run :nvim Makefile. In Neovim, run :NeoTreeReveal.

After pressing <ENTER>, around 7~8s latency there. I put a short demo below.
demo

Thanks for the explanation and apologize my wrong understanding for exit code.

git status --porcelain=v1

It outputs contents under my $HOME, totally 75073 entries.

And then I run time git status --porcelain=v1 to get the time

I just merged a new git_status_async option to main that I think works really well. If there are no issues, I'll make this the new default. To enable it now along with the other improvements, set these options:
      require("neo-tree").setup({
        enable_git_status = true,
        git_status_async = true, -- <-- this is the new setting
        filesystem = {
          filters = {
            respect_gitignore = true,
            gitignore_source = "git check-ignore",
          }
        }
      })

Please try it out and let me know how it works.

Thanks. Now, the latency issue is totally resolved. After I press <ENTER>, the neo-tree window appears immediately. That's cool!
However, if I change gitignore_source to git status, the latency is still very significant. Btw, I also tried nvim-tree and I found there is no latency for the bare repo and very large working tree.
Thank you.

However, if I change gitignore_source to git status, the latency is still very significant.

Yes, this is a two part solution, for a large repo. Checking ignore and status can each add their own delay. I think I will make both of these settings the new default soon, but I want to use it for a week to make sure there are no issue.

Btw, I also tried nvim-tree and I found there is no latency for the bare repo and very large working tree.

I'm pretty sure nvim-tree has already made the switch to an async git status. I just put it off until someone expressed a need because it always worked fine for me as it was. 🤷♂

I'm happy to see that this discussion continues. I have also experienced the same recently but I was too busy to report it. Thanks for the OP btw :)

@cseickel Thank you.
So gitignore_source has two values now, check-ignore and git status, right? Is the value plenary removed? I remember you mentioned that plenary has a low accuracy, how about check-ignore and git status?
Thank you very much.

The plenary option technically still exists but it is too flawed to be useful so it won't be documented and can be removed at any time.
gitignore_source currently has two recommended values, git check-ignore and git status, both of which are 100% accurate. On a very large repo, git check-ignore will be faster. On a small repo where all ignored files can be listed in milliseconds, git status is likely faster but it might not be a meaningful difference.

Thank you so much for the explanation. Now neo-tree works like a charm. I really appreciate what you have done and all the efforts you put into the issue exploring and fixing 👍

Thanks for you guys making this plugin better! @cseickel @yanzhang0219

Update this issue:

Open any file in this bare repo with a very large working treee
Open neotree window
Type something in the file buffer. The diagnostics information will not be shown (seems that the git running in background asynchronously to fetch status blocks the diagnostics). Then we run :qa! to quit, but vim will be stuck there for a while. In shell, an error appears (screenshot below)

I am using the latest nightly neovim and latest neotree with default config.
Thank you.


Build manylinux1 wheels

This patch uses Docker and auditwheel to build manylinux1 wheels for Python 2.6/3.3+. These wheels bundle GEOS into the wheel, similar to the OS X wheels, so Shapely can be pip installd on most Linuxes without GEOS or even a compiler.
All of the wheels are built with one step: ./build-linux-wheels.sh.  This will build a Docker image based on the official manylinux images containing GEOS and will build all of the wheels and output them in wheels/. Note that this only builds x86_64 wheels, but it could be easily extended to building i686 wheels using the quay.io/pypa/manylinux1_i686 Docker image.

I've only actually tested the cp27-cp27mu wheel; this started as an experiment but came together pretty quickly. Happy to answer any questions or make some changes.

@rouge8 🙇 I promise to take a look at this over the weekend. I've been looking into manylinux for Fiona and Rasterio as well.

@rouge8 I'm happy to say the Shapely-1.6.dev0-cp34-cp34m-manylinux1_x86_64.whl worked on Ubuntu 14.04. I'm going to merge this and upload the dev0 dists to PyPI for the adventurous to try.

Awesome!

This is great, just learned about audit wheel from these changes.  I have a question about building the whl without docker.  I have a CentOS machine setup with geos installed and built the wheel with this:
python setup.py bdist_wheel
Then tried to run auditwheel repair on the resulting whl and it doesn't detect any *.so dependencies.  auditwheel show also doesn't detect any.  Is there some special flag to make sure the whl requires libgeos that I'm missing?
Thanks!!

@durden If you don't have Numpy and Cython installed when you build the Shapely wheel, you won't build the speedups extension module and that's the only module that links GEOS. See https://github.com/sgillies/frs-wheel-builds/blob/master/build-linux-wheels.sh for how I'm building the wheels with speedups.

@sgillies Ah, OK that makes sense.  Thanks for the help!


Implementation of CSV output

Quick and dirty implementation, need refactor and improve the test suite.
Closes #69

@edubxb for the refactor you mentioned, I'd suggest to put the self.output_format branching in the __repr__ method, and the different code in corresponding methods, one for the table and another for the csv.


[0.10] Fix attribute validation & attribute group handling

Please review @Severino

Looks good! 👍


loan section is missing

#better we add the loan section in which we aware people about loans and share some information about that.

me a gssoc'24 extended member can you assign it to me

@adityalaxkar123 is assigned!

@adityalaxkar123 resolved this issue!


Social link icons are too small in mobile screen

⚙ Issue Title
Social link Icons are too small in mobile screen
ℹ Issue Description
if you open the website on a mobile device you will see that social link icons on footer in mobile screen is too small.
Expected Behavior
icons should be 30px on small and medium device
Actual Behavior (📷)

📘 Contribution Guidelines
Please make sure to read README.md to run the project  and  Contribution Guidelines before submitting your contribution.
🤔 If you have any questions or need further assistance, feel free to ask on this issue.
💡 Tips

Keep your changes focused and small.
If you need help, don't hesitate to ask questions in the comments.

I am interested to fix the issue

@goodylove good luck.

please review my PR

@goodylove remove extra class md:text-3xl and i will merge it

@goodylove good work. keep it up.


Implement methods for Allen's Interval Algebra

Basic idea: https://en.wikipedia.org/wiki/Allen's_interval_algebra
Allen's paper implements a path consistency algorithm for reasoning on temporal interval relationships: http://cse.unl.edu/~choueiry/Documents/Allen-CACM1983.pdf
Java code: https://github.com/dhartford/allenintervalrelationships/blob/master/allentemporalintervalrelationships/src/org/allen/temporalintervalrelationships/ConstraintNetwork.java

Closed by https://github.com/ajcr/IntervalType/commit/21a60afc202496259d2df17398447fb911587f01


feat(keys): add change-case-of-keys fn

solves https://github.com/blakeembrey/change-case/issues/86

hi @blakeembrey , anything blocking us merging this?

bump


Safari Browser: Device removal doesn't work

Safari browser is not supporte by dojot. It is recommeded to use Google Chrome or Firefox.


Merge 3.8.x into master

Issue
N/A
Description
Merge 3.8.x into master

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

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

:tada: This PR is included in version 3.8.5 :tada:
The release is available on:

3.8.5
GitHub release

Your semantic-release bot :package::rocket:


Update PepperDash.Essentials.Core join maps to use JoinMapAdvanced

Updated all joinmaps present in PepperDash.Essentials.Core.Bridges.
One exception is the DigitalLogger - which needs to be removed and re-implemented as a plugin.  It's been marked as obsolete, but not yet removed until a suitable plugin has been built.
@jtalborough utilizes the DigitalLogger has been made aware of this issue.

Fixed on all Devices - Requesting additional review.


added community statement to about page

adds the ml5 version of the  community statement to the about page

What kind of change does this PR introduce?

adds documentation

Does this PR introduce a breaking change?

no

What needs to be documented once your changes are merged?

need to add this to the code of conduct of the ml5 library, etc


Consolidate UI of Layer and STAC widgets

stac ipyleaflet version: for release 0.3.0
Python version: python >= 3.9 (some of the widgets are incompatible at v 3.8)
Reference item 11 in the MAAP-ipyleaflet-DevRoadmap

Context
In the June 2023 release, version 0.2.0 of stac_ipyleaflet, a Layers widget and STAC widget were created:

STAC widget - Allows users to discover and see COGs of datasets from the MAAP stac catalog as a layer
Layers widget - Allows users to have good control over how the data is displayed on the map

Problem
As we tested out the new library, we learned that there's a user experience gap between these widgets. When users add STAC data, they expect that it becomes a new layer and they'd want to use the controls available in the layers widget to customize the look and feel. By separating these widgets it can lead to some redundant requests for visualization features in both widgets.
Acceptance Criteria

[ ] Refine aspects of the UI for the layers and STAC widgets so that data discovery can be separated from display, organization, and customization. (Design led)
[ ] If changes are substantial, create further development issues. (Developer led)
[ ] If changes are minor, implement tweaks to the UI (Developer led)

UI Update July 11, 2023:

Have some initial designs to discuss! I created a Figma file to move away from the Miro for this release. I think it's a better tool moving forward for more flexibility. All the release 2 mockups will be in the same file but this is a direct link to the area of interest for this issue.

Key changes proposed:

Layers widget - no major change. This is the home for all out-of-the-box layers and created layers. Users can select multiple layers across categories, including stac data layers.
STACT widget - I propose changing this to be more like an "Add Data" widget. It is the place to discover available and upload custom stac data. It is like the data “shopping cart” where users can display the data but they need to “Create Layer” in order to actually add stac item(s) to the layers widget.

UI Update July 27, 2023:

After meeting with @emmalu @sandrahoang686 @wildintellect, I'm showcasing the latest design mockups as reference. The mockup includes tweaks/changes that help portray direction. We agreed it doesn't need to be the perfect solution so treat this as our agreed general direction but the developer should be able to tweak things and get feedback from me or the team as we go.

Overall changes to the STAC widget

Rename to Data to suggest it's the place to discover and add data
Optional: Reposition button as first option to suggest a flow that starts by adding data
Using ipywidget's accordion to house related actions so that users don't have to scroll so much. We want to keep the Create Layer (new) and Display buttons visible by default.

Note that we'll likely need to set a max height for the accordions with scrolling because there might be a lot of information.

A Create Layer button that allows users to create a layer based on the data they are displaying. This should probably be addressed in another issue like https://github.com/MAAP-Project/stac_ipyleaflet/issues/65
 Direct Figma Link to Frame

Collections Accordion

Within the STAC widget, the only change is https://github.com/MAAP-Project/stac_ipyleaflet/issues/66 that is played below the collection dropdown.
 Direct link to Figma

Query Accordion

Below the Collections accordion, a query accordion that houses the date range information. We keep it generic so that in the future more queariable things can also be housed here, like cloud coverage, etc...
 Direct link to Figma

Items Accordion

Below the Query accordion is the Items one. This shows all of the items that can be displayed on a map. It is multi-select to let users see how the items stitch together to form a whole map.
Nice-to-have - text that shows how many items have been selected, and a clear selections button
Out of scope - we will not address the issue of items that are already stitched together here, or may already be in the layers widget.
Out of scope - the text search is a nice-to-have feature because there would be 4,000+ items. This issue will NOT deal with that functionality or trying to optimize the accordion for situations where there are too many items.
 Direct link to Figma

Color Palette Accordion

The final accordion. No changes here.
The Upload Custom Palette will be complete in https://github.com/MAAP-Project/stac_ipyleaflet/issues/68
 Direct link to Figma

Overall changes to layers widget

Nice-to-have - text that shows how many items have been selected, and a clear selections button
Reorganizing the Pre-Defined Layers (MAAP Biomass STAC) in the MAAP config file so that it presents as if it's a starter set.

Nice-to-have - providing a show more option because there might be a lot of layers

Text section at bottom for Custom added layers that directs users to the data widget if they want to add more layers Want more data more layers? **Go to data**
If a user creates a layer from the data widget, it gets added to this section using the same UI as the pre-defined layers (with the opacity functionality)
 Direct link to Figma


fix lastCumulativeAck.messageId npe when PersistentAcknowledgmentsGroupingTracker.flushSync

Reader ACK would be  stuck:

This was caused by:
flushAsync is executed by scheduledTask,  Any thrown exception or error reaching the executor causes the executor to halt。
The exception is as below:

/pulsarbot run-failure-checks

@eolivelli  PTAL agagin

@eolivelli  PTAL

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

@eolivelli Could you please help review this PR again?

Regarding the halted executor, I believe @lhotari is adding support to ensure that these exceptions would not stop the scheduled task.

Regarding the halted executor, I believe @lhotari is adding support to ensure that these exceptions would not stop the scheduled task.

@michaeljmarshall The PR #12853 has already been merged to master.

/pulsarbot run-failure-checks

@gaozhangmin is this a bug fix (no need to update docs)?

@gaozhangmin is this a bug fix (no need to update docs)?

Yes

@gaozhangmin when submitting a PR, can you help provide a doc label (tick the box) in the PR template which contains info about doc? This helps others know more about the changes. Thanks

/pulsarbot run-failure-checks

Yes I would close this pr


windows 10 apps on M1 apple

[Enter feedback here]

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

ID: eca30ef6-08de-0729-e7ee-db07d50510f3
Version Independent ID: 8a5fda0a-ba51-6234-420c-03d04f518211
Content: Program Compatibility Troubleshooter on ARM - UWP applications
Content Source: windows-apps-src/porting/apps-on-arm-program-compat-troubleshooter.md
Product: uwp
Technology: porting-apps
GitHub Login: @hickeys
Microsoft Alias: hickeys

The topic seems to have moved here: https://learn.microsoft.com/windows/arm/apps-on-arm-program-compat-troubleshooter.
Assigning the writer-owner of that topic.


error by sending too large map through firos

When trying to send map topic the following error message appears:
<class 'include.ros.topicHandler.nav_msgs.msg.OccupancyGrid'>
errorHTTP Error 413: Request Entity Too Large
HTTP Error 413: Request Entity Too Large
The map is from map_server ros package of pgm file. Three sizes were tested and with the size 166x182 pixels sending was successful. Size 332x363 pixels has the error result pasted above.

Hello @marija185 - could you maybe attach an file? It seems to me that Orion can't handle this file-size. Usually, by default, it has 1MB for a file. A 332x363 pixel mab has actually 120516 Pixel (=964128 Bytes). If there are some additional information, we are above the limit...

Here are two tested maps - one OK and one too big. The unsucc one is 120kB and succ one is 30kb.
bitmaps.zip

ah so maybe the "envelope" of "type/value" creates the overhead... We will look into it..

This is actually, as I thought, a limitation of Orion:
Orion Known Limitations

Thanks @ptrdtznr! Then this issue can be closed.

Checked the code here Orion Limits
/* ****************************************************************************
*
* PAYLOAD_MAX_SIZE -
*/
#define PAYLOAD_MAX_SIZE (1 * 1024 * 1024) // 1 MB Maximum size of the payload

But thanks for testing, we will think about a solution...

I have changed a lot in e4093cee4cec9493409149eb98ed83d4c9d98654 . Mainly the Communication between the Context-Broker and firos is updated to NGSI v2. But also the Object-Converter is now used differently, which results in a much lower overhead.  (for linking)

FIROS uses a newser Version of the ObjectConverter. The new version converts long Byte-Data (like int[] or uint[] as in nav_msgs/OccupancyGrid.msg) into Base64. Also there are some more new Options available for FIROS. The limit we currently have in the Orion Context-Broker (PAYLOAD_MAX_SIZE = 2^20 ) is the only limit preventing us from pushing Images and other larger ROS-Messages onto it.
This limit can be manually changed inside the Docker of the Context-Broker itself. Orion will also have it configurable (see here).
Since this Issue cannot be solved by us, i'll close it down.
Greetings!


Sensu client socket check result input validation is "weak"

The Sensu client socket check result input validation is currently considered "weak". For example, an operator can push an check result with with invalid low/high flap thresholds, which will cause a Sensu server to crash.
Expected Behavior
The Sensu client socket should utilize the sensu-settings check validator.
Current Behavior
The Sensu client socket has it's own rudimentary check validator https://github.com/sensu/sensu/blob/master/lib/sensu/client/utils.rb#L10
Possible Solution
Implement something like the Sensu APIs client validator https://github.com/sensu/sensu/blob/master/lib/sensu/api/validators/client.rb
Context
A user reported running into an issue with invalid low/high flap thresholds, which cause the Sensu server to crash.

Fixed in https://github.com/sensu/sensu/pull/1686


HL2RP - System config edits - Cannot change some values

Some values in the config area in-game cannot be changed even by the owner of the schema.
https://i.gyazo.com/4fbfe16eea046ce1304842edb5862a88.png

Upgrade to the latest version of CW on the Github here, go to releases, then 0.94.1

I'm unable to replicate this with latest github and stock/store hl2rp on my server.
http://puu.sh/l3NHJ/b83e1a0dd2.jpg
Works fine.


Replace timeout + timeUnit with Duration

The changelog style follows https://github.com/olivierlacan/keep-a-changelog . #29

Awesome. I might change the release version to 1.3 rather than 2.0 as that's still a major version. I know that's not strictly semver but it seems to be what most JVM projects do, eg Scala, Spark, Akka etc. What do you think?

I think that many projects don't use versioning properly. The version numbers lose there expressiveness. And today version numbers are actually pretty cheap ;-) Let's follow semantic versioning.
Have you noticed that the build fails? I try to fix it (what is not optimal without beeing able to compile it under windows).

Yes I noticed, I will attempt a fix in a minute. I'm on windows atm and
need to reboot into linux.
On 15 June 2016 at 20:43, Christian Helmbold<EMAIL_ADDRESS>wrote:

I think that many projects don't use versioning properly. The version
numbers lose there expressiveness. And today version numbers are actually
pretty cheap ;-) Let's follow semantic versioning.
Have you noticed that the build fails? I try to fix it (what is not
optimal without beeing able to compile it under windows).
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/kotlintest/kotlintest/pull/30#issuecomment-226297926,
or mute the thread
https://github.com/notifications/unsubscribe/AAtZGhiGVuzadUBkPV9hXMR5MvJeFtx5ks5qMFXHgaJpZM4I2tVR
.

I tried to fix it and created another pull request. #31

Can't merge it - conflicts.
On 15 June 2016 at 20:56, Christian Helmbold<EMAIL_ADDRESS>wrote:

I tried to fix it and created another pull request. #31
https://github.com/kotlintest/kotlintest/pull/31
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/kotlintest/kotlintest/pull/30#issuecomment-226301596,
or mute the thread
https://github.com/notifications/unsubscribe/AAtZGleei7QIUHKc-gjl24ltWl0v2nIYks5qMFj3gaJpZM4I2tVR
.


pull request for e2e test at 11/08/2016 06:26:09

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

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


utc time instead of local time

Is it possible to have the log output give the UTC time instead of local time?

I have no need for this, closing for now.

I would like to come back to that topic.
Is it possible?


Check if travis has updated its images, to remove extra code added in tox.ini in PR

Once We have confirmed that travis has updated its images (refer to https://github.com/scrapinghub/frontera/pull/208#issuecomment-250019154 ), we can remove the extra code in tox.ini added here

what about this @voith ? could you check if this was happen?

This is still not fixed. Here's the build https://travis-ci.org/scrapinghub/frontera/jobs/183837818


How would I pass PDF data between models in Node?

Hi!
I'm attempting to move from writeStream = fileOperations.createWriteStream( ... ) to streaming the data between models in Node.
try {
  // Create the PDF.
  pdfDoc.pipe(writeStream)
  pdfDoc.end()
  writeStream.on('finish', function () {
    return resolve(true)
  })
} catch(exception) {
  return reject(exception)
}

While this works, this example doesn't when using pdfBytes.buffer, where I'm told:

The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined

try {
  // Create the PDF.
  const pdfBytes = await pdfDoc.save()
  let buffer = Buffer.from(pdfBytes, 'binary')
  return resolve(buffer)
} catch(exception) {
  return reject(exception)
}

Here I'm told:

The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received an instance of PDFDocument

The PDF files I'm creating are trivial — less than 10 kilobytes — and it's pointless saving them to disk when it should be possible to pass them between methods.
Any idea how I get at the data in the pdfBytes constant?

pdfBytes is already a buffer-like object that has the serialized PDF (see https://pdf-lib.js.org/docs/api/classes/pdfdocument#save). There's no need to save it to disk. The Uint8Array is a standard type to represent binary data in JavaScript. Buffer is node-specific, but you can certainly convert a Uint8Array to a Buffer. I'm not sure how offhand, google and stackoverflow could probably help you there.


No parallel prefix sum in python selective_scan_ref function?

Hello,
Thanks for the work!
I do see the prefix sum is defined and used in the Cuda functions
I may overlook something, but I did not find the parallel prefix sum in the python implementation selective_scan_ref. Is it only for testing and demonstration?
Thanks!

Yup

Thanks for the immediate response!
Then, why are the testing values equal here?
Shouldn't the selective_scan_fn function do prefix sum to A matrix, whereas selective_scan_ref does not?
    out, *rest = selective_scan_fn(
        u, delta, A, B, C, D, z=z,
        delta_bias=delta_bias, delta_softplus=delta_softplus,
        return_last_state=return_last_state
    )
    if return_last_state:
        state = rest[0]
    out_ref, *rest = selective_scan_ref(
        u_ref, delta_ref, A_ref, B_ref, C_ref, D_ref, z=z_ref,
        delta_bias=delta_bias_ref, delta_softplus=delta_softplus,
        return_last_state=return_last_state
    )
    if return_last_state:
        state_ref = rest[0]
    # dA = torch.exp(torch.einsum('bdl,dn->bdln', delta, A))
    # dt_u = delta * u

    print(f'Output max diff: {(out - out_ref).abs().max().item()}')
    print(f'Output mean diff: {(out - out_ref).abs().mean().item()}')
    assert torch.allclose(out, out_ref, rtol=rtol, atol=atol)
    if return_last_state:
        print(f'State max diff: {(state - state_ref).abs().max().item()}')
        assert torch.allclose(state, state_ref, rtol=rtol, atol=atol)

I think it is the for loop for getting y in sequential, which equals the prefix sum in cuda?
    last_state = None
    for i in range(u.shape[2]):
        x = deltaA[:, :, i] * x + deltaB_u[:, :, i]
        if not is_variable_C:
            y = torch.einsum('bdn,dn->bd', x, C)
        else:
            if C.dim() == 3:
                y = torch.einsum('bdn,bn->bd', x, C[:, :, i])
            else:
                y = torch.einsum('bdn,bdn->bd', x, C[:, :, :, i])
        if i == u.shape[2] - 1:
            last_state = x
        if y.is_complex():
            y = y.real * 2
        ys.append(y)
    y = torch.stack(ys, dim=2) # (batch dim L)


Reactor

Problem
Internal ReactiveStreams implementation was buggy, and required additional support.
Modification
Switched to using Reactor-core, and Reactor-Netty for the netty tcp implementation.
Result
Less code, and abstractions using a well maintained reactive streams implementation.

This is a hell of a lot of files to review :-) I agree with the premise of the change so will scan through and see if anything stands out.


1.6.0-pre2

Please test 1.6.0-pre1 as this has the updated dependencies. Thanks!
Edit: 1.6.0-pre2 includes missing dependencies

Hello,
 Severity	Code	Description	Project	File	Line	Suppression State
Error		Could not install package 'TK.CustomMap 1.6.0-pre1'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile259', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.			0

@angelru You can add it to your PCL project, but since the library is targeting .netstandard 1.1 now, you need to switch to profile 111, which is the default when creating a new XF PCL project. I would recommend switching to netstandard though. You can read more here:
https://xamarinhelp.com/upgrade-pcl-net-standard-class-library/
https://blog.xamarin.com/net-standard-library-support-for-xamarin/

In 1.6.0-pre2  I have got error when try to add Route:
[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentException: An item with the same key has already been added. Key: TK.CustomMap.Overlays.TKRoute

does this also happen in the sample? Is this in iOS or Android?

I don't tested sample yet. I just created new project with one page and try to add route.
I tested only in Android so far.

make sure all api keys are setup correctly. I am able to add routes without any problem.

You are right. I copied wrong direction key. Sorry for trouble.

Got the same error but when trying to add a pin ...
Strange behavior Im' on it since 3 hours ... Working with my own builded dlls from release 1.5.1
System.ArgumentException: An item with the same key has already been added. Key: Project.Core.Models.Map.CustomPin
10-24 01:24:22.232 I/MonoDroid( 2203):   at System.Collections.Generic.Dictionary2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) [0x000bb] in <896ad1d315ca4ba7b117efb8dacaedcf>:0  10-24 01:24:22.232 I/MonoDroid( 2203):   at System.Collections.Generic.Dictionary2[TKey,TValue].Add (TKey key, TValue value) [0x00000] in <896ad1d315ca4ba7b117efb8dacaedcf>:0
10-24 01:24:22.232 I/MonoDroid( 2203):   at TK.CustomMap.Droid.TKCustomMapRenderer+d__34.MoveNext () [0x001e9] in :0
10-24 01:24:22.232 I/MonoDroid( 2203): --- End of stack trace from previous location where exception was thrown ---

Thanks. That's a bug with the IOnMapReadyCallback invoked twice. It is fixed in 1.6.0-pre3, which is already available.

I still have issue #214  When I reopen map with pins it crash with following error:
System.NullReferenceException: Object reference not set to an instance of an object.
10-24 10:59:46.085 I/MonoDroid(15724):   at TK.CustomMap.Droid.TKCustomMapRenderer.UpdatePins (System.Boolean firstUpdate) [0x00057] in <1dbaac14fe454b1f8b5988cfb8273367>:0
10-24 10:59:46.085 I/MonoDroid(15724):   at TK.CustomMap.Droid.TKCustomMapRenderer.FormsMapPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e) [0x00020] in <1dbaac14fe454b1f8b5988cfb8273367>:0
10-24 10:59:46.085 I/MonoDroid(15724):   at (wrapper delegate-invoke) <Module>:invoke_void_object_PropertyChangedEventArgs (object,System.ComponentModel.PropertyChangedEventArgs)
10-24 10:59:46.085 I/MonoDroid(15724):   at Xamarin.Forms.BindableObject.OnPropertyChanged (System.String propertyName) [0x0000a] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\BindableObject.cs:137
10-24 10:59:46.085 I/MonoDroid(15724):   at Xamarin.Forms.Element.OnPropertyChanged (System.String propertyName) [0x00000] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\Element.cs:388
10-24 10:59:46.085 I/MonoDroid(15724):   at TK.CustomMap.TKCustomMap.OnPropertyChanged (System.String propertyName) [0x00000] in <23b849d4cf5740ee91a00410699e5a23>:0
10-24 10:59:46.085 I/MonoDroid(15724):   at Xamarin.Forms.BindableObject.SetValueActual (Xamarin.Forms.BindableProperty property, Xamarin.Forms.BindableObject+BindablePropertyContext context, System.Object value, System.Boolean currentlyApplying, Xamarin.Forms.Internals.SetValueFlags attributes, System.Boolean silent) [0x000f4] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\BindableObject.cs:593
10-24 10:59:46.085 I/MonoDroid(15724):   at Xamarin.Forms.BindableObject.SetValueCore (Xamarin.Forms.BindableProperty property, System.Object value, Xamarin.Forms.Internals.SetValueFlags attributes, Xamarin.Forms.BindableObject+SetValuePrivateFlags privateAttributes) [0x0015b] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\BindableObject.cs:390
10-24 10:59:46.085 I/MonoDroid(15724):   at Xamarin.Forms.BindingExpression.ApplyCore (System.Object sourceObject, Xamarin.Forms.BindableObject target, Xamarin.Forms.BindableProperty property, System.Boolean fromTarget) [0x001f9] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\BindingExpression.cs:174
10-24 10:59:46.085 I/MonoDroid(15724):   at Xamarin.Forms.BindingExpression.Apply (System.Boolean fromTarget) [0x0003e] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\BindingExpression.cs:56
10-24 10:59:46.085 I/MonoDroid(15724):   at Xamarin.Forms.BindingExpression+BindingExpressionPart.<PropertyChanged>b__47_0 () [0x00000] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\BindingExpression.cs:551
10-24 10:59:46.085 I/MonoDroid(15724):   at Java.Lang.Thread+RunnableImplementor.Run () [0x00008] in <484cd191a834496c85d38d0e644a42c4>:0
10-24 10:59:46.085 I/MonoDroid(15724):   at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00008] in <484cd191a834496c85d38d0e644a42c4>:0
10-24 10:59:46.085 I/MonoDroid(15724):   at (wrapper dynamic-method) System.Object:3b9b3b59-f8e8-4ca0-acc2-b1707fcafb2d (intptr,intptr)

can you share your project. Not able to reproduce this at all.

For this moment I can't, but I will try give you something. Interesting thing is that it works fine if I add custom pins in Code Behind. Error is only when I do this by binding ( pins are the same in both cases).

I may found the cause of the weird Android vodoo exceptions. Please try pre4.

@TorbenK  Fix in 1.6.0-pre3 works for error an Item with the same key has already been added. Thanks for your time !

@straiser
great that the fix works. Yes, the new simulators are indeed very slow, especially when using MKMapView. I recommend using a device for testing.


Ondrag Event Requested!

I am labeling data on the chart by using the onclick event and the arguments inside it. It's awesome for single point labeling; but when I need to do a massive labelling job, I need to specify an offset range inside that and map to the original data set to get all the information I need.
I wonder if it is feasible to add an ondrag event to allow user to handle event over a range of data points. Its arguments will be an array of the onclick arguments.
Thank you for all the hardwork
Long

Thanks for the request. Yeah, I implemented this functionality before actually, but removed because I was not sure how much this is needed.
Please let me mark as enhancement at this moment. I'll start working on this when we know there is enough demand.
Btw, I think we could do that by extending c3, so could you ask in Google Group as well? Someone might  know the solution already.

I would like to see this as well.


⚠ Jenkins Plugins Artifactory has degraded performance

In 9d83f7b, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1011 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 32dafd7 after 27 minutes.


Building of osltoy fails with "class-memaccess" error/warning with current GCC 8

Problem
/home/stefan/Documents/Sources/OpenShadingLanguage/src/osltoy/osltoyrenderer.cpp: In constructor ‘OSL_v1_11::OSLToyRenderer::OSLToyRenderer()’:
/home/stefan/Documents/Sources/OpenShadingLanguage/src/osltoy/osltoyrenderer.cpp:82:42: error: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct OSL_v1_11::ShaderGlobals’ with no trivial copy-assignment; use assignment or value-initialization instead [-Werror=class-memaccess]
     memset (&sg, 0, sizeof(ShaderGlobals));
                                          ^
In file included from /home/stefan/Documents/Sources/OpenShadingLanguage/src/include/OSL/oslexec.h:34,
                 from /home/stefan/Documents/Sources/OpenShadingLanguage/src/osltoy/osltoyrenderer.cpp:33:
/home/stefan/Documents/Sources/OpenShadingLanguage/src/include/OSL/shaderglobals.h:61:8: note: ‘struct OSL_v1_11::ShaderGlobals’ declared here
 struct ShaderGlobals {
        ^~~~~~~~~~~~~

Expected behavior:
Builds without errors/warnings
Actual behavior:
Steps to Reproduce

Build with -Werror=class-memaccess

Versions

OSL branch/version: master (2019-01-13)
OS: openSUSE Tumbleweed
C++ compiler: 8.2.1
LLVM version:
OIIO version:

Long ago fixed by #965 but failed to auto-close this issue.


Add support for nested objects in the formAction

Fix the issue #23

Hey, @wladiston! Can you send me an example of how are you rendering the form with nested objects?

Posted on the #31 but you could extrapolate that to a more complex scenario like this one.

Here we have groups and depending on the group the validation is different.

Closing for now because this is outdated and we didn't find an API that feels right for objects yet.


Handling Overlapping Styles in render Function in field_note

Describe the bug
The render function currently exhibits undesired behavior when handling overlapping styles, specifically with italic, bold, and code block styles.
The current behavior makes it challenging to render text when overlapping styles are present. This issue arises when closing tags for italic and bold styles coincide with the opening or closing tags of a code block. This happens when any styles overlap with each other.
example:
Code
huh.NewNote().
	Title("").
	Description("*Jon, _Welcome to_ Joncafe*, How may we take your *order*?")

Current Behaviour:

In above image, you can see that the "JonCafe" should be bold but it is not.
expected behaviour:

To Reproduce
Steps to reproduce the behavior:

create a NewNote  field in a form with overlapping styles as shown in example above
Then run the form

Desktop (please complete the following information):

Device : Laptop
OS : WIN 11
go Version : go 1.21.6 windows/amd64

Proposed solution
Instead of resetting all the formatting using \033[0m , we can just the reset the formatting for that particular style. as shown in solution below:
func render(input string) string {
	var result strings.Builder
	var italic, bold, codeblock bool

	for _, char := range input {
		switch char {
		case '_':
			if !italic {
				result.WriteString("\033[3m")
				italic = true
			} else {
-				result.WriteString("\033[0m")
+				result.WriteString("\033[23m")
				italic = false
			}
		case '*':
			if !bold {
				result.WriteString("\033[1m")
				bold = true
			} else {
-				result.WriteString("\033[0m")
+				result.WriteString("\033[22m")
				bold = false
			}
		case '`':
			if !codeblock {
				result.WriteString("\033[0;37;40m")
				result.WriteString(" ")
				codeblock = true
			} else {
				result.WriteString(" ")
				result.WriteString("\033[0m")
				codeblock = false

+				if bold {
+					result.WriteString("\033[1m")
+				}
+				if italic {
+					result.WriteString("\033[3m")
+				}
			}
		default:
			result.WriteRune(char)
		}
	}

	// Reset any open formatting
	result.WriteString("\033[0m")

	return result.String()
}

Assign this to me.

I guess this issue is solved by the PR no. 112

Thanks again @anirudhaCodes for the really great contribution. This was solved by #112.


[5.5] Make Optional@__call really macroable

We need to firstly check existence of macro and only then proxy __call to the value. Otherwise it won't be really macroable (because macros won't work for Optional with value inside).

This is an interesting case. I would think the check should use is_object && method_exists first before the macro. Otherwise you could register a macro and accidentally break tons of stuff. And maybe by something you don't directly control, like an auto-registered service provider.
Though, this way of doing it wouldn't work for objects implementing __call. Honestly, it feels wrong that this class is even Macroable because it's meant only as a "do this if not null" pass through.
Do with this what you wish. This is just me putting my two cents in.

Indeed, but we already have similar Macroable functionality in Eloquent\Builder class, which is also could be easily broken with global macros.

True but the builder is only delegated to by a model if a method isn't found. Here optional isn't going to define any methods except the ones necessary to delegate to the underlying value.
It's mainly about how it's going to be used. ¯\(ツ)/¯

Tempted to just make it not macroable at this point.

The way I view the macro ability is, "what should I do in absence of the object?"
What would be the use case for making the Optional object more important than the object wrapped? I would think $this->value's methods would always take priority? I guess the macro can invoke it by proxy if the actual method is on $this->value, as testOptionalIsMacroable does now.
I probably should have set it up slightly better. Instead:
public function testOptionalIsMacroable()
{
    Optional::macro('present', function () {
        return new Optional(null);
    });

    $this->assertNull(optional(null)->present()->something());

    $this->assertEquals('$10.00', optional(new class {
        public function present()
        {
            return new class {
                public function something()
                {
                    return '$10.00';
                }
            };
        }
    })->present()->something());
}

Most people I've seen having a whinge about this function complain about it not supporting more than one arrow operator. When an app's codebase has a classes with one decorating method  name called often, an additional chain can be made optional. The macro can even return a different null object implementation for 2+ arrows (although I assume such code needs to dial back its complexity.)
I have that present macro active in production now doing expressions like:
{{ optional($payment->card)->present()->address }}

Because almost every Eloquent model class has a present() method to access a decorator instance.

But you can just move this behavior to your macro:
Optional::macro('present', function () {
        if (is_object($this->value)) {
            return $this->value->present();
        }
        return new Optional(null);
    });

...I just said that in the comment above.
My point is everyone that implements a nested optional macro now has to use that pattern, re-implementing part of the Optional class. The macro is also a proxy for a proxy. Why?
From your example, Illuminate\Database\Eloquent\Builder is a first-class concrete object with behavior. So it makes sense for macros to be attached to that object. That's the reason its __call acts on the macro before falling back to the proxied Illuminate\Database\Eloquent\Builder $this->query instance.
https://github.com/laravel/framework/blob/5.5/src/Illuminate/Database/Eloquent/Builder.php#L1243-L1273
But for optional(), the relationship between the Optional class and its proxy is different. This concrete instance does nothing but proxy the object. $this->value is always the priority.
In essence, this is allowing optional() to override methods on the object it's proxying.
TLDR; Do you have an example that needs this change? Real macro code? Because I can't think of a single reason to proxy optional() other to allow nested null object fallbacks.

You are saying it like you are going to have tons of macros and it is really painful to write 3 lines of code. Do you really think that it is good idea to remove feature just not to write 3 lines of code in your macro?
You can checkout similar monads or Optional from Java for possible macros. Without this PR, it won't be possible.

Show me code.

Optional::macro('orElse', function ($value) {
    if (is_object($this->value)) {
        return $this->value; // nope, I don't want to proxy orElse
    }
    return $value;
});

Ok cool, so it'd be used like this?
optional($payment->card)->orElse(new NullCard)->last4

I know for that I'd probably instead use Eloquent:
public function card()
{
    return $this->belongsTo(App\Card:class)->withDefault(new NullCard);
}

But I can see the expressiveness in that for a fallback closure.
It looks like this pattern is often use on primitive values like:
optional($user->gender)->orElse('Unknown')

So I can't help but think that Optional class is going to cause many future pull request attempts to remove the if (is_object($this->value)) restriction to allow filled(), etc. checks instead.

@derekmd jfyi 1 year+ passed and there were no PRs. There were no need to be rude.

Nobody cares about optional macros, champ.


About Color HalfTone filter

Please help me edit GPUImageHalfToneFilter of library:
https://github.com/BradLarson/GPUImage/blob/master/framework/Source/GPUImageHalftoneFilter.m
to color halftone filter like this image:

Thank you.

You're not likely to find anyone here willing to write the filter for you - you might try Stack Overflow, but there you'll have to show at least some effort if you want an answer.


[Bug]: Tapping on value at Receive Bitcoin screen for spending doesn't toggle currency

Describe the bug
On the 'Receive Bitcoin' screen, that's shown when requesting spending balance, tapping on the bitcoin/fiat value does not toggle between the two (need to use the dedicated button). On other screens such as the main wallet view, 'Transfer Funds' and  'Edit Invoice' for onchain, tapping the value does toggle.
Reproduce

Go to input an amount to receive for spending balance
Tap on the value
Value does not toggle between bitcoin and fiat

Screenshots / Recording
https://github.com/synonymdev/bitkit/assets/74595920/9c8c7a77-6aef-4a45-bbc8-4e6a04c7ec3e
Operating system
Android 13 TKQ1.220829.002
Bitkit version
2c5b07726fd35cb796a9566c47d0f6c36fda4ef4
Log output
No response

Can't reproduce. Works for me on iOS and Android

You are right, I was testing the wrong screen

Tested on b47d58d89e810df89be21509462b8e22490d7c0a
LGTM.


Animated.event with useNativeDriver disregards interpolations/etc when re-rendering

The initial interpolated animation value of an Animated.event with useNativeDriver is calculated correctly, but once it gets re-rendered then the interpolation is ignored. But when it re-renders again, then the interpolated value is again correct. So:
1st render: Correct value
2nd render: Incorrect (0)
3rd render: Correct.
4th...*: Correct.
This also applies to Animated.add nodes as well.
I simulate re-rendering with a timer that calls this.forceUpdate().
Here is a boiled-down code sample.
Here is a video of the code sample running (RNPlay won't work for this)
I don't know how to work around this. Using setValue in componentWillMount doesn't make a difference.
Additional Information

React Native version: 0.41.2
Platform: iOS
Operating System: macOS 10.12.3

Also running into this on React Native 0.43.0-rc.4. The animated value or interpolation is treated as though it's undefined on the second render. If the animated value is only added to the Animated Component on the second render, it seems fine.

@scarlac @willdawsonme Could you try master see if the issue is still there? I think https://github.com/facebook/react-native/commit/9c3e6ae9f0f246e5fd8cdc3599801c37d1c11690 might have fixed it.

Unfortunately that doesn't seem to help! My Animated.ScrollView that controls the native event isn't actually being re-rendered, just a sibling component that relies on the native value. It doesn't seem to happen on every reload either, but somewhat intermittently.

Thanks for trying that out, I'll see if I can figure out the cause with @scarlac repro.

@janicduplessis running into the same issue on the latest master

@janicduplessis further more i think the incorrect value is always the upper limit of the output range.

@janicduplessis also this issue is iOS specific finely, works fine on android

Just tested on master and I it works properly with @scarlac's repro. Might be fixed by c9fae2fb935c7b7b619b246f42b3fb9d3c14c9ac which landed 3 days ago. If someone is still running into a similar issue could you please provide a new repro so I can try it out?

No luck here, but here's a repro! https://snack.expo.io/SyQd4Bkal It doesn't actually need interpolated values, just an Animated.Value.
In the repro, the ScrollView starts at an arbitrary x offset. After 3 seconds, the Header is re-rendered with a state update, which causes it to ignore the animated translateX value on the header until you re-scroll the main view.
Let me know if you need any more info! Thanks

I had this problem with RN 0.33, 0.34 and now with 0.35. Any solution at the moment?
Thanks!

Hi there! This issue is being closed because it has been inactive for a while. Maybe the issue has been fixed in a recent release, or perhaps it is not affecting a lot of people. Either way, we're automatically closing issues after a period of inactivity. Please do not take it personally!
If you think this issue should definitely remain open, please let us know. The following information is helpful when it comes to determining if the issue should be re-opened:

Does the issue still reproduce on the latest release candidate? Post a comment with the version you tested.
If so, is there any information missing from the bug report? Post a comment with all the information required by the issue template.
Is there a pull request that addresses this issue? Post a comment with the PR number so we can follow up.

If you would like to work on a patch to fix the issue, contributions are very welcome! Read through the contribution guide, and feel free to hop into #react-native if you need help planning your contribution.


Documentation on Contributing - Needs Updating

Environment

Python version:  3.x
circuit_maintenance_parser version:  latest

Expected Behavior
I expected that the invoke tasks would allow for the testing

Observed Behavior

Errors due to no Dockerfile

Steps to Reproduce

clone repo
run invoke build
Get error that Dockerfile was not present

True, the library runs simple pytest testing without a container.

@jvanderaa
I made a quick update with this PR: https://github.com/networktocode/circuit-maintenance-parser/pull/212
Does it look alright to you?

On macOS using Poetry to install will fail. I haven't debugged further, but building numpy fails, though I'm not sure what it is that Poetry is trying to install as it doesn't include a number of required packages like numpy.
Installing packages with pip in a virtualenv work fine:
pip install pydantic chardet geopy tzwhere backoff icalendar netconan invoke toml click lxml pytest
pytest --log-cli-level=DEBUG --capture=tee-sys -k test_parsers

hi @slyngshede , which Poetry version are you using?

@chadell You can ignore my comment, it was related to running Python 3.11 and newer versions of NumPy.


No autocompletion for variable types

Prerequisites

[*] Ensure you have latest version of plugin installed
[*] Search for possible issue duplicates

Installation details

[*] IDE version: IDEA 2019.2
[*] intellij-hcl plugin version: 0.7.5
[*] Terraform version: v0.12.6

Terraform Configuration Files
variable "foo" {
type = ...
}

Exception
Not related.
Expected Behavior
List of possible types being shown
Actual Behavior
No suggestions
Steps to Reproduce
Check screenshot:

Fixed, will be available in next update


docs: Add unreachable routes troubleshooting

This is a common occurrence. Reordering the routes fixes this issue.
I made it a little more verbose for clarity sake. Happy to adjust based on feedback.
Part of #2933
/cc @timdorr

Thanks!

:tada:


Feature Request: nicer Colours!

This looks incredible – been looking for something like this for a long time!
Maybe you can think about colouring a bit?
For example something like this?

Looking forward testing it!
Cheers!

After the 1.0 release I'm open to add color theme support, if you could mock up how your scheme would be used across all of the interface elements, that would definitively speed up that effort.


GoModFunTest: Illustrate how the VCS path is set for modules with '/vx' suffix

The source code may or may not be placed in a directory 'vx'. Illustrated both cases.
One of them can be improved later on by setting the VCS path to 'v2'.
See #4127.

The context of the PR was #4127 which has been superseeded by #5484. So, closing this PR for now as the approach for testing this case may change.


Please add support for typescript

https://www.typescriptlang.org/

I am sorry, I found out that it works for ts files. Is this officially supported?

Yes, typescript supported


Unable to access website

Thank you for your work!
I would like to access the RHPE dataset, but I couldn't open the link that was provided.
Could you check if there's some issue with the website?
Thanks a lot

Yeah, I have been experiencing the same issue. Would be great if the website is up and running.
Thanks a lot @mc-escobar11

Hello @aawink7 @Arki99
We apollogize for the late reply. Due to the current global situation we have been having some technical difficulties with out website services. However, you can download our Bone Age Assessment resources using this link http://marr.uniandes.edu.co/carpos/images/examples/datasets/  and If you need to evaluate a method through our evaluation server please send an email to<EMAIL_ADDRESS>We will notify you when our website is up again
Thank you

No worries, completely understand!
Thank you so much for this link @mc-escobar11


un-published project being displayed

Logged in as admin. Created project (Housing Data: BCIC Innovation Exchange™ Public Service Challenge for BC Stats) but did not publish.

@paulroberts68 Is the point that the user should not be able to publish an opportunity if the project page is unpublished? (Makes sense)

found this in both the case of opps and projects

Tested.
Logged in as admin:

unpublished the program page
navigated to project list page. The projects under that program now have also been unpublished.
navigated back to program page. published. navigated back to project list page, and the project is now also re-published.
(nice work!)

As a user, not logged in:

unpublished program and child projects are not appearing (correctly)


Update Flags

Updated MessageFlags to UInt32, since discord has been returning undocumented 1<<10 (1024) causing failures in Message parsing.
Added missing documented flags except for the Scheduled Event flag in #37 and Timeout flag in #43

Thanks!


Vmap and lax.scan with different sequence array

Hi everyone , I have this following code written in pure jax,
where my sim_timestep is in batch
I am not able to run this since the lax.scan(fwd_dynamics, (xk,uk) ,jnp.arange(sim_timestep) ) requires the concrete array , but since I have vmapped the state_predictor function the sim_timestep is being as a tracedArray .
There's a similar question on stack overflow stack-overflow .The op mentioned this might be doable with equinox.
I am not able to figure it out . Can somebody help me with this ? Any help would be appreciated
Thanks all
from Jax import random
from jax import lax
import jax
import jax.numpy as jnp
import pdb

    def fwd_dynamics(x_u, xs):
        x0,uk =  x_u
        Delta_T = 0.001
        lwb = 1.2
        psi0=x0[2][0]
        v0= x0[3][0]
        vdot0 = uk[0][0]
        delta0 = uk[1][0]
        thetadot0 = uk[2][0]

        xdot= jnp.asarray([[v0*jnp.cos(psi0) ],
            [v0*jnp.sin(psi0)] ,
            [v0*jnp.tan(delta0)/(lwb)],
            [vdot0],
            [thetadot0]])
        x_next = x0 + xdot*Delta_T
        return (x_next,uk), x_next  # ("carryover", "accumulated")

    def state_predictor( xk,uk ,sim_timestep):

        (x_next,_), _ = lax.scan(fwd_dynamics, (xk,uk) ,jnp.arange(sim_timestep) )
        return x_next

    low = 0  # Adjust minimum value as needed
    high = 100  # Adjust maximum value as needed
    key = jax.random.PRNGKey(44)

    sim_time = jax.random.randint(key, shape=(10, 1), minval=low, maxval=high)

    xk = jax.random.uniform(key, shape=(10,5, 1))
    uk = jax.random.uniform(key, shape=(10,2, 1))

    state_predictor_vmap = jax.jit(jax.vmap(state_predictor,in_axes= 0 ,out_axes=0 ))
    x_next = state_predictor_vmap( xk,uk ,sim_time)
    print(x_next.shape) ```

You can format your code better with three `, followed by "python",
```python

results in
xk = jax.random.uniform(key, shape=(10,5, 1))
uk = jax.random.uniform(key, shape=(10,2, 1))

@prajwalthakur You can use eqx.internal.{scan | while_loop} depending on your use case. Those are "internal" utilities so haven't been made into the public API or the docs. But you can read the docstrings themselves - they're very informative.
internal.scan: https://github.com/patrick-kidger/equinox/blob/028a6f466da7aa99e73a92a3549f632b51d95e34/equinox/internal/_loop/loop.py#L131
internal.while_loop: https://github.com/patrick-kidger/equinox/blob/028a6f466da7aa99e73a92a3549f632b51d95e34/equinox/internal/_loop/loop.py#L22
It can be used a drop-in replacement to jax's scan and while_loop. You would need to specify other arguments, like kind and maybe max_steps depending your use-case.
Setting kind='checkpointed' may be appropriate for your usecase if you want to save on VRAM/memory by recomputing things.
So again, it all depends on the tradeoffs you want to take 🤷


Is it possible to define raw relationships in Bookshelf?

My use case: I'd like my model to eager-load some related data, but not the whole related object, just the related object ID. See my SO post about this.
I've since figured out that I can do something like define an .inflate() method on my models that does a basic fetch() and then makes some regular Knex calls to load the appropriate ids into an object_ids field on the model and return a promise resolving to the model. So instead of calling .fetch() on the model, I can call inflate().
Still, it would be pretty rad if I could do something like return a promise to an array directly in the Model.extend terminology, like
Document = bookshelf.Model.extend
  tableName: 'documents'
  editor_ids: ->
    Knex.knex 'edges'
    .where
        parent_id: @id
        edge_type: 'grant: edit'
    .select 'child_id as id'
    .then (ids)->
        ids.map (v)->v.id

(I've had some issues with pluck misbehaving in previous builds, but I imagine pluck may work instead of that map).
Wrapping that whole thing in a rawQuery or something like that would be fine. I mostly want to do this so I can define all the manually-defined fields on a Document in the same place, instead of having the Bookshelf-supported stuff in the model definition and the custom stuff in some other place. Then I'd be able to do a model.fetch(['editor_ids']) and have all the eager-loading work just fine.

Was this issue ever revisited?

I am also interested in this. Sometimes we have relationships that need to be loaded from another api. This would make bookshelf very powerful and allow for a microservice architecture.


Issue with Responsive UI

I have installed SharePoint UI(http://www.c-sharpcorner.com/article/implement-responsive-ui-in-sharepoint-2016/) To make my site responsive. the feature successfully gets activated but my site is not responsive on mobile phone.

if you have Mobile Browser View site feature enabled, disable it and your site will become responsive.


Stable-Repo deprecation - provide new repo / helm chart

As mentioned in the deprecation timeline of the stable repo, it will be shut down on 13th November 2020.
All charts within these repos may be garbage collected and no longer available.
To further install node-problem-detector via helm, it should be made available through a different or own helm repo.

Interested in this as well.

/remove-lifecycle stale


OPTIMIZATION: 删除husky校验(closed #2102)

PR
CheckList（PR Assigners）
确认已完成以下操作：

[ ] 已将分支与当前合入分支同步
[ ] 已在关联 Issue 中补充「功能自测」部分内容
[ ] 已更新关联 Issue 的状态 backlog -> todo -> for test -> tested（需通过测试同学测试） -> done
[ ] 将 PR 添加上 pr/reviewable

CheckList（PR Reviewers）
确认已完成以下操作：

[ ] 检查关联 Issue 「功能自测」部分内容
[ ] 必要时打回 pr/reviewable，要求重新修改
[ ] 及时 Approve

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

Project coverage is 74.71%. Comparing base (f22e93e) to head (8093369).
Report is 66 commits behind head on v2.4.4-dev.

Additional details and impacted files
@@              Coverage Diff               @@
##           v2.4.4-dev    #2107      +/-   ##
==============================================
+ Coverage       74.58%   74.71%   +0.13%
==============================================
  Files             403      404       +1
  Lines           27750    28266     +516
==============================================
+ Hits            20697    21119     +422
- Misses           7053     7147      +94

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


cannot import name 'rmspropalex_update', can be solved by commenting the method

For bugs or installation issues, please provide the following information.
The more information you provide, the more likely people will be able to help you.
Environment info
Operating System: Amazon Linux
Compiler:
Package used (Python/R/Scala/Julia): Python3
MXNet version:
Or if installed from source:
MXNet commit hash (git rev-parse HEAD):
If you are using python package, please provide
Python version and distribution:
If you are using R package, please provide
R sessionInfo():
Error Message:
Please paste the full error message, including stack trace.
Python 3.5.1 (default, Sep 13 2016, 18:48:37)
[GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux
Type "help", "copyright", "credits" or "license" for more information.

import mxnet
Traceback (most recent call last):
File "", line 1, in
File "/home/ec2-user/mxnet/python/mxnet/init.py", line 23, in
from . import optimizer
File "/home/ec2-user/mxnet/python/mxnet/optimizer.py", line 6, in
from .ndarray import sgd_update, sgd_mom_update, adam_update, rmsprop_update, rmspropalex_update
ImportError: cannot import name 'rmspropalex_update'

Minimum reproducible example
if you are using your own code, please provide a short script that reproduces the error.
Steps to reproduce
or if you are running standard examples, please provide the commands you have run that lead to the error.

What have you tried to solve it?

comment the rmspropalex_update and it works

make clean && make


Scrolling through the week view and updating data

First, thank you for this powerful library. I'm using the week view, and I'm trying to figure out what is the best way to populate/refresh the data. I want the users to be able to scroll from and to infinity if they want, but I don't want to preload their life's worth of data, to show the correct decoration in the day view. What is the best way to detect that the user is scrolling week view? Is there a way to scroll in a paginated way, where it would just snap to the first day of the week (the user would only be able to scroll 7 days at a time, and then each time I detect a scroll I can fetch week worth of data)? Thank you

For infinite scroll, you can listen for monthScrollListener and call updateMonthRange with new values when the calendar gets to the edge. To scroll 7 days at a time, you can use the paged scroll mode (this also enables snapping).
Note: You have to enable inDates for the first month (inDateStyle = firstMonth) if the day texts (M|T|W|T|F|S|S) are static at the top so the pagination aligns with the expected week days.


Wip rolling updates

support rolling updates.

This change is

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

OK now it passed :/ flake somewhere but not seeing what it might be in encryption code paths.

test-me-please

test-me-please

test-me-please

closing cleaning up old wip PRs.


Feature request:

Typescript Available guys?

we only have a types declaration for now. I think we can migrate to TS at some point, but we need to solve more urgent performance issues first


Tag problem with require via bower installation on client

If you want to install leapjs-plugins with bower, you download tag v0.1.11 but it does not include "require" correction on leap-plugins-0.1.11.js

Issue is fixed in Clean up THREE node requirement, but these changes are not released/updated in the bower referenced package. Took a while to understand the issue, kindly update the bower package with the latest updates.

Ah, that was sloppy of me, I'm sorry.  Tag has been updated to the correct commit.  I was able to verify with this:
bower uninstall leapjs-plugins
bower cache clean leapjs-plugins
bower install leapjs-plugins

Let me know if that works for you

I installed the specific branch from bower. Since you asked I did try with the latest bower package, it works fine now. Thanks @pehrlich


WIP: MSSQL tests/support

Hello,
So I've made some progress on getting MSSQL work with this. This is nowhere near ready. Got a couple of preference-type questions:

There are (at least) 5 different ways to connect to MSSQL from sqlalchmey. I've really only played with pyodbc--I've had generally good luck with ODBC in general on windows and it works in python. So I plan to focus on the mssql+pyodbc connection.
To bulk import/export data there are really 3 choices (here's a more detailed breakdown)

The command line bcp utility. I'm not sure if this is available on appveyor. I presume so? It is installed with SQL Server. Downsides to the bcp utility is that it is entirely run from the command prompt and you have to provide a server name. If you are using ODBC (or an ODBC DSN), I'm unsure how to get the servername from the ODBC connection.
The BULK INSERT command which can be run from the TSQL interface. The downsides are that you must provide a file path which is a server-side read. So if the *.csv file is on a client computer, getting the SQL server to see the file and upload it can be a challenge. Also, the BULK INSERT is an "insert-only" command. There's no BULK EXPORT to csv functionality (which odo uses is the sql.py file, so we have to use a fallback through the iterators.
The OPENROWSET statement in an INSERT. Basically, the same benefits (and drawbacks) of BULK INSERT.

As I alluded to, a problem (in my mind) is that pyodbc requires that you provide an ODBC DSN, not a server name. I'm not totally clear how to get the server/instance name from this. Thus, using bcp is likely not ideal.
INSERT/BULK INSERT seem like that I can't stream data (like STDIN)... which is disappointing.
INSERT/BULK INSERT don't have an export equivalent.

So questions for the crowd...

Should I use pyodbc or some other method?
Is there a preference for the import/export method?

Thanks!

OK all tests are green except an unrelated dask. A few updates...

After struggling with ODBC and BULK INSERT, I switched to essentially writing a wrapper for bcp.exe.
I am using pymssql instead of pyodbc. pyodbc will still "kind of" work, but the direct interface to bcp.exe requires pymssql
Still have to check that bit, money, and a few other mssql-specific dtypes work.

I appreciate any commentary about this.

ack, I will try to look over this sometime this weekend.

I had forgotten how fast loading data with bcp.exe can be:
In [2]: %%time
   ...:
   ...: from odo import odo
   ...: import blaze as bz
   ...: nyc = odo('yellow_tripdata_2016-01.csv',
   ...:           'mssql+pymssql://localhost/test::yellow201601')
   ...:
   ...:

Wall time: 2min 31s

In [3]: bznyc = bz.data(nyc)
   ...: bznyc.count()
Out[3]: 10906858

ping to see if anyone has time to review/comment over the next few weeks

Pinging again to see if anyone has interest in picking this up.
I think there the CI failure is an unrelated (says something about dask)
Thanks.

I guess I'm still waiting for input from others.
The one (kind of) big challenge is how bulk inserts should work. I think using bcp.exe makes the most sense, but you have to provide it with login arguments. You would expect something like mssql+pyodbc://user:password@server::table, but that doesn't nicely handle when you want to use a trusted connection. (Which is all I use).
Additionally, #568 is a new quirk. MSSQL's timestamp type is different than other platforms. A bug was introduced to handle this, but it turns out the fix was too simple and too general and causes a testcase fail in blaze itself.
Happy to help get this working, but I'm not well-versed enough in how this should work to do it alone.
In the mean time, Pulling this PR works well enough for my purposes.

+1 SQL Server support would be great, am currently running into this and will most likely need to use pandas directly.


Testing markdown conversion for meeting minutes

From Google Doc plugin - testing for only the last meeting of 2019

Closing to use different folder name and create one file per year.