yapf doesn't work with neovim

Hi. I'm having problems fixing python files with yapf.
When I save .py files ALE doesn't run yapf. But yapf is installed with pip and it works in terminal.
I tried installing and uninstalling yapf plugin in vim but it didn't work.
ALEFix  => No fixers have been defined. Try :ALEFixSuggest
Note: ALEInfoToClipboard didn't work either. I had to copy the output manually.
Current Filetype: python
Available Linters: ['flake8', 'mypy', 'pycodestyle', 'pylint', 'pyls']
Enabled Linters: ['flake8', 'mypy', 'pylint']
Linter Variables:
let g:ale_python_flake8_executable = 'flake8'
let g:ale_python_flake8_options = ''
let g:ale_python_flake8_use_global = 0
let g:ale_python_mypy_executable = 'mypy'
let g:ale_python_mypy_options = ''
let g:ale_python_mypy_use_global = 0
let g:ale_python_pylint_executable = 'pylint'
let g:ale_python_pylint_options = ''
let g:ale_python_pylint_use_global = 0
Global Variables:
let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = 'Error'
let g:ale_echo_msg_format = '%code: %%s'
let g:ale_echo_msg_warning_str = 'Warning'
let g:ale_enabled = 1
let g:ale_fix_on_save = 0
let g:ale_fixers = {}
let g:ale_keep_list_window_open = 0
let g:ale_lint_delay = 200
let g:ale_lint_on_enter = 1
let g:ale_lint_on_save = 1
let g:ale_lint_on_text_changed = 'always'
let g:ale_linter_aliases = {}
let g:ale_linters = {}
let g:ale_open_list = 0
let g:ale_set_highlights = 1
let g:ale_set_loclist = 1
let g:ale_set_quickfix = 0
let g:ale_set_signs = 1
let g:ale_sign_column_always = 0
let g:ale_sign_error = '>>'
let g:ale_sign_offset = 1000000
let g:ale_sign_warning = '--'
let g:ale_statusline_format = ['%d error(s)', '%d warning(s)', 'OK']
let g:ale_warn_about_trailing_whitespace = 1
Command History:
(executable check - failure) flake8
(executable check - failure) mypy
(executable check - success) pylint
(started) ['/bin/zsh', '-c', '''pylint'' --output-format text --msg-template="{path}:{line}:{column}: {msg_id} ({symbol}) {msg}" --reports
n ''/home/alireza/main.py''']
(executable check - failure) flake8
(executable check - failure) mypy
(finished - exit code 20) ['/bin/zsh', '-c', '''pylint'' --output-format text --msg-template="{path}:{line}:{column}: {msg_id} ({symbol}) {
msg}" --reports n ''/home/alireza/main.py''']
<<>>
************* Module main
main.py:2:0: W0311 (bad-indentation) Bad indentation. Found 5 spaces, expected 4
main.py:3:0: W0311 (bad-indentation) Bad indentation. Found 5 spaces, expected 4
main.py:4:0: W0311 (bad-indentation) Bad indentation. Found 5 spaces, expected 4
main.py:5:0: W0311 (bad-indentation) Bad indentation. Found 9 spaces, expected 8
main.py:5:0: C0326 (bad-whitespace) Exactly one space required after comma
print(a,end=' ')
^
main.py:6:0: W0311 (bad-indentation) Bad indentation. Found 9 spaces, expected 8
main.py:6:0: C0326 (bad-whitespace) No space allowed before comma
a, b = b ,a+b
^
main.py:6:0: C0326 (bad-whitespace) Exactly one space required after comma
a, b = b ,a+b
^
main.py:7:0: W0311 (bad-indentation) Bad indentation. Found 5 spaces, expected 4
main.py:1:0: C0111 (missing-docstring) Missing module docstring
main.py:1:0: C0103 (invalid-name) Invalid argument name "n"
main.py:3:5: C0103 (invalid-name) Invalid variable name "a"
main.py:3:8: C0103 (invalid-name) Invalid variable name "b"
main.py:6:9: C0103 (invalid-name) Invalid variable name "a"
main.py:6:12: C0103 (invalid-name) Invalid variable name "b"
Your code has been rated at -11.43/10 (previous run: -11.43/10, +0.00)
-- More --
<<>>
(executable check - failure) flake8
(executable check - failure) mypy
(executable check - failure) flake8
(executable check - failure) mypy
(executable check - failure) flake8
(executable check - failure) mypy

ALEFix => No fixers have been defined. Try :ALEFixSuggest

It told you what to do. let g:ale_fixers = {'python': ['yapf']}. See the documentation for the option for more information.


Add RISC-V 64 test

@Skallwar maybe?
See https://github.com/andre-richter/qemu-exit/commit/33828d5f8eacd95c2a1a600eb9ee3545539eeee8
The test workflow currently has no matrix because I did not know how to pair two values together.
You'd need target+linker file.

I will give it a look :+1:


lsp min_keyword_length seems to have no effect

Make sure you have done the following

[X] I have updated to the latest version of blink.cmp
[X] I have read the README

Bug Description
I took the default example and set min_keyword_length to 5 but it always triggers lsp
Relevant configuration
{
    "saghen/blink.cmp",
    lazy = false, -- lazy loading handled internally
    -- optional: provides snippets for the snippet source
    dependencies = "rafamadriz/friendly-snippets",

    -- use a release tag to download pre-built binaries
    version = "v0.*",
    -- OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust
    -- build = 'cargo build --release',
    -- If you use nix, you can build from source using latest nightly rust with:
    -- build = 'nix run .#build-plugin',

    ---@module 'blink.cmp'
    ---@type blink.cmp.Config
    opts = {
        -- 'default' for mappings similar to built-in completion
        -- 'super-tab' for mappings similar to vscode (tab to accept, arrow keys to navigate)
        -- 'enter' for mappings similar to 'super-tab' but with 'enter' to accept
        -- see the "default configuration" section below for full documentation on how to define
        -- your own keymap.
        keymap = { preset = "default" },

        appearance = {
            -- Sets the fallback highlight groups to nvim-cmp's highlight groups
            -- Useful for when your theme doesn't support blink.cmp
            -- will be removed in a future release
            use_nvim_cmp_as_default = true,
            -- Set to 'mono' for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
            -- Adjusts spacing to ensure icons are aligned
            nerd_font_variant = "mono",
        },

        -- default list of enabled providers defined so that you can extend it
        -- elsewhere in your config, without redefining it, via `opts_extend`
        sources = {
            completion = {
                enabled_providers = { "lsp", "path", "snippets", "buffer" },
            },
            providers = {
                lsp = {
                    min_keyword_length = 5,
                },
            },
        },

        -- experimental auto-brackets support
        -- completion = { accept = { auto_brackets = { enabled = true } } }

        -- experimental signature help support
        -- signature = { enabled = true }
    },
    -- allows extending the enabled_providers array elsewhere in your config
    -- without having to redefine it
    opts_extend = { "sources.completion.enabled_providers" },
}

neovim version
NVIM v0.10.2 Build type: RelWithDebInfo LuaJIT 2.1.1731601260 Run "nvim -V1 -v" for more info
blink.cmp version: branch, tag, or commit
v0.6.2

Do you mean that the LSP results are showing up before 5 characters are typed or that buffer isn't showing up before the LSP completions show up?

Do you mean that the LSP results are showing up before 5 characters are typed or that buffer isn't showing up before the LSP completions show up?

I was expecting to write 5 chars before the menu for LSP triggered. Do I have the wrong option for this ?

Ah you've configured it for only the lsp source but perhaps you want to configure that all your sources

Ah you've configured it for only the lsp source but perhaps you want to configure that for all your sources (buffer, snippets, path)

if I do
        sources = {
            completion = {
                enabled_providers = { "lsp", "path", "snippets", "buffer"},
            },
            providers = {
                lsp = {
                    min_keyword_length = 2,
                },
                path = {
                    min_keyword_length = 2,
                },
                snippets = {
                    min_keyword_length = 2,
                },
                buffer = {
                    min_keyword_length = 2,
                },
            },
        },

its still triggered on first char and even sometimes just by going into insert mode ?

didn't see the release of v0.7.1 and now all just works perfectly, thank you :)


[juju] Add 04known_bugs

This is a new plugin meant to detect known bugs, this first version is
capable of detecting possible occurrences of LP: #1910958
Example output:
$ /home/freyes/Projects/hotsos/hotsos.sh --juju ./
hotsos:
  version: development
  repo-info: 50beab7
...
juju:
  machines:
    running:
      - 31 (version=unknown)
  charm-versions:
    - filebeat-33
    ...
    stopped:
      - rabbitmq-server-3
  - bug: 'LP: #1910958'
    description: Unit fails to start complaining there are members in the relation.
    files_with_matches:
      - ./var/log/juju/unit-rabbitmq-server-3.log
      - ./var/log/juju/unit-rabbitmq-server-2.log

INFO: see --help for more display options

On Fri, 2021-02-19 at 09:28 -0800, Jorge Niedbalski wrote:

@niedbalski commented on this pull request.
In plugins/juju/04known_bugs:

+def detect_bug1910958():

"""Unit fails to start complaining there are members in the
relation."""
result = {"bug": "LP: #1910958",

         "description": ("Unit fails to start complaining there

are "

                         "members in the relation."),

         }

pattern = (

   'manifold worker returned unexpected error: failed to

initialize '

   'uniter for "[A-Za-z0-9\\-]+": cannot create relation state

tracker: '

   'cannot remove persisted state, relation \\d+ has members'

)

cmd = ["grep", "-r", "-P", "-H", "--include=*.log", "--files-
with-match",

      pattern, JUJU_LOG_PATH]

try:
1 cent on this, why not making this a util?

a util as in "put this code in a generic module to be able to reuse
it"?

New version of the patch, I dropped the use of grep, I believe there are no more outstanding issues to be addressed.

Rebased the patch based on Ed's feedback.


Avoid MOVED label when topic is marked resolved

Fixes #19919
Derivative work of another PR: https://github.com/zulip/zulip/pull/20596

Testing plan:
GIFs or screenshots:
This is how topic looks before we mark it as resolved:

As the resolving the topic mentions, messages are moved under new topic that has a ✔ in the name. But, we don't want to show the label MOVED. And we also want to maintain EDITED label of any message that was edited in the topic:

Thanks for working on this @baali!  I think the logic here isn't correct, since a topic could have been resolved and then unresolved, for example.  What we want to do is only consider topics moves to be an edit/move at all for the purposes of this display if they did not add/remove RESOLVE_TOPIC_PREFIX from the beginning of the topic.

I'd also spell the commit message title with "message edit: " to indicate the subsystem involved in the change.

Thank you @timabbott for the input. I have following additional logic to identify toggling between resolved/unresolved:
// To find unresolved situation we will have to dig information
// from edit_history. We use prev_topic and consider message resolved/unresolved when:
// 1. are either same as current topic
// 2. or they start with ✔
if (message.edit_history !== undefined) {
    const last_edit = message.edit_history.at(-1);
    let prev_topic;
    if (util.get_edit_event_prev_topic(last_edit) !== undefined) {
        prev_topic = util.get_edit_event_prev_topic(last_edit);
    } else {
        prev_topic = last_edit.prev_topic;
    }
    if (
        prev_topic !== undefined &&
        (prev_topic === message.topic ||
            prev_topic.startsWith(message_edit.RESOLVED_TOPIC_PREFIX))
    ) {
        return true;
    }
}

With these changes in place, I can confirm following behavior when we interact with resolved button for a topic:

Resolved topic:

Unresolved topic:

Edited label:

Topic moved:

Playing around with the PR, it seems that the logic isn't right. It looks like messages don't get marked as MOVED when they are moved into a resolved topic. Unresolving the topic after moving the message makes the expected MOVED label appear again.

Understood. So far the logic simply avoids marking everything with MOVED that comes under a topic with a :heavy_check_mark: prefix.
I will extend it to be inclusive of messages that gets moved into a resolved stream to be marked as MOVED appropriately.
Thank you for the feedback @alya

Closing in favor of #21075, which now has its own more complex dependencies.  Thanks for working on this @baali!


[Feature request] Possibility to use bamboo sticks like sticks in crafting recipes for torches, tools etc.

this is already possible. Also what version are you on, and are there other mods installed

this is already possible

No. I'm using the latest release - 1.3.4


Deliver latest package revision available for requested architecture

Code seems to search for latest package version without matching architecture first.
As a result, a recent package revision for an architecture X (without publishing for Y) may hide previous revision for architecture Y.
It sounds relevant spkrepo should deliver latest revision available

A long time ago, DSM refused to consider a package as an upgrade if the version was inferior by string comparison. I think this is to avoid having stable packages show as an upgrade of a beta package after switching back channel from stable to beta.
It seems this could have changed with a more clever version parsing inside newer DSM versions. Needs to be checked.
Version-based sorting is not easy for databases as they don't have the functions to deal with that. Add the filters (channel, architecture, DSM minimum version, active, etc.) and you have horrible code logic mixed with SQL.
The best would be to find a cleaner solution to this issue, then I think the latest package for architecture issue would be easier to solve.

A proposal: at publish, parse package version and create an integer from it (similar to firmware build sequence)... spkrepo may only keep "revision" alone, or implement a more complex numbering like major10⁹+minor10⁶+patch*10³+revision, expecting applications follow semantic versioning and do not dare to go over 999... (and support also dates based package version)

With packages published for DSM 7 with a duplicate of same version for DSM 6, it looks like packages are "hidden"... My evansport DSM 6.2 Package Center currently shows no community nor beta packages....

With packages published for DSM 7 with a duplicate of same version for DSM 6, it looks like packages are "hidden"... My evansport DSM 6.2 Package Center currently shows no community nor beta packages....

In fact my "hidden" packages issue was related to expired SSL certificate.

Hi @ymartin59, I've been addressing server improvements as part of task #112 to resolve several outstanding issues. @hgy59 highlighted this particular issue for further investigation, but I'm struggling to grasp its intricacies. Could you please share additional details to assist me in validating whether the current platform adequately addresses this concern? Thanks!

Hi @ymartin59, I've been addressing server improvements as part of task #112 to resolve several outstanding issues. @hgy59 highlighted this particular issue for further investigation, but I'm struggling to grasp its intricacies. Could you please share additional details to assist me in validating whether the current platform adequately addresses this concern? Thanks!

Testing the original issue succeeds in #112 (instead of "not publishing for Y" I deactivated the recent revision for Y, and got the previous revision)

Code seems to search for latest package version without matching architecture first.
As a result, a recent package revision for an architecture X (without publishing for Y) may hide previous revision for architecture Y.
It sounds relevant spkrepo should deliver latest revision available

Hello. Here the question is about API which delivers latest package to DSM Package Manager according to its architecture. It was a concern when an architecture is deprecated or no longer supported, even if package receives updates for others.

Hello. Here the question is about API which delivers latest package to DSM Package Manager according to its architecture. It was a concern when an architecture is deprecated or no longer supported, even if package receives updates for others.

As far as I can observe this is how the API already works. For example within the last several months there was an issue with SABnzbd causing crashes with the latest package versions on qoriq architectures. As a result version 4.0.2-62 was the last working version. All versions published after that had the 6.2 qoriq build disabled and/or removed. For these users newer versions did not show up in their Package Center until the current version 4.2.2-68 when the issue was resolved and the qoriq architecture reintroduced.
Am I misinterpreting the concern you were articulating?


Cantaloupe endpoint not listed in README.template.md

The README.template.md lists admin endpoints for Fedora, Blazegraph etc. but doesn't mention Cantaloupe.

Fixed in this commit https://github.com/Islandora-Devops/isle-site-template/commit/7e632f7d3df72917c51088ef343cad82d759c2c3


Added support for kotlin M13 and small code clean-up

Thanks!

Hmm. Build is failing. Did you include reflection in the Gradle file? Does it work for you locally?

Strange. Locally builded successfully and I already using this snapshot in my projects
But, please check you too, because I'm a new in gradle :smile:


Portal cli -i should not depend on server -i

A portal server started normally ./portal -s will generate a certificate and listen securely. When the cli tries to access portal from a machine that doesn't trust the cert, we get the following error:
$ ./portal show-services
Could not contact portal - Get https://<IP_ADDRESS>:8443/services: x509: cannot validate certificate for <IP_ADDRESS> because it doesn't contain any IP SANs

The server gives us this helpful logline when started with -l trace:
2016/04/07 16:24:53 http: TLS handshake error from <IP_ADDRESS>:49473: remote error: bad certificate

We can either add the (unknown) generated cert to our trusted list and try again, or try using the -i flag to ignore the cert check. Unfortunately there is a bug:
$ ./portal show-services -i
Could not contact portal - Get http://<IP_ADDRESS>:8443/services: malformed HTTP response "\x15\x03\x01\x00\x02\x02"

# Portal server log
# 2016/04/07 16:23:11 http: TLS handshake error from <IP_ADDRESS>:49472: tls: first record does not look like a TLS handshake

Notice it tries requesting http://. Portal cli shouldn't assume that the server was started with -i just because we want to ignore the cert check.

Resolved by #17


Configurable bind addresses in datadog6

My host has multiple network interfaces, not just the loopback and eth0 and I need datadog 6 to listen on some of them.
Right now datadog6 either listens only on localhost or on all interfaces, being open for the subnet that I don't want (let's forget firewalling).
In datadog5 there was a bind_host property which allowed me to change to a specific interface, though not to multiple interfaces, but still it was something.
There should be a way in datadog6 to configure which addresses to bind.
i.e.: bind_hosts: [ <IP_ADDRESS>", "<IP_ADDRESS>" ]

Hi @zoltan-toth-mw, thanks for the feedback!
We've just re-introduced the bind_host option in Agent 6 (see #1478), it will be included in the upcoming 6.1.0 release. The option is identical to Agent 5 and only allows binding to one interface.
Binding the Agent to multiple interfaces is something we could consider implementing, I'm going to open a feature request in our backlog for this. Let us know if you have more details on your use cases/how important the feature is for you.

I would say a must have nowadays. Would simplify a lot IMHO in complex deployments and should be fairly simple to implement...

Agreed, multiple bind_host values would allow a simpler networking configuration on some boxes we have with mixed container and host services.

This would be helpful for me as well. I'm having to work around this with some iptables magic at the moment

My problem was that I want to listen with both the "localhost" name AND the servers hostname (for other servers to talk to it).
My solution was to set the bind host to:
bind_host: <IP_ADDRESS>
It now listens on localhost and on the hostname.


Add default Tag selection

If a Repo was selected, select the first Tag by default (especially if only one Tag exists )

@zerocewl checkout version 2.2.1
docker run parabuzzle/craneoperator:2.2.1


【小程序】补全第三方平台>小程序>代码管理API

:)
具体参见 [代码管理[(https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&id=open1489140610_Uavc4)

Codecov Report

Merging #244 into master will decrease coverage by 0.14%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master     #244      +/-   ##
==========================================
- Coverage   76.49%   76.35%   -0.15%
==========================================
  Files          72       72
  Lines        2953     2969      +16
==========================================
+ Hits         2259     2267       +8
- Misses        694      702       +8

Impacted Files
Coverage Δ

wechatpy/client/api/wxa.py
54.34% <50%> (-2.32%)
:arrow_down:

Continue to review full report at Codecov.

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

Pre-released in v1.5.0.dev1


Element with this selector not found

Trying to run the basic functionality but get this error although everything is quite normal
import './App.css';
import CKV from "ckv";
const ckVideo = new CKV('.try', './assets/video/video.mp4');
ckVideo.play().then(() => 'do something');
function App() {
return (

Edit src/App.js and save to reload.

Learn React

);
}
export default App;
I get this error:
Element with this selector not found
  4 | import './App.css';
  5 |
> 6 | const ckVideo = new CKV('.try', './assets/video/video.mp4');
    |                 ^
  7 | ckVideo.play().then(() => 'do something');
  8 |
  9 | function App() {

Any help appreciated

Try this please:
function App() {
  const savedCKVInstance = useRef()

  useEffect(()=> {
    savedCKVInstance.current = new CKV('.try', './assets/video/video.mp4')

    return () => savedCKVInstance.current.destroy()
  } , [])

}


Divide SM documentation 0.1 into workable pieces

Creating this issue as a reminder for @nikedinikedi and @rajlego
Think of clear hierarchy/arrangement/structure how to achieve SM Documentation 0.1 (in zenhub roadmap)
Epics inside epics etc.

Moved to Notion.so


[optimize] init join hash table size by rows before hash table building

Proposed changes
Initialize hash table size by the tuple number instead of fixed number 1024 to reduce BuildTableExpanseTime.
test result:
After initialize table size, the total build time decreased by 8.9% on tpch 10G,
test sql:
select count(*) from lineitem join orders on l_orderkey = o_orderkey
Problem Summary:
Describe the overview of changes.
Checklist(Required)

Does it affect the original behavior: (Yes/No/I Don't know)
Has unit tests been added: (Yes/No/No Need)
Has document been added or modified: (Yes/No/No Need)
Does it need to update dependencies: (Yes/No)
Are there any changes that cannot be rolled back: (Yes/No)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

Duplicate with #9735


In mobile preview the product image are too large make them small

Fixed #IssueNumber
Check (put an 'x' between the square brackets) everything which applies:

[ ] I have added the issue number for which this pull request is created.

@nitin-pandita , please let me know about this update.

hey nitin i would like to give it a try, i am new to open source and contribution, could you please guide me through this?

sure @arjun-gr go ahead, welcome to open source


Feature request: lua API function to dispose tasks

Neovim version (nvim -v)
NVIM v0.10.0-dev-887+g18062f70d8
Operating system/version
arch btw
Describe the bug
If we had a function like dispose(tasks[]) or dispose_all(), it would be possible to stop and clean all tasks in the results panel before running a new task.
Steps To Reproduce
x
Expected Behavior
x
Minimal example file
x
Minimal init.lua
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    "git",
    "clone",
    "--filter=blob:none",
    "--single-branch",
    "https://github.com/folke/lazy.nvim.git",
    lazypath,
  })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  { "stevearc/dressing.nvim", config = true },
  {
    "stevearc/overseer.nvim",
    config = function()
      require("overseer").setup({
        -- add your overseer config here
      })
    end,
  },
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

Additional context
My case of use is for Compiler.nvim: When a user build and run a solution (several programs at once). Some of them will run on loop some times (clients, and  stuff like that).
Running the solution multiple times would result in a lot of tasks accumulating in running state. For  this scenarios I'd like to create a function CompilerStop() to dispose all running tasks.
This would allow users to create a keymapping to do CompilerStop() to dispose all, and then redo the last task at once when they need to (I already have the redo part).

Ok this is possible already
ovs = require("overseer.task_list")
tasks = ovs.list_tasks({ unique = false })
for _, task in pairs(tasks) do
  task.dispose()
end

You're correct, you can use the API for this. I would recommend using require("overseer").list_tasks() instead of overseer.task_list. I guarantee backwards compatibility of the overseer. API methods, but there is no such guarantee for submodules.
You can also use ipairs instead of pairs, because it returns a list-like table.
Lastly, I would also recommend doing overseer.run_action(task, "dispose") instead of calling the method directly, for the same reasons. The methods that are directly on the task have no API compatibility guarantees across versions.

Ok I've edited my code to remove the references to overseer.task_list and task.dispose, and now we are directly using overseer.list_tasks() and overseer.run_action(task, "dispose") instead. Thank you for the suggestions @stevearc !!
I've updated Compiler.nvim
  cmd("CompilerStop", function()
    vim.notify("SUCCESS - All tasks have been disposed.", "info")
    local overseer = require("overseer")
    tasks = overseer.list_tasks({ unique = false })
    for _, task in ipairs(tasks) do
      overseer.run_action(task, "dispose")
    end
  end, { desc = "Dispose all tasks running in the compiler" })

And NormalNvim compiler.nvim status bar component
function M.compiler_state(opts)
  local ovs
  local state
  local tasks
  local tasks_by_status
  local spinner = utils.get_spinner("LSPLoading", 1) or { "" }

  return function()
    if is_available "compiler.nvim" and not ovs then
      vim.defer_fn(function()
        ovs = require("overseer")
      end, 100) -- Hotfix: Defer to avoid stack trace on new files.
    end
    if not ovs then return nil end

    tasks = ovs.list_tasks({ unique = false })
    tasks_by_status = ovs.util.tbl_group_by(tasks, "status")

    state = "INACTIVE"
    if tasks_by_status["RUNNING"] then state = "RUNNING" end

    return status_utils.stylize(state == "RUNNING" and (table.concat({
          " ",
          spinner[math.floor(luv.hrtime() / 12e7) % #spinner + 1] or "",
          "compiling" or "",
        }, "")
      ), opts)

  end
end


update darwin build instructions

Hi @bdon
Thank you for the PR. It looks like we've updated the README a bit since this original PR. Sorry for the delay! :smile:


macOS ScheduledTime property in recorded event has HMS in UTC timezone even though offset is labeled -0700.

Additionally, it seems the missed-response event has the right time but the wrong timezone.


[spec: webpack 5] - target.webpackGraph - Persistent graph target

Current Problems & Scenarios
To have the most performant web app, users have to leverage Rollup to package libs and webpack consume those libs: webpack when it bundles, contains module wrappers and runtimes for running in the browser or another support target (IE: node, electron etc.). People can choose to create a UMD, or CommonJS output, however when this format is consumed by webpack (for another application), this adds un-removable overhead in build sizes. Therefore we have recommended in the past that developers who are using webpack, but also creating component libraries that webpack consumes, that they leverage tooling like RollupJS so that the bundling is as efficient as possible. This not only causes unnecessary work, but more mental cost & time on our users to leverage separate tooling.
Build overhead not just size: On top of that, any time webpack consumes a webpack bundle, it will have to parse and evaluate all code paths that are bundled. If you build a library once, and you are not actively developing it in your application, webpack shouldn't have to build it at all except once
Building component libraries and monorepo's" When your project/application scales, both problem one and two will become more prevalent, as you are building the app and adding needs O(x*buildTime) the time complexity of build out the library itself.
Processing non-js assets: To complicate things, if you tried to build a .vue or .css in js component, you would have to set library-specific loaders and plugins or ship the raw source so that your app build could consume.
Proposed Solution
New reusable caching primitives: We can solve a majority of these problems above via implementation of a new persistent caching primitive. By short circuiting the Compilation#seal() phase, and forcing webpack to output the dependency graph (JSON? Protobuf? Flatbuf?) to disk, we could (in theory) cut half of the build time complexity from webpack.
From there, webpack will collect this webpackGraph (similar to records.json) and hydrate this information into the full object modeled Dependency Graph which is stored in memory during build today. This would happen near the same time that records.json would be processed, however we would need to have the capability to merge the graphs together, before the Compilation#seal() phase (where everything is optimized and put into chunks and chunkGroups, etc).
[Unsure about this] In addition, loaders that are applied to said component library (could?) be referenced and leveraged from original components node_modules so that there is determinism between the loaders used in an application bundle and ones being used to create the library.
User Stories (That speak in solving spirit of these problem areas)

Priority
Story

1
As a library author, I can publish a "webpackGraph" file alongside another target that webpack can consume. This graph contains serialized information about modules, dependencies, and their graph relation to eachother (in addition to loaders applied, module and dependency types, and EntryPoint cacheGroups)

1
As a web application users, I can consume a libraries "webpackGraph" file w/o any configuration (automatically resolved). In addition, when I modify parts of my application, webpack will not traverse, resolve, or parse (?) the original library sources.

Non-Goals

We will not focus (in this RFC) creating an "ESM" library target output. This is something we need, but outside of the scope of this spec.
We will not support legacy module types, shimmed modules, or any Variable Injection due to ProvidePlugin. We primarily want to focus on webpack's first class module types and key loaders.

Requirements

[ ] Creation of Graph Hydration and DeHydration API's - This enables us to take the circular referencing complex object graph, and store it into a file state (json, protobuf, flatbuf, snapshot?). If serialization is expensive we should explore C, C++, Rust, WASM Compilable friendly alternatives with JS fallback.

[ ] Compilation will build graph and serialize it if specific options.target, [or whatever named] property is set. Whether or not the graph is serialized piece by piece or all at once should be chose based on  a combination of performance and maintainability. After Compilation#finishModules webpack should exit/return as if the build was complete [aka no chunk processing etc].

[ ] Compilation will collect and load graph in memory at the same records is detected this is also loaded into a in memory module build cache once hydrated. As webpack traces the application graph, it will first check to see if instances of modules already exist with same identifiers and omit the cost of tracing them.

[ ] A lib/component that is using the webpackGraph target, should fail if they are using AMD, CJS, ProvidePlugin(), or anything that will cause fully dynamic nature or extra complexities or dimensions to walking the graph.

[ ] A webpackGraph lib that is consumed should be on average the same build time as if it was a DLL module.

Questions

How would same-loaders with different options from lib to app differentiate their functionality? I believe they will reference the same location with different options so is this an issue?

When should the webpackGraph hydrate? (My feeling is when a module that resolves, if it has a graphCache in the same root path as the module being resolved, that webpack would favor the cache and start tracing and hydrating that part of the graph).

Fundementals
0CJS
Is there a zero config story here? What is the cost of discovering webpackGraph's imperatively while modules resolve? What's the perf win from declaring them up front. What does this mean for users.
Speed
This ideally improves speed fundamentals.
Build Size
Does this compromise build sizes at all?
Security
Does this open areas of concern for vulnerabilities?
Success Metric

[ ] webpack build times should significantly decrease for those consuming component libraries
[ ] webpack build times should significantly decrease for those creating webpackGraph library targets
[ ] Reduction in memory footprint(?).

CC'ing @chrisdarroch after our conversions about DLL's


Ubuntu Installation

Docs state:
sudo add-apt-repository ppa:ubuntugis/ppa
sudo apt update -y; sudo apt upgrade -y;
sudo apt install gdal-bin libgdal-dev
pip3 install pygdal=="`gdal-config --version`.*"

I had to add the line
pip3 install gdal=="`gdal-config --version`.*"

before being able to call
pip3 install geoserver-rest

Which version of ubuntu are you using?

Which version of ubuntu are you using?

22.04

This makes sense. I can add something in the docs for macOS and Linux (GDAL calls are different for both platforms).


Automate Weekly Email Regarding Availability of Attorneys to Volunteer

This solution needs to be investigated using the Staff List tab in the Matching Spreadsheet with the verbiage in the First Email.

Triana is investigating a mail merge opportunity.

Might be able to

Add a hidden sheet to the matching workbook.
Add a time-based trigger to the sheet to add a row at a specific time/day.
Add a Zap that watches that hidden sheet, and send an email when a row is added (or updated?)

https://developers.google.com/workspace/solutions/mail-merge

Text of email. Will need to HTML-ize it. Attorney emails go into cc, not bcc.
Hello,
You are receiving this email because you volunteered your time to support the Eviction Settlement Program, providing legal support on eviction cases in Shelby County. If you are available to take on a new case next week, April 26 - April 30, please let us know by filling out this form by the end of the day today, Thursday, April 22nd.
Background:
This is a weekly reminder, asking you to submit your availability for the following week.
Volunteers should expect each case to take approximately 5 hours a week, and last approximately two weeks.
If you have availability, you may receive an email pairing you with a potential client. Confirming availability does not bind you to a case - you will have the opportunity to do a conflict check and confirm your availability before accepting a case. If you choose to accept a case, you will be given access to the necessary client details to proceed.

What you need to do:
Eviction cases move quickly. The sooner you submit availability with this online form, the faster we can find a potential match.
If you are not available this week, you do not have to fill out the form. We’ll email every week to check in on availability to take on new clients.
Once you receive a case assignment, please review the details and confirm that you are able to take on the case.

Thank you for your valuable work and support in helping preserve our neighbors and communities in Shelby County.
Neighborhood Preservation Inc.
npimemphis.org
Facebook | Instagram | Twitter
Please note<EMAIL_ADDRESS>is an automated messaging address, and responses directly to this email address will not be read. If you have questions about this email, would like to update your volunteer contact information, please reach out to Steve Barlow.

Source code : https://github.com/googleworkspace/solutions/tree/master/mail-merge

GMailApp sendEmail() documentation : https://developers.google.com/apps-script/reference/gmail/gmail-app#sendemailrecipient,-subject,-body

Got a proof-of-concept working.
Proposed functionality for v1:

Automated email goes out Wednesday morning between 8am-9am, Memphis time zone. This allows attorneys 2 days to respond.
Contents of the email are generic (e.g., 'by the end of the day Thursday', not 'by the end of day Thursday, April 22').
Attorney emails are in bcc. Google Scripts has limit of 50 email addresses per email, so multiple emails might go out.
After those emails are sent, a summary email is sent to<EMAIL_ADDRESS>(and anyone else who wants to be notified) with a subject line similar to: 'Emailed 97 attorneys asking for their availability'

Putting the specific dates into the emails will be handled when necessary. I will open another issue for that.

Enabled in production.


Integration with pre-commit (add a .pre-commit-hooks.yaml file)

Thanks for writing pytlint-ignore! I'm trying it out now and I'd like to integrate it with pre-commit https://pre-commit.com/ both locally and in the GitLab CI pipeline. This will require me to write a repository local hook because the "official repository for the linter doesn't have the pre-commit metadata". This isn't necessarily a big problem, but it's pretty simple for that metadata to be added to this repo as a .pre-commit-hooks.yaml file. Would you be open to adding that metadata file, please?

Sure, I guess it would be pretty much like this?
https://github.com/PyCQA/pylint/blob/main/.pre-commit-hooks.yaml

@mbarkhau yes, that should work... the only uncertainty is around the passing of the configuration file. Here's a local hook that works, written by a student who is working with me:
  - repo: local
    hooks:
      - id: pylint-ignore
        name: pylint-ignore
        entry: pylint-ignore --rcfile=.pylint-ignorerc  # --update-ignorefile
        language: system
        types: [python]
        require_serial: true

As you can see, we were explicitly coding the rcfile into entry: because we believe that pylint-ignore doesn't search for a default config file but has to be passed one explicitly as an argument. Also, the only way to generate pylint-ignore.md for all Python files in a directory hierarchy appeared to be to execute pre-commit run --all-files with the --update-ignorefile flag uncommented. Executing pylint-ignore -rcfile=.pylint-ignorerc . doesn't work unless there's an __init__.py file present, behaviour originating from pylint.
On the positive side, this entry in .pre-commit-config.yaml functioned correctly locally and in a Docker container on the CI pipeline.
I think the outstanding question is how pylint-ignore sources an rcfile by default?

If I remember correctly, all arguments to pylint-ignore (except for its own arguments --update-ignorefile and --ignorefile) are simply passed through to pylint and should behave exactly as documented for the pylint command

Thanks, that simplifies matters! The How it Works section gave the impression that a config file (setup.cfg is given as a "minimal config") had to be passed. So, the local hook above really only needs entry: pylint-ignore. I think that a .pre-commit-hooks.yaml file
- id: pylint-ignore
  name: pylint-ignore
  entry: pylint-ignore
  language: python
  types: [python]
  require_serial: true

would work. If you can wait until next week, I should then have some time to try it with [pre-commit try-repo](pre-commit try-repo) on a clone of this repo.

A little late in the week, but I just tried the proposed .pre-commit-hooks.yaml above in a clone and it worked a treat:
$ pre-commit try-repo ~/pylint-ignore --all-files
[INFO] Initializing environment for pylint-ignore.
===============================================================================
Using config:
===============================================================================
repos:
-   repo: pylint-ignore
    rev: 1bba22c0feea07b9113d176dc0b2dbce8b3b44f4
    hooks:
    -   id: pylint-ignore
===============================================================================
[INFO] Installing environment for pylint-ignore.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
pylint-ignore............................................................Passed

The only change that I might suggest is amending the name: entry to
  name: pylint

so that the hook shows it's running pylint (which it is). That's somewhat a cosmetic suggestion.
Otherwise, I'd consider this all good to go. It's so small it hardly seems worth a PR, but I'd be happy to raise one if you prefer?

I've spent half an hour now trying to learn how this works and I'm aborting now. Please prepare a PR which includes documentation.


React-Native Android issues/poor performance

Hello,
PROBLEM:
When I have 2 or more sagas "running in parallel" - performing POST request to the server at virtually same time,   the app "lags" on Android devices, but on iOS everything works fine (even on iPhone 6). I have tested multiple devices such as Galaxy S9, S6, One plus - first gen, Sony Xperia etc.  both in release and in DEV mode.
SETUP INFO
I am using:

React Native 0.57.1
redux-saga 0.16.2
Android JSC build 225067.0.0

DETAILS & CODE
I am building networking layer for my app.
In short the idea behind it is to store all network request objects on saga channel and have worker saga(s) which will consume channel if the app is online.
The app is online if both device has network access and our servers are reachable. In order to determine server reachability there is one worker saga which pings server (sends HEAD request) every 3 seconds.
Here is whole code for network status watcher:
export function* serverPinger() {
  while (true) {
    yield call(delay, PING_SERVER_FREQUENCY);
    const deviceIsOnline = yield select(getDeviceConnectionStatus);
    if (deviceIsOnline) {
      yield call(doPingServer);
    }
  }
}

export function* watchForNetworkStatuesChanges() {
  while (true) {
    yield take((action: any) => networkStatusChangedPattern(action));
    const serverStatus = yield select(getServerAvailability);
    const deviceIsOnline = yield select(getDeviceConnectionStatus);

    if (!serverStatusInUnknown(serverStatus)) {
      serverStatus && deviceIsOnline ? yield put(onlineActionCreator()) : yield put(offlineActionCreator());
    }
  }
}

export function* doPingServer() {
  const raceResult = yield race({
    serverIsAvailable: call(pingServer),
    timeout: call(delay, DEFAULT_TIMEOUT_DURATION, true)
  });

  const serverWasAvailable = yield select(getServerAvailability);

  const { serverStatusNeedsToUpdate, newServerStatus } = shouldUpdateServerStatus(serverWasAvailable, raceResult);

  if (serverStatusNeedsToUpdate) {
    yield put(updateServerStatus(newServerStatus));
  }
}

export function shouldUpdateServerStatus(serverWasAvailable: boolean, raceResult: IRaceResult) {
  const { serverIsAvailable = false, timeout = false } = raceResult;
  const serverIsNotAvailableButItWas = timeout && serverWasAvailable;
  const serverAvailabilityChanged = serverWasAvailable !== serverIsAvailable;

  return {
    serverStatusNeedsToUpdate: serverIsNotAvailableButItWas || serverAvailabilityChanged,
    newServerStatus: serverIsAvailable
  };
}

export function networkStatusChangedPattern(action: any): boolean {
  return ActionIsFSA(action) && (action.type === CONNECTION_CHANGED || action.type === UPDATE_SERVER_STATUS);
}

export function serverStatusInUnknown(networkServerStatus: boolean | null): boolean {
  return networkServerStatus === null;
}

Here is stripped down version of saga which handles POST requests:
const DEFAULT_POST_REQUEST_DELAY = 3 * SECOND;
const actionIsOfTypePostRequest = (action: any): boolean => {
  return ActionHasRequest(action) && action.request.type === RequestType.POST && action.type !== RETRY_REQUEST;
};

export function* postRequestWatcher() {
  const postRequestQueue: Channel<IApiRequest> = yield call(channel, buffers.expanding(50));
  yield fork(offlineOnlineHandler, postRequestQueue);
  while (true) {
    const { request } = yield take((receivedAction: ReduxAction) => actionIsOfTypePostRequest(receivedAction));
    yield put(postRequestQueue, request);
  }
}

function* offlineOnlineHandler(postRequestQueue: Channel<IApiRequest>) {
  while (true) {
    const handleApiPostRequestTasks = [
      yield fork(handleApiPostRequest, postRequestQueue),
      yield fork(handleApiPostRequest, postRequestQueue)
    ];
    yield take(OFFLINE);
    for (const task of handleApiPostRequestTasks) {
      yield cancel(task);
    }
    yield take(ONLINE);
  }
}

function* handleApiPostRequest(postRequestQueue: Channel<IApiRequest>) {
  while (true) {
    const request: IApiRequest = yield take(postRequestQueue);

    const { response, timeout } = yield race({
      response: call(post, request.url, request.data),
      timeout: call(delay, DEFAULT_POST_REQUEST_DELAY, true)
    });

    if (timeout) {
      console.log("TIMEOUT!!!");
    } else if (!!response && response.ok) {
      console.log("OK");
    } else if (!!response && response.problem) {
      console.log("ERROR");
    }
  }
}

HOW IS LAG MANIFESTED ?
At the moment I have just one screen in the app which shows app network status, has button which creates POST requests and counter for number of requests created.
When button is clicked, counter is of course incremented and action which creates server request is dispatched, all request target same API endpoint which for test simulates TIMEOUT (i.e. server tread sleeps for 10sec).
So here is my test: I click button ~10 times rapidly , in debugger I can observe that actions are dispatched, and in console TIMEOUT(s) are being logged - so far so good.
But after couple of TIMEOUTS (usually 4), the app goes offline  - device is online but server appears to be unreachable. In doPingServer
const raceResult = yield race({
    serverIsAvailable: call(pingServer),
    timeout: call(delay, DEFAULT_TIMEOUT_DURATION, true)
  });

race is won by call(delay).  After 3 seconds (because server is being pinged every 3s) the timeout doesn't happen and app comes online. Workers start sending request to server again, usually 2 requests are sent(they are executed at virtually same time) and the app again "goes offline", then it comes online again etc, until channel is empty. This is behaviour I called "lag" at the beginning of issue description.
It looks to me like JS thread is being exhausted, and  thus call to pingServer is not resolved quickly enough - this is just my guess.
I have tried to profile Android app through systrace, but I could not find anything helpful (but I have almost 0 knowledge on profiling Android apps). The memory did not go past 100MB and CPU was usually around 3%, and it spiked to 15% at some point.
There were couple of alerts for: Scheduling delay.  Here is description:
Work to produce this frame was descheduled for several milliseconds, contributing to jank. Ensure that code on the UI thread doesn't block on work being done on other threads, and that background threads (doing e.g. network or bitmap loading) are running at android.os.Process#THREAD_PRIORITY_BACKGROUND or lower so they are less likely to interrupt the UI thread. These background threads should show up with a priority number of 130 or higher in the scheduling section under the Kernel process.
I am sure that server was  reachable whole time because I have had app running in another mobile phone and the app was constantly online.
If I change offlineOnlineHandler so that it forks only one task, I cannot observe any issues whatsoever.
Finally here is root saga, just in case:
export default function* rootSaga() {
  yield spawn(serverPinger);
  yield spawn(postRequestWatcher);
  yield spawn(watchForNetworkStatuesChanges);
}

So my question is, why is this happening on Android? Is this some known issue, or I have some huge bug in my code and I jut cannot see it ?

I have managed to solve issue 😄
It had nothing to do with redux-saga.
The problem was that we were not closing HTTP connections after race, I have completely forgotten that even though race will cancel saga task, it will NOT actually cancel network request.
So the only thing I needed to do, was to change our post method to look smth. like this.
Of course more info about cancelation can be found  in the docs.


Style fix for notebooks/squad_preprocessing.py

Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


fix(test) : work item updated switching tree and flat view

[ ] What does this PR do? [Mandatory]
fix skipped test
[ ] What issue/task does this PR references? [Mandatory]
https://github.com/fabric8-ui/fabric8-planner/issues/2566
[ ] Are the tests Included? [Mandatory]
Yes

@Raunak1203 Your image is available in the registry. Run docker pull registry.devshift.net/fabric8-ui/fabric8-planner:SNAPSHOT-PR-2582 && docker run -it -p 5000:8080 registry.devshift.net/fabric8-ui/fabric8-planner:SNAPSHOT-PR-2582 and visit http://localhost:5000 to access it.

@Raunak1203 fabric8/fabric8-ui:SNAPSHOT-PR-2582-3 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2582-fabric8-planner.badger.fabric8.io

[test]

@Raunak1203 Your image is available in the registry. Run docker pull registry.devshift.net/fabric8-ui/fabric8-planner:SNAPSHOT-PR-2582 && docker run -it -p 5000:8080 registry.devshift.net/fabric8-ui/fabric8-planner:SNAPSHOT-PR-2582 and visit http://localhost:5000 to access it.

@Raunak1203 Your image is available in the registry. Run docker pull registry.devshift.net/fabric8-ui/fabric8-planner:SNAPSHOT-PR-2582 && docker run -it -p 5000:8080 registry.devshift.net/fabric8-ui/fabric8-planner:SNAPSHOT-PR-2582 and visit http://localhost:5000 to access it.


Enhancement: Add labels to ADNCA

Description
When the user loads ADNCA, sometimes there could be some column labels, sometimes not (if csv, there are no labels, if rdata there may be labels).
What we need to do is to populate all the labels based on the ADNCA guidelines.
If the variable is in the list: populate the label, if not, populate by the name of the variables:
e.g. ADNCA$ASIAN does not have labels, then populate:
attr(ADNCA[["ASIAN"]], "label") = "ASIAN"
After the labels are populated, they need to be displayed in all column headings. See this page for examples of how to lay it out.
some code to start with:
# Set label list
label_ADPC <- list(
   USUBJID = 'Subject ID',
   TRT01A  = 'Treatment Group',
   AVAL    = paste0('PK Concentration\n (', unique(data$adpc$AVALU), ')'),
   AVALC   = paste0('PK Concentration\n (', unique(data$adpc$AVALU), ')'),
   NRELTM1 = paste0('Nominal Time \nfrom First Dose (hr)'),
   ARELTM1 = paste0('Actual Time \nfrom First Dose (hr)'),
   NRELTM2 = paste0('Nominal Time \nfrom Most Recent Dose (hr)'),
   ARELTM2 = paste0('Actual Time \nfrom Most Recent Dose (hr)'),
   # NOMDOSE = 'Nominal Dose',
   AVISIT  = 'Visit'
)

# Apply manual labels
for (var in names(label_ADPC))
  if (var %in% colnames(data$adpc))
    attr(data$adpc[[var]], "label") <- label_ADPC[[var]]

as_factor_preserve_label <- function(x) {
  label <- attr(x, "label")
  x <- as.factor(x)
  attr(x, "label") <- label
  return(x)
}

has_label <- function(x) {
  return(!is.null(attr(x, "label")))
}

set_empty_label <- function(x) {
  if (is.null(attr(x, "label"))) {
    attr(x, "label") <- ""
  }
  return(x)
}

aNCA_data_TLGs.xlsx
For now, please use ADNCA_Roche tab, to get the labels and the variables.

[ ] make sure that when you grepl the variable name, only one row is used
[ ] make sure to properly set the labels for the variables TRTxxA (Planned Treatment for Period xx) for example, xx has to be a number with two digits / or e.g. STRATwNM

Definition of Done
The requirements for the feature to be complete:

[x] after loading a csv or rdata, make sure all variables do have a label
[ ] make sure that if a variable is a factor with levels, the levels are kept! please use as_factor_preserve_label  function
[ ] Make sure all column headers in the app show the user the CDISC name and also the label.

I think this implementation will make more sense after #112 and will make things easier for any case!

@Shaakon35 @Gero1999
Hi, can you take a look at what I have done so far (#147) and let me know if this is on the right track. As far as I am aware the labels are now being populated correctly in the dataset.
I have a few questions:

For STRATwNM, what would the w be replaced with in the list of vars?
I haven't implemented the convert to factor function or the vector labels function- I am not entirely sure what these are or where they are relevant for the app- can you please explain in more detail?
At the moment I have put the labels next to the column names in the Review Data section, purely so you can see that the labels have been implemented. I have no plans to keep it this way as it is ugly. However we do need to decide how best we want to display the labels, i.e. create a toggle to switch between column names and labels, always display only labels, hover, etc. In the teal example in the description they do not have labels in tables, only in widgets.
I assume we want the labels to carry over into results, maybe more of a question for @Gero1999 - does PKNCA have a labels attribute and is this something i need to wait for #138 to be merged before I can add?

Thanks!


Update utils.ts

Replace recursion with more stable binary search for root calc

Hey, guys!
Could you please approve the workflow?

the square root fn as is right now looks like it's about 2-5x faster, which is important for drift ui and why we have the recursive implementation
any ideas on making it faster and more stable?
import {BN} from "@coral-xyz/anchor";

const squareRootBN = (n) => {
	if (n.lt(new BN(0))) {
		throw new Error('Sqrt only works on non-negative inputs');
	}
	if (n.lt(new BN(2))) {
		return n;
	}

	let low = new BN(1);
	let high = n;
	const two = new BN(2);

	while (low.lt(high)) {
		const mid = low.add(high).div(two);
		const midSquared = mid.mul(mid);
		if (midSquared.eq(n)) {
			return mid;
		} else if (midSquared.lt(n)) {
			low = mid.add(new BN(1));
		} else {
			high = mid.sub(new BN(1));
		}
	}
	return high;
};

const squareRootBN2 = (n) => {
	if (n.lt(new BN(0))) {
		throw new Error('Sqrt only works on non-negative inputs');
	}
	if (n.lt(new BN(2))) {
		return n;
	}
	const smallCand = squareRootBN(n.shrn(2)).shln(1);
	const largeCand = smallCand.add(new BN(1));

	if (largeCand.mul(largeCand).gt(n)) {
		return smallCand;
	} else {
		return largeCand;
	}
};

const benchmark = (fn, numbers) => {
	console.time(fn.name);
	numbers.forEach(n => fn(n));
	console.timeEnd(fn.name);
};

const generateTestNumbers = (count, max) => {
	const numbers = [];
	for (let i = 0; i < count; i++) {
		numbers.push(new BN(Math.floor(Math.random() * max)));
	}
	return numbers;
};

const testNumbers = generateTestNumbers(1000, 1000000);

benchmark(squareRootBN, testNumbers);
benchmark(squareRootBN2, testNumbers);

squareRootBN: 47.171ms
squareRootBN2: 11.706ms

@crispheaney Hi! I apologize for such a long response.
I don’t quite understand why you are calling my function from yours? It seems that therefore the time is measured incorrectly.


Add curl user agent

Python 3.5 tests are broken due to https://github.com/pypa/get-pip/pull/104 but merging anyway as it passed the 3.6 tests and there's no reason why it wouldn't on 3.5 were it not for the pip issue.


It's undocumented how to use an irydium component inside a svelte component

It's possible to use an irydium component (for example, the plotly component) inside another svelte component, however it's undocumented. The secret incantation is to import ComponentId from "./ComponentId.svelte":
```{code-cell} svelte
---
id: Rollup
---
<script>
  import Plotly from "./Plotly.svelte";
  export let data;
</script>

{#if data}
  <Plotly data={data} />
{:else}
  <i>No data</i>
{/if}
```

... but this is basically depending on an implementation detail of how Irydium works. Might need to think more about how much we want people writing Svelte directly inside an Irydium document.

Interesting and relevant issue from MDSvex, where they're attempting to solve a similar problem: https://github.com/pngwn/MDsveX/issues/433#issue-1160099242
I think the real question is how to keep the "markdown" abstractions somewhat seperate from the Svelte ones. For Irydium, this is doubly important as one of the project's implicit goals is to not require in-depth Svelte experience.


Proposed AQUA integration

Here is a potential way to integrate AQUA:

AQUA assessments done in k8s in a separate docker container
Pre and post processing done using Serval repo, main AQUA algorithm in separate repo, as well as deployment scripts
Needed alignments done in machine

A bit more in depth:

Machine changes:

Merge together machine-engine and machine-job, now that the SMT jobs are done through ClearML
Expose alignments in machine, serving the same way as pretranslations

Serval changes:

Allow engines to have "parent" and "child" links (or similar), which connect to different engines.
There is a new state when building an engine called "check preconditions"
When a child engine finishes building, it checks any parents to see if all preconditions have been met because the child finished.

Assessment

Specifies multiple alignment engines that need to be completed at a specific revision as "preconditions" before the build starts.
The flow would be: Setup all alignment engines and the assessment engine.  When starting the build, specify the minimum revision of the build of each engine to be checked in preconditions
When the assessment starts, it already has everything to complete the assessment without interacting with machine again
When an updated assessment is requested, Serval asks the child engine for the alignment and then the assessment engine for the updated assessment.

@ddaspit, what do you think?

Planning updates:

AQUA done with internal instance, not IDX's instance
Main AQUA algorithm running in ClearML in new container
Utilize existing Dotnet infrastructure for data marshalling and job handling
For the job, Serval python code calls AQUA python code which calls machine.py

Can we publish a docker image to a private repo: https://stackoverflow.com/questions/28349392/how-to-push-a-docker-image-to-a-private-repository

Updates to code:

Machine.py job code moved to Serval
Code added to Serval to call AQUA

Serval has extra poetry AQUA dependency referencing git tag: { git = "AQUA.git", tag = "v1.2.3" }

AQUA updated to be callable with these functions:

aqua = AQUA(config)
aqua.run(parallelCorpus, listOfReferenceAssessments)
assessments = aqua.get_assessment()
path = aqua.save_model()

Phase 2: - live inference

The saved model will be on the S3 bucket
Using python.net, the Serval/AQUA dotnet code will call AQUA code to run the incremental algorithm, utilizing the saved models and any other needed assessments.


Fix Roundabouts in Australia

The team has  found about 90 instances of nodes with Junction tags to indicate a roundabout using this Overpass query.
We will updates these to model them as proper roundabouts according to the existing community guidelines
Before:

After:

I went and fixed the last 4 remaining. The overpass script turns up blank!
Australia is fixed :)


Configure test metadata for CircleCI

CircleCI is showing a large pink banner warning that it cannot collect metadata. This attempts to fix that.
See https://circleci.com/docs/test-metadata

This is not enough on its own: we also need to configure the RSpec step to run with the custom formatter.


param_whitening.pkl

How to get param_mean and param_std in param_whitening.pkl? Is the mean and variance of training set?

Right.


No "Data" option

[Enter feedback here]
Says you can import data by:

Sign into [Power Apps]
On the left navigation pane select Tables. If the item isn’t in the left navigation pane, select […More] and then select the item you want.
Select Data > Get data > Get data.
From the Data sources list, select the connector that you want to import data from.
There is no such option anywhere on the selected table for "Data" or "Get Data"

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

ID: 67d61b22-c901-ad09-b9bb-ecfb2bb12f9d
Version Independent ID: fa41e5c6-8deb-7a92-2699-42db23d1a85c
Content: Import or export data from Microsoft Dataverse - Power Apps
Content Source: powerapps-docs/maker/data-platform/data-platform-import-export.md
Service: powerapps
Sub-service: dataverse-maker
GitHub Login: @sabinn-msft
Microsoft Alias: sabinn

Thanks for your comment, @shaytan1986. This issue has been assigned to the doc author for review.


chore: release main

:robot: I have created a release beep boop
renderer: 1.1.3
1.1.3 (2024-01-14)
Bug Fixes

add injectIntoDevTools (9e445d7)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/pavophilip/react-shader-fiber/releases/tag/renderer-v1.1.3 :sunflower:


Exposing more properties from TextField95

Exposing better API for TextField95:

height;
backgroundColor;
multiline;
maxLines;

thank you!


Correctly handle quoted media type parameter values

#5349
fix or add comments about other parsing errors and inconsistencies
MediaType did not skip whitespace before the type
look for // ??? comments for questions about the inconsistencies

nits:

use +=
<code> -> <c> since the former is not for use within a paragraph
split tests up to remove bool expectedResult parameters

/to @javiercn
@Eilon any thoughts on bugs worth filing?

3fdcaec


Future Standards

It might be keen to follow this: https://hacks.mozilla.org/2018/03/making-webassembly-better-for-rust-for-all-languages/

Thanks @dbettin! We're certainly following WASM-related developments keenly.
Will mark as closed because it's not a work item to be completed, but anyone can still feel free to discuss the general topic here.


How to get the width of an element?

How to get the width of an element? a div or h2.
This code is returning an empty width. style.Dump() displays some properties but none for element size.
var config = Configuration.Default.WithDefaultLoader().WithCss().WithRenderDevice(new DefaultRenderDevice { DeviceHeight = 768, DeviceWidth = 1024, });
var context = BrowsingContext.New(config);
var document = await context.OpenAsync(req => req.Content(html));

var style = document.DefaultView.GetComputedStyle(someElement);
	style.Dump();
	style.GetWidth().Dump();  //is blank
	style.GetMaxWidth().Dump();  //is blank
	elements[i].GetInnerText().Dump();

AngleSharp is only the parser - it does not actually render. The RenderDevice allows to compute some metrics, but width requires an actual rendering to occur in order to know how large elements will be.
At this time we don't construct a render tree and therefore do not know such metrics.


driver_files

I couldn't get the driver files after the completion of the export RTL. so while loading ip into vivado tool. I got this error shown in the figure. And not able to generate .bit and .tcl file. Please suggest the solution for it. I am new to FPGA.
Thankyou,
Best regards

Sorry, it has been a long time since the last time I saw my github project. I can not see your figure here. I hope you have solved all your problems, but if you haven't yet or there are some more problems, you could connect me by email<EMAIL_ADDRESS>I hope it would be helpful to you.


Add instructions for environment setup for Python version conflicts

In some cases the version of Python in created codespaces is different than the one used by the rules engine. The readme for rules engine should have how-to instructions for this scenario.

There is a README addendum on the CFB-AF-greenbutton branch (commit
e213719)
that may help here.
On Wed, Jul 17, 2024 at 6:36 AM Debajyoti Debnath @.***>
wrote:

In some cases the version of Python in created codespaces is different
than the one used by the rules engine. The readme for rules engine should
have how-to instructions for this scenario.
—
Reply to this email directly, view it on GitHub
https://github.com/codeforboston/home-energy-analysis-tool/issues/226,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABYASMMMRGBITM4WTK2HIHLZMZCJRAVCNFSM6AAAAABLALA5AGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGQYTGMRVGM2DCOA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Thanks for pointing out @jkwan2011 ! Agreed - using miniconda saves a lot of time.
I think we should probably also add to the readme how to create a codespace with a custom configuration, i.e. specifying the Rules engine dev container configuration if working on the rules engine and Heat stack otherwise, before creating the codespace. More here.


External importers

added a setuptools entry point hook for importers called "passpie_importers"
added another exception for the default importer's exception handling

@costypetrisor thanks for the great work. Let's add some info to the README now.. :smiley:


"Edit as Yaml"  issues for registry secrets

Version: master-head((7b948b289)
Steps:

Create a secret "testreg" "by choosing type "registry" option
Edit the secret using "Edit as Yaml" option.

Issue 1:
The yaml displayed has data as .dockerconfigjson. The data section does not display registry domain, username etc for users to edit.
apiVersion: v1
data:
  .dockerconfigjson: eyJhdXRocyI6eyJpbmRleC5kb2NrZXJodWIuaW8vdjEvIjp7InVzZXJuYW1lIjoidGVzdDEiLCJwYXNzd29yZCI6InZhbDEifX19
kind: Secret
metadata:
  creationTimestamp: "2020-05-06T18:09:15Z"
  labels:
    k1: v1
  name: testreg
  namespace: default
  resourceVersion: "217533"
  selfLink: /api/v1/namespaces/default/secrets/testreg
  uid: 62675c0e-3730-4c4d-990a-58182df1d703
type: kubernetes.io/dockerconfigjson

Issue 2:
If labels are edited or new labels are added using "Edit as Yaml", and saved, the following error was observed:
{ "type": "error", "links": {}, "code": "Invalid", "message": "Secret \"testreg\" is invalid: type: Invalid value: \"Opaque\": field is immutable", "status": 422 }

This is also seen when editing a secret of type certificate
{ "type": "error", "links": {}, "code": "Invalid", "message": "Secret \"testreg\" is invalid: type: Invalid value: \"Opaque\": field is immutable", "status": 422 }

This is how creating registry secrets should work according to the kubernetes docs: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#registry-secret-existing-credentials
You need to provide a base64 encoded JSON string here.
There are fields on other secret types that are also base64 encoded and will cause errors if you enter plain text. My understanding is that the UI's yaml-editing feature should work pretty much the same as yaml editing elsewhere, that is, no behind-the-scenes help like the UI form option has, but @deniseschannon  can you confirm this?

data (and binaryData) values need to be base64-encoded and you need to know that if you're going to use the YAML editor for a secret.  (Even if we wanted to be clever and do it for you that wouldn't work on binaryData)
But the error message from @aaronRancher suggests that the type of the resource is trying to change on edit from (I presume) kubernetes.io/dockerconfigjson to Opaque, which fails because type is not editable.  So the type is accidentally getting changed somewhere?

Issues with _type/type on create/edit/clone should all be resolved with the yaml-edit PR merged today

Validated with master-build(b85ea695f)
Steps:

Create a secret "testreg" "by choosing type "registry" option
Edit the secret using "Edit as Yaml" option.

Case 1
The .dockerconfigjson should be regenerated if username/password are being changed.
The registry info should be base64 encoded to generate the .dockerconfigjson

{"auths":{"test.com":{"username":"user1","password":"newuser"}}}

eyJhdXRocyI6eyJ0ZXN0LmNvbSI6eyJ1c2VybmFtZSI6InVzZXIxIiwicGFzc3dvcmQiOiJuZXd1c2VyIn19fQ==

apiVersion: v1
data:
  .dockerconfigjson: >-
    eyJhdXRocyI6eyJ0ZXN0LmNvbSI6eyJ1c2VybmFtZSI6InVzZXIxIiwicGFzc3dvcmQiOiJuZXd1c2VyIn19fQ==
kind: Secret
metadata:
  name: testreg
  namespace: default
  resourceVersion: '141201'
  selfLink: /api/v1/namespaces/default/secrets/testreg
  uid: 6eccd840-5f8a-4048-8543-02921ce31849
type: kubernetes.io/dockerconfigjson

Edit as yaml succeeds

Case 2

Adding labels during edit as yaml succeeds
apiVersion: v1
data:
  .dockerconfigjson: >-
   eyJhdXRocyI6eyJ0ZXN0LmNvbSI6eyJ1c2VybmFtZSI6InVzZXIxIiwicGFzc3dvcmQiOiJuZXd1c2VyIn19fQ==
kind: Secret
metadata:
  annotations:
    a1: a2
  creationTimestamp: '2020-05-20T17:24:49Z'
  labels:
    l1: l2
    l3: l4
  name: testreg
  namespace: default
  resourceVersion: '141201'
  selfLink: /api/v1/namespaces/default/secrets/testreg
  uid: 6eccd840-5f8a-4048-8543-02921ce31849
type: kubernetes.io/dockerconfigjson

The bug fix is verified with Rancher server rancher\rancher:master-head version b85ea695f
Steps:
Create a secret of type certificate in dashboard
Edit cert as YAML
Edit as yaml succeeds


Restore docs directory

These docs are no longer published on docs.docker.com, so restoring them here for people to read them on GitHub
@justincormack @usha-mandya ptal

Looks like something in CI may have broke due to the repository rename;
$ ln -s $HOME/gopath/src/github.com/${TRAVIS_REPO_SLUG///swarm/} $HOME/gopath/src/github.com/docker
ln: failed to create symbolic link '/home/travis/gopath/src/github.com/docker/classicswarm': File exists
The command "ln -s $HOME/gopath/src/github.com/${TRAVIS_REPO_SLUG///swarm/} $HOME/gopath/src/github.com/docker" failed and exited with 1 during .

Yeah I don't really mind about the CI fail for docs changes...


phpPackages.deployer: 6.8.0 -> 7.3.3

Description of changes
Was browsing through Hydra and saw that the build was broken: https://hydra.nixos.org/build/252187553/nixlog/1
Things done:

Updated the package
Updated the shell completion command since it changed
The old page doesn't have the new .phar so updated it to use Github
Some cleanup

Diff: https://github.com/deployphp/deployer/compare/v6.8.0...v7.3.3

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Oh I though I made the upgrade the other day, I might have forgot that commit during a rebase!
Could you update the derivation and use the new PHP/Composer builder?
See this as reference: https://github.com/NixOS/nixpkgs/pull/225401/commits/3e9ada551f3b47b1b92c116e0106149d553c9b9d

Hi !
Already implemented in https://github.com/NixOS/nixpkgs/pull/285828

Oooooooh nice catch! Feel free to submit a PR to fix this issue and I'll gladly merge it. Thanks for noticing it!


Disable build_test_all_macos_arm64 while runner is offline.

We've had jobs queued for 24h+ waiting for a runner that is offline:

(https://github.com/iree-org/iree/actions/workflows/ci.yml?query=branch%3Amain)

Running is online again.

Runner is proving tricky to keep online.


1.2.0 not working with Chrome 125.0.6422.142

Unfortunately, version 1.2.0 is not working with Chrome 125.0.6422.142. It appears it may not be properly targeting the downloads page anymore.
Is there any chance of a fix? 🙏🏻

Probably not something I can do about it. The extension is simply telling Chrome to clear downloads list: https://developer.chrome.com/docs/extensions/reference/api/browsingData#method-removeDownloads


pkg/dialer: minor fix on dialer function for windows

This commit fixes the dialer function to make sure that "npipe://" prefix is trimmed, just like the way it is done in the Unix counterpart, ./dialer_unix.go:50
This will also unblock some downstream work going on in buildkit; setting up integration tests to run on Windows - https://github.com/moby/buildkit/pull/4432
/cc. @gabriel-samfira

LGTM

thanks for the prompt approvals!


<IP_ADDRESS> registor iso image  Connection refused (Connection refused)

<IP_ADDRESS> 版本注册iso镜像 转态总是连接失败Connection refused (Connection refused)
也将这个配置修改secstorage.allowed.internal.sites为<IP_ADDRESS>/32都不好使，求指点

@1450793561
the problem might be caused by secstorage.allowed.internal.sites
to confirm it, can you log into secondary storage vm (SSVM) and share the result of command route -n ?

Hi @1450793561 can you please update the title and description to English?

@1450793561 after getting some explanation from @weizhouapache about the chinese, I think your problem is the cidr <IP_ADDRESS>/32. Can you try with <IP_ADDRESS>/0? that should work better.

update parameter 'secstorage.allowed.internal.sites' is being  <IP_ADDRESS>/0 that not well

The global configuration has been changed to <IP_ADDRESS>/16. The iso image is registered or the connection is [rejected]

@1450793561 the cidr <IP_ADDRESS>/16 would mean all adresses starting with 0.0... this is not a sensible cidr for this setting. Use <IP_ADDRESS>/0 or when you have such a cidr for  them it would look like a.b.c.d/32 or f.g.h.0/24

@weizhouapache
in version <IP_ADDRESS>,changed the parameter 'secstorage.allowed.internal.sites' be <IP_ADDRESS>/0,register iso You'll see the download progress immediately

@weizhouapache
in version <IP_ADDRESS>,changed the parameter 'secstorage.allowed.internal.sites' be <IP_ADDRESS>/0,register iso You'll see the download progress immediately，please see the fllowing screenshots.why is version 4.17 not working???

@1450793561
if you can open the console of Secondary Storage VM of <IP_ADDRESS>, can you share the screenshots of following commands ?
wget http://xxxxxx.iso
ip route

@weizhouapache
It's really strange, I just tried to register iso successfully, the same operation steps

Reinstall it again and modify global configuration secstorage. Charges. Internal sites' be <IP_ADDRESS>/0 succeeded

@1450793561 can we close this?


Notifications redirect to browser

Not many details to add, I already configured my nativefied app with --internal-urls ".*?", but the desktop notifications keep redirecting to the browser.
Is it config-related or is it something I need to do differently in my app ?
I am using Pusher to send desktop notifications
EDIT: I'm guessing the problem comes from the fact that the notification is outside of the app context and so it automatically redirects to the browser because windows takes care of the redirect and not electron.
Does anyone knows how to fix this ? Can I handle that inside pusher ? With a special link ?

up, if anybody has the slightest idea or info


Issue/409 chart zoom v1

#Pull Request
Description
This adds the zoom feature to the chart.  Currently you can highlight the chart you want to inspect and the main y-axis domain is adjusted based on the maximum y value in the selected set of data.
The Recharts library allows you to highlight a reference area and then redraw the chart boundaries.
I'm wondering if the RemixLine could use another prop that would be the zoomYMax of the chart when a chart is in a zoomed state.
Here are a few screenshots of the feature.

Fixes #409
How Has This Been Tested?
I ran the code locally.
Checklist:

[ ] My code follows OCF's coding style guidelines
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked my code and corrected any misspellings

Looks really good i like it, Lets get this in with out the yaxis zoom for the moment

Looks great on national
GSP needed some y max buffer I think
Site level zoom went a bit funny, not sure why?
Delta national looked good
Detla GSP needed a bit of extra y mas

thanks for having a look, @peterdudfield! All of these issues are the same for me. I have a couple ideas for fixing the ymax issue.

Hey @rachel-labri-tipton – looking really good on the y-axis zoom here ⚡ I think I agree with Dan's comments on Vercel, an X to close also makes sense to me, maybe on the top right, but can see how it looks. And getting same bugs with site/GSP as Peter and you have mentioned above – happy to have a look at these together tomorrow maybe if you fancy?

Hey @rachel-labri-tipton, is this PR superseded by the other zoom one now, and if so can we close this to tidy up pending?


⚠ DesiTorrents has degraded performance

In 8cf6e50, DesiTorrents ($DST) experienced degraded performance:

HTTP code: 200
Response time: 3118 ms

Resolved: DesiTorrents performance has improved in c928665.


[Improvement] Do some necessary check when creating a catalog

What would you like to be improved?
We need to do some validation when creating a new catalog to avoid potential failures later. For instance, when a new MySQL database catalog is created, we need to determine if we can successfully connect to the instance during the creation process and then detect failure before performing schema and table-related operations.
How should we improve?
No response

I think we also need to provide an API to test the connection validation.


Is the step summary limit for 65535 characters still accurate?

Describe the bug
Not sure if a bug: test-reporter limits the length of a test report to 65535 characters. And if I understand the code correctly, test-reporter uses step summaries to display the report.
According to https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#step-isolation-and-limits, the limit for step summaries is 1 MB.
Am I looking at the wrong place for the 64k limit, or could it be that GitHub lifted that limit at some point, and test-reporter could be updated to allow 1 MB instead?

The $GITHUB_STEP_SUMMARY accepts even 65536 ASCII characters (bytes).
https://github.com/jozefizso/ghalimits/actions/runs/9679906160


Bluetooth: host: Stop sending SMP PDUs outside of pairing procedure

Stop sending the unnecessary 'pairing failed' SMP PDUs outside of the pairing procedure.

To test this PR I used a BabbleSim code available here: https://github.com/theob-pro/zephyr/commits/smp-pairing-failed-event
With this small test, device A send an unrequested SMP PDU, device B will receive it. Without the fix device B will send back a BT_SMP_CMD_PAIRING_FAIL PDU. With the fix, device B will not send anything back.
Output 1 (without the fix):
d_00: <dbg> bt_l2cap: bt_l2cap_send_cb: conn 0x80c3dc0 cid 6 len 1
d_00: PDU sent                                                     // Device A send the unrequested SMP PDU
d_01: <dbg> bt_l2cap: bt_l2cap_recv: Packet for CID 6 len 1
d_01: <dbg> bt_l2cap: l2cap_chan_recv: chan 0x80c416c len 1
d_01: <wrn> bt_smp: Unexpected SMP code 0x03                       // Device B has received it
d_01: <dbg> bt_l2cap: bt_l2cap_send_cb: conn 0x80c3dc0 cid 6 len 2 // Device B send back the failed pairing PDU
d_00: <dbg> bt_l2cap: bt_l2cap_recv: Packet for CID 6 len 2
d_00: <dbg> bt_l2cap: l2cap_chan_recv: chan 0x80c416c len 2
d_00: <wrn> bt_smp: Unexpected SMP code 0x05                       // Device A has received the failed pairing PDU

Output 2 (with the fix):
d_00: <dbg> bt_l2cap: bt_l2cap_send_cb: conn 0x80c3dc0 cid 6 len 1
d_00: PDU sent                                                     // Device A send the unrequested SMP PDU
d_01: bt_l2cap: bt_l2cap_recv: Packet for CID 6 len 1
d_01: <dbg> bt_l2cap: l2cap_chan_recv: chan 0x80c416c len 1
d_01: <wrn> bt_smp: Unexpected SMP code 0x03                       // Device B has received it
                                                                   // Device B does not send anything back

So it looks to me like we are specifying a new behavioral constraint for the SMP implementation:
"When in idle state, silently drop all remote commands other than Paring Request".
I don't think this has any benefit. In fact I think it's more robust to send the error packet, since clearly the remote 'thinks' it's in a pairing process if it sent us a message like that. We might as well just stop the remote's pairing process.
Anyway, I also think we could express the new behavior clearer in code, maybe like following:
if (!atomic_test_bit(smp->flags, SMP_FLAG_PAIRING) && hdr->code != BT_SMP_CMD_PAIRING_REQ) {
	/* Silently ignore this command. */
	return 0;
}


Modify Requirements after completing the Mock-Up

Modify requirements after mock up is finished.

A Missing Report has been submitted to the instructor.
SEQUENCE DIAGRAMS


Dashboard's details page has a pop-up that shows up hidden under another element

Video says it all. I can provide more info in that's not clear. That's with latest github bits.
https://github.com/user-attachments/assets/42974dd4-ad76-4632-9414-73cd428357ae

cc @vnbaaij @JamesNK following changes to how popups are presented. Is there something we need on our side to prevent this, or should we file a bug against the Blazor FluentUI repo?

https://github.com/microsoft/fluentui-blazor/issues/2761

Verified.

Fixed on our side for next release as well: https://github.com/microsoft/fluentui-blazor/pull/2772


Python 3.10

Doesn't work on archlinux python3.10

I believe this was fixed in #101. Closing but re-open if I'm incorrect


Dev Console: API Key Functionality

This issue covers the creation and retrieval of API keys for dev console users. There is an initial service implemented in k8s that can form the basis for starting this work.
Starting from the above, some considerations:

Some architectural work is needed to ensure this works securely and in a scalable way, and we should ensure docker-compose works easily for maintenance.
This service should be fully tested.
A frontend flow is needed for the console:

User logs in/signs up (there is some work needed here around how/if we can connect their profile to their Agora profile on the Foundation side)
An API key is generated
They can check their profile for that API key once generated
** Design is Required for the frontend portion**

@mayanksayshi design is needed for this issue when you have bandwidth. Happy to chat more about the flow if you'd like! 😄

@mayanksayshi design is needed for this issue when you have bandwidth. Happy to chat more about the flow if you'd like! 😄

Hey @fainashalts, I did some early Lofi designs; however, I did them without any detailed requirements, so I am unsure how correct they are. If you can, please review the Lofi designs and let me know what is missing or needs to be corrected. That would be helpful.
https://www.figma.com/design/WmHJErF0zjIgoR8IYWOVFT/Dev-Console---CLI-Features-lofi?node-id=6723-4846&t=4v8BYPFQ00xX2TcB-4


fix: use c_char from crate root

Most likely this is a typo and c_char from crate root should be used. If this is intentional and there must be an unsigned char, then it may be better to specify u8 instead of c_char.

This seems fine and it should indeed be a char per the docs https://man.freebsd.org/cgi/man.cgi?unix(4).

If this is intentional and there must be an unsigned char, then it may be better to specify u8 instead of c_char

Is there any specific problem here or cases where libc::c_char does not line up with std::ffi::c_char? Usually they should coincide.
In any case, please rebase so the merge commit can be dropped.
@rustbot author

I have a PR that intends to add a test that ensures that they are the same. https://github.com/rust-lang/libc/pull/3616
This is moved from rustc where we skip certain platforms that don't have libc in the sysroot. But we really should be testing them, hence moving the test into libc.

Is there any specific problem here or cases where libc::c_char does not line up with std::ffi::c_char? Usually they should coincide.

Yes, I was trying to port libc crate to proprietary system with network stack from bsd, this system's char is signed but for bsd it is unsigned, and they mismatched. (If I remember everything correctly, it was more than two months ago)

Meaning, std had the correct type but libc was wrong? If this is accurate, could you submit a PR here fixing that?

Meaning, std had the correct type but libc was wrong? If this is accurate, could you submit a PR here fixing that?

I've added new module for that system in my libc fork, because libc does not have support for that system. In that module I've defined c_char as i8. Then I re-exported network related things from bsd module by specifying #[path = "..."] over submodule with dummy name and then pub use-ing everything from it. I don't think this is the right way to add new platforms, but it works fine if every c_ is used from crate root.
core crate thinks it is bare metal arm target and core::ffi::c_char = i8, it matched system's one, but it's just a coincidence :)


unbounce access request test

Closes #1346
Code Changes
NEW SaaS Connector Unbounce for access
Steps to Confirm

[x] Add/configure the Unbounce connector in UI
[ ] Verify Unbounce config and icon UI looks good
[x] Add leads data using Unbounce API
[ ] Create an Access DSR with the new Unbounce customer email
[ ] Verify email sent by fides with customer data is correct

Pre-Merge Checklist

[ ] All CI Pipelines Succeeded
[ ] Update CHANGELOG.md

SaaS Connector Checklist

[x] Spec doc link
[ ] Vault Creds
[ ] Postman Collection
[x] SaaS Config And Dataset
[x] Access Tests Passing
[ ] Icon


Unable to check Yes to only initial report indicator and still include fincen direct backfile indicator or corrects amends prior report indicator in CTR generation

FinCEN Version: 0.2.6
What were you trying to do?
Generate the CTR report with Activity Association with just Y in initial report indicator but still include the other two elements as empty (CorrectsAmendsPriorReportIndicator and FinCENDirectBackFileIndicator) as show in the user guide
What did you expect to see?
I expected to see the following, where I can check yes to 1 of the indicators and then provide empty to the rest

What did you see?
If i don't include the other two it's ok, but the userguide has them in but just no value (ie not Y but empty indicator)
How can we reproduce the problem?
Create a CTR report with this code :
	aat := currency_transaction.ActivityAssociationType{
		SeqNum: fincen.SeqNumber(seqNumber),
		// CorrectsAmendsPriorReportIndicator: &EmptyIndicator, // TODO how to do this since it fails validation, must be recorded even if it's nil as per CTR XSD
		// FinCENDirectBackFileIndicator:      &EmptyIndicator,
		InitialReportIndicator: &YesIndicator,
	}

activity.ActivityAssociation = &aat

https://github.com/moov-io/fincen/pull/43
I used 2 types for indicator, we need to use

ValidateIndicatorType (for required field)
ValidateIndicatorNullType (for omitempty field)


chore: add remappings.txt

Add a  remappings.txt for open-zeppelin dependencies
This allows:

Running Slither tool using slither [path]--solc-args "--allow-paths .,./node_modules" --solc-remaps @openzeppelin=node_modules/@openzeppelin
In the future, if we develop tests with Foundry, this files is also used to resolve dependencies

Temporarily disabling commit signing requirement FYI


Changes made on 27/03/17 during testing

@pranaypratyush waiting to merge this code till next testing session creates inconsistencies, if this code was working on the vehicle to some extent, merge within a few hours so everyone has a chance to comment if they want to. A week is more than enough time, anyway.

I was assuming that the changes were 'hackish' and needs to be refined. Besides, the working code is on the bot already and committed, can't lose track. Aniket made the changes, since I didn't look at it later it's still unmerged.


Replaced Linux CPU calculation with 'top' variant

The calculation using /proc/stat always returned 1% on Ubuntu
Source of new calculation: https://askubuntu.com/a/941959
Fixes #13

This gives a more accurate reading of the CPU usage. Thanks for your contribution!


Denylist for May20 to Jun03, no classifier changes

Stats
carryover (nodes): 2874
carryover (edges): 3076091
Node classifiers:
antenna split/too close: 11144
disjoint reciprocity: 45
Edge classifiers:
terrain intersection: 2811716
distance insensitivity: 2179547
ingest latency: 7859

plz remove hotspot icy marmalade pelican

plz remove hotspot icy marmalade pelican

That hotspot is deployed in the same place as your other hotspot, Skinny Arctic Donkey. If you want Icy Marmalade Pelican removed from the denylist, you’ll need to shut down Skinny Arctic Donkey and wait 2-3 weeks.

That is, if I turn off my other device, this device will be removed from the Danny list, and then I turn it on again, there will be no problem with my pair of devices.


Bugfix unbound variable

Proposed Changes

(Describe the changes and rationale behind them)

Related Issues

(Github link to related issues or pull requests)

Unfortunately, I cannot test this right now. If you are confident, I suggest we merge and give it a try in the edge repo

-----------------------------------------------------------
 Add-on: Cloudflared
 Use a Cloudflare Tunnel to remotely connect to Home Assistant without opening any ports
-----------------------------------------------------------
 Add-on version: ffffd4e
 You are running the latest version of this add-on.
 System: Home Assistant OS 9.4  (amd64 / qemux86-64)
 Home Assistant Core: 2022.12.7
 Home Assistant Supervisor: 2022.12.1
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
[15:41:15] INFO: Checking add-on config...
[15:41:15] INFO: Checking for existing certificate...
[15:41:15] NOTICE: No certificate found
[15:41:15] INFO: Creating new certificate...
[15:41:15] NOTICE:
[15:41:15] NOTICE: Please follow the Cloudflare Auth-Steps:
[15:41:15] NOTICE:
Please open the following URL and log in with your Cloudflare account:
https://dash.cloudflare.com/argotunnel?callback=https%3A%2F%2Flogin.cloudflareaccess.org
Leave cloudflared running to download the cert automatically.
You have successfully logged in.
If you wish to copy your credentials to a server, they have been saved to:
/root/.cloudflared/cert.pem
[15:41:41] INFO: Authentication successfull, moving auth file to the '/data' folder
[15:41:41] INFO: Checking for existing certificate...
[15:41:41] INFO: Existing certificate found
[15:41:41] INFO: Checking for existing tunnel...
[15:41:41] NOTICE: No tunnel file found
[15:41:41] INFO: Creating new tunnel...
Tunnel credentials written to /data/tunnel.json. Keep this file secret. To revoke these credentials, delete the tunnel.
Created tunnel homeassistant-3 with id c9da2fb8-0f54-4bdb-8acb-f30a3f9b6543
[15:41:43] INFO: Checking for existing tunnel...
[15:41:43] INFO: Existing tunnel with ID c9da2fb8-0f54-4bdb-8acb-f30a3f9b6543 found
[15:41:43] INFO: Checking if existing tunnel matches name given in config
[15:41:44] INFO: Existing Cloudflare Tunnel name matches config, proceeding with existing tunnel file
[15:41:44] INFO: Creating config file...
[15:41:44] INFO: Validating config file...
Validating rules from /tmp/config.json
OK
[15:41:44] INFO: Creating DNS entry test2.elcajon.dev...
2022-12-21T14:41:46Z INF Added CNAME test2.elcajon.dev which will route to this tunnel tunnelID=c9da2fb8-0f54-4bdb-8acb-f30a3f9b6543
[15:41:46] INFO: Finished setting up the Cloudflare Tunnel
[15:41:46] INFO: Connecting Cloudflare Tunnel...
2022-12-21T14:41:46Z INF Starting tunnel tunnelID=c9da2fb8-0f54-4bdb-8acb-f30a3f9b6543
2022-12-21T14:41:46Z INF Version 2022.12.1
2022-12-21T14:41:46Z INF GOOS: linux, GOVersion: go1.19.3, GoArch: amd64
2022-12-21T14:41:46Z INF Settings: map[config:/tmp/config.json cred-file:/data/tunnel.json credentials-file:/data/tunnel.json loglevel:info metrics:<IP_ADDRESS>:36500 no-autoupdate:true origincert:/data/cert.pem]
2022-12-21T14:41:46Z INF Generated Connector ID: 771c82f1-a3a4-4405-a676-756ddc6daed7
2022-12-21T14:41:46Z INF Initial protocol quic
2022-12-21T14:41:46Z INF ICMP proxy will use <IP_ADDRESS> as source for IPv4
2022-12-21T14:41:46Z INF ICMP proxy will use :: as source for IPv6
2022-12-21T14:41:46Z INF Starting metrics server on [::]:36500/metrics
2022-12-21T14:41:46Z INF Connection e07b611f-44c6-495b-8d91-812a93315d4b registered with protocol: quic connIndex=0 ip=<IP_ADDRESS> location=FRA
2022-12-21T14:41:47Z INF Connection 54438ae1-f155-4b74-ab45-63ff45a46202 registered with protocol: quic connIndex=1 ip=<IP_ADDRESS> location=VIE
2022-12-21T14:41:48Z INF Connection 0e363869-9ec9-46ed-a4ff-2f2b435ca442 registered with protocol: quic connIndex=2 ip=<IP_ADDRESS> location=VIE
2022-12-21T14:41:49Z INF Connection acdb9205-295e-4893-80a0-b6f509c927f8 registered with protocol: quic connIndex=3 ip=<IP_ADDRESS> location=FRA

Same for me, I did switch my remote tunnel on Edge to a local one and it looks good.
So any doubts regarding releasing this? @felipecrs @elcajon ?

Not from my side.

All good here after upgrading.

Great. Thanks a lot for the quick fix and effort @elcajon and @felipecrs

I didn't do anything, so thanks @elcajon! lol

No problem, it was my fault anyway. 😉

Hm, 4.0.6 doesnt' work anymore
So I just upgraded to 4.0.7.
Still, not working:
Failed to start add-on
Image ghcr.io/brenner-tobias/cloudflared/aarch64:4.0.7 does not exist for addon_9074a9fa_cloudflared

@magicmatt007 wait a bit and try again, it's probably being built yet.

Strange, the image has been generated correctly. And has been pulled about 70 times yet. If the error persists try to run ha su repair

If you have the Terminal add-on with protection mode disabled, you can also try:
docker pull ghcr.io/brenner-tobias/cloudflared/aarch64:4.0.7

@magicmatt007 wait a bit and try again, it's probably being built yet.

This error message was from my production PI4
On my PI3 is works already.
Will wait and try again later...

@magicmatt007 no need to wait, we just confirmed that the image was built already. Try the docker pull command if you are still running into this. You can also uninstall the add-on and install it again, but you may need to reconfigure it after.

Ok, instead of uninstalling and reinstalling it, I just restored the 4.0.6 version from the backup. Then I upgraded again to 4.0.7
Now it works again!
Thanks for the quick fixes!