error with review start

Hey @pwntester, I'm trying to do review on a pr, not sure if this error is because the feature is still under progress.
Error executing vim.schedule lua callback: ...nvim/site/pack/packer/opt/octo.nvim/lua/octo/reviews.lua:89: Vim(cc):E42: No Errors

Hi @tami5, I dont get any errors similar to that. What repo/pr are you trying to review?

Hi @tami5, I dont get any errors similar to that. What repo/pr are you trying to review?

Hmm, Its a private repo. but I'm having the same issue with test pr here. Is there a particular steps I need to follow?

Hmm, Its a private repo. but I'm having the same issue with test pr here. Is there a particular steps I need to follow?

Seems like the QF window is empty. Do you have vim-fugitive installed?
I have added some debugging statements in the comments test PR. Can you use this branch to start a review for this test PR?
In my case the debug messages are:
debug1 { {
    filename = "lua/octo/writers.lua",
    patch = "@@ -9,6 +9,12 @@ local format = string.format\n \n local M = {}\n \n+--- Summary ends with a period.\n+-- Some description, can be over several l
ines.\n+-- @param p1 first parameter\n+-- @param p2 second parameter\n+-- @return a string value\n+-- @see second_fun\n function M.write_block(lines, opts)\n
  local bufnr = opts.bufnr or api.nvim_get_current_buf()\n ",
    status = "modified",
    text = "+6 -0"
  } }
debug2 {
  baseRefName = "master",
  baseRefSHA = "435e10d4270e4c6ec390d5092431e30db2626b9e",
  headRefName = "comments",
  headRefSHA = "9a10d5361b1b479c827ad62b4d843934d24999da",
  pull_request_id = "MDExOlB1bGxSZXF1ZXN0NTY0NzE1NTY1"
}

Can you paste yours?

Seems like the QF window is empty. Do you have vim-fugitive installed?
I have added some debugging statements in the comments test PR. Can you use this branch to start a review for this test PR?
In my case the debug messages are:
debug1 { {
    filename = "lua/octo/writers.lua",
    patch = "@@ -9,6 +9,12 @@ local format = string.format\n \n local M = {}\n \n+--- Summary ends with a period.\n+-- Some description, can be over several l
ines.\n+-- @param p1 first parameter\n+-- @param p2 second parameter\n+-- @return a string value\n+-- @see second_fun\n function M.write_block(lines, opts)\n
  local bufnr = opts.bufnr or api.nvim_get_current_buf()\n ",
    status = "modified",
    text = "+6 -0"
  } }
debug2 {
  baseRefName = "master",
  baseRefSHA = "435e10d4270e4c6ec390d5092431e30db2626b9e",
  headRefName = "comments",
  headRefSHA = "9a10d5361b1b479c827ad62b4d843934d24999da",
  pull_request_id = "MDExOlB1bGxSZXF1ZXN0NTY0NzE1NTY1"
}

Can you paste yours?

@pwntester hay, I don't think test pr has any debug code. I still get the same output

and thats because I forgot to push the commit :(
should be ready now

hhhh it happens

debug1 { {
    filename = "lua/octo/reviews.lua",
    patch = '@@ -21,6 +21,9 @@ function M.populate_changes_qf(changes, opts)\n     vim.cmd [[tabnew %]]\n   end\n \n+  print("debug1", vim.inspect(changes))\n+  print("debug2", vim.inspect(opts))\n+\n   -- run the diff between head and
 base commits\n   vim.cmd(format("Git difftool --name-only %s..%s", opts.baseRefName, opts.h`
debug2 {
  baseRefName = "master",
  baseRefSHA = "435e10d4270e4c6ec390d5092431e30db2626b9e",
  headRefName = "comments",
  headRefSHA = "c878103e57b60d0d23aa360a4d3b9e16c4ce8d8d",
  pull_request_id = "MDExOlB1bGxSZXF1ZXN0NTY0NzE1NTY1"
}
Error executing vim.schedule lua callback: ...nvim/site/pack/packer/opt/octo.nvim/lua/octo/reviews.lua:92: Vim(cc):E42: No Errors

that is weird, seems like the first dict is incomplete. for the head of this PR it should now print:
debug1 { {
    filename = "lua/octo/reviews.lua",
    patch = '@@ -21,6 +21,9 @@ function M.populate_changes_qf(changes, opts)\n     vim.cmd [[tabnew %]]\n   end\n \n+  print("debug1", vim.inspect(changes))\n+  print("debug2", vim.inspect(opts))\n+\n   -- run the diff between head and base commits\n
   vim.cmd(format("Git difftool --name-only %s..%s", opts.baseRefName, opts.headRefName))\n ',
    status = "modified",
    text = "+3 -0"
  }, {
    filename = "lua/octo/writers.lua",
    patch = "@@ -9,6 +9,12 @@ local format = string.format\n \n local M = {}\n \n+--- Summary ends with a period.\n+-- Some description, can be over several lines.\n+-- @param p1 first parameter\n+-- @param p2 second parameter\n+-- @return a string v
alue\n+-- @see second_fun\n function M.write_block(lines, opts)\n   local bufnr = opts.bufnr or api.nvim_get_current_buf()\n ",
    status = "modified",
    text = "+6 -0"
  } }
debug2 {
  baseRefName = "master",
  baseRefSHA = "435e10d4270e4c6ec390d5092431e30db2626b9e",
  headRefName = "comments",
  headRefSHA = "c878103e57b60d0d23aa360a4d3b9e16c4ce8d8d",
  pull_request_id = "MDExOlB1bGxSZXF1ZXN0NTY0NzE1NTY1"
}

The error may be in commands.lua, in review_pr. Maybe you are getting something from GH server which breaks it.
Can you try latest version of this PR with some additional debugging statements?

debug - raw response [{"sha":"37659403138dd394a633a5fabb81f0ebc2ec0ad9","filename":"lua/octo/commands.lua","status":"modified","additions":3,"deletions":0,"changes":3,"blob_url":"https://github.com/pwntester/octo.nvim/blob/a04814243402d492c7dcf4b7d811cfb19a867850/lua/octo/commands.lua","raw_url":"https://github.com/pwntester/octo.nvim/raw/a04814243402d492c7dcf4b7d811cfb19a867850/lua/octo/commands.lua","contents_url":"https://api.github.com/repos/pwntester/octo.nvim/contents/lua/octo/commands.lua?ref=a04814243402d492c7dcf4b7d811cfb19a867850","patch":"@@ -733,15 +733,18 @@ function M.review_pr()\n         if stderr and not util.is_blank(stderr) then\n           api.nvim_err_writeln(stderr)\n         elseif output then\n+          print(\"debug - raw response\", output)\n           local results = json.parse(output)\n           local changes = {}\n           for _, result in ipairs(results) do\n+            print(\"result\", vim.inspect(result))\n             local change = {\n               filename = result.filename,\n               patch = result.patch,\n               status = result.status,\n               text = format(\"+%d -%d\", result.additions, result.deletions)\n             }\n+            print(\"change\", vim.inspect(result))\n             table.insert(changes, change)\n           end\n           reviews.populate_changes_qf(changes, {"},{"sha":"725b391a2df3953038f6c12b57ba54fb6587b5e8","filename":"lua/octo/reviews.lua","status":"modified","additions":3,"deletions":0,"changes":3,"blob_url":"https://github.com/pwntester/octo.nvim/blob/a04814243402d492c7dcf4b7d811cfb19a867850/lua/octo/reviews.lua","raw_url":"https://github.com/pwntester/octo.nvim/raw/a04814243402d492c7dcf4b7d811cfb19a867850/lua/octo/reviews.lua","contents_url":"https://api.github.com/repos/pwntester/octo.nvim/contents/lua/octo/reviews.lua?ref=a04814243402d492c7dcf4b7d811cfb19a867850","patch":"@@ -21,6 +21,9 @@ function M.populate_changes_qf(changes, opts)\n     vim.cmd [[tabnew %]]\n   end\n \n+  print(\"debug1\", vim.inspect(changes))\n+  print(\"debug2\", vim.inspect(opts))\n+\n   -- run the diff between head and base commits\n   vim.cmd(format(\"Git difftool --name-only %s..%s\", opts.baseRefName, opts.headRefName))\n "},{"sha":"56f845cb532bcc41a124b0eade7f514b581c6648","filename":"lua/octo/writers.lua","status":"modified","additions":6,"deletions":0,"changes":6,"blob_url":"https://github.com/pwntester/octo.nvim/blob/a04814243402d492c7dcf4b7d811cfb19a867850/lua/octo/writers.lua","raw_url":"https://github.com/pwntester/octo.nvim/raw/a04814243402d492c7dcf4b7d811cfb19a867850/lua/octo/writers.lua","contents_url":"https://api.github.com/repos/pwntester/octo.nvim/contents/lua/octo/writers.lua?ref=a04814243402d492c7dcf4b7d811cfb19a867850","patch":"@@ -9,6 +9,12 @@ local format = string.format\n \n local M = {}\n \n+--- Summary ends with a period.\n+-- Some description, can be over several lines.\n+-- @param p1 first parameter\n+-- @param p2 second parameter\n+-- @return a string value\n+-- @see second_fun\n function M.write_block(lines, opts)\n   local bufnr = opts.bufnr or api.nvim_get_current_buf()\n "}]
result {
  additions = 3,
  blob_url = "https://github.com/pwntester/octo.nvim/blob/a04814243402d492c7dcf4b7d811cfb19a867850/lua/octo/commands.lua",
  changes = 3,
  contents_url = "https://api.github.com/repos/pwntester/octo.nvim/contents/lua/octo/commands.lua?ref=a04814243402d492c7dcf4b7d811cfb19a867850",
  deletions = 0,
  filename = "lua/octo/commands.lua",
  patch = '@@ -733,15 +733,18 @@ function M.review_pr()\n         if stderr and not util.is_blank(stderr) then\n           api.nvim_err_writeln(stderr)\n         elseif output then\n+          print("debug - raw response", output)\n           local results = json.parse(output)\n           local changes = {}\n           for _, result in ipairs(results) do\n+            print("result", vim.inspect(result))\n             local change = {\n               filename = result.filename,\n               patch = result.patch,\n               status = result.status,\n               text = format("+%d -%d", result.additions, result.deletions)\n             }\n+            print("change", vim.inspect(result))\n             table.insert(changes, change)\n           end\n           reviews.populate_changes_qf(changes, {',
  raw_url = "https://github.com/pwntester/octo.nvim/raw/a04814243402d492c7dcf4b7d811cfb19a867850/lua/octo/commands.lua",
  sha = "37659403138dd394a633a5fabb81f0ebc2ec0ad9",
  status = "modified"
}
change {
  additions = 3,
  blob_url = "https://github.com/pwntester/octo.nvim/blob/a04814243402d492c7dcf4b7d811cfb19a867850/lua/octo/commands.lua",
  changes = 3,
  contents_url = "https://api.github.com/repos/pwntester/octo.nvim/contents/lua/octo/commands.lua?ref=a04814243402d492c7dcf4b7d811cfb19a867850",
  deletions = 0,
  filename = "lua/octo/commands.lua",
  patch = '@@ -733,15 +733,18 @@ function M.review_pr()\n         if stderr and not util.is_blank(stderr) then\n           api.nvim_err_writeln(stderr)\n         elseif output then\n+          print("debug - raw response", output)\n           local results = json.parse(output)\n           local changes = {}\n           for _, result in ipairs(results) do\n+            print("result", vim.inspect(result))\n             local change = {\n               filename = result.filename,\n               patch = result.patch,\n               status = result.status,\n               text = format("+%d -%d", result.additions, result.deletions)\n             }\n+            print("change", vim.inspect(result))\n             table.insert(changes, change)\n           end\n           reviews.populate_changes_qf(changes, {',
  raw_url = "https://github.com/pwntester/octo.nvim/raw/a04814243402d492c7dcf4b7d811cfb19a867850/lua/octo/commands.lua",
  sha = "37659403138dd394a633a5fabb81f0ebc2ec0ad9",
  status = "modified"
}
result {
  additions = 3,
  blob_url = "https://github.com/pwntester/octo.nvim/blob/a04814243402d492c7dcf4b7d811cfb19a867850/lua/octo/reviews.lua",
  changes = 3,
  contents_url = "https://api.github.com/repos/pwntester/octo.nvim/contents/lua/octo/reviews.lua?ref=a04814243402d492c7dcf4b7d811cfb19a867850",
  deletions = 0,
  filename = "lua/octo/reviews.lua",
  patch = '@@ -21,6 +21,9 @@ function M.populate_changes_qf(changes, opts)\n     vim.cmd [[tabnew %]]\n   end\n \n+  print("debug1", vim.inspect(changes))\n+  print("debug2", vim.inspect(opts))\n+\n   -- run the diff between head and base commits\n   vim.cmd(format("Git difftool --name-only %s..%s", opts.baseRefName, opts.headRefName))\n ',
  raw_url = "https://github.com/pwntester/octo.nvim/raw/a04814243402d492c7dcf4b7d811cfb19a867850/lua/octo/reviews.lua",
  sha = "725b391a2df3953038f6c12b57ba54fb6587b5e8",
  status = "modified"
}
change {
  additions = 3,
  blob_url = "https://github.com/pwntester/octo.nvim/blob/a04814243402d492c7dcf4b7d811cfb19a867850/lua/octo/reviews.lua",
  changes = 3,
  contents_url = "https://api.github.com/repos/pwntester/octo.nvim/contents/lua/octo/reviews.lua?ref=a04814243402d492c7dcf4b7d811cfb19a867850",
  deletions = 0,
  filename = "lua/octo/reviews.lua",
  patch = '@@ -21,6 +21,9 @@ function M.populate_changes_qf(changes, opts)\n     vim.cmd [[tabnew %]]\n   end\n \n+  print("debug1", vim.inspect(changes))\n+  print("debug2", vim.inspect(opts))\n+\n   -- run the diff between head and base commits\n   vim.cmd(format("Git difftool --name-only %s..%s", opts.baseRefName, opts.headRefName))\n ',
  raw_url = "https://github.com/pwntester/octo.nvim/raw/a04814243402d492c7dcf4b7d811cfb19a867850/lua/octo/reviews.lua",
  sha = "725b391a2df3953038f6c12b57ba54fb6587b5e8",
  status = "modified"
}
result {
  additions = 6,
  blob_url = "https://github.com/pwntester/octo.nvim/blob/a04814243402d492c7dcf4b7d811cfb19a867850/lua/octo/writers.lua",
  changes = 6,
  contents_url = "https://api.github.com/repos/pwntester/octo.nvim/contents/lua/octo/writers.lua?ref=a04814243402d492c7dcf4b7d811cfb19a867850",
  deletions = 0,
  filename = "lua/octo/writers.lua",
  patch = "@@ -9,6 +9,12 @@ local format = string.format\n \n local M = {}\n \n+--- Summary ends with a period.\n+-- Some description, can be over several lines.\n+-- @param p1 first parameter\n+-- @param p2 second parameter\n+-- @return a string value\n+-- @see second_fun\n function M.write_block(lines, opts)\n   local bufnr = opts.bufnr or api.nvim_get_current_buf()\n ",
  raw_url = "https://github.com/pwntester/octo.nvim/raw/a04814243402d492c7dcf4b7d811cfb19a867850/lua/octo/writers.lua",
  sha = "56f845cb532bcc41a124b0eade7f514b581c6648",
  status = "modified"
}
change {
  additions = 6,
  blob_url = "https://github.com/pwntester/octo.nvim/blob/a04814243402d492c7dcf4b7d811cfb19a867850/lua/octo/writers.lua",
  changes = 6,
  contents_url = "https://api.github.com/repos/pwntester/octo.nvim/contents/lua/octo/writers.lua?ref=a04814243402d492c7dcf4b7d811cfb19a867850",
  deletions = 0,
  filename = "lua/octo/writers.lua",
  patch = "@@ -9,6 +9,12 @@ local format = string.format\n \n local M = {}\n \n+--- Summary ends with a period.\n+-- Some description, can be over several lines.\n+-- @param p1 first parameter\n+-- @param p2 second parameter\n+-- @return a string value\n+-- @see second_fun\n function M.write_block(lines, opts)\n   local bufnr = opts.bufnr or api.nvim_get_current_buf()\n ",
  raw_url = "https://github.com/pwntester/octo.nvim/raw/a04814243402d492c7dcf4b7d811cfb19a867850/lua/octo/writers.lua",
  sha = "56f845cb532bcc41a124b0eade7f514b581c6648",
  status = "modified"
}
debug1 { {
    filename = "lua/octo/commands.lua",
    patch = '@@ -733,15 +733,18 @@ function M.review_pr()\n         if stderr and not util.is_blank(stderr) then\n           api.nvim_err_writeln(stderr)\n         elseif output then\n+          print("debug - raw response", output)\n           local results = json.parse(output)\n           local changes = {}\n           for _, result in ipairs(results) do\n+            print("result", vim.inspect(result))\n             local change = {\n               filename = result.filename,\n               patch = result.patch,\n               status = result.status,\n               text = format("+%d -%d", result.additions, result.deletions)\n             }\n+            print("change", vim.inspect(result))\n             table.insert(changes, change)\n           end\n           reviews.populate_changes_qf(changes, {',
    status = "modified",
    text = "+3 -0"
  }, {
    filename = "lua/octo/reviews.lua",
    patch = '@@ -21,6 +21,9 @@ function M.populate_changes_qf(changes, opts)\n     vim.cmd [[tabnew %]]\n   end\n \n+  print("debug1", vim.inspect(changes))\n+  print("debug2", vim.inspect(opts))\n+\n   -- run the diff between head and base commits\n   vim.cmd(format("Git difftool --name-only %s..%s", opts.baseRefName, opts.headRefName))\n ',
    status = "modified",
    text = "+3 -0"
  }, {
    filename = "lua/octo/writers.lua",
    patch = "@@ -9,6 +9,12 @@ local format = string.format\n \n local M = {}\n \n+--- Summary ends with a period.\n+-- Some description, can be over several lines.\n+-- @param p1 first parameter\n+-- @param p2 second parameter\n+-- @return a string value\n+-- @see second_fun\n function M.write_block(lines, opts)\n   local bufnr = opts.bufnr or api.nvim_get_current_buf()\n ",
    status = "modified",
    text = "+6 -0"
  } }
debug2 {
  baseRefName = "master",
  baseRefSHA = "435e10d4270e4c6ec390d5092431e30db2626b9e",
  headRefName = "comments",
  headRefSHA = "a04814243402d492c7dcf4b7d811cfb19a867850",
  pull_request_id = "MDExOlB1bGxSZXF1ZXN0NTY0NzE1NTY1"
}
Error executing vim.schedule lua callback: ...nvim/site/pack/packer/opt/octo.nvim/lua/octo/reviews.lua:92: Vim(cc):E42: No Errors

That looks ok to me ...
I added a new debug, can you please give it a try? Sorry about the debugging process but I cant think of a better way since I cannot reproduce it

np, it driving me crazy too :dagger:

Fetching issues (this may take a while) ...

debug - raw response [{"sha":"37659403138dd394a633a5fabb81f0ebc2ec0ad9","filename":"lua/octo/commands.lua","status":"modified","additions":3,"deletions":0,"changes":3,"blob_url":"https://github.com/pwntester/octo.nvim/blob/6a1905811be6e62db8c002aedb5c8bb9d29dc11f/lua/octo/commands.lua","raw_url":"https://github.com/pwntester/octo.nvim/raw/6a1905811be6e62db8c002aedb5c8bb9d29dc11f/lua/octo/commands.lua","contents_url":"https://api.github.com/repos/pwntester/octo.nvim/contents/lua/octo/commands.lua?ref=6a1905811be6e62db8c002aedb5c8bb9d29dc11f","patch":"@@ -733,15 +733,18 @@ function M.review_pr()\n         if stderr and not util.is_blank(stderr) then\n           api.nvim_err_writeln(stderr)\n         elseif output then\n+          print(\"debug - raw response\", output)\n           local results = json.parse(output)\n           local changes = {}\n           for _, result in ipairs(results) do\n+            print(\"result\", vim.inspect(result))\n             local change = {\n               filename = result.filename,\n               patch = result.patch,\n               status = result.status,\n               text = format(\"+%d -%d\", result.additions, result.deletions)\n             }\n+            print(\"change\", vim.inspect(result))\n             table.insert(changes, change)\n           end\n           reviews.populate_changes_qf(changes, {"},{"sha":"4745d269772fd8827bd2ab2ec6275add3572a6e4","filename":"lua/octo/reviews.lua","status":"modified","additions":5,"deletions":0,"changes":5,"blob_url":"https://github.com/pwntester/octo.nvim/blob/6a1905811be6e62db8c002aedb5c8bb9d29dc11f/lua/octo/reviews.lua","raw_url":"https://github.com/pwntester/octo.nvim/raw/6a1905811be6e62db8c002aedb5c8bb9d29dc11f/lua/octo/reviews.lua","contents_url":"https://api.github.com/repos/pwntester/octo.nvim/contents/lua/octo/reviews.lua?ref=6a1905811be6e62db8c002aedb5c8bb9d29dc11f","patch":"@@ -21,6 +21,9 @@ function M.populate_changes_qf(changes, opts)\n     vim.cmd [[tabnew %]]\n   end\n \n+  print(\"debug1\", vim.inspect(changes))\n+  print(\"debug2\", vim.inspect(opts))\n+\n   -- run the diff between head and base commits\n   vim.cmd(format(\"Git difftool --name-only %s..%s\", opts.baseRefName, opts.headRefName))\n \n@@ -46,6 +49,7 @@ function M.update_changes_qf(changes, opts)\n \n   -- update item's text\n   local items = qf.items\n+  print(\"items1\", vim.inspect(items))\n   for _, item in ipairs(items) do\n     for _, change in ipairs(changes) do\n       if item.module == format(\"%s:%s\", opts.baseRefName, change.filename) then\n@@ -65,6 +69,7 @@ function M.update_changes_qf(changes, opts)\n     ctxitem.patch = changes[i].patch\n   end\n \n+  print(\"items2\", vim.inspect(items))\n   vim.fn.setqflist({}, \"r\", {context = qf.context, items = items})\n end\n "},{"sha":"56f845cb532bcc41a124b0eade7f514b581c6648","filename":"lua/octo/writers.lua","status":"modified","additions":6,"deletions":0,"changes":6,"blob_url":"https://github.com/pwntester/octo.nvim/blob/6a1905811be6e62db8c002aedb5c8bb9d29dc11f/lua/octo/writers.lua","raw_url":"https://github.com/pwntester/octo.nvim/raw/6a1905811be6e62db8c002aedb5c8bb9d29dc11f/lua/octo/writers.lua","contents_url":"https://api.github.com/repos/pwntester/octo.nvim/contents/lua/octo/writers.lua?ref=6a1905811be6e62db8c002aedb5c8bb9d29dc11f","patch":"@@ -9,6 +9,12 @@ local format = string.format\n \n local M = {}\n \n+--- Summary ends with a period.\n+-- Some description, can be over several lines.\n+-- @param p1 first parameter\n+-- @param p2 second parameter\n+-- @return a string value\n+-- @see second_fun\n function M.write_block(lines, opts)\n   local bufnr = opts.bufnr or api.nvim_get_current_buf()\n "}]
result {
  additions = 3,
  blob_url = "https://github.com/pwntester/octo.nvim/blob/6a1905811be6e62db8c002aedb5c8bb9d29dc11f/lua/octo/commands.lua",
  changes = 3,
  contents_url = "https://api.github.com/repos/pwntester/octo.nvim/contents/lua/octo/commands.lua?ref=6a1905811be6e62db8c002aedb5c8bb9d29dc11f",
  deletions = 0,
  filename = "lua/octo/commands.lua",
  patch = '@@ -733,15 +733,18 @@ function M.review_pr()\n         if stderr and not util.is_blank(stderr) then\n           api.nvim_err_writeln(stderr)\n         elseif output then\n+          print("debug - raw response", output)\n           local results = json.parse(output)\n           local changes = {}\n           for _, result in ipairs(results) do\n+            print("result", vim.inspect(result))\n             local change = {\n               filename = result.filename,\n               patch = result.patch,\n               status = result.status,\n               text = format("+%d -%d", result.additions, result.deletions)\n             }\n+            print("change", vim.inspect(result))\n             table.insert(changes, change)\n           end\n           reviews.populate_changes_qf(changes, {',
  raw_url = "https://github.com/pwntester/octo.nvim/raw/6a1905811be6e62db8c002aedb5c8bb9d29dc11f/lua/octo/commands.lua",
  sha = "37659403138dd394a633a5fabb81f0ebc2ec0ad9",
  status = "modified"
}
change {
  additions = 3,
  blob_url = "https://github.com/pwntester/octo.nvim/blob/6a1905811be6e62db8c002aedb5c8bb9d29dc11f/lua/octo/commands.lua",
  changes = 3,
  contents_url = "https://api.github.com/repos/pwntester/octo.nvim/contents/lua/octo/commands.lua?ref=6a1905811be6e62db8c002aedb5c8bb9d29dc11f",
  deletions = 0,
  filename = "lua/octo/commands.lua",
  patch = '@@ -733,15 +733,18 @@ function M.review_pr()\n         if stderr and not util.is_blank(stderr) then\n           api.nvim_err_writeln(stderr)\n         elseif output then\n+          print("debug - raw response", output)\n           local results = json.parse(output)\n           local changes = {}\n           for _, result in ipairs(results) do\n+            print("result", vim.inspect(result))\n             local change = {\n               filename = result.filename,\n               patch = result.patch,\n               status = result.status,\n               text = format("+%d -%d", result.additions, result.deletions)\n             }\n+            print("change", vim.inspect(result))\n             table.insert(changes, change)\n           end\n           reviews.populate_changes_qf(changes, {',
  raw_url = "https://github.com/pwntester/octo.nvim/raw/6a1905811be6e62db8c002aedb5c8bb9d29dc11f/lua/octo/commands.lua",
  sha = "37659403138dd394a633a5fabb81f0ebc2ec0ad9",
  status = "modified"
}
result {
  additions = 5,
  blob_url = "https://github.com/pwntester/octo.nvim/blob/6a1905811be6e62db8c002aedb5c8bb9d29dc11f/lua/octo/reviews.lua",
  changes = 5,
  contents_url = "https://api.github.com/repos/pwntester/octo.nvim/contents/lua/octo/reviews.lua?ref=6a1905811be6e62db8c002aedb5c8bb9d29dc11f",
  deletions = 0,
  filename = "lua/octo/reviews.lua",
  patch = "@@ -21,6 +21,9 @@ function M.populate_changes_qf(changes, opts)\n     vim.cmd [[tabnew %]]\n   end\n \n+  print(\"debug1\", vim.inspect(changes))\n+  print(\"debug2\", vim.inspect(opts))\n+\n   -- run the diff between head and base commits\n   vim.cmd(format(\"Git difftool --name-only %s..%s\", opts.baseRefName, opts.headRefName))\n \n@@ -46,6 +49,7 @@ function M.update_changes_qf(changes, opts)\n \n   -- update item's text\n   local items = qf.items\n+  print(\"items1\", vim.inspect(items))\n   for _, item in ipairs(items) do\n     for _, change in ipairs(changes) do\n       if item.module == format(\"%s:%s\", opts.baseRefName, change.filename) then\n@@ -65,6 +69,7 @@ function M.update_changes_qf(changes, opts)\n     ctxitem.patch = changes[i].patch\n   end\n \n+  print(\"items2\", vim.inspect(items))\n   vim.fn.setqflist({}, \"r\", {context = qf.context, items = items})\n end\n ",
  raw_url = "https://github.com/pwntester/octo.nvim/raw/6a1905811be6e62db8c002aedb5c8bb9d29dc11f/lua/octo/reviews.lua",
  sha = "4745d269772fd8827bd2ab2ec6275add3572a6e4",
  status = "modified"
}
change {
  additions = 5,
  blob_url = "https://github.com/pwntester/octo.nvim/blob/6a1905811be6e62db8c002aedb5c8bb9d29dc11f/lua/octo/reviews.lua",
  changes = 5,
  contents_url = "https://api.github.com/repos/pwntester/octo.nvim/contents/lua/octo/reviews.lua?ref=6a1905811be6e62db8c002aedb5c8bb9d29dc11f",
  deletions = 0,
  filename = "lua/octo/reviews.lua",
  patch = "@@ -21,6 +21,9 @@ function M.populate_changes_qf(changes, opts)\n     vim.cmd [[tabnew %]]\n   end\n \n+  print(\"debug1\", vim.inspect(changes))\n+  print(\"debug2\", vim.inspect(opts))\n+\n   -- run the diff between head and base commits\n   vim.cmd(format(\"Git difftool --name-only %s..%s\", opts.baseRefName, opts.headRefName))\n \n@@ -46,6 +49,7 @@ function M.update_changes_qf(changes, opts)\n \n   -- update item's text\n   local items = qf.items\n+  print(\"items1\", vim.inspect(items))\n   for _, item in ipairs(items) do\n     for _, change in ipairs(changes) do\n       if item.module == format(\"%s:%s\", opts.baseRefName, change.filename) then\n@@ -65,6 +69,7 @@ function M.update_changes_qf(changes, opts)\n     ctxitem.patch = changes[i].patch\n   end\n \n+  print(\"items2\", vim.inspect(items))\n   vim.fn.setqflist({}, \"r\", {context = qf.context, items = items})\n end\n ",
  raw_url = "https://github.com/pwntester/octo.nvim/raw/6a1905811be6e62db8c002aedb5c8bb9d29dc11f/lua/octo/reviews.lua",
  sha = "4745d269772fd8827bd2ab2ec6275add3572a6e4",
  status = "modified"
}
result {
  additions = 6,
  blob_url = "https://github.com/pwntester/octo.nvim/blob/6a1905811be6e62db8c002aedb5c8bb9d29dc11f/lua/octo/writers.lua",
  changes = 6,
  contents_url = "https://api.github.com/repos/pwntester/octo.nvim/contents/lua/octo/writers.lua?ref=6a1905811be6e62db8c002aedb5c8bb9d29dc11f",
  deletions = 0,
  filename = "lua/octo/writers.lua",
  patch = "@@ -9,6 +9,12 @@ local format = string.format\n \n local M = {}\n \n+--- Summary ends with a period.\n+-- Some description, can be over several lines.\n+-- @param p1 first parameter\n+-- @param p2 second parameter\n+-- @return a string value\n+-- @see second_fun\n function M.write_block(lines, opts)\n   local bufnr = opts.bufnr or api.nvim_get_current_buf()\n ",
  raw_url = "https://github.com/pwntester/octo.nvim/raw/6a1905811be6e62db8c002aedb5c8bb9d29dc11f/lua/octo/writers.lua",
  sha = "56f845cb532bcc41a124b0eade7f514b581c6648",
  status = "modified"
}
change {
  additions = 6,
  blob_url = "https://github.com/pwntester/octo.nvim/blob/6a1905811be6e62db8c002aedb5c8bb9d29dc11f/lua/octo/writers.lua",
  changes = 6,
  contents_url = "https://api.github.com/repos/pwntester/octo.nvim/contents/lua/octo/writers.lua?ref=6a1905811be6e62db8c002aedb5c8bb9d29dc11f",
  deletions = 0,
  filename = "lua/octo/writers.lua",
  patch = "@@ -9,6 +9,12 @@ local format = string.format\n \n local M = {}\n \n+--- Summary ends with a period.\n+-- Some description, can be over several lines.\n+-- @param p1 first parameter\n+-- @param p2 second parameter\n+-- @return a string value\n+-- @see second_fun\n function M.write_block(lines, opts)\n   local bufnr = opts.bufnr or api.nvim_get_current_buf()\n ",
  raw_url = "https://github.com/pwntester/octo.nvim/raw/6a1905811be6e62db8c002aedb5c8bb9d29dc11f/lua/octo/writers.lua",
  sha = "56f845cb532bcc41a124b0eade7f514b581c6648",
  status = "modified"
}
debug1 { {
    filename = "lua/octo/commands.lua",
    patch = '@@ -733,15 +733,18 @@ function M.review_pr()\n         if stderr and not util.is_blank(stderr) then\n           api.nvim_err_writeln(stderr)\n         elseif output then\n+          print("debug - raw response", output)\n           local results = json.parse(output)\n           local changes = {}\n           for _, result in ipairs(results) do\n+            print("result", vim.inspect(result))\n             local change = {\n               filename = result.filename,\n               patch = result.patch,\n               status = result.status,\n               text = format("+%d -%d", result.additions, result.deletions)\n             }\n+            print("change", vim.inspect(result))\n             table.insert(changes, change)\n           end\n           reviews.populate_changes_qf(changes, {',
    status = "modified",
    text = "+3 -0"
  }, {
    filename = "lua/octo/reviews.lua",
    patch = "@@ -21,6 +21,9 @@ function M.populate_changes_qf(changes, opts)\n     vim.cmd [[tabnew %]]\n   end\n \n+  print(\"debug1\", vim.inspect(changes))\n+  print(\"debug2\", vim.inspect(opts))\n+\n   -- run the diff between head and base commits\n   vim.cmd(format(\"Git difftool --name-only %s..%s\", opts.baseRefName, opts.headRefName))\n \n@@ -46,6 +49,7 @@ function M.update_changes_qf(changes, opts)\n \n   -- update item's text\n   local items = qf.items\n+  print(\"items1\", vim.inspect(items))\n   for _, item in ipairs(items) do\n     for _, change in ipairs(changes) do\n       if item.module == format(\"%s:%s\", opts.baseRefName, change.filename) then\n@@ -65,6 +69,7 @@ function M.update_changes_qf(changes, opts)\n     ctxitem.patch = changes[i].patch\n   end\n \n+  print(\"items2\", vim.inspect(items))\n   vim.fn.setqflist({}, \"r\", {context = qf.context, items = items})\n end\n ",
    status = "modified",
    text = "+5 -0"
  }, {
    filename = "lua/octo/writers.lua",
    patch = "@@ -9,6 +9,12 @@ local format = string.format\n \n local M = {}\n \n+--- Summary ends with a period.\n+-- Some description, can be over several lines.\n+-- @param p1 first parameter\n+-- @param p2 second parameter\n+-- @return a string value\n+-- @see second_fun\n function M.write_block(lines, opts)\n   local bufnr = opts.bufnr or api.nvim_get_current_buf()\n ",
    status = "modified",
    text = "+6 -0"
  } }
debug2 {
  baseRefName = "master",
  baseRefSHA = "435e10d4270e4c6ec390d5092431e30db2626b9e",
  headRefName = "comments",
  headRefSHA = "6a1905811be6e62db8c002aedb5c8bb9d29dc11f",
  pull_request_id = "MDExOlB1bGxSZXF1ZXN0NTY0NzE1NTY1"
}
items1 { {
    bufnr = 26,
    col = 0,
    lnum = 0,
    module = "master:lua/octo/commands.lua",
    nr = 0,
    pattern = "",
    text = "",
    type = "",
    valid = 1,
    vcol = 0
  }, {
    bufnr = 27,
    col = 0,
    lnum = 0,
    module = "master:lua/octo/reviews.lua",
    nr = 0,
    pattern = "",
    text = "",
    type = "",
    valid = 1,
    vcol = 0
  }, {
    bufnr = 28,
    col = 0,
    lnum = 0,
    module = "master:lua/octo/writers.lua",
    nr = 0,
    pattern = "",
    text = "",
    type = "",
    valid = 1,
    vcol = 0
  } }
items2 { {
    bufnr = 26,
    col = 0,
    lnum = 0,
    module = "master:lua/octo/commands.lua",
    nr = 0,
    pattern = "+3 -0 modified",
    text = "",
    type = "",
    valid = 1,
    vcol = 0
  }, {
    bufnr = 27,
    col = 0,
    lnum = 0,
    module = "master:lua/octo/reviews.lua",
    nr = 0,
    pattern = "+5 -0 modified",
    text = "",
    type = "",
    valid = 1,
    vcol = 0
  }, {
    bufnr = 28,
    col = 0,
    lnum = 0,
    module = "master:lua/octo/writers.lua",
    nr = 0,
    pattern = "+6 -0 modified",
    text = "",
    type = "",
    valid = 1,
    vcol = 0
  } }
Error executing vim.schedule lua callback: ...nvim/site/pack/packer/opt/octo.nvim/lua/octo/reviews.lua:94: Vim(cc):E42: No Errors

Im puzzled, items2 shows that the QF has items, so no idea why cc throws the No Errors error. I have replaced all debug statements with one last print of the whole QF right before calling cc. Can you please try it?
Also, do you have any plugins that may be clearing the QF? have you tried removing all plugins but octo and telescope?

@tami5 can you please check the latest version of the test pr?

Hey @pwntester srry I totally forgot. One sec

E490: No fold found
{
  changedtick = 3,
  context = {
    items = { {
        diff = { {
            filename = "fugitive:///home/tamibam/.local/share/nvim/site/pack/packer/opt/octo.nvim/.git//435e10d4270e4c6ec390d5092431e30db2626b9e/lua/octo/reviews.lua",
            lnum = "0",
            module = "comments:lua/octo/reviews.lua",
            text = "",
            valid = 1
          } },
        patch = "@@ -86,6 +86,7 @@ function M.diff_changes_qf_entry()\n   M.clean_fugitive_buffers()\n \n   -- select qf entry\n+  print(vim.inspect(vim.fn.getqflist({all=0})))\n   vim.cmd [[cc]]\n \n   -- set `]q` and `[q` mappings to the qf entry buffer (head)"
      }, {
        diff = { {
            filename = "fugitive:///home/tamibam/.local/share/nvim/site/pack/packer/opt/octo.nvim/.git//435e10d4270e4c6ec390d5092431e30db2626b9e/lua/octo/writers.lua",
            lnum = "0",
            module = "comments:lua/octo/writers.lua",
            text = "",
            valid = 1
          } },
        patch = "@@ -9,6 +9,12 @@ local format = string.format\n \n local M = {}\n \n+--- Summary ends with a period.\n+-- Some description, can be over several lines.\n+-- @param p1 first parameter\n+-- @param p2 second parameter\n+-- @return a string value\n+-- @see second_fun\n function M.write_block(lines, opts)\n   local bufnr = opts.bufnr or api.nvim_get_current_buf()\n "
      } },
    left_sha = "435e10d4270e4c6ec390d5092431e30db2626b9e",
    pull_request_id = "MDExOlB1bGxSZXF1ZXN0NTY0NzE1NTY1",
    right_sha = "083f6e06bc1854a77bcb17d0ebf45bbf3f556b81"
  },
  id = 1,
  idx = 1,
  items = { {
      bufnr = 5,
      col = 0,
      lnum = 0,
      module = "master:lua/octo/reviews.lua",
      nr = 0,
      pattern = "+1 -0 modified",
      text = "",
      type = "",
      valid = 1,
      vcol = 0
    }, {
      bufnr = 6,
      col = 0,
      lnum = 0,
      module = "master:lua/octo/writers.lua",
      nr = 0,
      pattern = "+6 -0 modified",
      text = "",
      type = "",
      valid = 1,
      vcol = 0
    } },
  nr = 1,
  size = 2,
  title = ":Git difftool --name-only master..comments",
  winid = 1003
}

"fnl/auto/glob.fnl" 239L, 8329C

@tami5 So you got no errors this time?

Nope

Now I test it in other repo I get Error executing vim.schedule lua callback: ...nvim/site/pack/packer/opt/octo.nvim/lua/octo/reviews.lua:65: attempt to index a nil value

I think the issue might be from having itchyny/vim-qfedit now after removing it and testing on master I get
|| Error executing vim.schedule lua callback: ...nvim/site/pack/packer/opt/octo.nvim/lua/octo/reviews.lua:25: Vim(call):E117: Unknown function: qfedit#new
|| Error executing vim.schedule lua callback: ...nvim/site/pack/packer/opt/octo.nvim/lua/octo/reviews.lua:21: Vim(call):E218: autocommand nesting too deep

Now after last merge of test starting the previewer

Error executing vim.schedule lua callback: vim/shared.lua:64: s: expected string, got nil
stack traceback:
        vim/shared.lua:64: in function 'gsplit'
        vim/shared.lua:111: in function 'split'
        ...nvim/site/pack/packer/opt/octo.nvim/lua/octo/reviews.lua:126: in function 'diff_changes_qf_entry'
        ...nvim/site/pack/packer/opt/octo.nvim/lua/octo/reviews.lua0

ok, we are getting there. can you try one more time?

Okay no errors but still empty with

Fetching issues (this may take a while) ...

{
  changedtick = 3,
  context = {
    items = { {
        diff = { {
            filename = "fugitive:///home/tamibam/.local/share/nvim/site/pack/packer/opt/octo.nvim/.git//435e10d4270e4c6ec390d5092431e30db2626b9e/lua/octo/reviews.lua",
            lnum = "0",
            module = "comments:lua/octo/reviews.lua",
            text = "",
            valid = 1
          } },
        patch = "@@ -45,27 +45,27 @@ function M.update_changes_qf(changes, opts)\n   local qf = vim.fn.getqflist({context = 0, items = 0})\n \n   -- update item's text\n-  local items = qf.items\n+  --[[ local items = qf.items\n   for _, item in ipairs(items) do\n     for _, change in ipairs(changes) do\n       if item.module == format(\"%s:%s\", opts.baseRefName, change.filename) then\n         item.pattern = change.text .. \" \" .. change.status\n       end\n     end\n-  end\n+  end ]]\n \n   -- update context wiht SHA info\n   qf.context.left_sha = opts.baseRefSHA\n   qf.context.right_sha = opts.headRefSHA\n-\n   qf.context.pull_request_id = opts.pull_request_id\n \n   -- update context items with diff\n   for i, ctxitem in ipairs(qf.context.items) do\n     ctxitem.patch = changes[i].patch\n   end\n \n-  vim.fn.setqflist({}, \"r\", {context = qf.context, items = items})\n+  -- for now, update context but keep same items\n+  vim.fn.setqflist({}, \"r\", {context = qf.context, items = qf.items})\n end\n \n function M.clean_fugitive_buffers()\n@@ -86,6 +86,7 @@ function M.diff_changes_qf_entry()\n   M.clean_fugitive_buffers()\n \n   -- select qf entry\n+  print(vim.inspect(vim.fn.getqflist({all=0})))\n   vim.cmd [[cc]]\n \n   -- set `]q` and `[q` mappings to the qf entry buffer (head)"
      }, {
        diff = { {
            filename = "fugitive:///home/tamibam/.local/share/nvim/site/pack/packer/opt/octo.nvim/.git//435e10d4270e4c6ec390d5092431e30db2626b9e/lua/octo/writers.lua",
            lnum = "0",
            module = "comments:lua/octo/writers.lua",
            text = "",
            valid = 1
          } },
        patch = "@@ -9,6 +9,12 @@ local format = string.format\n \n local M = {}\n \n+--- Summary ends with a period.\n+-- Some description, can be over several lines.\n+-- @param p1 first parameter\n+-- @param p2 second parameter\n+-- @return a string value\n+-- @see second_fun\n function M.write_block(lines, opts)\n   local bufnr = opts.bufnr or api.nvim_get_current_buf()\n "
      } },
    left_sha = "435e10d4270e4c6ec390d5092431e30db2626b9e",
    pull_request_id = "MDExOlB1bGxSZXF1ZXN0NTY0NzE1NTY1",
    right_sha = "3094948613988f09d14ef104046c6d29a86169b8"
  },
  id = 1,
  idx = 1,
  items = { {
      bufnr = 14,
      col = 0,
      lnum = 0,
      module = "master:lua/octo/reviews.lua",
      nr = 0,
      pattern = "",
      text = "",
      type = "",
      valid = 1,
      vcol = 0
    }, {
      bufnr = 15,
      col = 0,
      lnum = 0,
      module = "master:lua/octo/writers.lua",
      nr = 0,
      pattern = "",
      text = "",
      type = "",
      valid = 1,
      vcol = 0
    } },
  nr = 1,
  size = 2,
  title = ":Git difftool --name-only master..comments",
  winid = 1009
}

It seems definitely a problem with itchyny/vim-qfedit. I can now reproduce your problem

yep, but still after removing it and switching to master I get Error executing vim.schedule lua callback: ...nvim/site/pack/packer/opt/octo.nvim/lua/octo/reviews.lua:65: attempt to index a nil value
FYI: it caused issues even with https://github.com/tami5/vlang.nvim which I discovered while debugging qf

That other error may be caused by your local version of the PR branch being out of sync with the remote branch as it happens when GitHub API returns a number of changed files which is different than the one returned by fugitive. Will add some error checks to prevent that

I'm going to test it later tonight. Thanks @pwntester

@pwntester no errors but still empty preview.

Hi @tami5 This seems to be a problem with vim-fugitive in your enviroment, can you please:

checkout the comments branch
start neovim
edit lua/octo/commands.lua
run :Git difftool master...comments

This should populate the QF window and open a buffer called fugitive:///Users/pwntester/dev/octo.nvim/.git//c031430ce9bb690fef1a8aa8d5f391a9eba1e7b7/lua/octo/commands.lua

:laughing: yes it seems so
fugitive:///home/tami/.local/share/nvim/site/pack/depm/opt/octo.nvim/.git//c031430ce9bb690fef1a8aa8d5f391a9eba1e7b7/lua/octo/reviews.lua it opened this. with empty diff. you ware right. hmmmm how do I fix this :thinking:

🤷♂ does other fugitive commands work for you? I suggest trying with no additional plugins and start adding them in groups to see who is to blame

FOUND IT "BufReadPost fugitive://*     :e" it was this :cry: . Thanks sooooooo much @pwntester !!!!!!!

No problem, glad it works for you now! Were you overriding fugitive:// handler with edit what for?

I think it was a mistake autocmd. old nvim config I never reviewed. btw what I can do in the review buffer? I only see those mapping

can I comment on them ?

Yep, use :OctoReviewComment which will open a new buffer to enter the comment. When done, save the buffer and optionally close the window.
If you want to review what comments you entered, you can use Octo review comments
When ready to submit do Octo review submit. Enter the review comment and then <c-a>, <c-m> or <c-r> as explained in that buffer. no need to save that buffer, just use one of those mappings in normal mode.
I need to work on the documentation, but i prefer to get some feedback before making it "official", so please feel free to send any feedback/ideas!

I think it was a mistake autocmd. old nvim config I never reviewed. btw what I can do in the review buffer? I only see those mapping

what is that keymaps picker? is it built-in? i need to review the new pickers ...

Yep, use :OctoReviewComment which will open a new buffer to enter the comment. When done, save the buffer and optionally close the window.
If you want to review what comments you entered, you can use Octo review comments
When ready to submit do Octo review submit. Enter the review comment and then <c-a>, <c-m> or <c-r> as explained in that buffer. no need to save that buffer, just use one of those mappings in normal mode.
I need to work on the documentation, but i prefer to get some feedback before making it "official", so please feel free to send any feedback/ideas!

:heart_eyes: @pwntester this is amazing experience. yah documentation and similar mappings to pr edit.

what is that keymaps picker? is it built-in? i need to review the new pickers ...

Yah :laughing: there is a new picker every few days. This one is builtin. Telescope keympas. the above image is slightly modified to look that way.


Bump webpki-roots to 0.23

This matches the version that hyper-rustls depends on so that users of the feature don't end up with duplicated webpki crates.
I apologize for not getting this PR up before the 0.11.18 release that was already done for rustls-related upgrades.

Thanks for catching this.


Completed Debug Flags

There now exist four debug flags that do stuff when the brain flak program in which they appear is run by the interpreter with the -d or --debug flag (otherwise they are ignored). This resolves issue #6

#dv prints the current value
#dc prints which stack is the current stack (left or right) and its contents
#dl prints the contents of the left stack
#dr prints the contents of the right stack

Fixes a bug where nilads containing nonbracket characters that weren't part of debug flags would behave as monads with no contents.
The program now uses optparse for handling command line options

I have played around with this a bit and found no bugs


Frappe Site State Terminated Reason Completed Exit Code: 0 Kubernetes Cluster

Hello,
We installed ERPNEXT with helm. we using separate Redis Cache and Mariadb on same namespace default in kubernetes.
Created New site status is Completed. Kindly see the attachment of logs and describes.

logs are missing?

the site did get created.
what's the problem you're facing after that?

Here are the creating site logs.
kubectl logs new-app--1-ckb6p
Attempt 1 to connect to <IP_ADDRESS>:3306
Attempt 1 to connect to frappe-bench-erpnext-redis-queue:12000
Attempt 1 to connect to <IP_ADDRESS>:6379
Attempt 1 to connect to frappe-bench-erpnext-redis-socketio:11000
Connections OK
Created user _42204342a4907426
Created database _42204342a4907426
Granted privileges to user _42204342a4907426 and database _42204342a4907426
Starting database import...
Imported from database /home/frappe/frappe-bench/apps/frappe/frappe/database/mariadb/framework_mariadb.sql
Installing frappe...
Updating DocTypes for frappe        : [========================================] 100%
Updating country info               : [========================================] 100%
*** Scheduler is disabled ***
NAME                                                  READY   STATUS      RESTARTS      AGE
frappe-bench-erpnext-erpnext-86bb58688c-c9262         2/2     Running     1 (13m ago)   14m
frappe-bench-erpnext-redis-queue-5fd5f4465f-v2fgb     1/1     Running     0             14m
frappe-bench-erpnext-redis-socketio-646c795b9-qc4t6   1/1     Running     0             14m
frappe-bench-erpnext-scheduler-548f998948-9pw6q       1/1     Running     0             14m
frappe-bench-erpnext-socketio-764bcfdff9-9752p        1/1     Running     0             14m
frappe-bench-erpnext-worker-d-5fdb997cdf-dxfzc        1/1     Running     0             14m
frappe-bench-erpnext-worker-l-96875fdf4-n2622         1/1     Running     0             14m
frappe-bench-erpnext-worker-s-844dd57b74-kr22h        1/1     Running     0             14m
ingress-nginx-controller-5cc57bf6c7-p4v2h             1/1     Running     3 (12h ago)   3d
my-release-mariadb-0                                  1/1     Running     2 (12h ago)   16h
new-app--1-ckb6p                                      0/1     Completed   0             9m45s
nfs-client-provisioner-6bf54b8c9b-4qk62               1/1     Running     5 (29m ago)   2d23h
redis                                                 1/1     Running     4 (29m ago)   47h
Name:         new-app--1-ckb6p
Namespace:    default
Priority:     0
Node:         k8s-worker02/<IP_ADDRESS>
Start Time:   Fri, 08 Oct 2021 09:34:20 +0500
Labels:       controller-uid=d6c133df-d7ba-4f60-9783-37f25a10153d
job-name=new-app
Annotations:  cni.projectcalico.org/containerID: d79b250959a6da57262e23a8ceb0454403853390f2c11813294cb526bcd70546
cni.projectcalico.org/podIP:
cni.projectcalico.org/podIPs:
Status:       Succeeded
IP:           <IP_ADDRESS>
IPs:
IP:           <IP_ADDRESS>
Controlled By:  Job/new-app
Containers:
create-site:
Container ID:  docker://ace1624e9e42fb8eafea597aa71ff5dbe9a6e1013bf6a8653c758d377a5e1e56
Image:         frappe/erpnext-worker:v13
Image ID:      docker-pullable://frappe/erpnext-worker@sha256:739ed74c221c24de828fc8d8d2be478402222de51b64a0925048f4be162f0ab5
Port:
Host Port:
Args:
new
State:          Terminated
Reason:       Completed
Exit Code:    0
Started:      Fri, 08 Oct 2021 09:34:35 +0500
Finished:     Fri, 08 Oct 2021 09:42:09 +0500
Ready:          False
Restart Count:  0
Environment:
SITE_NAME:            new-app
DB_ROOT_USER:         root
MYSQL_ROOT_PASSWORD:  <set to the key 'mariadb-root-password' in secret 'my-release-mariadb'>  Optional: false
ADMIN_PASSWORD:       ${ADMIN_PASSWORD}
Mounts:
/home/frappe/frappe-bench/sites from sites-dir (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-cpgnz (ro)
Conditions:
Type              Status
Initialized       True
Ready             False
ContainersReady   False
PodScheduled      True
Volumes:
sites-dir:
Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName:  frappe-bench-erpnext
ReadOnly:   false
kube-api-access-cpgnz:
Type:                    Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds:  3607
ConfigMapName:           kube-root-ca.crt
ConfigMapOptional:
DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type    Reason     Age   From               Message

Normal  Scheduled  10m   default-scheduler  Successfully assigned default/new-app--1-ckb6p to k8s-worker02
Normal  Pulled     10m   kubelet            Container image "frappe/erpnext-worker:v13" already present on machine
Normal  Created    10m   kubelet            Created container create-site
Normal  Started    10m   kubelet            Started container create-site

the site did get created.
what's the problem you're facing after that?
after creating the site, you'll need to create ingress.

root@k8s-master01:~# kubectl get ingress minimal-ingress
NAME              CLASS    HOSTS   ADDRESS   PORTS   AGE
minimal-ingress      *                 80      12s
root@k8s-master01:~# kubectl describe ingress minimal-ingress
Name:             minimal-ingress
Namespace:        default
Address:
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host        Path  Backends

      /   frappe-bench-erpnext:80 (<IP_ADDRESS>:80)

Annotations:  nginx.ingress.kubernetes.io/rewrite-target: /
Events:

I am stuck in Default backend
Name:             ingress-new-site
Namespace:        default
Address:
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
TLS:
tls.new.app terminates new.app
Rules:
Host        Path  Backends

      /   frappe-bench-erpnext:80 (<IP_ADDRESS>:80)

Annotations:  cert-manager.io/cluster-issuer: letsencrypt-prod
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: true
Events:
Type    Reason             Age   From                      Message

Normal  Sync               24s   nginx-ingress-controller  Scheduled for sync
Normal  CreateCertificate  24s   cert-manager              Successfully created Certificate "tls.new.app"

check the available services
kubectl get svc -n <replace namespace>
DO NOT COPY, change <replace namespace> to namespace where ERPNext helm release is installed.
the default backend should be frappe-bench-erpnext


Prettify plots

Adjust script to allow for a proper renaming and configuration of plots.
Comprises:

[x] prices and costs analyses
[x] exogenous plant analyses
[x] demand analyses
[x] investment results inspection
[ ] investment results dispatch inspection
[ ] Optionally: power price validation

The only mandatory thing that is missing is the dispatch results visualization for investment model outcoms.

Finished now. Needs to be critically checked before merging.


AZERTY keyboard problem

There is a problem with AZERTY keyboards : numbers typed via the SHIFT + number combo are ignored due to the "get shifted keyCode value" feature of the plugin :
See lines 205-28 :
} else if (e.shiftKey && _keydown.shifts.hasOwnProperty(code)){
 //get shifted keyCode value
 chara = _keydown.shifts[code];
}

On AZERTY keayboards, numbers and symols are inverted : symbol is default. Eg: SHIFT+&=1

} else if (e.shiftKey && _keydown.shifts.hasOwnProperty(code) && code<48 && code>57){
    //get shifted keyCode value
    chara = _keydown.shifts[code];
}

We are experiencing this issue now with 2.1.5, a couple users in France with AZERTY keyboards can't enter numbers. However, I'm not clear where to make code edits since I don't seem to be seeing what is mentioned in the above two comments:
              if (_keydown.codes.hasOwnProperty(code)) {
                code = _keydown.codes[code];
              }
              if (!e.shiftKey && (code >= 65 && code <= 90)){
                code += 32;
              } else if (!e.shiftKey && (code >= 69 && code <= 105)){
                code -= 48;
              } else if (e.shiftKey && _keydown.shifts.hasOwnProperty(code)){
                //get shifted keyCode value
                chara = _keydown.shifts[code];
              }

              if( chara == '' ) chara = String.fromCharCode(code);


Not work with uncap

I swap my capslock and left ctrl with uncap. As a result shortcuts doesn't work with left ctrl or capslock.

No idea. It's managed by SDL anyway, probably nothing scrcpy could do.


Null safety/coalescing function?

Describe the feature in as much detail as possible.
A null coalescing function, similar to that of the null coalescing operator found in most modern languages (?? in C#, ?: in Kotlin, || in JS almost). Except in here it would be a template function named or, or something similar.
I believe this would make code a bit cleaner, as there would be less ifs and temporary variables scattered around the place.
Include sample usage where appropriate.
#include"json.hpp"
#include<iostream>
int main() {
    nlohmann::json j = R"({"x": 5, "y": null})"_json;
    std::cout << j["x"].or(29) << ' ' << j["y"].or(10) << std::flush;
}

Expected output would be:
 5 10

Here is the documentation of the value function.
I think the proposed code is a bit dangerous: What should happen in case of j["z"].or(10)?

If j is non-const, then null is added to the object at key z, and 10 would be returned by the or function.
If j is const, then access at a non-existing key is undefined behavior.

That's why I am not convinced that a member function or is a good idea, because we cannot make a check whether the given key exists in the first place.

We implement the operator[] for maps just like for arrays: no range check is performed; that is, no overhead is produced in case the client code knows the key is present.

I don't like that "magic" approach with the .or() function, regardless that or is a keyword in C++ and cannot be used as a function name at all.
If you insist having a function that "gets a value or returns a default value", I'd name that function clearly:
j.get_or_default("key", compiletime_default_value).
Why? Well, always remember: You don't write the code for yourself! Consider your project is getting successful, and in a year or so your successor (or a less-motivated maintainer) has to understand your code, too. And – obviously, because you are the best C++ hacker on earth – his C++ knowledge is far more limited than yours, but he also has to understand your code, even at 3 a.m. when he has to hunt for a nasty bug etc.
;-)

I don't like your "magic or() function approach", regardless that or is a keyword in C++ and cannot be used as a function name at all.
If you insist of having a function that "gets a value or return a default value", I'd name it this way:
j.get_or_default_value("key", compiletime_default_value)
Why? Well, always remember: You don't write the code for yourself!  If your project is getting successfull, there will be another guy who might be your successor or a maintainer who is hunting for a bug at 3 a.m. And – obviously, because you are the best C++ hacker on earth – their C++ knowledge is far less than yours, but they also have to understand your code, even at 3 a.m.!
So I'd always prefer functions with clear names instead of magic syntax or awkward overloaded operators. :-)

I don't like your "magic or() function approach", regardless that or is a keyword in C++ and cannot be used as a function name at all.
If you insist of having a function that "gets a value or return a default value", I'd name it this way:
j.get_or_default_value("key", compiletime_default_value)
Why? Well, always remember: You don't write the code for yourself!  If your project is getting successfull, there will be another guy who might be your successor or a maintainer who is hunting for a bug at 3 a.m. And – obviously, because you are the best C++ hacker on earth – their C++ knowledge is far less than yours, but they also have to understand your code, even at 3 a.m.!
So I'd always prefer functions with clear names instead of magic syntax or awkward overloaded operators. :-)

I don't like your "magic or() function approach", regardless that or is a keyword in C++ and cannot be used as a function name at all.
If you insist of having a function that "gets a value or return a default value", I'd name it this way:
j.get_or_default_value("key", compiletime_default_value)
Why? Well, always remember: You don't write the code for yourself!  If your project is getting successfull, there will be another guy who might be your successor or a maintainer who is hunting for a bug at 3 a.m. And – obviously, because you are the best C++ hacker on earth – their C++ knowledge is far less than yours, but they also have to understand your code, even at 3 a.m.!
So I'd always prefer functions with clear names instead of magic syntax or awkward overloaded operators. :-)

@RokerHRO This function exists and is called valued, using the name from Python's dict.

@nlohmann : Excellent!  Okay, I would have chosen another name, because value() is a quite generic name and I don't know Python, so I have no associations with Python's dict. But …meh…, I can live with that. :-)

@lvivtotoro Can I close this issue in favor of the value function?

Yup.


fix: Added WriteBytesAndSize tests, and fixed the function to be pedantic.

There were several problems with WriteBytesAndSize, all are covered by this test:

negative count check happened after Write(isNull), which meant that you could provide a negative count argument which should be rejected, and have it still write a boolean out, modifying Position.
negative count check didnt throw any exception, only logged an error.

All tests pass.

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


Add virtual worker IDs to spatial debugger

Description
Currently, the SpatialDebugger only shows a colour representing a virtual worker for both authority and authority intent. Having the debugger should the actually virtual worker ID would probably be useful.

The code uses the virtual worker colour luminance to determine whether we should have dark or light text for the number.
I'm currently just figuring out how to make this look nice for larger virtual worker IDs
Primary reviewers
@jennifer-at-improbable-io

Hi @alastairdglennie, one thing I should mention - rendering text through the Unreal API here is several orders of magnitude more expensive than rendering icons.  As a result, it might be a good idea to make this an optional feature.

Sounds good, raised https://improbableio.atlassian.net/browse/UNR-2951


[New] jsx-no-leaked-render: add ignoreAttributes option

Fixes #3292
When ignoreAttributes is true, validation of JSX attribute values is skipped.
Todo

[ ] write docs

I think ignoreProps would be a more suitable name here.

Can you elaborate on the use case here?
Certainly the component you're passing the prop value to might not be directly rendering it - but I'm not sure why that makes it OK to pass a renderable falsy value.

The use case is preferring to avoid false positives. The component receiving the prop is responsible for avoiding leaky render. Many prefer to keep the warning local to where the prop is actually rendered.

I see - so you're saying, you still want to report on leaky renders on DOM elements, but you don't want to do that on props on custom elements so that the custom component has the responsibility to check for it?
In that case, what i'd expect is that this could be ignoreNonDOMProps, and it would only suppress warning on props of non-DOM elements - would that meet your use case?

This rule is unusable to me until this PR is landed. I need to handle a very basic usecase of <Component isFooBar={isFoo && isBar}>. This rule currently auto-breaks that line by converting it into <Component isFooBar={isFoo ? isBar : null }>. My component doesn't take null as a prop, nor should it be required to.

I want to know how to use the ignoreAttributes option?
i use it like belows code, but it throw an error.
  "react/jsx-no-leaked-render": ["error", { "validStrategies": ["coerce"], ignoreAttributes: true }]

Is there a use case that i can refer to?

@l1135677068 this PR isn't merged yet, and thus can't be released yet either, so you can't use it yet.

I've just rebased this PR; it's ready to go once there's documentation. If someone wants to leave a code review suggestion, I can pull it in and land this.

If someone wants to leave a code review suggestion, I can pull it in and land this.

ok, i get it.

I think considering this PR has been open for 2 years without movement from the author (who is active), it's potentially safe to say they have higher priorities at this time.
I would suggest to get this past the finish line, by someone championing it and picking up where the original author left off.  Fork his fork, make the necessary documentation changes, and create a separate pull request and link it to this one.  @artemxknpv you wrote a documentation change suggestion, maybe you'd like to take this on?
It's so close, and it's crazy to me that 2 years have passed on this and all it required were some documentation updates.
I would also suggest that ignoreAttributes be replaced with ignoreProps or ignoreNonDOMProps like @ljharb has suggested.  I think ignoreProps is much more concise and simple but that's my opinion.

I agree with the use of ignoreProps, which I think is more in line with what the props do. Does anyone have any idea how much more needs to be done on the PR before we can merge? 🤗 Maybe @ljharb


Added log messages to debug assignPartitions

We observed that the leader has a tendency to get stuck on this method (in some rare cases for more than 5 minutes). Added log messages to help debug the issue.
Note that the test suite in TestLoadBasedPartitionAssigner do not capture such performance problems. Attempts to reproduce them locally didn't work.

I remember us talking about putting logs around any IO operations that might be happening, should we add some logs there as well?

Throughput Provider Interactions.
ZK Interactions if any.

I remember us talking about putting logs around any IO operations that might be happening, should we add some logs there as well?

Throughput Provider Interactions.
ZK Interactions if any.

The consensus at the end of the meeting was that the assignPartitions method is where the CPU time is spent. I avoided adding logs in other places as to keep unnecessary logging to minimum.


HylaFAX: fix ModemGroup, also minor metadata updates

Motivation for this change
HylaFAX+ handles the ModemGroup parameter differently from the way the relevant manpage claims it is handled. This can lead to stuck jobs.
I'm using this opportunity to update/improve further minor aspects of the HylaFAX package and module.
Things done

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

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

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

At least the ModemGroup commit should be applied to release-19.03 as well. The other might be backported also as they change metadata only. Should I open a separate pull request for 19.03 ?

What's the motivation behind switching from sha256 -> sha512?

What's the motivation behind switching from sha256 -> sha512?

That's just a feeling in my gut that sha512 is certainly no less reliable, possibly more one day. There is not need for this change beyond.
We can also drop this commit .. should we? Should I replace the pull request?

Well currently the auto-update bot (@r-ryantm) at least only works for sha256, and all nix prefetching scripts output sha256 by default, so I think it might be better to keep using sha256. You don't need to replace the PR, you can just remove that commit with a git rebase -i HEAD~4 or so

Well currently the auto-update bot (@r-ryantm) at least only works for sha256
Aha, I didn't know that, that's a good reason to keep it sha256. Thanks for this information. I dropped the respective commit.


Update and consolidate links in number types

Updates the links under number types
Change Summary

Related issue number

Checklist

[ ] Unit tests for the changes exist
[ ] Tests pass on CI and coverage remains at 100%
[x] Documentation reflects the changes where applicable
[ ] changes/<pull request or issue id>-<github username>.md file added describing change
(see changes/README.md for details)
[x] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

please review


OCIO won't compile with Visual Studio 2022

There may be a number of problems, but one has to do with PyBind 11:
https://github.com/pybind/pybind11/pull/3497

Hi @doug-walker,
Do you have a build log to share? I'm a bit surprised as the analysis nightly build currently pass on Visual Studio 2022 as far as I know.

@remia , good point!  I did not realize that the Analysis is now using VS 2022, unlike CI which is still on VS 2019.  However, the Analysis is not building the Python binding:
https://github.com/AcademySoftwareFoundation/OpenColorIO/blob/b00877959f4497f9b8e5a08859d0ef8059fdd8e5/.github/workflows/analysis_workflow.yml#L361
So that's why it doesn't seem to be running into the PyBind 11 problem I mentioned.
I notice the Analysis is installing PyBind 11 on Windows but then not using it (like it seems to for Linux and Mac).  Do you think Analysis should be building and testing the binding on Windows too?  @michdolan , any thoughts?
(We are working on trying to improve the Windows install instructions, so that's how we ran into the VS 2022 issue.)

Yes that's a good catch, I'm not sure why it's setup like this but that was probably me during testing that noticed some issues with Python then forgot to go back and fixing it. I'll look into it when I get some time.
The next release, assuming it's a bump of VFX platform, will probably be a good opportunity to review all dependencies and increase minimal version where appropriate.

I'm currently stuck trying to enable Python testing on the analysis build, there is a DLL load import error while running the Python unit test and I'm not able to understand where it comes from yet, it's very hard to debug using only Github Actions jobs. Note that it manages to successfully compile with pybind 2.6.2 on Visual Studio 22 so I assume it's a different issue than what you saw.

Yes, definitely a different issue.  The Pybind issue we encountered was only in Debug mode and the analysis builds in Release mode.
https://github.com/pybind/pybind11/pull/3497
https://github.com/microsoft/onnxruntime/issues/9735

Should we bump the CI workflow to Visual Studio 2022 and update pybind11?

Remi, we have updated pybind in PR #1647.
Regarding bumping CI to 2022, I think we should.  Especially since the draft CY2023 VFX Platform lists that as the minimum version: https://vfxplatform.com/
If no one objects, we will bump the CI to use Visual Studio 2022.


feat: Dates Tab integration with Calendar

Jira Tickets:

LEARNER-9665: iOS - Dates Tab integration with Calendar
LEARNER-9855: iOS - Calendar Integration deep links implementation in local calendar events

Github Issues:

#160
#271

Light Mode
Dark Mode

Demos
Light Mode: Sync and un-sync events in calendar application:
https://github.com/openedx/openedx-app-ios/assets/11990137/6ede28c0-ee35-4ada-9a36-0b68ec78e809
Light Mode: Update out dated calendar:
https://github.com/openedx/openedx-app-ios/assets/11990137/62096372-c2f7-468c-83fd-04c4af5904a3
Light Mode: Deep Linking:
https://github.com/openedx/openedx-app-ios/assets/11990137/3158a1f9-08d9-45d4-af6c-0ff2c20cb1eb
Dark Mode: Sync and un-sync events in calendar application:
https://github.com/openedx/openedx-app-ios/assets/11990137/ee88045d-6afa-483e-ac85-b5c43be4edbb
Dark Mode: Update out dated calendar:
https://github.com/openedx/openedx-app-ios/assets/11990137/fea2905e-4b98-455a-bb03-0c4f43c5204b

Hey @shafqat-muneer, thanks, looks great! 🚀
Do you know why the deep link from the calendar app didn't take the user to the specific course page?
I thought it would work after @eyatsenkoperpetio introduced https://github.com/openedx/openedx-app-ios/pull/329
Do we need to develop anything else to make it work like that?
https://github.com/openedx/openedx-app-ios/assets/11990137/3158a1f9-08d9-45d4-af6c-0ff2c20cb1eb

Hey @shafqat-muneer, thanks, looks great! 🚀 Do you know why the deep link from the calendar app didn't take the user to the specific course page? I thought it would work after @eyatsenkoperpetio introduced #329 Do we need to develop anything else to make it work like that?
RPReplay_Final1710750802.mp4

Hi @volodymyr-chekyrta, thanks for the review.
I've just finished implementing the generation of deep link URLs for the calendar in this pull request. That's why it hasn't been included in #329. I'll proceed to open another pull request to direct the user to the specific course page.

Hey @shafqat-muneer, thanks, looks great! 🚀 Do you know why the deep link from the calendar app didn't take the user to the specific course page? I thought it would work after @eyatsenkoperpetio introduced #329 Do we need to develop anything else to make it work like that?
RPReplay_Final1710750802.mp4

Hi @volodymyr-chekyrta, thanks for the review. I've just finished implementing the generation of deep link URLs for the calendar in this pull request. That's why it hasn't been included in #329. I'll proceed to open another pull request to direct the user to the specific course page.

Makes sense to me, thank you! 👍

@saeedbashir I have addressed requested changes.
@volodymyr-chekyrta Please also review this pull request. Thank you.


Scaffolding Identity on visual studio 2019 core 3.0 issue

I just installed visual studio 2019 and core 3.0 is included with the installation.
Then i created new project without authentication after that i scaffolded the identity with custom user and run the application but not able to reach register and login page it is redirecting me to home page with url:
https://localhost:44391/?area=Identity&page=%2FAccount%2FLogin

also
using Microsoft.AspNetCore.Identity;
is missing in RegisterConfirmation Page

@vijayrkn and @mkArtakMSFT for some ideas.

@HaoK has addressed some of these issues. @HaoK - can you please help with this?

This is being tracked here https://github.com/aspnet/AspNetCore/issues/16802, closing as dupe


Hotfix Variable

Task linked: CU-kd4rcp Fang Shoot Balance

@telmiuse this change is not necessary because this is no longer in the script


Using Prepared / Compiled Statements?

Forgive me if this is documented, but I can't seem to find anything about using prepared / compiled statements with DB Flow? Is this something that's possible?

no documentation really but doing queries in the SQLite query language you can create a precompiled statement using the compileStatement() method.
For example:
DatabaseStatement statement = SQLite.select().from(...).compileStatement();

DatabaseStatement is just a wrapper around SQLiteStatement which allows us to use both Android + SQLCipher.


hi, what is the current status? is weex production ready?

This PR/issue doesn't received response since Weex migrated to Apache two years ago and this repository is no longer active yet.
Feel free to ask question in new repository and thanks for your contribution.

This issue is outdated for a long time and will be closed now. You can create a new one if you still have questions.


added DelayLoadMetadata option to IdentityServerBearerTokenAuthenticationOptions

Fixes #57 and related to #61 with the suggested modifications.

Hi @tugberkugurlu, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

Looks like that's what needs to be done.. have you tested it "for real" ??

@leastprivilege sorry, missed this somehow :disappointed: no, I haven't. I trusted the tests :trollface:

thanks!


fix package name

Hey, I was about to test your package, but stumbled upon the first step (invalid package name).
So I thought I'll fix it while installing PHP 8.2 😁
BTW: I need discounts, so I'll see how far I can get, as it is not yet covered ...

Hey, I was about to test your package, but stumbled upon the first step (invalid package name). So I thought I'll fix it while installing PHP 8.2 😁
BTW: I need discounts, so I'll see how far I can get, as it is not yet covered ...

Hi Kevin!
Nice to meet you. I couldn't complete this in the expected time, but I'm moving forward to continue working on this package. I am going to expense a few more hours today. I'll let you know about the results. Thank you so much for your curiosity and support.

Thanks for merging 👍


Remove describe.only

Remove the describe.only that was left by #3402.

LGTM

Sorry about that. And thanks @fredj for the review.


Chris GSOD2021

Note:

Please make sure to check the following boxes creating your pull request, thank you very much!

[ ] Add Blog Header, including title, author, image, categories, tags, etc.
For example:
---
title: Your Great Blog Title
author: your_github_id
categories: project
tags:
  - python
  - padlocal
image: /assets/2021/02-your-blog-slug/teaser.jpg
---

One line bio

Your blog post content Your blog post content
Your blog post content Your blog post content
Your blog post content Your blog post content

It will be easier to start drafting your post by using a existing post file as your template, for example, this one

[ ] Keep all filenames lowercase, and use - to connect words instead of space. e.g. 2017-10-06-wechat-pc-impactor.md instead of 2017-10-06-WeChat PC Impactor.md

[ ] Embed video/pdf from YouTube/Bilibili/local (if there's any) by using {% include iframe.html src="URL_or_PATH" %}. (Learn more about how to embed file/url in the post by reading this blog post

[ ] Save photo to local before publishing, to a folder named by ${MONTH}-${YOUR_BLOG_SLUG}/ under /assets/2021/ directory.

[ ] Select a beautiful and meaningful teaser image for your blog

[ ] Create your contributor profile (if you are a first time contributor)
For excample:

jekyll/_contributors/lijiarui.md

---
name: Jiarui LI (李佳芮)
site: https://lijiarui.github.io
bio: 句子互动创始人 & CEO，微软人工智能最具价值专家 (AI MVP)
avatar: /jekyll/assets/contributors/lijiarui/avatar.png
email<EMAIL_ADDRESS>twitter: https://weibo.com/u/2175505900
---

Here is the example file:

lijiarui.md: https://github.com/wechaty/wechaty.js.org/blob/master/jekyll/_contributors/lijiarui.md
It will shown like this on wechaty website: https://wechaty.js.org/contributors/lijiarui/

To learn more about the contribute guideline, visit: https://wechaty.js.org/docs/contributor-program/

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi @chris-4444 is the PR ready to be merged or you would like to push few more commits?

Hi @shraddhavp As GSoD Project PR Review Rules in https://github.com/wechaty/wechaty.js.org/issues/1045
This PR should follow our rules and get enough approval, then I will review this PR. So I remove the ready to merge tag and feel free to add this tag when it gets enough approval.

@chris-4444 either work upon this, or close this : )

ping @chris-4444

ping @chris-4444
We will close this PR if there has no more commits send to it before the end of Sep.

ping @chris-4444
I will close this PR tomorrow.

No worries, we can close this PR. I was creating my own proposal and then, came the joint proposal after the Wechaty meeting, just before the final TW selection. Ty. 😎


Check the search functionality

Please, check the search functionality on the https://dao.ubq.fi/ works properly
If there are issues, then figure out the root cause of each issue
Pages
https://dao.ubq.fi
https://dao.ubq.fi/docs

It is supposed to be solved in https://github.com/pavlovcik/uad-docs/pull/6

The search functionality became availability
It is required to review the UI


sticky classes applied incorrectly after parent height changes

Requested Update
It seems like stickybits caches some values upon initialization but those cached values become invalid if certain things on the page change, like the height of the parent of the stickied element. Stickybits should be able to detect such changes and re-compute these values automatically, otherwise its calculations are off and it applies sticky classes at the wrong times.
Here's a simple example codepen that shows the issue: https://codepen.io/kfedorov91/pen/rqqYer
Reproduction steps are inside the codepen.
Why Is This Update Needed?
It's unexpected that sticky classes break if the parent height changes, this broken behavior should at least be documented but ideally fixed.

@kfedorov91 did you try .update()?

Closing b/c the was no response.


Changes char to chr in hashing function.

THe coffeescript compiler produces a varable named char which is a reserved word in javascript.
Fixes #14

Thanks! Do you think you could update the commit to not include the compiled code? It makes history a bit of a mess.

No problem should be all set now. wasn't sure if you wanted it in there since that file was not in .gitignore

Thanks! Yeah, it does get committed, but I prefer to do it in the release commit so the history is cleaner.


Fix typo in min-api-filters.md

The sentence:

The follow code shows...

Should read:

The following code shows...

Internal previews

📄 File
🔗 Preview link

aspnetcore/fundamentals/minimal-apis/min-api-filters.md
Filters in Minimal API apps

Thanks @guardrex! Minimal APIs have come a long way in .NET 8 and the docs have really helped me get up to speed quickly 🔥


Add Behat annotation to ignored annotations for Doctrine fixers

This avoids breaking the Behat annotation when fixing Doctrine annotations

Could you please update the ignored tags cases in the Doctrine Annotation fixers tests to include these new ones?
I'm not sure we should have those in the default list though.

Well, if we don't have them in the default, we break Behat contexts by default when running the fixer. Why is it better than breaking PHPUnit exception assertions ?
And adding new ignored annotations is a pain, because it requires copying all the default ignored ones too. We cannot easily merge the array (and there is no way to access the default array easily).

In the beginning I only wanted to have the same ignored tags as Doctrine Annotation lib itself, but PHP CS Fixer uses PHPUnit, probably just like most of the projects that uses this tool so I added PHPUnit tags to the list for convenience.

And adding new ignored annotations is a pain, because it requires copying all the default ignored ones too.

I agree it would be nice to be able to merge new values with default ones.

I agree it would be nice to be able to merge new values with default ones.

I just though about a way to do it: expose the default array through a static method (a static property would not fit it as the default array would be mutable). This way, the config file can use array_merge(AbstractDoctrineAnnotationFixer::getDefaultIgnoredAnnotation(), array('Transform'))

Would work for this fixer, but something more generic that could be used for any array option of any fixer would be better IMO.

Well, this would require stopping to use the OptionResolver of Symfony to do the processing of options, as it does not allow merging an array value with the default value.

normalizer could change value of passed option, eg add default values to passed array

@keradus but then you loose the ability to unignore some. So this should not be added blindly to all array configurations

@julienfalque , @stof
guys, please finish this PR ;)

@stof Would this PR remain relevant if #2700 is merged?

@julienfalque probably not. To be tried again once the other PR is merged.

#2700 is merged. please check it out @julienfalque , @stof

ping @julienfalque , @stof

ping @julienfalque , @stof

ping @julienfalque , @stof

Let's close. The initial issue has been fixed so adding Behat annotations to ignored list may not be required anymore anyway.

Cool.
@stof, in any case, feel free to reopen adding more information


Fingerprints break for new version of scikit-fingerprints

With the newest version 1.12.0 of scikit-fingerprints, our code breaks. This can be seen when e.g. running the Basics/campaign example which fails when having package version 1.12.0 but works for 1.11.0.
m290244@deda1x5085:~/baybe> python examples/Basics/campaign.py
Traceback (most recent call last):
  File "/home-cdo/m290244/baybe/examples/Basics/campaign.py", line 60, in <module>
    searchspace = SearchSpace.from_product(parameters=parameters)
  File "/home-cdo/m290244/baybe/baybe/searchspace/core.py", line 145, in from_product
    discrete = SubspaceDiscrete.from_product(
  File "/home-cdo/m290244/baybe/baybe/searchspace/discrete.py", line 253, in from_product
    return SubspaceDiscrete(
  File "<attrs generated init baybe.searchspace.discrete.SubspaceDiscrete>", line 14, in __init__
    _setattr('comp_rep', __attr_factory_comp_rep(self))
  File "/home-cdo/m290244/baybe/baybe/searchspace/discrete.py", line 166, in _default_comp_rep
    comp_rep = self.transform(self.exp_rep)
  File "/home-cdo/m290244/baybe/baybe/searchspace/discrete.py", line 688, in transform
    comp_df = param.transform(df[param.name])
  File "/home-cdo/m290244/baybe/baybe/parameters/base.py", line 142, in transform
    right=self.comp_df,
  File "/home-cdo/m290244/miniforge3/envs/baybe310/lib/python3.10/functools.py", line 981, in __get__
    val = self.func(instance)
  File "/home-cdo/m290244/baybe/baybe/parameters/substance.py", line 135, in comp_df
    comp_df = chemistry.smiles_to_fingerprint_features(
  File "/home-cdo/m290244/baybe/baybe/utils/chemistry.py", line 152, in smiles_to_fingerprint_features
    col_names = [
  File "/home-cdo/m290244/baybe/baybe/utils/chemistry.py", line 153, in <listcomp>
    prefix + name + f.split("fingerprint")[1]
IndexError: list index out of range

Explicitly pinging @Hrovatin here as she created this feature. Will create a hotfix PR pinning the version for now.

I could reproduce that error on a fresh installed environment as well.

Note that I implemented the passthrough of explicit descriptor names in .get_feature_names_out() into skfp for mordred and rdkit2ddescriptors which should be part of the new release
Not sure if related to the issue but was a point of discussion before

Resolved by #447 .


CloudWatch alarms for Satellite account log replication

Summary
Add a CloudWatch alarm to the Satellite accounts that detects when log replication is no longer occurring from the S3 satellite account bucket to the log archive account.
This can use the SRE SNS topic that is created in each account.

it should be in each account if it isn't in an account I need to run the account customization pipeline and so please contact internal SRE and we'll do it.


[9.x] Return data type of the GeneratorCommand::handle() method

Using bool|null as a return type from GeneratorCommand::handle() method is
a bit confusing. The returned value is used by Symfony command run() method
that expects 1 for FAILURE and 0 for SUCCESS.
Here, In an error case, false is returned (a failure status  1  is intended), but a success
status (0) is returned by Symfony command run method.
https://github.com/laravel/framework/blob/2a1a55caf3c65a74f173f47be594587cb931f22c/src/Illuminate/Console/GeneratorCommand.php#L149-L153
The same applies to the following code:
https://github.com/laravel/framework/blob/2a1a55caf3c65a74f173f47be594587cb931f22c/src/Illuminate/Console/GeneratorCommand.php#L162-L168
Note: This may exist in other commands, but I started with this one.

If my understanding is correct, I would be happy to submit a PR to fix this.

I don't see anything wrong here.

@driesvints
Could you please have a look at this test?
https://github.com/imdhemy/laravel.framework/blob/generator-command/tests/Console/GeneratorCommandTest.php#L39
This following assertion fails:
$this->assertSame(Command::FAILURE, $sut->run($input, $output));

// Failed asserting that 0 is identical to 1.

If you want to change anything feel free to send in a PR 👍


Tiny Core Linux v9.0 error during grub setup: "Error 15: File not found"

Hi.
I'm trying to deploy Tiny Core Linux v9.0 but I get an error during grub setup.
Packer 1.1.3 x86 (on Windows)
tc-9-minimal.json
vars-core-9.json
VMware ESXi <IP_ADDRESS>69303
I get the same results as the post here:
http://forum.tinycorelinux.net/index.php?topic=21813.0

grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub> setup(hd0)
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... no
Error 15: File not found

Any ideas?
Thank you.

Thank you for the report.  Will investigate the issue.


added code for coin change problem

Coin change problem solved with a test case. Would work for all the test cases.

Please be gentle. New to opensource contribution. ;)

@find3rskeeper you can join Asiatik using https://orgmanager.miguelpiedrafita.com/join/36604391

@tstreamDOTh added readme file for the problem


Send TERM rather than QUIT to Puma cluster

Sending QUIT to the Puma cluster brutally murders it, leading to workers dying off with exit! when they detect the parent has died.  In turn, this causes at_exit handlers to be skipped.
This patch changes QUIT for TERM for a graceful shutdown:

TERM: send TERM to worker. Worker will attempt to finish then exit.

Aside: it could equally use INT, but TERM seems more descriptive even if it may cause signal handlers to run multiple times as TERM is already sent by the dyno manager.  However, code should deal with multiple entries to signal handlers anyway, as the dyno manager does not guarantee that TERM is not sent multiple times in any case!

Generally this makes sense. Does it make any sense for this to be configurable?
Can you please update https://github.com/dblock/heroku-forward/blob/master/CHANGELOG.md (add a next release)?
The build partially failed, this could be unrelated, if you don't mind checking that out, too, please?

Added a changelog entry and allow the signal used to be specified via an option (defaults to TERM if not specified).
The build failed cos recent versions of i18n and highline (installed as a dependency of jeweler) don't support the older rubies.  My suggestion would be to also drop support for the older rubies. :)

Rename termination_signal to term_signal and document in README.
Squash your commits.
Remove old rubies from .travis.yml, I agree.

Renamed, documented, noted, squashed, removed.  As a bonus added 2.1 and 2.2 so we're testing against modern rubies too.

Merging. I looked casually into having a test for this, I think it's possible, feel free to PR subsequently.


Git sourced gems are not built then installed as advertised

Issue
I'm running into an issue with git sourced gems. Basically, if the gem specifies any binary, they won't work through rubygems, despite a wrapper being installed in gems/bin directory.
This probably has something to do with the following :
source "http://rubygems.org"
gem "my_tool_in_a_gem", :git => "git@github.com:whatever/tool.git"

bundle exec my_tool works properly and makes up for a workaround.
gem list -l | grep my_tool gives nothing. As far as rubygems is concerned, the gem is not there, despite the generic (rubygems generated) wrapper being available in gems/bin directory.
Not as advertised
Gemfile.5 manpage:

To install a gem located in a git repository, bundler changes to the directory containing the gemspec, runs gem build name.gemspec and then installs the resulting gem. The gem build command, which comes standard with Rubygems, evaluates the .gemspec in the context of the directory in which it is located.

Probable cause
I'm fairly confident the gemspec is valid, i.e. gem build my_tool.spec; gem install my_took.gem works properly.
I'm running bundler 1.0.21, and [this comment in source.rb] (https://github.com/carlhuda/bundler/blob/v1.0.21/lib/bundler/source.rb#L416-420) appears to state what I'm having is intended behavior. Master branch as of today seems identical.
Please reconsider the committed position on this issue : imo, building the whole gem and installing it is worth the extra mile.

Git gems are not installed into rubygems. This is not advertised, and is in fact not what Bundler is for. Bundler will make your git gem available after the bundle has been loaded, but not at any other time. HTH.
On Oct 26, 2011, at 5:32 AM, Elie<EMAIL_ADDRESS>wrote:

Issue
I'm running into an issue with git sourced gems. Basically, if the gem specifies any binary, they won't work through rubygems, despite a wrapper being installed in gems/bin directory.
This probably has something to do with the following :
source "http://rubygems.org"
gem "my_tool_in_a_gem", :git => "git@github.com:whatever/tool.git"

bundle exec my_tool works properly and makes up for a workaround.
gem list -l | grep my_tool gives nothing. As far as rubygems is concerned, the gem is not there, despite the generic (rubygems generated) wrapper being available in gems/bin directory.
Not as advertised
Gemfile.5 manpage:

To install a gem located in a git repository, bundler changes to the directory containing the gemspec, runs gem build name.gemspec and then installs the resulting gem. The gem build command, which comes standard with Rubygems, evaluates the .gemspec in the context of the directory in which it is located.

Probable cause
I'm fairly confident the gemspec is valid, i.e. gem build my_tool.spec; gem install my_took.gem works properly.
I'm running bundler 1.0.21, and [this comment in source.rb] (https://github.com/carlhuda/bundler/blob/v1.0.21/lib/bundler/source.rb#L416-420) appears to state what I'm having is intended behavior. Master branch as of today seems identical.
Please reconsider the committed position on this issue : imo, building the whole gem and installing it is worth the extra mile.
--
Reply to this email directly or view it on GitHub:
https://github.com/carlhuda/bundler/issues/1502

(The gem build process is invoked, but git gems are "installed" into the bundle, not into rubygems. If there is a rewording that would make that clearer, I would be happy to change it.)

runs gem build name.gemspec and then installs the resulting gem.

This is, imo, what should be reworded. I read this as bundler installs the resulting gem into rubygems whereas, what you're saying is the resulting gem is made available in the bundle, i.e. through Bundler.setup or bundle exec

Yup, that's right. Everywhere that Bundler uses the word "installing" it means "to the bundle". There is one sort-of-exception when you run bundle install --system, and then regular gems are installed to rubygems and used in the Bundle. But that is documented. I'll make it explicit that the installing is to the bundle.
On Oct 26, 2011, at 6:37 AM, Elie<EMAIL_ADDRESS>wrote:

runs gem build name.gemspec and then installs the resulting gem.

This is, imo, what should be reworded. I read this as bundler installs the resulting gem into rubygems whereas, what you're saying is the resulting gem is made available in the bundle, i.e. through Bundler.setup or bundle exec
--
Reply to this email directly or view it on GitHub:
https://github.com/carlhuda/bundler/issues/1502#issuecomment-2532747

So I have this exact problem, what is the solution?  I need to install a gem via an forked git repo.

bundle exec tool works properly and makes up for a workaround. (as per first post)

So essentially I now have to manage my own dependencies because it isn't a pre-built gem? What's the point of bundler now?
The assumption here is that I am using a command line utility, I am not. Also that I am using this on a rails project, again I am not.
http://yehudakatz.com/2010/09/30/bundler-as-simple-as-what-you-did-before/

What? Read the Bundler docs at http://gembundler.com for details, but here's the short version: You list the gems you need in your Gemfile, run bundle install, and then run require 'bundler/setup' inside your Ruby code. That's it. Bundler doesn't install git gems, it just lets you use them.


Ensure upcoming Neovim highlight API changes don't break Conjure highlighting

There's a lesser used (I think) eval highlight flash feature in Conjure that may be effected by the following breaking change in Neovim.
https://github.com/neovim/neovim/issues/14090#issuecomment-1047205812
This needs to be investigated and potentially fixed with a version gate.

Guarded against this on develop will leave it on there for a bit before releasing but this should fix it ahead of time for those on nightly that want to use highlighting.


Specify the Ai.Azure.com website should be used

Many learners try to follow the step using the Azure Portal instead of AI Foundry
https://github.com/MicrosoftLearning/mslearn-ai-studio/blob/589c9c30b2ada691789fe963645bcf1959e70147/Instructions/02-Explore-model-catalog.md?plain=1#L18

Please add the Azure AI Foundry URL to the instructions.


substrait-validator-py build fails when using pip (possibly old pip version)

(conbench3) pace@pace-desktop:~/dev/substrait-validator/py$ pip wheel .
Processing /home/pace/dev/substrait-validator/py
  DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default.
   pip 21.3 will remove support for this functionality. You can find discussion regarding this at https://github.com/pypa/pip/issues/7555.
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... error
    ERROR: Command errored out with exit status 1:
     command: /home/pace/miniconda3/envs/conbench3/bin/python3.9 /home/pace/miniconda3/envs/conbench3/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmprj1aou9e
         cwd: /tmp/pip-req-build-exis0cph
    Complete output (18 lines):
    Traceback (most recent call last):
      File "/home/pace/miniconda3/envs/conbench3/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 349, in <module>
        main()
      File "/home/pace/miniconda3/envs/conbench3/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 331, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "/home/pace/miniconda3/envs/conbench3/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 151, in prepare_metadata_for_build_wheel
        return hook(metadata_directory, config_settings)
      File "/tmp/pip-req-build-exis0cph/substrait_validator_build/__init__.py", line 59, in prepare_metadata_for_build_wheel
        _prepare()
      File "/tmp/pip-req-build-exis0cph/substrait_validator_build/__init__.py", line 50, in _prepare
        populate()
      File "/tmp/pip-req-build-exis0cph/substrait_validator_build/__init__.py", line 42, in populate
        _copytree(source, dest)
      File "/tmp/pip-req-build-exis0cph/substrait_validator_build/__init__.py", line 35, in _copytree
        shutil.copyfile(source, dest)
      File "/home/pace/miniconda3/envs/conbench3/lib/python3.9/shutil.py", line 264, in copyfile
        with open(src, 'rb') as fsrc, open(dst, 'wb') as fdst:
    FileNotFoundError: [Errno 2] No such file or directory: '../proto'

The deprecation warning in this case seems significant.  If I supply the recommended argument (--use-feature=in-tree-build) then the build works correctly.  I'm not sure if this is something that needs to be fixed but if there is a minimum pip version it could be flagged and reported as a violation.

Hm. I thought I'd tested everything with pip's build-in-tmp-dir logic but I guess not. Thanks for the report; I'll take another look when able but I'm about to go on two weeks PTO so I don't know when that will be.

This is not at all a priority.  Mostly me just jotting down any warts I encountered as I got the validator installed (I needed it installed to use the consumer testing PR).

I managed to reproduce this with older pip versions indeed. Unfortunately I'm not sure how this can be fixed; even if I make the script that's crashing there more robust, maturin would fail, because the crates that substrait-validator-py depend on would no longer be where they should be according to Cargo.toml. Detecting out-of-tree builds and printing a clearer error message is the best I could come up with (#38).
 I've added the docs for that to the readme in #38 as well.


How to load content via ajax

Do you have any plane to build load content via ajax future?

There are no current plans for it. I can't say I'd be against it if it were well thought out, but I'd as much interested in simpler integration with templating (when ajax requests return ajax or other data)

Thanks @trentrichardson, more question. How to set size for modal?


Materials should be resources

Is your feature request related to a problem? Please describe.
Now you need to select the material parameters for each component::Material, but we should be able to create the materials before, and select between one of them.
Feature description
A  resource::Material should exist, and one of the existing can be selected for the  component::Material.
Tasks

[x] Create resource::Material
[x] Change component::Material
[x] UI module

[x] Create material resource
[x] Edit resource::Material
[x] Delete resource::Material
[x] Select resource::Material from  component::Material

[ ] File module

[ ] Serialize resource::Material
[ ] Deserialize resource::Material

Creating material resource
res::Material::CreateInfo info;
info.albedo = vec3(1.0f, 0.8f, 0.6f);
info.metallic = 0.5f;
info.roughness = 0.5f;
res::Material* rmat = res::create<res::Material>("myMaterial", info);

Creating material component
EntityId entity = createEntity();
comp::Material* mat = comp::addEntityComponent<comp::Material>(entity);
mat->setResource(rmat);

Getting material resource from material component
res::Material* rmat = mat->getResource();

Material component UI:


token js: repair offchain extra metas helper

This PR repairs the offchain extra account metas helper in Token JS.
It's done similar to the offchain helper in Token2022, except here we've got two
functions for creating transfers that share one helper to build the list of
extra account metas.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

master

PR #6088

PR #6089

PR #6090   👈

This stack of pull requests is managed by Graphite.


Minor corrections

Minor corrections to typos in the 1.10 to 1.11 upgrade procedure

/lgtm
/approve