when an org file is loaded via telescope folding does not work

Are you using "tree-sitter" branch?
No
Describe the bug
if I naviagate to an org file using telescope folding is not enabled
if starting from the command line or using :e then this works as expecded
Steps to reproduce
use the telescope loat file function
when loaded everything is expanded and no folds are found
Expected behavior
tab should expand folds
Emacs functionality
No response
Screenshots and recordings
No response
OS / Distro
debian sid
Neovim version/commit
NVIM v0.6.0-dev+509-g09e96fe60
Additional context
No response

Do you have a minimal configuration to reproduce this? Obviously it isn't super helpful, but it works for me on my machine when I use:
vim.cmd([[
  set rtp=$VIMRUNTIME
  packadd nvim-treesitter
  packadd orgmode.nvim
  packadd plenary.nvim
  packadd telescope.nvim
]])

vim.g.mapleader = ","

vim.opt.splitright = true
vim.opt.splitbelow = true

require("nvim-treesitter.configs").setup({
  ensure_installed = { "python", "c", "json", "lua", "bash", "comment" },
  highlight = {
    enable = true,
  },
})

local parser_config = require("nvim-treesitter.parsers").get_parser_configs()

parser_config.org = {
  install_info = {
    url = "https://github.com/milisims/tree-sitter-org",
    revision = "main",
    files = { "src/parser.c", "src/scanner.cc" },
  },
  filetype = "org",
}

require("nvim-treesitter.configs").setup({
  highlight = {
    enable = true,
    disable = { "org" },
    additional_vim_regex_highlighting = { "org" },
  },
  ensure_installed = { "org" },
})

require("orgmode").setup()
require("telescope").setup()

_G.find_home_files = function()
  require("telescope.builtin").find_files({ search_dirs = { vim.fn.expand("~") } })
end

vim.api.nvim_set_keymap("n", "<leader>f~", "<Cmd>lua _G.find_home_files()<CR>", { noremap = true })

I do not have much time to look carefully at the moment as I am getting
ready for work but this should all the stuff relate to the above that I
have
" my vim init settings
" {{{ treesitter
:lua require'my_treesitter'
" }}}
" {{{ telescope setup
:lua require'my_telescope'
" lua << EOF
" local actions = require('telescope.actions')
"
" require('telescope').setup {
"     defaults = {
"         file_sorter = require('telescope.sorters').get_fzy_sorter,
"         prompt_prefix = ' >',
"         color_devicons = true,
"
"         file_previewer   =
require('telescope.previewers').vim_buffer_cat.new,
"         grep_previewer   =
require('telescope.previewers').vim_buffer_vimgrep.new,
"         qflist_previewer =
require('telescope.previewers').vim_buffer_qflist.new,
"
"         mappings = {
"             i = {
"                 [""] = false,
"                 [""] = actions.send_to_qflist,
"             },
"         }
"     },
"     extensions = {
"         fzy_native = {
"             override_generic_sorter = false,
"             override_file_sorter = true,
"         }
"     }
" }
" require('telescope').load_extension('fzy_native')
" EOF
" }}}
" {{{ mappings for telescope
nnoremap tf :lua require('telescope.builtin').find_files()
nnoremap tb :lua
require('telescope.builtin').buffers({sort_lastused=true})
nnoremap tbd :bdelete
nnoremap <C-_> :Telescope current_buffer_fuzzy_find
sorting_strategy=ascending
" }}}
" {{{ nvim orgmode settings
:lua require'my_orgmode'
" }}}
" files that I pull in for org, treesitter and telescope
local parser_config = require "nvim-treesitter.parsers".get_parser_configs()
parser_config.org = {
install_info = {
url = 'https://github.com/milisims/tree-sitter-org',
revision = 'main',
files = {'src/parser.c', 'src/scanner.cc'},
},
filetype = 'org',
}
require'nvim-treesitter.configs'.setup {
-- If TS highlights are not enabled at all, or disabled via disable
prop, highlighting will fallback to default Vim syntax highlighting
highlight = {
enable = true,
disable = {'org'}, -- Remove this to use TS highlighter for some of the
highlights (Experimental)
additional_vim_regex_highlighting = {'org'}, -- Required since TS
highlighter doesn't support all syntax features (conceal)
},
ensure_installed = {'org'}, -- Or run :TSUpdate org
}
require('orgmode').setup({
org_agenda_files = {'~/Org/*'},
org_default_notes_file = '~/Org/refile.org',
org_agenda_templates = {
t = { description = 'Task',
template = '* TODO %?\n SCHEDULED: %t', target='~/Org/tasks.org'} },
mappings = {
global = {
org_agenda = 'oa',
org_capture = 'oc'
}
}
})
require'compe'.setup({
source = {
orgmode = true
}
})
" my_treesitter.lua
require'nvim-treesitter.configs'.setup{highlight = {enable = true} }
" my_telescope.lua
local actions = require('telescope.actions')
require('telescope').setup {
defaults = {
file_sorter = require('telescope.sorters').get_fzy_sorter,
prompt_prefix = ' >',
color_devicons = true,
    file_previewer   =

require('telescope.previewers').vim_buffer_cat.new,
grep_previewer   =
require('telescope.previewers').vim_buffer_vimgrep.new,
qflist_previewer =
require('telescope.previewers').vim_buffer_qflist.new,
    mappings = {
        i = {
            ["<C-x>"] = false,
            ["<C-q>"] = actions.send_to_qflist,
            ["<C-e>"] = actions.move_selection_previous,
        },
    }
},
extensions = {
    fzy_native = {
        override_generic_sorter = false,
        override_file_sorter = true,
    }
}

}
require('telescope').load_extension('fzy_native')
On Wed, 3 Nov 2021 at 12:57, August Masquelier @.***>
wrote:

Do you have a minimal configuration to reproduce this? Obviously it isn't
super helpful, but it works for me on my machine when I use:
vim.cmd([[
set rtp=$VIMRUNTIME
packadd nvim-treesitter
packadd orgmode.nvim
packadd plenary.nvim
packadd telescope.nvim
]])
vim.g.mapleader = ","
vim.opt.splitright = true
vim.opt.splitbelow = true
require("nvim-treesitter.configs").setup({
ensure_installed = { "python", "c", "json", "lua", "bash", "comment" },
highlight = {
enable = true,
},
})
local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
parser_config.org = {
install_info = {
url = "https://github.com/milisims/tree-sitter-org",
revision = "main",
files = { "src/parser.c", "src/scanner.cc" },
},
filetype = "org",
}
require("nvim-treesitter.configs").setup({
highlight = {
enable = true,
disable = { "org" },
additional_vim_regex_highlighting = { "org" },
},
ensure_installed = { "org" },
})
require("orgmode").setup()
require("telescope").setup()
_G.find_home_files = function()
require("telescope.builtin").find_files({ search_dirs = { vim.fn.expand("~") } })
end
vim.api.nvim_set_keymap("n", "f~", "lua _G.find_home_files()", { noremap = true })
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kristijanhusak/orgmode.nvim/issues/131#issuecomment-958461421,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJN5S46TGYQMUA57CG27SRLUKCCIJANCNFSM5HHSKF6A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Yea so you are using the tree-sitter branch it appears. Can you try with the configuration & command I mentioned and see if the issue still persists? It doesn't require any weird configuration changes, just copy that file and pass it as the value to -u.

will try that when I get back from work
On Thu, 4 Nov 2021 at 12:11, August Masquelier @.***>
wrote:

Yea so you are using the tree-sitter branch it appears. Can you try
with the configuration & command I mentioned and see if the issue still
persists? It doesn't require any weird configuration changes, just copy
that file and pass it as the value to -u.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kristijanhusak/orgmode.nvim/issues/131#issuecomment-960280324,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJN5S42MLJ7SBW4HLU2NZZ3UKHFR3ANCNFSM5HHSKF6A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Hi I tried your config file but it didn't work due to the lack of having
tack installed.
I will have a further play during the weekend
On Thu, 4 Nov 2021 at 12:11, August Masquelier @.***>
wrote:

Yea so you are using the tree-sitter branch it appears. Can you try
with the configuration & command I mentioned and see if the issue still
persists? It doesn't require any weird configuration changes, just copy
that file and pass it as the value to -u.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kristijanhusak/orgmode.nvim/issues/131#issuecomment-960280324,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJN5S42MLJ7SBW4HLU2NZZ3UKHFR3ANCNFSM5HHSKF6A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

@crypt17 did you manage to set it up? You can use master branch now, it has tree sitter support.

Closing due to inactivity.

I have the same problem with this issue,
if a file is opended via telescope, e.g :Telescope oldfiles, then folding does not work

i have the same issue. it is because telescope is in insert mode after select an item. so foldmethed break
this solution works for me
https://github.com/nvim-telescope/telescope.nvim/issues/559#issuecomment-1195895807
and there are many solutions to fix it at issue panel of telescope.nvim


Update aws-java-sdk-core, ... to 1.12.257

Updates

com.amazonaws:aws-java-sdk-core
com.amazonaws:aws-java-sdk-sts

from 1.12.233 to 1.12.257.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.amazonaws" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "com.amazonaws" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #191.


[Bug] Location Permission requested on iOS with PermissionPlugin twice

The first time I request a location permission on iOS(9.2) , it works good. I have a popup "allow" or "not allow".
If I choose "not allow" and request it again, there is no popup asking me again and the app seems to be freezed.
In debug mode, it appears that the execution is blocked at the line :
var results = await CrossPermissions.Current.RequestPermissionsAsync(Permission.Location);
Tested on PermissionTest.iOS sample
Thanks

@anthonybattel You shouldn't get another request for permission if the user clicked Not Allow. I am not sure on the "freeze" you are reporting but here is how the permissions in general work for iOS.
Basically, Apple will not nag the user to allow it once they explicitly say no. The only option is for the user to go to iOS Settings app and change the setting to allow it. You can help the user get there by deep linking to your app-specific setting.
Here is how I have done it in the past for Contacts but the idea is the same:
`// Make sure we have permission to access contacts
        if (await CrossContacts.Current.RequestPermission())
        {
            // I have permission so do what I have to do
        }
        else
        {
            // I don't have permission. Present some UI to the user (you could use a message box)

            NoDataLabel.Text = "To help you keep in touch, YouCalled requires access to your contacts. You can grant permission in Settings.";
            NoDataButton.Text = "Go To Settings";

            NoDataStack.IsVisible = true;

        }

`
When they press the "Go To Settings" button, I did this:
UIApplication.SharedApplication.OpenUrl(new NSUrl("app-settings:"));
The Url takes them to the settings for your app and they can change the switch to allow permission.
I did this a while ago so there could be other ways to do it. Also, it is possible that this might only work back to iOS 8 but hopefully it gives you some ideas.
Hope this helps.
Carl

So the simple work around is to check if the status is Denied and if it is Denied then don't re-request it. I am going to update the code. iOS does not re-prompt. I am fixing the freeze now, but Carl's recommendation above is pretty great. Also you could use the the Share Plugin to navigate to app-settings:

Note, that this would also most likely happen for Contacts and Photos. This is due to iOS not giving a callback if request a known status.

Thanks cbartonnh and James, you are very efficient.
I will test your recommandations.

Also pushed 1.1.4 with a fix if you re-request too many times.


New airco added to cloud

Hi Sergio,
I run into the following issue, I don't know if this is Domoticz or plugin behavior...
I have added an extra airco to the comfort cloud. This airco is not recognized by the plugin (start/stop domoticz). However, if I add the hardware again, then this new airco is seen. But is it possible to add it to the existing one?
Thanks.
Regards, Joost

If you add a device to your cloud control app you just need to click on the hardware settings and press update. The Domoticz devices are only created at the plug-in initialisation.
But this is the theory, I never add a new device to cloud control after they are created in Domoticz…
Le 25 août 2022 à 20:55, JoostdeJonge123 @.***> a écrit :

Hi Sergio,
I run into the following issue, I don't know if this is Domoticz or plugin behavior...
I have added an extra airco to the comfort cloud. This airco is not recognized by the plugin (start/stop domoticz). However, if I add the hardware again, then this new airco is seen. But is it possible to add it to the existing one?
Thanks.
Regards, Joost
—
Reply to this email directly, view it on GitHubhttps://github.com/sdamasoc/domoticz_panasonic_CZ-TACG1/issues/6, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACEWTDUQT5WWRVGIW52DJITV266SRANCNFSM57UF3FDA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

That is what I expected… hmm, theory and practice are not the same apparently.
Can you re-initialize the plugin without losing the current hardware?
Regards, Joost
From: Sergio @.***
Sent: donderdag 25 augustus 2022 21:01
To: sdamasoc/domoticz_panasonic_CZ-TACG1
Cc: JoostdeJonge123; Author
Subject: Re: [sdamasoc/domoticz_panasonic_CZ-TACG1] New airco added to cloud (Issue #6)
If you add a device to your cloud control app you just need to click on the hardware settings and press update. The Domoticz devices are only created at the plug-in initialisation.
But this is the theory, I never add a new device to cloud control after they are created in Domoticz…
Le 25 août 2022 à 20:55, JoostdeJonge123 @.***> a écrit :

Hi Sergio,
I run into the following issue, I don't know if this is Domoticz or plugin behavior...
I have added an extra airco to the comfort cloud. This airco is not recognized by the plugin (start/stop domoticz). However, if I add the hardware again, then this new airco is seen. But is it possible to add it to the existing one?
Thanks.
Regards, Joost
—
Reply to this email directly, view it on GitHubhttps://github.com/sdamasoc/domoticz_panasonic_CZ-TACG1/issues/6, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACEWTDUQT5WWRVGIW52DJITV266SRANCNFSM57UF3FDA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>
—
Reply to this email directly, view it on GitHubhttps://github.com/sdamasoc/domoticz_panasonic_CZ-TACG1/issues/6#issuecomment-1227648852, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZWN5DEUQLXCA3JJE6L3PJLV267IBANCNFSM57UF3FDA.
You are receiving this because you authored the thread.Message ID: @.***>
--
Dit e-mailbericht is met Avast-antivirussoftware gecontroleerd op virussen.
www.avast.com

Yes you can delete the plugin and add it again without loosing anything.
Just the internal id on domoticz may change, this can be a problem only if you have made some scripts that calls the domoticz api directly with the id.
When I have some time, I will try to update the plugin to avoid this.

I saw where the problem is:
line 75: if (len(Devices) == 0):
If there are already devices defined by the plugin the code just skip the creation... I need to adapt this to check if the device already exist and skip the creation only in this case...

that would be great!

Hi Joost,
I've made a correction for this issue.

Hi Sergio,
Thanks!
I gave it a try, but I get the following error:
2022-08-28 14:16:40.572 Error: (Airco) Device creation failed, Hardware/Unit combination (8:1) already exists in Domoticz.
2022-08-28 14:16:40.573 Error: (Airco) Device creation failed, Hardware/Unit combination (8:2) already exists in Domoticz.
2022-08-28 14:16:40.573 Error: (Airco) Device creation failed, Hardware/Unit combination (8:3) already exists in Domoticz.
2022-08-28 14:16:40.573 Error: (Airco) Device creation failed, Hardware/Unit combination (8:4) already exists in Domoticz.
2022-08-28 14:16:40.573 Error: (Airco) Device creation failed, Hardware/Unit combination (8:5) already exists in Domoticz.
2022-08-28 14:16:40.574 Error: (Airco) Device creation failed, Hardware/Unit combination (8:6) already exists in Domoticz.
2022-08-28 14:16:40.574 Error: (Airco) Device creation failed, Hardware/Unit combination (8:7) already exists in Domoticz.
2022-08-28 14:16:40.574 Error: (Airco) Device creation failed, Hardware/Unit combination (8:8) already exists in Domoticz.
And the missing device is not created, any idea?
Regards, Joost
From: Sergio @.***
Sent: zaterdag 27 augustus 2022 21:23
To: sdamasoc/domoticz_panasonic_CZ-TACG1
Cc: JoostdeJonge123; Author
Subject: Re: [sdamasoc/domoticz_panasonic_CZ-TACG1] New airco added to cloud (Issue #6)
Hi Joost,
I've made a correction for this issue.
—
Reply to this email directly, view it on GitHubhttps://github.com/sdamasoc/domoticz_panasonic_CZ-TACG1/issues/6#issuecomment-1229250902, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZWN5DCQJOSBJMGRQHSKWQLV3JTIVANCNFSM57UF3FDA.
You are receiving this because you authored the thread.Message ID: @.***>
--
Dit e-mailbericht is met Avast-antivirussoftware gecontroleerd op virussen.
www.avast.com

It seems the device detection is not working with your devices and the plug-in is trying to create them but they already exists…
Message ID: @.***>
I will try to find a new correction…

I’ve made a new correction, can tou test it?

That is quick… sorry same error…
Regards, Joost
From: Sergio @.***
Sent: zondag 28 augustus 2022 14:26
To: sdamasoc/domoticz_panasonic_CZ-TACG1
Cc: JoostdeJonge123; Author
Subject: Re: [sdamasoc/domoticz_panasonic_CZ-TACG1] New airco added to cloud (Issue #6)
I’ve made a new correction, can tou test it?
—
Reply to this email directly, view it on GitHubhttps://github.com/sdamasoc/domoticz_panasonic_CZ-TACG1/issues/6#issuecomment-1229446461, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZWN5DHG3MQR57IO3O6K533V3NLD5ANCNFSM57UF3FDA.
You are receiving this because you authored the thread.Message ID: @.***>
--
Dit e-mailbericht is met Avast-antivirussoftware gecontroleerd op virussen.
www.avast.com

I’ve added extra logging, can you try again and send the full log?

2022-08-28 14:44:03.299 Error: Airco: (CZ-TACG1) failed to load 'plugin.py', Python Path used was '/etc/domoticz/plugins/domoticz_panasonic_CZ-TACG1/:/usr/lib/python39.zip:/usr/lib/python3.9:/usr/lib/python3.9/lib-dynload:/usr/local/lib/python3.9/dist-packages:/usr/lib/python3/dist-packages:/usr/lib/python3.9/dist-packages'.
2022-08-28 14:44:03.300 Error: Airco: Module Import failed, exception: 'SyntaxError'
2022-08-28 14:44:03.300 Error: Airco: Import detail: File: , Line: 91, offset: 68
2022-08-28 14:44:03.300 Error: Airco: Error Line ' Domoticz.Log("Creating device " + devicename + , DeviceID=" + deviceid + ", Unit="+ nbdevices +".")
2022-08-28 14:44:03.300 '
2022-08-28 14:44:03.300 Error: Airco: No traceback available
From: Sergio @.***
Sent: zondag 28 augustus 2022 14:37
To: sdamasoc/domoticz_panasonic_CZ-TACG1
Cc: JoostdeJonge123; Author
Subject: Re: [sdamasoc/domoticz_panasonic_CZ-TACG1] New airco added to cloud (Issue #6)
I’ve added extra logging, can you try again and send the full log?
—
Reply to this email directly, view it on GitHubhttps://github.com/sdamasoc/domoticz_panasonic_CZ-TACG1/issues/6#issuecomment-1229448531, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZWN5DEDXSXWM6XY3VNO66LV3NMQPANCNFSM57UF3FDA.
You are receiving this because you authored the thread.Message ID: @.***>
--
Dit e-mailbericht is met Avast-antivirussoftware gecontroleerd op virussen.
www.avast.com

Sorry I missed a double quote in the logging… it should be fixed now

2022-08-28 14:49:29.268  Error: Airco: 'onStart' failed 'TypeError':'can only concatenate str (not "int") to str'.
2022-08-28 14:49:29.268  Error: Airco: Exception traceback:
2022-08-28 14:49:29.269  Error: Airco:  ----> Line 258 in '()', function Unknown
2022-08-28 14:49:29.269  Error: Airco:  ----> Line 91 in '()', function Unknown
From: Sergio @.***
Sent: zondag 28 augustus 2022 14:48
To: sdamasoc/domoticz_panasonic_CZ-TACG1
Cc: JoostdeJonge123; Author
Subject: Re: [sdamasoc/domoticz_panasonic_CZ-TACG1] New airco added to cloud (Issue #6)
Sorry I missed a double quote in the logging… it should be fixed now
—
Reply to this email directly, view it on GitHubhttps://github.com/sdamasoc/domoticz_panasonic_CZ-TACG1/issues/6#issuecomment-1229450344, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZWN5DEHYUTF6OCQKCYNVILV3NNZJANCNFSM57UF3FDA.
You are receiving this because you authored the thread.Message ID: @.***>
--
Dit e-mailbericht is met Avast-antivirussoftware gecontroleerd op virussen.
www.avast.com

Sorry, I’m making the corrections with my phone without testing the correction before…
Should be fixed again…

☺
2022-08-28 14:55:39.236  Error: (Airco) Device creation failed, Hardware/Unit combination (8:41) already exists in Domoticz.
2022-08-28 14:55:39.237  Error: (Airco) Device creation failed, Hardware/Unit combination (8:42) already exists in Domoticz.
2022-08-28 14:55:39.237  Error: (Airco) Device creation failed, Hardware/Unit combination (8:43) already exists in Domoticz.
2022-08-28 14:55:39.237  Error: (Airco) Device creation failed, Hardware/Unit combination (8:44) already exists in Domoticz.
2022-08-28 14:55:39.238  Error: (Airco) Device creation failed, Hardware/Unit combination (8:45) already exists in Domoticz.
2022-08-28 14:55:39.238  Error: (Airco) Device creation failed, Hardware/Unit combination (8:46) already exists in Domoticz.
2022-08-28 14:55:39.238  Error: (Airco) Device creation failed, Hardware/Unit combination (8:47) already exists in Domoticz.
2022-08-28 14:55:39.238  Error: (Airco) Device creation failed, Hardware/Unit combination (8:48) already exists in Domoticz.
From: Sergio @.***
Sent: zondag 28 augustus 2022 14:54
To: sdamasoc/domoticz_panasonic_CZ-TACG1
Cc: JoostdeJonge123; Author
Subject: Re: [sdamasoc/domoticz_panasonic_CZ-TACG1] New airco added to cloud (Issue #6)
Sorry, I’m making the corrections with my phone without testing the correction before…
Should be fixed again…
—
Reply to this email directly, view it on GitHubhttps://github.com/sdamasoc/domoticz_panasonic_CZ-TACG1/issues/6#issuecomment-1229451303, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZWN5DBYVC6JLYP2FLBWCHTV3NONXANCNFSM57UF3FDA.
You are receiving this because you authored the thread.Message ID: @.***>
--
Dit e-mailbericht is met Avast-antivirussoftware gecontroleerd op virussen.
www.avast.com

can you send the logging from Domoticz that you get just before the error?
I would like to see the extra logging that I added to debug ("Creating device " + devicename + ", DeviceID=" + deviceid + ", Unit="+ str(nbdevices) +".")

This is all the logging on windows machine… in Linux it is different:
2022-08-28 15:21:07.177 Airco: Device Werkkamer zolder already exists in domoticz (DeviceID=C871060793).
2022-08-28 15:21:07.177 Airco: Device Anouk zolder already exists in domoticz (DeviceID=C819710152).
2022-08-28 15:21:07.177 Airco: Device Logeerkamer already exists in domoticz (DeviceID=C731811476).
2022-08-28 15:21:07.177 Airco: Device Cathrien already exists in domoticz (DeviceID=CS-Z35XKEW+4886913139).
2022-08-28 15:21:07.177 Airco: Device Daan already exists in domoticz (DeviceID=CS-Z35XKEW+4886910457).
2022-08-28 15:21:07.177 Airco: Creating device Slaapkamer, DeviceID=CS-Z35XKEW+4886910465, Unit=40.
2022-08-28 15:21:07.180 Airco: Device Slaapkamer created (DeviceID=CS-Z35XKEW+4886910465).
2022-08-28 15:21:08.532 Airco: getDeviceById={"dryTempMin":-1,"modeAvlList":
And the device is created (on the Linux machine).
From: Sergio @.***
Sent: zondag 28 augustus 2022 15:18
To: sdamasoc/domoticz_panasonic_CZ-TACG1
Cc: JoostdeJonge123; Author
Subject: Re: [sdamasoc/domoticz_panasonic_CZ-TACG1] New airco added to cloud (Issue #6)
can you send the logging from Domoticz that you get just before the error?
I would like to see the extra logging that I added to debug ("Creating device " + devicename + ", DeviceID=" + deviceid + ", Unit="+ str(nbdevices) +".")
—
Reply to this email directly, view it on GitHubhttps://github.com/sdamasoc/domoticz_panasonic_CZ-TACG1/issues/6#issuecomment-1229455464, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZWN5DFMXNG3RKIRFQWGJ4LV3NRIHANCNFSM57UF3FDA.
You are receiving this because you authored the thread.Message ID: @.***>
--
Dit e-mailbericht is met Avast-antivirussoftware gecontroleerd op virussen.
www.avast.com

So it works on Linux but not in windows?
Are you sure you use de last version of the plugin under windows?

Yes, Linux is working.
Yes, newest version on Windows (I just deleted the old version, and copier newest, just to be sure), same results ☹
From: Sergio @.***
Sent: maandag 29 augustus 2022 12:15
To: sdamasoc/domoticz_panasonic_CZ-TACG1
Cc: JoostdeJonge123; Author
Subject: Re: [sdamasoc/domoticz_panasonic_CZ-TACG1] New airco added to cloud (Issue #6)
So it works on Linux but not in windows?
Are you sure you use de last version of the plugin under windows?
—
Reply to this email directly, view it on GitHubhttps://github.com/sdamasoc/domoticz_panasonic_CZ-TACG1/issues/6#issuecomment-1230084700, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZWN5DGL4ADKXSYCUZD7RW3V3SERZANCNFSM57UF3FDA.
You are receiving this because you authored the thread.Message ID: @.***>
--
Dit e-mailbericht is met Avast-antivirussoftware gecontroleerd op virussen.
www.avast.com

I don't know exactly how debugging works in Domoticz, is it working per plugin? Or general for all plugins at the same time? As I have multiple plugins in Domoticz

Without the logs it will be difficult to me to understand what is happening under Windows...
Consult the page https://www.domoticz.com/forum/viewtopic.php?t=35433 to help you finding the logs.
I don't understand your question, the debug logs are per plugin but under Linux all goes to the same file...

I have changed the number 41/48 in 33/40.
Now the plugin is working, and the new device is created...

I saw that the problem comes from the gap you have in your unit numbering, the plug-in use the size of your devices + 1 to compute the unit id. I can make a correction to check if the unit id already exist before create the device.
How have you changed the unit id?

I edited the domoticz.db file with an sqlite3 editor...
-------- Oorspronkelijk bericht --------
Van: Sergio @.>
Datum: 29-08-2022 19:53 (GMT+01:00)
Aan: sdamasoc/domoticz_panasonic_CZ-TACG1 @.>
Cc: JoostdeJonge123 @.>, Author @.>
Onderwerp: Re: [sdamasoc/domoticz_panasonic_CZ-TACG1] New airco added to cloud (Issue #6)
I saw that the problem comes from the gap you have in your unit numbering, the plug-in use the size of your devices + 1 to compute the unit id. I can make a correction to check if the unit id already exist before create the device.
How have you changed the unit id?
—
Reply to this email directly, view it on GitHubhttps://github.com/sdamasoc/domoticz_panasonic_CZ-TACG1/issues/6#issuecomment-1230651090, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZWN5DCIRKQEO52RG7QAKWTV3T2C5ANCNFSM57UF3FDA.
You are receiving this because you authored the thread.Message ID: @.***>
--
Dit e-mailbericht is met Avast-antivirussoftware gecontroleerd op virussen.
www.avast.com

I've made a new correction to check the unit id, hope it will fix your problem (if you still have it)


[docs] Make Drawer example pixel perfect

It looks like we need to add one pixel because of the border of the drawer. The issue can be seen in the example below.

I can't see this issue on the live documentation. Sounds like a box sizing issue.

oups correct! thks!


EC: Cleanup some json for mock and beyond

Add expanded/compact to web.xml (404's are bad, mkay?)
Add mock data for earning statement widget
Change layoutDoc to use samples where available (courses and earning statement)

:+1:


Auto/Static Minimize label width, and show/hide Minimize label

Resolves: #140

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

Project coverage is 98.80%. Comparing base (a1a22e5) to head (d32b08a).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #144   +/-   ##
=======================================
  Coverage   98.80%   98.80%
=======================================
  Files          55       55
  Lines        1169     1175    +6
  Branches      320      290   -30
=======================================
+ Hits         1155     1161    +6
  Misses         14       14

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


Clarify the confusing difference between .gradle and gradle

Fixes: a follow-up for the discussion in #30058. Difference between .gradle and gradle clarified:

Contributor Checklist

[x] Review Contribution Guidelines.
[x] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[x] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team.
[x] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective.
[x] Provide unit tests (under <subproject>/src/test) to verify logic.
[x] Update User Guide, DSL Reference, and Javadoc for public-facing changes.
[x] Ensure that tests pass sanity check: ./gradlew sanityCheck.
[x] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest.

Reviewing cheatsheet
Before merging the PR, comments starting with

❌ ❓must be fixed
🤔 💅 should be fixed
💭 may be fixed
🎉 celebrate happy things

Thanks for the clarification @madhead


Issue resolved along with Features update

Under this, we have transformed the code for the Timeline page by improving  the overall look of the page to improve the UX user experience along with an improvement in the over all animation of the page

Mention the issue number on top of the description
Closes: #issuenumber <-  like this

Add screenshots and videos of your work

I'm sorry for missing it out
Issue: Chaotic Feat: #26
Before:
https://github.com/user-attachments/assets/02467284-02d8-46f4-9e7b-dd7315935594
After:
https://github.com/user-attachments/assets/c059be6d-5913-47b9-8e33-56468114cc75
Under this, I have kept in mind to improve the UI/UX along with the proper animations which will perfectly align with the chaotic web both function-wise and look-wise.
I would be happy to take a review from you.


Is there any tool can check API compatible between different RN versions

We have an app using RN 0.17 and RN 0.19 in different app version.
When we port the codes using RN 0.19 to RN 0.17，the new API in RN 0.19 caused old version app crash online.
So, I want to know that is there any tool can check the problem before our codes published.

@Robert-Qiu No, there isn't. But we add warnings for deprecated APIs and list breaking changes in the release notes -  https://github.com/facebook/react-native/releases
You should test both the development and release versions to ensure that your app doesn't crash in production.

@facebook-github-bot answered


feat: add AssertionBuilder to improve API check assertion usability

I hereby confirm that I followed the code guidelines found at engineering guidelines
Affected Components

[x] CLI
[ ] Create CLI
[ ] Test
[ ] Docs
[ ] Examples
[ ] Other

Notes for the Reviewer

Resolves https://github.com/checkly/checkly-cli/issues/489

Currently it's tricky to create API check assertions. We don't list the valid source and comparison values anywhere. It's also easy to create invalid assertions. For example, the regex field isn't needed when source is STATUS_CODE.
This PR introduces AssertionBuilder. This should make the possible assertion types more discoverable from IDE's autocomplete (see screenshot below).
It also aims to avoid invalid assertion types from being created.
It's still possible for users to use the old method of creating assertions. This is not a breaking change at all - just a new builder for Assertion objects.
Test Plan
I've updated the examples and made sure that npx checkly test and npx checkly deploy work. I've also checked that examples with the old assertion setup still work.
I'll also do a close review of the code to make sure that it matches our assertion checking logic and the assertion types already produced by webapp.
IDE Completion:

@clample this is already awesome. Please do not update the docs in the README.md as I'm moving the docs to the website. Updating examples is great.

Thanks for checking it out @tnolet 👍
I'll leave the docs untouched.

I'll merge it now. I didn't see that it was approved.


Support for multiple feeds

Like myget.
Under different URL's:
/f/buildtools-dev/v3/index.json
/f/core/v3/index.json

Duplicate of #36  ?

Nop, I come tomorrow with details for this feature.

Ah, maybe #36 is mostly about auth on the service..

This is a bit of a hack, but you can run two instances of BaGet side-by-side by setting the PathBase variable. These won't be able to share resources though. Is this acceptable?

Maybe have a way to work in multi-tenancy in the web host?
It'd be great if feeds could be created from the UI, keys managed centrally -- one key for multiple feeds, etc.

I'd like to do a prototype of multi tenancy on BaGet before committing to anything. I'm worried that this feature could hurt BaGet's ease-of-use and bring complexity to the code base.

Yes, that's a different architecture, but when its injected in BaGet, it's irrelevant if a user has one or more feeds/tenants...

In despite  of the PathBase was set /nuget/core, the static files' href still were the root path /static/css/main.a14e254f.css

It seems to be broken. I'll need to dig deeper into this, I wasn't able to figure this out easily.

@loic-sharma Have any news here? May I do something for you to resolve this issue?

i'm working on a prototype for investigations about "multiple feeds"
routing can be enhanced with a few small changes, but i found one issue located here

the 2 red items are not rendering the tenant into the url "localhost/tenantid/v3/registration" because the call "url.AbsoluteUrl" is not supporting that, the other one using "url.AbsoluteRoutingUrl" are perfectly working=> i have a implementation proposal for that.....
but during regression tests i found one issue/question about trailing slash.
currently, "PackageBase" and "RegistrationBase" are delivered WITH trailing slash, the other items (PackagePublish, SymbolPublish etc) are delivered WITHOUT trailing slash.
Is this different behavior intended ?
if we change the implementation for the two red items into "AbsoluteRoutingUrl" then we deliver WITHOUT trailing slash, and i'm not sure about the impact....
Werner

@kexxxfeng I haven't had a chance to look deeper into this yet.
@WernerMairl Whether there's a trailing slash shouldn't matter. There's no intention behind that behavior. What is AbsoluteRoutingUrl? I can't find documentation for that anywhere.

AbsoluteRoutingUrl create a url based on the ROUTING information from the (incoming) request.
for my prototype i have added a additional "variable" into the routing template:
"http/localhost/{feed}/v3/{controller}"
AbsoluteRouteUrl ensures that the value for "{feed}" is resolved at runtime


Add Podman container support - issue 1216

conmon is used as a parent process
to find all child processses for root and
rootless containers

E.g.
systemd(1)───systemd(4964)───conmon(2382451)───redis-server(2382454)

Closes: https://github.com/criblio/appscope/issues/1216

Reviewed with no comments, and ran the tests described in #1216.  Looks great to me!  Merging now...


Bump regex to v1.5.5

cargo audit

I bumped farms-rpc because I was in the area, but I think the farms stuff is rotting, since it's excluded from everything.


[DISCUSSION] Plugin Functions (what will do)

While we discuss UX at #1 I think its important to decide the plugin functions, I mean what it will be able to do.
Also a lot of objectives was mentioned in godot-proposals 119, but here we need to specify more things, and more specific things too. Here's my list:

Copy source files to project folder e.g library/HelloWorld.cpp to godotproject/cpp/HelloWorld.cpp
Support Cross-compiling for all platforms
Support Rust Language (Done yet!)
Support Nim Language (to study)

Support Rust Language (Done yet!)
Support Nim Language (to study)

I would try and make language-specific operations an async/one-way dependency. After all, the end-goal is to have whatever plugin design we make be something that could conceivably be integrated into the official engine in a future release (once the design is finalized). So, the code should try to work off a generic interface to perform all of its operations, and then each language binding should provide its own implementation of that interface to plug its own operations into the required methods that the plugin depends on. This is referring to the various operations that 119 mentions.
So, rather than the quoted stuff above, it would just be something that bindings include in their own repos that implements a class that we have defined (and they could maintain that in a separate branch, or their master, or however they want to do that).

How about the ability to support custom language, as long as you have the templates and build script for them.
That way, supporting languages like Rust and Nim can be done more efficiently.

While we are taking about Plugin functions, where we should place all the data for the following?

source code per Library
binaries per Library
the languages' data (templates and build scripts)
bindings (per language?)

For reference, I have the following setup in my plugin now.

source code under addons/gdnative_data/<Library>/src
binaries under addons/gdnative_data/<Library>/bin
language data under <Godot Data Folder>/native_languages
godot cpp bindings under <Godot Data Folder>/native_languages

Cross-compilation, also, should be something that is mostly handled by the target language since they are the ones defining what compilation tools should be used.
All our code should do is ascertain what the current platform is and provide an interface for

What platforms are available for target_language?
Which platform out of those options does the user currently want to target?

These would both be questions that are answered by methods on a GDNativeBuild object since the object defines the entirety of the build configuration (or something to that effect - we might wanna distinguish between a Library and its source code files vs. the configuration of parameters to pass to a given compiler tool.

The problem is @SIsilicon that CPP and Rust and probably Nim workflow are totally different, there's no way to create a pattern between them, I recommend you to check godot-rust bindings, there you will see how it works.

@SIsilicon My proposal handles all that stuff in a GDNativeBuild resource (generic interface) with language-specific implementations of those scripts. Then, the user should be the one to decide where they want to store their source code/build files (res://, user://, 3rd-party location). It should all be something the user decides.

@nonunknown Isn't the basic pattern of how builds work all the same under-the-hood? Even if the exact files are different and the exact compilers, etc. you still have some collection of source files, an optional set of header/definition files (C/C++/F# all have things like that), and a list of dependent library files. Then you need the compiler tool, the target platform, the target build type (release/debug), and whatever other arbitrary list of compiler options are needed (which the language should be able to specify). Do C/C++, Rust, and Nim behave in different ways in these regards?

The problem is , @SIsilicon, that CPP and Rust, and probably Nim, workflow are totally different, there's no way to create a pattern between them, I recommend you to check godot-rust bindings, there you will see how it works.

Just checkout the rust bindings. I think that as long as the process of building the code can be automated from a python script (assuming we're using Python here), then any language can be implemented as a "custom language".

@SIsilicon Idk if we want to assume a dependency on python though. I suppose we could, but I do know that there are people who want to compile Godot with their own custom compiler options (not scons) so they don't necessarily have to be tied to Python. But if it is necessary to use python in order to have git-less fetching/unpacking of git repos for source code, then demanding that dependency might be worth it.

Yeah, after all, you don't need Scons for every language. the language can simply request that Scons should be installed.

@willnationsdev as you mentioned under the hood is the same, but the workflow changes, rust need to recompile the bindings everytime (when I tested, maybe I can be wrong) but it already generate everything the workflow is way easier than cpp
@SIsilicon There's no need to automate with python, when can do everything executing shell commands this way we avoid more dependencies as will mentioned.
Rust workflow:
cargo --lib lib_name_here
modify your code
cargo build
done
CPP workflow:
Generate Bindings
Create your code
Create Gdlib.cpp (register classes)
Compile Code
Done

Yes, but when you use shell commands, you then require to make a version for the three different desktop platforms, which means more code to maintain (bat for Windows, sh for Linux and Mac).

@SIsilicon Ah, true. Yeah, python would definitely make that easier. And make just writing the code a lot easier (geez, I really dislike bash/batch scripting - Python's a lot better).

Wait, does Rust not have any sort of bindings generation process? How are you supposed to use Rust in master versions of the engine? Do they not generate their API automatically?

Here we go. They do still have the ability to generate bindings for custom builds: https://godot-rust.github.io/book/advanced-guides/custom-bindings.html

Whether they generate their bindings or not doesn't really matter.
If it can be automated in a batch file, or any script for that matter, it doesn't really matter. We just need to expose enough parameters to support most languages.

If we are going to have compatibility with Python scripts to handle executing operations, I'd still want the data to be editable from the Godot Editor. In which case, we would likely need to have a Resource type that saves its data in a JSON format which Python can then also access without needing to know anything about Godot's Resource file format.

Such data can be passed to python via command line arguments.

Ah, that's true too. Simpler as well. So just use a Resource in Godot, and then use OS.execute to run a python script where you pass in all the information from the resource as arguments? I think actually did something similar with build tools in my original godot-builder addon.

Yeah that's basically what I'm suggesting. Any custom command arguments can be appended to what the builder already passes in (platform, architecture, etc...).

Okay, here's a tenative/preliminary list of features:
(Just assume that most language-specific operations that interact with the operating system are just generally handled by Python script calls)

Plugin defines a core GDNativeLanguage script (extending Reference probably)

get the name of the language
get source file extension
get header/declaration file extension (may not be applicable to a given language)
get available bindings versions (e.g. C++ has 1.0, 1.1)

this would be for officially supported versions, independent of custom-built ones from the end-user

Plugin defines a core GDNativeBindings script (extending Reference probably)

callback to get version number
callback to get which versions of Godot are compatible with the given version number
callback to get whether the given version is compatible with the current version of Godot (values of Yes, No, Unknown for custom builds)
callback to generate bindings from an API JSON file.
callback to fetch bindings from a third-party location.
callback to build bindings to make a static library. Optional to store the static library in a centralized location or in a project.
callback to generate a list of project template names
callback to generate files for a template project (with a given template project name selected)
same as above two, but for template classes associated with the language. A GDNativeBuild would also need to be added as a parameter so that the generated class files can be added to the language-specific project files and/or added to the GDNativeBuild resource's GUI.

e.g. if I tell a GDNativeBuildCpp instance to add_class("MyNode"), I'd expect to get a my_node.h, my_node.cpp, and my_node.gdns. I would also expect that the Build object is keeping track of the current name/path for the GDNativeLibrary file it intends to generate, and making a .gdns file would automatically set the field accordingly. Further, if the GDNativeLibrary name/path is ever edited, the GDNativeBuildCpp should automatically detect this and respond by updating all of the stored .gdns filepaths so that the files at those locations begin pointing to the new GDNativeLibrary path without having to manually go to each one and change it.*

Create a GDNativeBuild resource

GDNativeBuild resources can have child GDNativeBuild resources.

Configure dependencies

Add/Remove source files (or add directories for recursive adding of files based on file extension)

Maybe render this using a Tree in the Inspector? Right-click to "Add File" vs. "Add Folder"? That, or just have 2 fields in a property group, one for export(Array, String, GLOBAL_DIR) and one for export(Array, String, GLOBAL_FILE).

Add/Remove header/declaration files (same as above)
Add/Remove library files (for any dependent static/dynamic libraries - these need to be two separate lists?)

Any attempt to build a GDNativeBuild resource will recursively merge all "dependencies" of the build into master lists at the top level which the top GDNativeBuild then passes to a Python script.

Configure build arguments

get list of available build configurations from language-specific implementation (debug/release/etc.).
property to choose from that build configuration list (a string enum).
get list of available bindings libraries.
property to choose from that bindings libraries list (a string enum).
same as above two pairs, but for architecture (32bit/64bit)
similar pattern for whatever other build arguments you can think of.

When a particular GDNativeBuild resource is selected...

Add/Remove a class to/from the build

* - For any operation that is expected to take an especially long time, it ideally shouldn't trigger in a synchronous OS.execute call. It should be an async operation in a separate thread (just make a separate thread first and then do a synchronous OS.execute call within that Thread callback. Use a custom Thread type that emits a signal when it finishes. Then you can yield for that signal, thereby stalling local execution, and when the signal is done, you can finish waiting for the Thread to clean it up. This way, the main Editor thread doesn't stall while the background operation is executing, and when it is done executing, a signal is emitted which you can respond to for updating the GUI with a different icon or re-enabling temporarily disabled buttons, etc. (e.g. can't build again while already building / can't build while generating bindings, etc.).
We might also want to separate out the files, folders, and libraries associated with a build vs. the release/debug, architecture, and other build arguments since one will conceivably want to be able to easily switch between those things without having to have a duplicate larger resource for the entire "native project". Not sure what to call it though. Maybe have GDNativeBuild and GDNativeBuildArgs? And the former has an array of the latter plus another field for one being selected?
WDYT?

Pretty well thought out.
However, I do feel like parts are needlessly complicated. For starters, I don't think we'll need a whole class for the building threads. It would be best if we built each library one at a time to avoid clashes, so having just one thread should do

Wow huge list, I think we should've to start with little and the increasing the scope, in my mind just compiling code to some languages would be okay, then after some iterations we start to add extra features to personalize builds and stuff like that!
Also I got an answer from Godot-rust binding guys https://github.com/godot-rust/godot-rust/issues/637

@SIsilicon

I don't think we need a resource for everything.

That may be true (don't know everything we will need yet), but we will want all data that should be user-editable to be placed in a Resource so that users don't have to dig around in config files to mess with the data for their native libraries. A user should never be required to tinker with text files to properly configure the basic needs of getting started with a language. That should be something reserved for power users. At least, in my opinion.

For starters, I don't think we'll need a whole class for the building threads.

The extra class extending Thread is only necessary if we have the main Editor thread needing to respond, visually, to the completion of any launched threads. Which likely will happen if we want to give the users proper visual feedback on things like, "I clicked a button to fetch/build bindings to get a static library. How do I know if that operation is still loading? Has it completed yet? Should I have the ability to attempt to build that same language while the bindings are still being prepared?" Those are all questions the Editor should be answering for the user visually in response to the progress of threaded operations.

It would be best if we built each library one at a time to avoid clashes, so having just one thread should do the job.

You could do all of it in the main thread, but that would mean that literally the entire Editor would be locked until the operation completes. That leads to a worse user experience since the user can't navigate the Editor in any capacity or perform separate actions whilst the operation is executing. I really wouldn't recommend that.

Secondly, since binding would be handled by each language separately, we could just have it so that the python scripts handle the bindings data themselves.

I could potentially see this happening. So long as the input data can be configured from visual stuff in the Editor. As mentioned, I don't think people should need to mess with text files if they ever need to adjust something. Chances are, a new user won't care to use the non-latest-stable version of a particular set of bindings, so it would probably be fine to leave it as something in a text file, and possibly not changed often. So, if it ends up being better in the code maintainability to just keep all bindings management in the Python script(s), then so be it. But if it isn't that much more complicated to include the information in some "advanced" settings in the GUI, then there isn't much of a reason to take it out imo. Just a "we'll see what it's like when we get into the nitty-gritty of implementing it".

Having a GdnativeBuild resource extending GDNativeLibrary sounds like a great idea though.

I don't think it should extend the GDNativeLibrary resource necessarily since they fulfill different purposes. The Library exists to match up multiple dynamic library files with one conceptual/abstracted library so that it matches up to different targeted platforms. The GDNativeBuild would be something that defines the arguments that a library should be built with. One could potentially have a different set of build configurations for all kinds of different platforms. Since they don't have a 1-to-1 relationship, it shouldn't be an inheritance relationship.

and may have a custom config file as mentioned above.

I'm assuming, by this, we are referring to the concept of having the Resource be saved as some sort of Python-readable file format (.cfg, .json, whatever) so that it can be visually edited in the Inspector, but available to Python? Or, if it's only ever just having the Resource pass parameters to Python script calls in GDScript, then I don't see any reason to maintain a separate set of config values inside a config file. Might as well just keep it all in the Resource in that case while saving it to a regular .tres format (if it's purely a one-way thing of passing parameters to Python).

Wow huge list, I think we should've to start with little and the increasing the scope, in my mind just compiling code to some languages would be okay, then after some iterations we start to add extra features to personalize builds and stuff like that!

I'm good with that to a certain extent, but the more you think ahead and are able to set up the basic architecture to handle abstraction/customization, the easier it will be to refactor the code later on to meet users' needs. Otherwise, you have to go digging around to separate out the things you need, change relationships (which will inevitably break code and cause bugs), and fix stuff that could have been avoided to begin with.
Of course, you guys are likely the ones to be working on it more than I am, considering my availability, so there's a limit to what I can suggest you should do. XD

Also I got an answer from Godot-rust binding guys godot-rust/godot-rust#637

Well, uh, I have to say @nonunknown, you might not have handled that the best way.  But the fact of the matter is, the general practice is for people to independently be responsible for installing the necessary toolchains that allow you to compile for other platforms.
It's the same story with compiling for any platform where the necessary C API libraries aren't already installed. The compiler tools, or the people maintaining those tools, don't have the responsibility to make sure those exist precisely because the environment in which the compiler tools are executed may change, and there is no global guaranteed online source for finding that content (so no single solution exists). Each platform will acquire those compiler dependencies in their own way, so it's best left to documentation to just detail what things you need and then let users do the work of gathering them. In the same way that cloning Godot doesn't just automatically install Python, scons, and g++/mingw/cl for you. Each platform installs those dependencies in different ways.
With that said, our Python script will probably need to do the work of fetching those dependencies for any given platform. I'm not really sure what the work involved there is though as I've personally never cross-compiled anything to begin with. I'd probably look for guidance by viewing and understanding the source code for Godot's own Python build script with scons and see how they go about using stuff for cross-compilation. It could be that Windows/Linux/MacOS already have necessary desktop C headers pre-installed? If not, then I'm not sure how cross-compiling with scons works out-of-the-box (maybe the scons documentation has more details about that?). In the worst-case-scenario, each language would require different C headers (which may very well be the case), and if so, you'd have to have python scripts in each target language's repo (e.g. godot-rust and godot-nim would have their own) which would be responsible for cloning those C headers from some prescribed place online per-platform (exactly the kind of thing that rust guy didn't want to have to maintain.
So, basically, we need to figure out what can be done from a centralized repository, and whatever ends up needing to be language-specific, we have to then contact language maintainers to see what sort of relationship they suggest having with their codebase. The more we can do from one place, the better, but there'll likely inevitably be things we have to outsource for language-specific actions.

Coming back to this, I'm thinking maybe instead of python, we could use GDScript to build the libraries. All the current build script does right now can be easily translated to GDScript. The only downside is that the source code has to be within the editor, but that could be worked around by copying the source code into the resource folder temporarily.

@SIsilicon I talked with Vnen, he told me that this plugin will be officially integrated into godot, but for that it must be usind Docker in order to support all platforms compiling, I have little knowledge on that, but we need to consider this case too.

@nonunknown Oh, ok. Is there a link somewhere to the discussion I could go to, or was it private?


fix(deps): update terraform terraform-ibm-modules/cbr/ibm to v1.27.0

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/cbr/ibm (source)
module
minor
1.24.1 -> 1.27.0

Release Notes

terraform-ibm-modules/terraform-ibm-cbr (terraform-ibm-modules/cbr/ibm)
v1.27.0
Compare Source
Features

Enable traffic flow from SCC to COS is added (#525) (789366a)

v1.26.0
Compare Source
Features

added support to the cbr-zone-module to use existing zone using new inputs existing_zone_id and use_existing_cbr_zone (#530) (3e25409)

v1.25.0
Compare Source
Features

updated the target_service_details input in the fscloud submodule to support setting the geography option.NOTE: Both region and geography cannot be set simultaneously for the container registry service. (#519) (4060786)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

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


IntoDiagnostic hides original error from downcasting

Currently IntoDiagnostic wraps the Error that it is called on with a DiagnosticError.
https://github.com/zkat/miette/blob/e6f5cacfa65cfe26255a5686ceb610b4a211931b/src/eyreish/into_diagnostic.rs#L22-L26
This means that any further inspection using is or downcast{,_ref,_mut} will fail to reach the inner type and only DiagnosticError can be reached. Since it is an implementation detail, I think it should be transparent to the user.
Maybe the downcast* methods could additionally safeguard against DiagnosticError and reach into it when encountering it?

Being able to downcast back to the original error sounds super handy! I don't know if I can do this any time soon, but I'll happily take a patch to add this if anyone's willing!


Could add support to github.com/pion/rtp or maybe add a library that makes transcoding(aac->pcm) easier

As description from https://github.com/pion/webrtc/issues/1888, could you add support to github.com/pion/rtp or maybe add a library that makes transcoding(aac->pcm) easier?

Did you find the solution to transcoding audio from acc to pcm?


Handedness of spherical coordinates

Here's a fun one.
Current text:

Azimuth angle, in radians, orthogonal to the zenith direction, with value of 0.0 corresponding to the first reference axis, increasing according to the right-hand rule about the zenith direction.

Should the handedness of the azimuth angle be always right-handed, or should it be dependent on the sign of the determinant of the transformation?

Duplicated in #95; more discussion there so closing this one despite being posted first.


feat(channels): add channel refresh button

Description:
Add channel refresh button
Motivation and Context:
Provide an easy way to manually refresh channel listing
How Has This Been Tested?
Manually
Screenshots (if appropriate):

Types of changes:
New feature
Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes where needed.
[ ] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage increased (+0.04%) to 21.053% when pulling 65f8e1bd93898c67d4afc3d940e2396e3c6ca45b on mrfelton:feat/channel-refresh-button into b754e51618be2491500428576e292f882b0ced81 on LN-Zap:next.


jsPsych.pluginAPI.compareKeys handling null keys

Hi, just trying out jsPsych 6.3.0 (great update btw), and noticed that jsPsych.pluginAPI.compareKeys fails when one of the keys is null. Would you consider allowing null inputs? So the function would return false if any one input is null and true if both are null.
I'm handling null responses now as follows:
if (data.response != null) {
    data.hit = jsPsych.pluginAPI.compareKeys(data.response, data.correct_response);
} else {
    data.hit = false;
}

Hi @klanderson, I've now changed this on the master branch version of jspsych.js, so jsPsych.pluginAPI.compareKeys will handle null values in the next release.
As of right now there haven't been any other changes to the master branch jspsych.js file since the 6.3.0 release on Feb 21. This means you could replace your v6.3.0 jspsych.js file with the master branch version to get this new functionality, without risking any compatibility issues. If you do this, it might be a good idea to double-check the jspsych.js commit history before downloading, to see if there have been any other changes made in the meantime.

Thank you!


creates a session

upon running the function it creates a vc channel that limits the permissions of non rubberducks on joining and moves the user to the channel

Interesting. Is this supposed to address issue #4? As specified, the bot's actions are to be initiated by the user entering the voice channel -- not by a user text command.


add docker support

Add Docker support for web deployment
This pull request adds Docker support to easily deploy the Numbat web application. It includes a Dockerfile for building the application and a docker-compose.yaml for orchestrating the deployment.
Changes
New file: Dockerfile
Added a multi-stage Dockerfile that:

Builds the WebAssembly package using Rust and wasm-pack.
Sets up an Nginx server to host the built files.

New file: docker-compose.yaml
Added a docker-compose.yaml file that:

Defines the service for the Numbat web application.
Provides two options for building:
a. From the local codebase
b. Directly from the GitHub repository

How to use
To deploy the Numbat web application using Docker:

Ensure Docker and Docker Compose are installed on your system.
Navigate to the project root directory.
Run docker-compose up --build to build and start the container.
Access the application at http://localhost:8192.

Notes

The docker-compose.yaml file includes two build options. Uncomment the preferred option before running.
The application is exposed on port 8192. Adjust this in the docker-compose.yaml file if needed.

Testing

[ ] Verify that the Docker build process completes successfully.
[ ] Confirm that the web application is accessible and functioning correctly when deployed using Docker.
[ ] Test both build options in the docker-compose.yaml file.

Thank you for your contribution.
This works fine, but I wonder if it's really necessary and for what exactly? Once built, Numbat is a static web application. It can be "deployed" by simply copying it to a server. During development, I just run python -m http.server to work with it (see https://github.com/sharkdp/numbat/blob/master/numbat-wasm/README.md).

Thanks for the feedback.  Docker support is just meant as an alternative for those who prefer containerized deployments.  I prefer deploying numbat this way for its isolation, portability, and ease of setup and maintenance.  Of course, if you don't think it fits in the current scope of the project, I completely understand.

I must say I’m a bit lost here as well, once you have your nginx running in your container you still need to write some conf from the host machine right?
Like, configure the host nginx to do a reverse proxy to your numbat container?
In this case, it always seems easier (and less error-prone) to simply make nginx point to the static website.
Adding support for Docker in this repository means we would have to maintain the Docker container. Your PR doesn’t have a large surface area, but basically, it means we’ll have to update the Docker image as soon as possible and republish it every time Nginx or Alpine has a CVE or something (which happened not that long ago on Alpine iirc).
It seems better to rely on the host nginx directly for security and maintenance on our side imo

Tentatively closing this for now.


Update dotnet-developer-projects.md

Added ASP.NET MVC Boilerplate projects.

Thanks @RehanSaeed. Much appreciated.


Change code style

Summary
Now that we can use C# 7.3 we can make use of the new features. To name a few:

Auto properties
The ? operator for null checks
Expression bodies
Pattern matching

And many more (we had a nice list somewhere but I lost it). Some of these are currently explicitly blocked because of the .editorconfig. Consider changing these style rules to make use of the newer features.
Documentation for the .editorconfig can be found here https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference?view=vs-2019
Note: this issue is for discussing code style changes. These shouldn't change the meaning of the code but make it nicer to write.
Analysis

Cleaner code

The ? operator can be used to easily add null checks to your code. Consider this duality code:
if (this.PackageLicenseAcceptRequired != null)
	this.PackageLicenseAcceptRequired(this, args);

Which using the ? operator can also be written as:
this.PackageLicenseAcceptRequired?.Invoke(this, args);

Out variables can now be inlined. Consider this duality code:
bool agreed;
if (!this.licenseAccepted.TryGetValue(package.Name, out agreed) || !agreed)

Which can now be written like so:
if (!this.licenseAccepted.TryGetValue(package.Name, out bool agreed) || !agreed)


Persist last queried heights over relayer restart

Follow up from #104

Relayer persistently stores last height queried for better performance on startup

Relevant lines of code from ibc-relayer:
async function relayerLoop(link: Link, options: LoopOptions, logger: Logger) {
  // TODO: fill this in with real data on init
  // (how far back do we start querying... where do we store state?)
  let nextRelay = {};

On first start, it can query all packets from genesis, which can be slow. It should then persist this state in a file (not app.yaml, but in the same dir). This file is read on restart and is used, so it just queries since the last time it ran.
The file is not meant to be human-readable (just delete it if you want to force scanning all events since forever), and could be stored in JSON rather than YAML if that is easier.
Also, it would be nice to allow a user to set those values initially even if there is no JSON file. These take presidence over any json file:

--scan-from-src <height> - equivalent to setting packetHeightA and ackHeightA
--scan-from-dest <height> - equivalent to setting packetHeightB and ackHeightB

hmm... maybe we should rename those variables in the JSON?

@ethanfrey

hmm... maybe we should rename those variables in the JSON?

Could you elaborate more on that, please?

We can leave as is.
Just thought scan-from-src -> packetHeightA there is a src / A renaming.


Build/Sign job selection should be done based on owner field also

Currently, our code queries for jobs in 2 scenarious: 1) check if there is a running kaniko build/sign job for specific module/kernel 2) get all the job of the module during garbage collection scenario
With introduction of preflight flow we need to deferentiate the jobs also by owner, since preflight flow also uses and garbage collects build/sign jobs
Upstream-Commit: 688015c3d5e6f42c535801a9b613fa33be7bf1f4
Fixes #277

/assign @yevgeny-shnaidman

/lgtm


Potential issues with pagination using datetime fields.

Customers Version: v0.5.0-dev
What were you trying to do?
I created a bunch of customer accounts for testing a function that gets the data in pages with following query:
query := `select account_id, encrypted_account_number, created_at from accounts where created_at > ? order by created_at limit 10;`

for each next iteration I use the created_at value of the last row from the previous iteration.
What did you expect to see?
I expected to iterate over all records in the database.
What did you see?
Only one iteration was performed.
Explanation
Currently in MySQL we use created_at without specifying fractional seconds part (e.g. created_at DATETIME(fsp) it uses default value 0 for fsp. Which means following format of date is used: 1000-01-01 00:00:00. It leads to a situation where we may have different rows with the same created_at value (in my test they were created in time less than a second) and so if we sort by date and limit records, we may face issue similar to what I faced.
GORM, by default uses fsp 3: datetime(3). Max is 6.
Also, using precise time still makes it possible (not sure how to measure the possibility) that two records will have equal timestamps.

Sounds like we should modify our create table migrations to be more precise. @alovak can you do that?
I haven't deployed https://github.com/moov-io/customers/pull/253 anywhere and we need to get this in before v0.5.0 is released.

I faced the issue with pagination when I ordered rows by created_at. Using "xx_id" column solved the issue for me.
Due to support of two databases I was not able to make it work. MySQL requires us to specify fractional seconds part (fsp). At the same time if we specify fsp in SQLite it returns column value as string type not time.Time.

I faced the issue with pagination when I ordered rows by created_at. Using "xx_id" column solved the issue for me.

I've had bugs doing this before. ddf can be inserted unexpectedly when you wanted def

Sorry, what's ddf and def (in a datetime context)?

Oh. They were examples of *_id values. ddf could be inserted between pagination calls and be inserted unexpectedly. created_at values are only ever increasing, so grabbing old results always gives a consistent ordering.

They are growing, but if in test you generate 10 records (customers and
accounts) I bet all of them will have equal datetime value as there is no
milliseconds/ microseconds stored in MySQL right now.
On Mon, Oct 26, 2020 at 5:34 PM Adam Shannon<EMAIL_ADDRESS>wrote:

Oh. They were examples of *_id values. ddf could be inserted between
pagination calls and be inserted unexpectedly. created_at values are only
ever increasing, so grabbing old results always gives a consistent ordering.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/moov-io/customers/issues/261#issuecomment-716669920,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAEWIJQAXK3WSB26EMYY7DSMWQJ5ANCNFSM4S3BW4VA
.
--

Best wishes,
Pavel Gabriel
Contact me on twitter https://twitter.com/alovak, telegram
https://t.me/alovak or mobile +48 730 158 933 <+48730158933>


Fix the internal streams in multi-GPU Plan1d

Follow-up of #2644. I overlooked an undocumented CUDA behavior that for cudaMemcpyAsync/cudaMemcpyPeerAsync, the stream argument should reside on the source device (see, e.g., here; I also confirmed it with someone from NVIDIA). If this condition is not met, then CUDA would neglect the input stream and instead use its internal stream to do the job (can be checked on nvvp).
If we don't want to rely on CUDA doing the job for us and prefer to be explicit, it means:

for the 'scatter' operation: all streams should be on the same device as is the source
for the 'gather' operation: each device needs one stream.

This PR addresses this distinction.

Jenkins, test this please.

Jenkins CI test (for commit 2035e868dd3550be2c7d304be93ef8309235d882, target branch master) failed with status FAILURE.

@leofang Could you check CI failures?

Hi @asi1024, I can't reproduce it locally. I suspected it has something to do with recent changes in  the cuFFT module, so I rebased and force-pushed. Could you retry the CIs please?

Jenkins, test this please.

Jenkins CI test (for commit 7f1698f473ad22cb99623122cff1151da7a3671a, target branch master) failed with status FAILURE.

@asi1024 Could you retry and see if the same tests continue to fail?

I might have some clues. If I'm right, the tests should fail randomly. I need a confirmation.

Jenkins, test this please.

Jenkins CI test (for commit 7f1698f473ad22cb99623122cff1151da7a3671a, target branch master) failed with status FAILURE.

I re-triggered the CIs.

https://jenkins.preferred.jp/job/chainer/job/cupy_pr/1235/
https://jenkins.preferred.jp/job/chainer/job/cupy_pr/1245/

I re-triggered the CIs.

https://jenkins.preferred.jp/job/chainer/job/cupy_pr/1235/
https://jenkins.preferred.jp/job/chainer/job/cupy_pr/1245/

Wow the tests went wild! Thanks for confirming for me, @asi1024. I just pushed a fix. Could you please run the CI twice to ensure no test would fail randomly?
I think the reason is the stream-wait-event should respect the order of participating GPUs.

Could you please run the CI twice to ensure no test would fail randomly?

Ping @asi1024

Jenkins, test this please.

Jenkins CI test (for commit 66b399568a050e65bcb785dc43d5eafb2e60729d, target branch master) failed with status FAILURE.

Thanks. Let me investigate...😞

I am able to reproduce this random failure by stress-testing my machine (I ran two test suites simultaneously). Looks like a synchronization problem?

@asi1024 I fixed it.

Jenkins, test this please.

Jenkins CI test (for commit a91c53fd00b3e83283a666529bbdacb349274cab, target branch master) succeeded!

Please let me run the CI twice to ensure no test would fail stochastically.
Jenkins, test this please.

Jenkins CI test (for commit a91c53fd00b3e83283a666529bbdacb349274cab, target branch master) succeeded!

Yay!

LGTM!

Thanks for help, @asi1024


Fix Command Execution order on workers

Previously, the order of commands was not honored by the workers because there were 4 threads handling the command handling service. But the benefit of these threads is minimal because underlying TaskExecutorManager is synchronized.
Resolve this by moving the expensive portion that could be executed in parallel under TaskExecutor and making CommandHandlingService single threaded.

Merged build finished. Test PASSed.

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

@calvinjia

Merged build finished. Test FAILed.

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

Merged build finished. Test FAILed.

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

Merged build finished. Test FAILed.

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

[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /usr/src/alluxio/job/common/src/test/java/alluxio/job/wire/JobServiceSummaryTest.java:[123,12] no suitable constructor found for WorkflowInfo(int,alluxio.job.wire.Status,long,java.lang.String,java.util.ArrayList<java.lang.Object>)
    constructor alluxio.job.wire.WorkflowInfo.WorkflowInfo(long,java.lang.String,alluxio.job.wire.Status,long,java.lang.String,java.util.List<alluxio.job.wire.JobInfo>) is not applicable
      (actual and formal argument lists differ in length)
    constructor alluxio.job.wire.WorkflowInfo.WorkflowInfo(alluxio.grpc.JobInfo) is not applicable
      (actual and formal argument lists differ in length)

Merged build finished. Test FAILed.

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

Merged build finished. Test FAILed.

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

Merged build finished. Test FAILed.

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

alluxio-bot, test this please.

Merged build finished. Test FAILed.

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

This definitely looks like something I broke. I'm going to have to look at this again.

Merged build finished. Test PASSed.

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

@calvinjia: I made some changes after you reviewed (and also rebased). Can you look again?

Merged build finished. Test PASSed.

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

Merged build finished. Test PASSed.

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

LGTM

@calvinjia: Can you merge this for me?

alluxio-bot, merge this please.


setState() on unmounted component, possible bug or misunderstanding?

Hi! Thanks again for the great library.
I upgraded from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>in order to use the now-supported refs of #108, but after some tweaking I'm still stuck with the following error:
Warning: Can't call setState (or forceUpdate) on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.
    in InnerLoadable (created by Context.Consumer)
    in Unknown (created by ForwardRef)

The complaint seems to be that loadAsync(), triggered from componentDidMount() https://github.com/smooth-code/loadable-components/blob/4e99a97c5ae958c4f18ac82b7e1a3566bc81c912/packages/component/src/createLoadable.js#L63 seems to be somehow calling this.setState https://github.com/smooth-code/loadable-components/blob/4e99a97c5ae958c4f18ac82b7e1a3566bc81c912/packages/component/src/createLoadable.js#L96 despite not being mounted. That is, the InnerLoadable component itself is not yet mounted, despite being called from componentDidMount. Is this ever possible?
It's a bit hard to share the entirety of my own code, as it's our entry point that triggers the error. For what it's worth, this is the component causing the problem:
import React from 'react';
import ReactDOM from 'react-dom';
import loadable from '@loadable/component';

import { Dimmer, Loader } from 'semantic-ui-react';

const LoadingView = () => (
  <Dimmer active>
    <Loader>课程加载中...</Loader>
  </Dimmer>
);

const AsyncLessonView = loadable(() => import('./LessonView.jsx'), {
  fallback: <LoadingView />
});

export default AsyncLessonView;

const main = document.getElementById('main');
if (main) {
  ReactDOM.render(<AsyncLessonView />, main);
}

If it helps as well, there may also be a few other loadables loaded once LessonView loads. Could that be the cause of the issue?

Full stack trace of error (though I doubt it helps because webpack):
  | warningWithoutStack | @ | react-dom.development.js:512
-- | -- | -- | --
  | warnAboutUpdateOnUnmounted | @ | react-dom.development.js:15630
  | scheduleWork | @ | react-dom.development.js:16927
  | enqueueSetState | @ | react-dom.development.js:11623
  | Component.setState | @ | react.development.js:413
  | (anonymous) | @ | loadable.es.js:195
  | Promise.then (async) |   |
  | loadAsync | @ | loadable.es.js:194
  | componentDidMount | @ | loadable.es.js:160
  | commitLifeCycles | @ | react-dom.development.js:14685
  | commitAllLifeCycles | @ | react-dom.development.js:15905
  | callCallback | @ | react-dom.development.js:145
  | invokeGuardedCallbackDev | @ | react-dom.development.js:195
  | invokeGuardedCallback | @ | react-dom.development.js:248
  | commitRoot | @ | react-dom.development.js:16075
  | completeRoot | @ | react-dom.development.js:17463
  | performWorkOnRoot | @ | react-dom.development.js:17391
  | performWork | @ | react-dom.development.js:17295
  | performSyncWork | @ | react-dom.development.js:17267
  | requestWork | @ | react-dom.development.js:17155
  | scheduleWork | @ | react-dom.development.js:16949
  | scheduleRootUpdate | @ | react-dom.development.js:17637
  | updateContainerAtExpirationTime | @ | react-dom.development.js:17664
  | updateContainer | @ | react-dom.development.js:17691
  | ReactRoot.render | @ | react-dom.development.js:17957
  | (anonymous) | @ | react-dom.development.js:18097
  | unbatchedUpdates | @ | react-dom.development.js:17518
  | legacyRenderSubtreeIntoContainer | @ | react-dom.development.js:18093
  | render | @ | react-dom.development.js:18152
  | (anonymous) | @ | AsyncLessonView.jsx:32
  | ./client/views/lessons/AsyncLessonView.jsx | @ | AsyncLessonView.bundle.js:22
  | __webpack_require__ | @ | runtime.bundle.js:89
  | checkDeferredModules | @ | runtime.bundle.js:46
  | webpackJsonpCallback | @ | runtime.bundle.js:33
  | (anonymous) | @ | AsyncLessonView.bundle.js:1

Hello @linkenneth, I don't know exactly what happen in your case. But you pointed out a problem in the current implementation. The loadAsync is asynchronous and the component could be unmounted when the setState is called. I have to fix that.


Crashes on iOS12

There is an issue with the Boehm gc used in RoboVM which causes crashes in iOS 12. This has been fixed in RoboVM 2.3.5 (released a few days ago). More info about the issue can be found here. Also there is an in-depth explanation in dkimitsa's blog
It may be a good idea to update the RoboVM dependency (currently on 2.3.3) to 2.3.5 to benefit from this fix.

I updated the master POM. Just as a note: it is also trivially easy for a game project to update their RoboVM version by just adding a property to the top-level POM file for the game:
<properties>
  ...
  <robovm.version>2.3.5</robovm.version>
</properties>


Store potential pull request numbers on issue

Once a pull request claim it will fix some issues, then these issues could save them and display them on issues list and issue view page.

Is this proposal somewhat similar to this GitHub feature (with maybe different UI, of course)?

That would be great!

@guillep2k We could chose the first open pull request as a beginning. Show more than 1 pull links on pull request list page is more complicated on UI.


TernaryParentheses should have an option for complicated predicates

I'd like to enforce parens whenever the predicate has an operator in it and enforce there isn't any parens when there is no operator.

Expected behavior
These are good:
foo ? 1 : 2
Foo::Bar.baz ? 1 : 2
(foo && bar) ? 1 : 2
(foo > 91) ? 1 : 2

and the inverse are bad as well as:
((foo)) ? 1 : 2
((foo > 91)) ? 1 : 2

Actual behavior
There isn't a style option for this
Steps to reproduce the problem
Feature request
RuboCop version
$ rubocop -V
0.42.0 (using Parser <IP_ADDRESS>, running on ruby 2.2.4 x86_64-darwin15)

Added in #3703. 🙂

Great thank you!


pdfjs.sidebarViewOnLoad incorrect documentation in Peskyfox.js

Just wanted to make you aware the comments in peskyfox states that -1 is disabled while in reality it is actually remember previous state and 0 is disabled. So something like below would be more accurate. Thank you for your work
// PREF: PDF sidebar on load [HIDDEN]
// 2=table of contents (if not available, will default to 1)
// 1=view pages
// 0=disabled
// -1=remember previous state

Thank you! This will be fixed in the next release!


Image for Readme.md

Awesome. We should update the library image in the next PR!! Thanks @davideme


[dv/pwrmgr] Fix occasional failures and improve coverage

Run cov-unr to create an exclusion file, and add some additional exclusions manually that the tool missed.
Add missing illegal bins to coverage groups.
Remove unnecessary assertion disables.
Fixes some loose ends in sequences that caused occasional failures.
Signed-off-by: Guillermo Maturana<EMAIL_ADDRESS>

@matutem what is the command to launch this exclusion GUI? I think it's better to review on the GUI.


Math.random is not suitable for UUID generation

It's not a cryptographically secure random number generator. You need to use something based on window.crypto.

DATA team has done good work on this:
https://chatid.atlassian.net/browse/DATA-225

@daurnimator do you know what browsers it's an issue in? Chrome was notoriously bad but they fixed in V8 last year http://v8project.blogspot.com/2015/12/theres-mathrandom-and-then-theres.html

@daurnimator do you know what browsers it's an issue in?

No not exactly. Though I do remember running into the issue before.
Perhaps it was old chrome and old IE? It was also an issue in node for a while too, but this project doesn't run there.


Question about training on custom data

Hi.

I had a query about how to finetune the model basis a custom data set?
how do we prepare annotation for custom dataset?
Is there any flowchart which you know exist for this or any blog post which describes this would be helpful.

Willing to know how to prepare the annotations as well. It would be very helpful, thx a lot~


Update Phony gem to 2.16.1

@yamanaltereh will need to merge this to master first to setup circleci

@czhc yes waiting you to approve it 👍

@yamanaltereh i mean need to merge this

@czhc I see, okay

@czhc is it ready to merge ?!


🆕 Software Suggestion | blindsend

Basic Information
Name: blindsend
Category: File Encryption
URL: https://github.com/blindnet-io/blindsend
Description
Blindsend is an open-source tool for end-to-end encrypted file transfer between two agents. It provides a server with a REST API for managing file exchange workflows, and a web client which handles encryption and decryption of files on agents' local machines. There is also a java client library for blindsend.
Blindsend uses algorithms like Argon2id, BLAKE2b, XSalsa20, and XChaCha20-Poly1305. The project is under active development.
Why I am making the suggestion
We have started working on blindsend with the main aim to make the implementation of end-to-end encrypted file transfers easier for software developers who do not have expertise in the cryptography domain. Although blindsend is available as SaaS, we are developing client libraries so that software engineers can use blindsend in their projects as well. We made blindsend open source so that anyone can use it.
My connection with the software
I am participating in the developer of blindsend.

[x] I will keep the issue up-to-date if something I have said changes or I remember a connection with the software.

Blindsend appears to be in beta/alpha still, making it only applicable for worth mentioning section. Since there is a web UI, there is no concrete guarantee that the client can't easily be modified to extract the encryption keys, and hence the files. This isn't just an issue with your application though, it's pretty widespread.
Doesn't make it anymore OK. It just doesn't compete with OnionShare, which is over the Tor network, and provides the guarantees that the I mentioned.

@freddy-m This is ready to be closed.


Update the navbar

here we can add home ,contract us ,rate us button also fix the allignment

#94


Alpha into master

Description
Alpha into master
Breaking Changes
NA
JIRA Link
NA
Checklist

[ ] Updated the Readme.md (if required) ?

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

npm package (@latest dist-tag)
GitHub release
v5.12.0
v5.12.0

Your semantic-release bot :package::rocket:


upgrade to python3.10

Describe the bug/issue
Sandbox env will be upgraded to python3.10 in the "latest" version. There are quite a few things broken in notebooks.
Steps to reproduce
Steps to reproduce the behaviour. For example:
N/A
Expected behaviour
N/A
Environment information
DEA Sandbox](https://docs.dea.ga.gov.au/setup/sandbox.html)

related to #1108, the latest release on python3.10 is 2023.8.0


✨ Add IDE support for autocompletion of fields created by create_model

Initial Checks

[X] I have searched Google & GitHub for similar requests and couldn't find anything
[X] I have read and followed the docs and still think this feature is missing

Description
Hi 👋🏻
I'm building lib for FastAPI users that goes over SQLAlchemy model and generates Pydantic model for query params. However, When I generate model using create_model and try to access the params my IDE (VSCode) is not aware of such fields like with static model.
Here's minimal example from docs:
from pydantic import create_model

DynamicFoobarModel = create_model("DynamicFoobarModel", foo=(str, ...), bar=(int, 123))

foo_bar = DynamicFoobarModel(foo="hello", bar=123)
print(foo_bar.__annotations__)
print(foo_bar.foo) # 🚨 Cannot access attribute "foo" for class "BaseModel"

Affected Components

[ ] Compatibility between releases
[X] Data validation/parsing
[ ] Data serialization - .model_dump() and .model_dump_json()
[ ] JSON Schema
[ ] Dataclasses
[ ] Model Config
[ ] Field Types - adding or changing a particular data type
[ ] Function validation decorator
[ ] Generic Models
[ ] Other Model behaviour - model_construct(), pickling, private attributes, ORM mode
[ ] Plugins and integration with other tools - mypy, FastAPI, python-devtools, Hypothesis, VS Code, PyCharm, etc.

This won't be possible with the existing typing constructs as of today. Pyright (the type checker used by Pylance) does not provide any plugin functionality so we can't do much here.


Suggestions for README

Excellent Hacker-Noon article. Dramatic and informative! Congrats...
However, more credit (which you partially do!) should be given to the CapsNet-Tensorflow repro by Huadong Liao (aka Naturomics). His README is helpful.
Question: How does the Naturomics and your repro differ from Hinton's repro? So, it uses both Keras and TF. Why did you not use the Naturomics repro? Should mention this issue in your README.
In any case, excellent article that help me understand the significance behind capsule networks. Upgrade your README, inserting a link to your article and copying a few paragraphs at the end about how-to-use.

Hi there and thank you for the feedback!
The repos are essentially the same, so I will definitely add a larger shout-out to Huadong Liao and link to his repo in the article.
The main difference is that the MNIST dataset is included in the repo and added a requirements.txt so that it's easier for beginners to get started. I also wanted to try and beef up my tensorflow skills and get a deeper understanding of the Capsule architecture by attempting to implement the ability to train on images that have 3 color channels (as opposed to just black and white) as well as larger than 28x28 pixels
I will definitely add a readme! I can't believe I forgot one, I feel foolish 🤦♂
Again, thank you for the feedback 😄


DEVEXP-307: Conversation 'Messages' schemas revamped

Follow OAS generation new naming for Messages

As usual: a lot of files but openapi-contracts/src/main content was already reviewed


fails to run command taken from Arc onbarding script

When trying to onboard some on prem machines I am running into an issue with the DeployGPO powershell script.  It fails at the tags portion because we don't want to onboard these as SQL instances.
C:\installs\DeployGPO.ps1 : Cannot process argument transformation on parameter 'Tags'. Cannot convert the
"ArcSQLServerExtensionDeployment=Disabled" value of type "System.String" to type "System.Collections.Hashtable".
At C:\installs\WindowsOnboardingScriptGPOadd.ps1:4 char:378

... 086-9878-29a561ddc360  -Tags ArcSQLServerExtensionDeployment=Disabled

                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidData: (:) [DeployGPO.ps1], ParameterBindingArgumentTransformationException
FullyQualifiedErrorId : ParameterArgumentTransformationError,DeployGPO.ps1

I got the same error and solved it with the following change:
-Tags @{ArcSQLServerExtensionDeployment="Disabled"}

Thank you for the update, that worked for me as well.


proposal: crypto/rsa:  use avx-512 IFMA instructions to optimize RSA, e.g., SignPKCS1v15()

Implement optimized RSA functions to take advantage of Integer Fused Multiply Add (IFMA) instructions.  We will provide an example implementation of decrypt() for SignPKCS1v15() that uses IFMA-optimized Almost Montgomery Multiplication.
Reference:
https://www.intel.com/content/www/us/en/developer/articles/technical/fourth-generation-xeon-scalable-family-overview.html#gs.uemgn3

Let's merge this into #59412.  Thanks.


UI changes

Description
I have modified some UI changes on the header, to look moderate over alignment with color changes.

In dark mode, the button color is blank white, which displays nothing
Before changes:

After changes:

In dark mode, the button color is blank white when hovering, which displays nothing Before changes:
After changes:

Ah I see. That is a great improvement. Any way we can only let it be that hover color when dark mode is in use?

Okay, but still color looks good even in white mode, if not will have a look at changing it!
before:

after:

The changes to the View Ballot and Address button in both light and dark mode look great!  I think one last thing is the set the hover colors of the light/dark mode buttons have the same color as the View Ballot and Address buttons as @escottalexander mentioned.  Once that's in, we're ready to rock.

After taking another look at this, I prefer bg-slate-200 as the hover color in light mode, and the current dark mode hover color you have for all three buttons (View Ballot, Rainbow Connect, and Dark/Light mode).


Add support for encoding integers on map keys

Added support for encoding integers on map keys. Generally map(hash) integer keys are converted as string on JSON encoding libraries.
For-example in Ruby:
require "json"
{1 => 2}.to_json
=> "{\"1\":2}"

need this too, please, accept it!

We also need this!

+1

When does this end? Why not encode every key with the String.Chars protocol?

Hi @devinus,
I agree with you, users may need to convert floats or other types in future. So, do you agree me to make change for all types "#{value}"?

@devinus
I agree with you partially, there are many examples and good use cases for integers being used as keys - none (that I could find) for other types when it comes to JSON.

When I say partially I mean merging this kind of change sets a precedent but anyone using JSON sensibly I think anything other than what exists + integers is unnecessary...

Can you compare the performance hit of doing protocol dispatch for every key using the benchmarks in this library?

No need this enhancement with the commit:
https://github.com/devinus/poison/commit/bf2923d3ea16ecf626c29e163c79dd973f0ec609