change erroranalysis valueerror caused by invalid model prediction shape to user error

Description
Change erroranalysis valueerror caused by invalid model prediction shape to user error.
We are seeing value errors like below:
<class 'ValueError'>
File "/mnt/azureml/cr/j/[guid]/exe/wd/_telemetry/_loggerfactory.py", line 143 in wrapper
return func(*args, **kwargs)
File "create_error_analysis.py", line 71 in main
rai_i.compute()
File "/azureml-envs/responsibleai/lib/python3.8/site-packages/responsibleai/rai_insights/rai_base_insights.py", line 81 in compute
manager.compute()
File "/azureml-envs/responsibleai/lib/python3.8/site-packages/responsibleai/managers/error_analysis_manager.py", line 317 in compute
report = self._analyzer.create_error_report(
File "/azureml-envs/responsibleai/lib/python3.8/site-packages/erroranalysis/analyzer/error_analyzer.py", line 399 in create_error_report
tree = self.compute_error_tree(self.feature_names,
File "/azureml-envs/responsibleai/lib/python3.8/site-packages/erroranalysis/analyzer/error_analyzer.py", line 321 in compute_error_tree
return _compute_error_tree(self,
File "/azureml-envs/responsibleai/lib/python3.8/site-packages/erroranalysis/_internal/surrogate_error_tree.py", line 252 in compute_error_tree
return compute_error_tree_on_dataset(
File "/azureml-envs/responsibleai/lib/python3.8/site-packages/erroranalysis/_internal/surrogate_error_tree.py", line 155 in compute_error_tree_on_dataset
booster, dataset_indexed_df, cat_info = get_surrogate_booster_local(
File "/azureml-envs/responsibleai/lib/python3.8/site-packages/erroranalysis/_internal/surrogate_error_tree.py", line 340 in get_surrogate_booster_local
surrogate = create_surrogate_model(analyzer,
File "/azureml-envs/responsibleai/lib/python3.8/site-packages/erroranalysis/_internal/surrogate_error_tree.py", line 485 in create_surrogate_model
surrogate.fit(dataset_sub_features, diff)
File "/azureml-envs/responsibleai/lib/python3.8/site-packages/lightgbm/sklearn.py", line 895 in fit
super().fit(X, y, sample_weight=sample_weight, init_score=init_score,
File "/azureml-envs/responsibleai/lib/python3.8/site-packages/lightgbm/sklearn.py", line 658 in fit
_X, _y = _LGBMCheckXY(X, y, accept_sparse=True, force_all_finite=False, ensure_min_samples=2)
File "/azureml-envs/responsibleai/lib/python3.8/site-packages/sklearn/utils/validation.py", line 979 in check_X_y
y = _check_y(y, multi_output=multi_output, y_numeric=y_numeric)
File "/azureml-envs/responsibleai/lib/python3.8/site-packages/sklearn/utils/validation.py", line 993 in _check_y
y = column_or_1d(y, warn=True)
File "/azureml-envs/responsibleai/lib/python3.8/site-packages/sklearn/utils/validation.py", line 1038 in column_or_1d
raise ValueError(

These seem to be caused by invalid diff array shape caused by unexpected prediction output from the passed in model.  This PR fixes the issue by throwing a better user exception message.
Checklist

[ ] I have added screenshots above for all UI changes.
[ ] I have added e2e tests for all UI changes.
[ ] Documentation was updated if it was needed.

Codecov Report

Merging #2254 (e8edc47) into main (5c7a0fa) will increase coverage by 0.29%.
The diff coverage is 91.66%.

@@            Coverage Diff             @@
##             main    #2254      +/-   ##
==========================================
+ Coverage   92.26%   92.55%   +0.29%
==========================================
  Files         103       55      -48
  Lines        5160     2137    -3023
==========================================
- Hits         4761     1978    -2783
+ Misses        399      159     -240

Flag
Coverage Δ

unittests
92.55% <91.66%> (+0.29%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

...is/erroranalysis/_internal/surrogate_error_tree.py
89.52% <91.66%> (-0.02%)
:arrow_down:

... and 48 files with indirect coverage changes


Japan-> Japanese

Just a minor fix.  Changed country name Japan to language Japanese.

Hello Hakuamesan, thanks for the correction.

Hello Hakuamesan, thanks for the correction.


Major Bug: attempt to call field 'detach' (a nil value)

Description
Upon running the :Neogit command (or any other command) to open up the status of a repository (whilst located within a buffer, somewhere in that project's root), we get the following error:
attempt to call field 'detach' (a nil value)
Full Stack Trace:
Error executing Lua callback: ...ta/Local/nvim-data/lazy/neogit/lua/neogit/lib/buffer.lua:350: attempt to call field 'detach' (a nil value)
stack traceback:
...ta/Local/nvim-data/lazy/neogit/lua/neogit/lib/buffer.lua:350: in function 'show'
...ta/Local/nvim-data/lazy/neogit/lua/neogit/lib/buffer.lua:615: in function 'create'
...nvim-data/lazy/neogit/lua/neogit/buffers/status/init.lua:93: in function 'open'
...alanj/AppData/Local/nvim-data/lazy/neogit/lua/neogit.lua:114: in function 'open_status_buffer'
...alanj/AppData/Local/nvim-data/lazy/neogit/lua/neogit.lua:178: in function 'open'
...nj/AppData/Local/nvim-data/lazy/neogit/plugin/neogit.lua:5: in function <...nj/AppData/Local/nvim-data/lazy/neogit/plugin/neogit.lua:3>
Neovim version
NVIM v0.10.2
Build type: Release
LuaJIT 2.1.1713484068
Operating system and version
Microsoft Windows Version 23H2 (OS Build 22631.4317)
Steps to reproduce

Have neogit installed via lazy.nvim (LazyVim), or any other way.
Go into a git repository, and open a files contents in a buffer.
Try run the :Neogit command.

Expected behavior
You should see the status window show in a separate window below your current buffer, with all of the options to stage and commit etc....
Actual behavior
This error pops up, and an empty window with a blank buffer is opened wither below your current buffer, or as a new blank window instead.

Minimal config
-- NOTE: See the end of this file if you are reporting an issue, etc. Ignore all the "scary" functions up top, those are
-- used for setup and other operations.
local M = {}

local base_root_path = vim.fn.fnamemodify(debug.getinfo(1, "S").source:sub(2), ":p:h") .. "/.min"
function M.root(path)
  return base_root_path .. "/" .. (path or "")
end

function M.load_plugin(plugin_name, plugin_url)
  local package_root = M.root("plugins/")
  local install_destination = package_root .. plugin_name
  vim.opt.runtimepath:append(install_destination)

  if not vim.loop.fs_stat(package_root) then
    vim.fn.mkdir(package_root, "p")
  end

  if not vim.loop.fs_stat(install_destination) then
    print(string.format("> Downloading plugin '%s' to '%s'", plugin_name, install_destination))
    vim.fn.system({
      "git",
      "clone",
      "--depth=1",
      plugin_url,
      install_destination,
    })
    if vim.v.shell_error > 0 then
      error(string.format("> Failed to clone plugin: '%s' in '%s'!", plugin_name, install_destination),
        vim.log.levels.ERROR)
    end
  end
end

---@alias PluginName string The plugin name, will be used as part of the git clone destination
---@alias PluginUrl string The git url at which a plugin is located, can be a path. See https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols for details
---@alias MinPlugins table<PluginName, PluginUrl>

---Do the initial setup. Downloads plugins, ensures the minimal init does not pollute the filesystem by keeping
---everything self contained to the CWD of the minimal init file. Run prior to running tests, reproducing issues, etc.
---@param plugins? table<PluginName, PluginUrl>
function M.setup(plugins)
  vim.opt.packpath = {}                      -- Empty the package path so we use only the plugins specified
  vim.opt.runtimepath:append(M.root(".min")) -- Ensure the runtime detects the root min dir

  -- Install required plugins
  if plugins ~= nil then
    for plugin_name, plugin_url in pairs(plugins) do
      M.load_plugin(plugin_name, plugin_url)
    end
  end

  vim.env.XDG_CONFIG_HOME = M.root("xdg/config")
  vim.env.XDG_DATA_HOME = M.root("xdg/data")
  vim.env.XDG_STATE_HOME = M.root("xdg/state")
  vim.env.XDG_CACHE_HOME = M.root("xdg/cache")

  -- NOTE: Cleanup the xdg cache on exit so new runs of the minimal init doesn't share any previous state, e.g. shada
  vim.api.nvim_create_autocmd("VimLeave", {
    callback = function()
      vim.fn.system({
        "rm",
        "-r",
        "-f",
        M.root("xdg")
      })
    end
  })
end

-- NOTE: If you have additional plugins you need to install to reproduce your issue, include them in the plugins
-- table within the setup call below.
M.setup({
  plenary = "https://github.com/nvim-lua/plenary.nvim.git",
  telescope = "https://github.com/nvim-telescope/telescope.nvim",
  diffview = "https://github.com/sindrets/diffview.nvim",
  neogit = "https://github.com/NeogitOrg/neogit"
})
-- WARN: Do all plugin setup, test runs, reproductions, etc. AFTER calling setup with a list of plugins!
-- Basically, do all that stuff AFTER this line.
require("neogit").setup({}) -- For instance, setup Neogit

This is from a workaround I had to add for users of ufo:

https://github.com/kevinhwang91/nvim-ufo/blob/main/lua/ufo.lua#L98
https://github.com/NeogitOrg/neogit/blob/bab8703a4d5406548ab7feb47efbabf023f5ae1a/lua/neogit/lib/buffer.lua#L347-L351

It would seem that the "detach" function isn't present for you? Not sure why that would be, as the API for ufo hasn't changed in two years.

This is from a workaround I had to add for users of ufo:

https://github.com/kevinhwang91/nvim-ufo/blob/main/lua/ufo.lua#L98

https://github.com/NeogitOrg/neogit/blob/bab8703a4d5406548ab7feb47efbabf023f5ae1a/lua/neogit/lib/buffer.lua#L347-L351

It would seem that the "detach" function isn't present for you? Not sure why that would be, as the API for ufo hasn't changed in two years.

Hi, sorry for the late reply. See it's a strange issue because I never made any changes or messed with the ufo plugin. To be completely honest, I didn't know it even existed or was in the background. I'm not confident fixing something I don't understand nor am I closing this issue yet, cause I can't properly diagnose the source of the issue. It just appeared out of nowhere. Thanks again for your suggestions, and I will take a deeper look when I get the chance.

My guess is that you have something in the lua runtime's lookup path called "ufo", which is possibly not related to the plugin with that name. Hence, calling a detach function on that table fails.
I can add an extra safeguard in neogit to verify the function exists, which should at least resolve your issue for now.

I've checked my runtimepath contents to verify using:
:lua print(vim.inspect(vim.api.nvim_list_runtime_paths()))
I then checked 'messages' and then searched "ufo". Nothing was found unfortunately. Although there was an update 8 days ago including a handler for ufo:

Not sure if this means anything, but after even updating the plugin, I'm getting the same error. Very annoying.

I'll start from scratch with a fresh nvim install, then install only neogit, if the problem persists its not a me problem (ie: no clashing plugins) which I suspect it is. If it goes away, I'm a doof lol XD

Heh, happens to the best of us 🤷♂ Lemme know :)

I ended up having to make a backup of my config, reinstalling neovim with the LazyVim Distro from scratch, then painstakingly adding everything back in from the backup. Checking on each addition ff the problem came back. It never did, my config is back to where it was and more. So it's either something weird happened in the background whilst I was just programming regularly, or I accidentally made a typo in a config file I wasn't supposed to touch.
Thanks again for the assist.


[Feature Request] Vault AppRole auth method support

As of Vault 0.6.1, App ID is deprecated in favor of AppRole.

Fixed in #643


Mocking popper.js for Jest tests (attempting to help conversation locked in #82)

Sorry for opening a new issue that isn't really an issue, I just ran into some challenges getting popper.js mocked for jest tests and came across #82. I'm opening this issue because I can't leave a comment on that issue as it's now closed, but I wanted to share my solution that doesn't require me to include popper.js as a dependency of my project but still allows me to mock it out for tests that use react-popper
In <root>/__mocks__/popper.js.js
const PopperJS = jest.requireActual('popper.js');

export default class {
  static placements = PopperJS.placements;

  constructor() {
    return {
      destroy: () => {},
      scheduleUpdate: () => {}
    };
  }
};

Using jest.requireActual('popper.js') resolves @jony89's comment about needing to explicitly include popper.js as a dependency in my project.
Hope this helps, sorry again for opening an non-issue issue.

Thanks! Marked as "docs and examples" to make it easy to find, I'll close it now.

Awesome, this might be linked with https://github.com/FezVrasta/popper.js/issues/478

I had to add  disableEventListeners: () => {} for tests to work


Correctly naming the workerCount property

What:
Fixes all tests which invoke the ClusterSupervisor constructor with numCPUs.
Why:
workerCount and not numCPUs is the right name for this property.
https://github.com/uber/nanny/blob/master/cluster-supervisor.js#L318.
The reason this might have gone unnoticed is because we default to os.cpus() : https://github.com/uber/nanny/blob/master/cluster-supervisor.js#L325-L329.
But when I spun up a cloud server with os.cpus().lenghth = 2 (as opposed to 8 on my mac book pro), I could uncover this issue.

Thanks for catching these errors. As you might guess, I at some point renamed numCPUs to workerCount.


{ openAPIUrl: https://${host}/openapi.json } - fails on localhost

Nothing huge, but from the examples, this seems to force https:// which fails when running the cloudflare example with wrangler dev --local

Thanks @altryne 🙏
I think you may be using an outdated version of chatgpt-plugin. Here's the current example: https://github.com/transitive-bullshit/chatgpt-plugin-ts/blob/2680507da54faf6f97a73f7780e566c4519142cc/examples/dexa-mfm/src/index.ts#L25-L32
  const pluginManifest = defineAIPluginManifest(
    {
      description_for_human: pkg.description,
      name_for_human: pkg.aiPlugin.name,
      ...pkg.aiPlugin
    },
    { openAPIUrl: `https://${host}/openapi.json` }
  )

So you can set the openAPIUrl to be anything you want on the fly.
Maybe this is what you're doing.. in which case I'd love to have a better example for how to dynamically set the http/https protocol for dev vs prod.


[ Documentation fix needed] CustomEvents

Version
1.12.10
https://github.com/nhn/tui.calendar/releases/tag/v1.12.10
Development Environment
Google chrome Version 79.0.3945.130 (Official Build) (64-bit)
OS is Windows 10* 64-bit
Current Behavior
Broken link at documentation for the CustomEvents
https://nhn.github.io/tui.calendar/latest/CustomEvents

Expected Behavior
Nice guide 'how to create CustomEvents'

Patched in v1.12.11


[BEAM-10843] Fix NPE in websites/build.gradle preventing linkage checker from working since the property isn't defined.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Fixed via #12737


[swift-inspect][Reflection] Improve actor job lists and avoid infinite output.

If swift-inspect identifies an allocation as an actor when it isn't, it can end up in an infinite loop trying to print all the enqueued jobs if the memory happens to be structured like a circular linked list.
Our metadataIsActor check had a lot of false positives due to the ownsAddress check being much more accepting than we wanted it to be. Fix that by specifically checking descriptor addresses against the registered images' TEXT segments.
Add a backstop to swift-inspect to stop printing enqueued jobs after 1,000 entries.
rdar://113417637

@swift-ci please test


Trying to package

Hi
I'm trying to make a buildscript (SlackBuilds for Slackware-15.0) for i3expo-ng and all it dependencies.
Everything builds fine but pytest-asyncio for now.
The program generates the temporary workspace but with no screenshots and this error
Traceback (most recent call last):
  File "/usr/lib64/python3.9/threading.py", line 980, in _bootstrap_inner
    self.run()
  File "/usr/lib64/python3.9/threading.py", line 917, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/bin/i3expod.py", line 396, in show_ui
    qm = pygame.font.SysFont('sans-serif', 550).render('?', True, (150, 150, 150))
  File "/usr/lib64/python3.9/site-packages/pygame/sysfont.py", line 436, in SysFont
    return constructor(fontname, size, set_bold, set_italic)
  File "/usr/lib64/python3.9/site-packages/pygame/sysfont.py", line 354, in font_constructor
    font = Font(fontpath, size)
  File "/usr/lib64/python3.9/site-packages/pygame/pkgdata.py", line 27, in <module>
    from pkg_resources import resource_stream, resource_exists
  File "/usr/lib64/python3.9/site-packages/pkg_resources/__init__.py", line 3243, in <module>
    def _initialize_master_working_set():
  File "/usr/lib64/python3.9/site-packages/pkg_resources/__init__.py", line 3226, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib64/python3.9/site-packages/pkg_resources/__init__.py", line 3255, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib64/python3.9/site-packages/pkg_resources/__init__.py", line 568, in _build_master
    ws.require(__requires__)
  File "/usr/lib64/python3.9/site-packages/pkg_resources/__init__.py", line 886, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib64/python3.9/site-packages/pkg_resources/__init__.py", line 772, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'xdg' distribution was not found and is required by i3expod

Is it related to the missing pytest-asyncio dependency ?
Or a missing one ?
I have
pyxdg-0.27-x86_64-6
xdg-dbus-proxy-0.1.2-x86_64-1_SBo
xdg-desktop-portal-1.12.1-x86_64-1
xdg-desktop-portal-kde-5.23.5-x86_64-1
xdg-user-dirs-0.17-x86_64-3
xdg-utils-1.1.3-noarch-4

Are already avaible if needed
NAME                                         VERSION
desktop/libqtxdg                          3.10.0
desktop/slackware-xdg-menu      <IP_ADDRESS>
desktop/xdg-desktop-portal-gtk   1.4.0
desktop/xdgmenumaker              2.0
libraries/libxdg-basedir                1.2.3
system/qtxdg-tools                      3.10.0
system/xdg-dbus-proxy               0.1.2
system/xdg-utils-cxx                    1.0.1

I could bet for xdg-basedir...
Any clue appreciate.
Regards

Was much more simple. The missing package was xdg from PyPi.
I have to find now why I only have 2 worspaces with an image (and how I can make a buildscript without a setup.py).

Hi!
I'm glad you figured it out that quickly.
As for your last edit, I'm not sure what you're trying to convey: is it a bug? If that's the case, please open a separate issue describing the problem you're having and perhaps attacching a screenshot to better understand.
Thanks!


Feature: hookInto & getGlobal

[x] Changed: hookInto now search a method from a string target.
[x] Changed: hook.into is now a single function named hookInto.
[x] Added: New function getGlobal to get any global object and function with castable type.

Example of hookInto
import { ISTakePillAction, IsoPlayer, InventoryItem } from "PipeWrench"
import { hookInto } from "PipeWrench-Utils"

// Hook into ISTakePillAction:new
hookInto("ISTakePillAction:new", (_new: Function, self: ISTakePillAction, character: IsoPlayer, item: InventoryItem, time: number) => {
    const obj = _new(self, character, item, time) as ISTakePillAction

    obj.maxTime = 300 // change action properties here

    return obj
})

// Hook into ISTakePillAction:perform
hookInto("ISTakePillAction:perform", (_perform: Function, self: ISTakePillAction) => {
    const player = self.character as IsoPlayer
    const item = self.item as InventoryItem

    player.Say(`I took a ${item.getDisplayName()}!`)

    return _perform(self)
})

Example of getGlobal
import { KahluaTable } from "PipeWrench"
import { getGlobal } from "PipeWrench-Utils"

print( getGlobal<KahluaTable>("ProceduralDistributions") ) // return table
print( getGlobal<KahluaTable>("ProceduralDistributions.list.Antiques.rolls") ) // return 4


ProviderPlugin fails with TypeError: Cannot read property 'name' of undefined

Trying to use the ProviderPlugin using:
var webpack = require('webpack');
var path = require('path');
module.exports = {
    entry: "./source/javascripts/main.js",
    output: {
        path: __dirname,
        filename: "build/bundle.js"
    },
    module: {
        loaders: [
            { test: /\.css$/, loader: "style!css" },
            { test: /\.jsx?$/, loader: "babel" },
            { test: /jquery\/src\/selector\.js$/, loader: 'amd-define-factory-patcher-loader' }
        ]
    },
    resolve: {
        root: [path.join(__dirname, 'bower_components')]
    },
    plugins: [
        new webpack.ResolverPlugin(
            new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('bower.json', ['main'])
        ),
        new webpack.ProvidePlugin({
            $: 'jquery/src/jquery.js',
            jQuery: 'jquery/src/jquery.js',
            "window.jQuery": 'jquery/src/jquery.js',
            "root.jQuery": 'jquery/src/jquery.js'
        })
    ]
};

Fails with:
$ webpack-dev-server --hot --inline --port 8089                                             0
http://localhost:8089/
webpack result is served from /
content is served from /home/zack/research
/home/zack/.nvm/versions/io.js/v3.0.0/lib/node_modules/webpack-dev-server/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:163
                        if(isError) throw e;
                                    ^

TypeError: Cannot read property 'name' of undefined
    at Compilation.addModuleDependencies (/home/zack/.nvm/versions/io.js/v3.0.0/lib/node_modules/webpack-dev-server/node_modules/webpack/lib/Compilation.js:180:108)
    at Compilation.processModuleDependencies (/home/zack/.nvm/versions/io.js/v3.0.0/lib/node_modules/webpack-dev-server/node_modules/webpack/lib/Compilation.js:170:7)
    at Compilation.<anonymous> (/home/zack/.nvm/versions/io.js/v3.0.0/lib/node_modules/webpack-dev-server/node_modules/webpack/lib/Compilation.js:319:11)
    at /home/zack/.nvm/versions/io.js/v3.0.0/lib/node_modules/webpack-dev-server/node_modules/webpack/lib/Compilation.js:123:4
    at Array.forEach (native)
    at callback (/home/zack/.nvm/versions/io.js/v3.0.0/lib/node_modules/webpack-dev-server/node_modules/webpack/lib/Compilation.js:122:12)
    at Compilation.<anonymous> (/home/zack/.nvm/versions/io.js/v3.0.0/lib/node_modules/webpack-dev-server/node_modules/webpack/lib/Compilation.js:140:10)
    at DependenciesBlock.<anonymous> (/home/zack/.nvm/versions/io.js/v3.0.0/lib/node_modules/webpack-dev-server/node_modules/webpack/lib/NormalModule.js:115:10)
    at DependenciesBlock.onModuleBuild (/home/zack/.nvm/versions/io.js/v3.0.0/lib/node_modules/webpack-dev-server/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:310:10)
    at nextLoader (/home/zack/.nvm/versions/io.js/v3.0.0/lib/node_modules/webpack-dev-server/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:275:25)

Never mind, outdated webpack-dev-server.


Fix for Mail ‘from’ option shows no effect

Got some code for us? Awesome 🎊!
Please include a description of your change & check your PR against this list, thanks!

[x] There's a clear use-case for this code change, explained below
[x] Commit message has a short title & references relevant issues
[x] The build will pass (run yarn test:all and yarn lint)

This PR fixes Fix for Mail ‘from’ option shows no effect
We appreciate your contribution!
Also, if you'd be interested in writing code like this for us more regularly, we're hiring:
https://careers.ghost.org

Just wanted to drop a quick message to thank @mandarons for this PR and confirm that this has fixed this issue for my setup.

related issue https://github.com/TryGhost/Ghost/issues/12802

+1

+1

+1

@ErisDS can this PR be merged ?
Or can you explain how to setup ghost as the following config :

A website on example.com
An account on mailgun with only mail.com
Send email from<EMAIL_ADDRESS>

I have just made my instance working by running a simple replace command in Kubernetes Lifecycle hooks

@ErisDS any updates on this PR??

Please consider this PR for merging. Seems like a straightforward fix.

Is it possible to merge this PR? Cannot run Ghost at all because of this...

I moved from this project since they are not merging this issue to fix a simple problem....

@ErisDS @daniellockyer - Can someone else check and merge this PR please. Its been too long already

9 months for a PR that's one line of code.
That's concerning.

Are there still no updates on this PR? A small comment from the dev team would be great...

+1

@ErisDS @JohnONolan any news regarding this PR? simply merging it would solve a lot of issues for a lot of people

And message from Lead DevOps: https://github.com/TryGhost/Ghost/issues/18590

And message from Lead DevOps: #18590 (comment)

I interpreted that as them just not being appreciative of having a duplicate discussion opened. It would be nice if there was an official comment, though. I went ahead and manually made the change on a local copy of Ghost, but would love to see this get merged!

Look like they have enabled the CI to run and it is all green! This is a good sign to get this PR merged. :)

Well... CI used to have been run.

Apologies for the radio silence here. I realise this one line fix looks like a super simple and easy to merge solution to the problem. However, it has some unintended side effects	and there are some underlying architectural concerns that need deeper attention here.
We realise this problem is affecting lots of people so have prioritised getting the core team to look at this ASAP.
I will follow up here again with more info on what's happening next week.

Hello everyone - realise I'm a bit late on the promised update.
We've done a deep dive and are just pulling together all the pieces. We've confirmed this change cannot be merged without causing serious issues. We're now looking to see if there's a different quick fix, or if it needs a bigger piece of work.
My next update will come by the end of the week 🔜 and should either be a fix 🎉 or a plan for how we're going to do the bigger piece of work.

Bad news: there's no quick fix for right now. The web of different from addresses that we use is not easy to untangle, and linked to a bigger piece of work we need to do.
Good news: that piece of work is planned to be started on immediately.
I'm sorry there isn't an easy resolution, but this will be resolved as soon as it can be. I'm going to close this PR for now, and also post a summary on the issue.

Bad news: there's no quick fix for right now. The web of different from addresses that we use is not easy to untangle, and linked to a bigger piece of work we need to do.
Good news: that piece of work is planned to be started on immediately.
I'm sorry there isn't an easy resolution, but this will be resolved as soon as it can be. I'm going to close this PR for now, and also post a summary on the issue.

Wow, after 11 months 😲


Mimir should handle ConcatArrays of two strings or a string and an array

SQL^2 uses || for both array and string concat (and heterogeneous concat of a string and an array). For example,"foo" || "bar" evaluates to "foobar" and "foo" || [1,2,3] evaluates to ["f","o","o",1,2,3]. Mimir does not currently handle the string case or the heterogeneous case.
It's a separate discussion whether these are the semantics for || that we'd like to uphold for SQL^2.

Moving this into the initial implementation epic, since it exists in the demo queries.


GJ divided by 1000?

I wonder why the first parameter, stadsverwarming energy in GJ is divided by 1000. I have to divide it by 100 to keep the value equal to the display value. I have also included the 10th parameter because this provides info about the battery. From what I understand it can run flat when querying the Kampstrup too often. Maybe later I'll do a pull request.

the reading is correct with me. it displays up to three digits on the meter as well.
battery info added is a nice addition to keep in mind!

can you elaborate on what the battery reading is? i only get a bunch of zeroes on it. I basically just added                 data.append(int((reading[9]).decode("utf-8"))) # Battery, and the const file ofc.
Not sure what to do though when the battery will actual run flat, dont think the provider will be very happy with that.

I find it a bit hard to find out which meters do have a battery and which ones don't. I think I almost ran my new meters battery flat, it wasn't reporting data for a while....
To reduce battery life, I suggest updating from 30 to 3600 seconds in https://github.com/golles/Home-Assistant-Sensor-MC66C/blob/master/custom_components/mc66c/const.py#L6

I find it a bit hard to find out which meters do have a battery and which ones don't. I think I almost ran my new meters battery flat, it wasn't reporting data for a while....

The manual describes the possibility to connect an external power supply

Hi, same here I had to divided with 100 too, next to this I have my MC66 connected to a external power supply of 230Vac. But I am still suffering from bad readings where only the last 2 decimals are shown. So instead of 451.22  GJ the sensor shows 0.22 GJ.

Didnt you get an issue with the provider? iirc you have to open the meter to add an external power supply right ?

I was the first on the "blok verwarming" that installed floor heating. So a GJ-meter had to be installed and in those days it was powered by an external connection.

Oke, so there are models where you need to divide by 100 (like the 66C02F1387) any other models where this applies? Which models have to divide by 1000?
As for the bad readings, I noticed that there are far and near infrared readingheads. I have fair results (9 out of 10 with an interval of 60 minutes) with this one: https://nl.aliexpress.com/item/1005004351799379.html but I can't guarantee it works for you.
Unfortunately there is no other way than to ignore/drop faulty readings. I've added an extra check on datafield length in my repository might do a PR but am waiting for more input on which meters need /100 and which /1000
2022-10-27 17:01:20.721 WARNING (SyncWorker_3) [custom_components.mc66c.sensor] Error=Received invalid datafield length parsing data=[b'c72325', b'0721210', b'0166393', b'0005675', b'0005069', b'0000606', b'0000000', b'0000007', b'0000059', b'0000000']

I have installed a 66C03F1385 an divided by 100.
About the bad readings. I noticed that during the summer where I have a closed the main valve, there are no bad readings?
The sensor I use is; https://www.photovoltaikforum.com/thread/145886-habe-lesköpfe-mit-usb-über/

I think that should not make a difference unless the meter has a defect, I close the valve also but opening the valve did not cause any other weird data. Any chance on false readings due to (sun)light on the meter?

Unfortunately there is no other way than to ignore/drop faulty readings. I've added an extra check on datafield length in my repository might do a PR but am waiting for more input on which meters need /100 and which /1000 2022-10-27 17:01:20.721 WARNING (SyncWorker_3) [custom_components.mc66c.sensor] Error=Received invalid datafield length parsing data=[b'c72325', b'0721210', b'0166393', b'0005675', b'0005069', b'0000606', b'0000000', b'0000007', b'0000059', b'0000000']

Feel free to create any PR's with improvements. I can also make you a collaborator in this repo

For me, i have to divide by 100 as well (Kamstrup 66C2AF1385). The value on the display is 00391.78GJ, the value in homeassistant is 39.1780 GJ

@mathijsvandenberg @Piepaa  You are right both must be divided by 100 (on 66C02F1387 and 66C2AF1385 - so I suppose the whole 66C series)

Hello,
FYI: just installed it and I also had to divide both by 100 instead of 1000.
model: 66C03F1385
cable: https://nl.aliexpress.com/item/1005003259326667.html?spm=a2g0o.order_list.order_list_main.5.2d1279d2aweLr5&gatewayAdapt=glo2nld
still great job !

(Fairly) new HA user here, with an IR head reading out my MC66C.
I also have to divide both the "Energy" and "Volume" data by 100 (not 1000) to get the correct numbers, and I also need to divide the "Flow" data by 1 (not 10), to get the correct number.
Just FYI ;)

I've no idea why some meters behave differently, my suggestion is to make the change locally on your installation

I've no idea why some meters behave differently, my suggestion is to make the change locally on your installation

I already did that, by changing the relevant multipliers in the local "sensor.py" file. But that doesn't seem like a very update-friendly way to go. If we should not expect updates anytime soon, I guess it's OK to keep it this way.
Or, I could create some helpers to adjust the few values that need it, but that also seems a bit overkill, and messes with the elegant way to add sensors to cards, etc...
Oh well, I'm just waiting for a new (smart) heat meter, which will use a different integration anyway. I'll survive! ;)


Compilation error when using cpp_utils

I am using cpp_utils (under <my_project>/components folder) in my ESP-IDF project.
But "make all" produce following error.
I found similar error on https://github.com/espressif/esp32-at/issues/48 and tried different xtensa-esp32-elf verssions, but all fails.
I am developing on Eclipse on Ubuntu 64bits.
What can I try?
make all
CXX GeneralUtils.o
In file included from /home/salva/esp/pool_sensor/components/cpp_utils/./GeneralUtils.cpp:16:0:
/home/salva/esp/pool_sensor/components/cpp_utils/FreeRTOS.h:46:3: error: 'pthread_mutex_t' does not name a type
pthread_mutex_t   m_pthread_mutex;
^
/home/salva/esp/esp-idf/make/component_wrapper.mk:210: recipe for target 'GeneralUtils.o' failed
make[1]: *** [GeneralUtils.o] Error 1
/home/salva/esp/esp-idf/make/project.mk:386: recipe for target 'cpp_utils-build' failed
make: *** [cpp_utils-build] Error 2

Try to make clean and the make all
Also try to make in cli
xtensa-esp32-elf-gcc -v
When did you last time update esp-idf and esp32-snippets?

I updated to latest everything: esp-idf, xtensa-esp32-elf and esp32-snippets.
Now everithing worrks fine.
Thanks for your support

Closing for just now.  Re-open as needed.

I'm using Arduino IDE and getting exactly same issue, just installed latest ble arduino library and also pulled latest esp32 arduino stack.
C:\Users\DELL\Documents\Arduino\libraries\ESP32_BLE_Arduino\src/FreeRTOS.h:46:3: error: 'pthread_mutex_t' does not name a type
pthread_mutex_t   m_pthread_mutex;

same issue too for me : with BLE_notify example, in esp 32 BLE Arduino . Thanks

Hi,
have you updated arduino-esp32 and toolchain?
From Arduino\hardware\espressif\esp32\tools\xtensa-esp32-elf\bin folder use this command:
xtensa-esp32-elf-gcc.exe --version
latest version is:
xtensa-esp32-elf-gcc.exe (crosstool-NG crosstool-ng-1.22.0-80-g6c4433a5) 5.2.0

yes, i have the same : 5.2.0 (on Linux)

crosstool-ng-1.22.0-80-g6c4433a5?

not exactly : xtensa-esp32-elf-gcc (crosstool-NG crosstool-ng-1.22.0-80-g6c4433a) 5.2.0

@gerisse your toolchain is fresh enough to work with pthreads, please try @programmer131 solution

ok, i re-installed it, and all is ok, thanks :+1:


Dashbord with Sidebar and AppBar

Hi, thanks for this great qlevar_router.
I would like to have an example to handle this scenario.
I have a Dashboard with a left Sidebar and an Appbar

By selecting an item in the sidebar, I open a page and simultaneously add a button in the AppBar

After opening several pages I would like to jump from one page to another using only the Appbar, keeping the status of each page.
I can't configure qlevar correctly to solve my scenario. Anyone have suggestions?
Thanks
Biagio

I'm sorry for my english !!!!

Hi @Gino1963 ,
To save the state of the page, you can see this


Update munit-cats-effect to 2.0.0-RC1

About this PR
📦 Updates org.typelevel:munit-cats-effect from 2.0.0-M5 to 2.0.0-RC1
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel", artifactId = "munit-cats-effect" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.typelevel", artifactId = "munit-cats-effect" }
}]

labels: test-library-update, early-semver-pre-release, semver-spec-pre-release, version-scheme:early-semver, commit-count:1

Superseded by #198.


Develop

Added Framework
Optimized Code

Removed prints from API function
Using more generators and less memory space
Reduced SLOC by 73%

Created Test for the function (pretty much the new print statements)
Changing to a more permissive license for developers and contributors

Rolling back. Forgot dependencies and needs to be on a stable version of Python.


Created scripts to make things easier

I created some scripts to make things easier. Just run bash scripts/create.sh and the words added to words.txt will be sorted, words_alpha.txt will be updated, words_dictionary.json is updated, and all the .zip files are updated. This makes life a lot easier, I think. I also added dino to the words to fix #37.

These scripts are sorely needed

@NonlinearFruit we agree. The scripts look good. 👍
Sadly there are merge conflicts which prevent merging the pull request.
@InnovativeInventor if you have time to fix the merge conflicts we can merge the PR.
Thanks.

Ok, I've updated the word lists to include the most recent set of words (as of commit 54b470a763d3df98ec33cb049382711972975317)
Here is exactly what I did:
aria2c https://github.com/dwyl/english-words/raw/master/words.txt
cat words.1.txt >> words.txt
rm words.1.txt
bash scripts/create.sh

Everything worked and resulted in 0 errors (although I got a warning with the find command). Hopefully this is acceptable for you.

@InnovativeInventor its strange that GitHub is still reporting merge conflicts... 😞

Ok, I'll just create a new pull request with just the script (you can run it yourself and push to master).
I think this is due to the original words.txt not being properly sorted (I think there is an issue/PR about that).

@InnovativeInventor yeah, sounds good. If you have time, create a PR with just the useful scrips and we will merge. Thanks!

Ok, I force-pushed the repo to just have my scripts (whoops, I think I should have either created a different branch or added another commit).
Anyways, this should be mergeable now. @nelsonic


guile-modules: clean up various packages and add tests

Description of changes
Cleaned up the package definition a little bit. I also deleted the postConfigure attribute since the files in the output is placed on paths that is already detected well from Guile's setup hooks. It'll make maintenance much easier in the future.

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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

[ ] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

#189428, #189422, and #189423 have been merged here.

#189428, #189422, and #189423 have been merged here.

Please drop the merge commits. This makes resolving merge conflicts when merging into staging-next/staging sometimes very hard to resolve.

#189428, #189422, and #189423 have been merged here.

Please drop the merge commits. This makes resolving merge conflicts when merging into staging-next/staging sometimes very hard to resolve.

Done.


Tracking Issue: Fabric support

In the PR #1102, @TheSavior detailed the state-of-the-art for supporting Fabric (which had implications for long-term Animated support). We ended up discussing it in depth, so that thread should be considered prior reading to explain what aspects of the library are impacted, what changes are necessary, and why. In short:

Fabric doesn't have findNodeHandle anymore.
It has always been confusing, for many APIs, whether users need to obtain a ref to a class component instance, a ref to the host component, or a node handle to the host component.
The react-native-webview library is particularly complex in this respect because <WebView> renders a <View> with a <NativeWebView> child, which itself has scrolling behaviour (which incidentally will differ between macOS and iOS because the iOS WKWebView has a UIScrollView, yet the macOS WKWebView doesn't contain a scrollView at all). There are valid reasons for a user or library (e.g. Animated/Reanimated) to require a ref to any of these various components.
Fabric's approach is to ref-forward to the native component, then adorn it with public APIs from the class component that wraps it.

I began work on a branch to change the way refs are managed in this library to make this Animated support compatible with Fabric. However, I found that a rather large refactor was entailed, so I've decided to separate the PR from immediate Animated support and open the issue of Fabric support in general for proper discussion.
shirakaba/animated-support-fabric is the branch. Note that the aspect of Animated support only constitutes three lines of code: the getScrollableNode aspect. The rest is all related to Fabric. Note also that I've only touched the iOS implementation so far in this!
Note that this work is untested and may be missing some aspects; it's merely my best understanding of how to implement the suggestions by @TheSavior. Hopefully it can illustrate the idea in mind.
I guess a starting point is to ask @TheSavior whether this implementation essentially looks correct for iOS?
Questions for the maintainers would be what they think about this ref-forwarding and adorning process and whether it means any breaking changes in the library and ecosystem around it.

FWIW, this doesn't necessarily have anything to do with Fabric. We think these are just cleaner APIs even for React Native today. Fabric's removal of findNodeHandle doesn't require these changes, it just makes the cleaner API even nicer.
It's also worth noting that doing this isn't the only thing required to support Fabric. There will be documentation for the native changes required as it gets closer.
The comment about getScrollableNode being removed in a future release isn't really related to Fabric either. That call in Animated only exists as an implementation detail to work with ScrollView. Defining that method in WebView in order to get the same behavior is essentially like depending on internals. Once we change ScrollView to have the cleaner APIs and not need getScrollableNode, we will no longer need that check in createAnimatedComponent, at which point things would break here.
All that said, yep, your changes to iOS look good to me. I'm not sure how this pattern should get typed in TypeScript but I imagine Microsoft and the TypeScript team will need to work on figuring it out as 0.62 rolls out. In fact that issue is being tracked here: https://github.com/facebook/react-native/issues/27997

Hey @shirakaba @TheSavior , please let me know if there is any working version of react-native-webview that will support react native new architecture with fabric. I have to migrate my application to new architecture with fabric enabled so it's a must for me before proceeding further. Thanks in advance.

I'm with @kartikmittal1996. I've just changed my whole application to Fabric, and react-native-webview would play a key role in this new version. I wish I had the knowledge to help you out, but if there is anything that is within my reach, feel free to ask.
I know @Titozzz has worked in this also. More details here: https://github.com/react-native-webview/react-native-webview/pull/2686


Debugger fails when using "externalTerminal" option on Linux.

Environment data
dotnet --info output:
 Version:   2.1.403
 Commit:    04e15494b6

Runtime Environment:
 OS Name:     arch
 OS Version:
 OS Platform: Linux
 RID:         arch-x64
 Base Path:   /opt/dotnet/sdk/2.1.403/

Host (useful for support):
  Version: 2.1.5
  Commit:  290303f510

.NET Core SDKs installed:
  2.1.403 [/opt/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.5 [/opt/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.5 [/opt/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.5 [/opt/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

VS Code version: 1.28.2
C# Extension version: 1.17.0
Steps to reproduce
Create new Hello World console application using command:
dotnet new console

then change the console option to "externalTerminal" and build/Run the application.
Expected  behavior
Print "Hello World!" in an external terminal.
Actual behavior
External terminal shows up, program looks like it hangs while debugging and nothing prints. Exit out of the external terminal and VSCode prompts you with an alert box saying open launch.json.

Update 1.17.0 Fixed the integrated terminal failure where it was throwing a free() pointer error. But external terminal still doesn't work correctly.

@jchand99 A few questions --

Does it work correctly (in 1.17) for you with "console": "integratedTerminal"?
With externalTerminal: Can you hit a breakpoint at the start of main? If you look at a process listing, can you tell (based on parent/child relationships) which processes are active in the spawned external terminal?

Yes, "console": "integratedTerminal" works the output is this:

 /home/kas/.vscode/extensions/ms-vscode.csharp-1.17.0/.debugger/vsdbg --interpreter=vscode --connection=/tmp/CoreFxPipe_vsdbg-ui-0489572a8080411aae0fc473fc74f2a4
Hello World!

It won't hit a breakpoint anywhere in a standard HelloWorld console application with "console": "externalTerminal" set.


Unable to load asset (The asset does not exist or has empty data)

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

Added exiv2 assets for Mac to pubspec.yaml
try rootBundle.load assets

Expected results
Exiv2 files for Mac should be copied to a temporary folder.
Actual results
I need to copy the exiv2 executable files from the assets of the program to a temporary folder. exiv2 has different files for each platform. There were no problems copying files for Windows, but I can’t copy files for Mac, I get the error “FlutterError (Unable to load asset: “assets/exiv2-mac/exiv2”. The asset does not exist or has empty data.) ". I tried to copy them not only on the Mac, but also on the Windows system, and all to no avail. I tried to set the file permissions to 755, but apparently this is not the case. What could be the problem?
error:
FlutterError (Unable to load asset: "assets/exiv2-mac/exiv2".
The asset does not exist or has empty data.)
in:
final assetList = await rootBundle.load(convertedFile.path);
Code sample
Code sample
const List<String> exiv2WinFiles = [
  "assets/exiv2-windows/bin/exiv2.exe",
  "assets/exiv2-windows/bin/addmoddel.exe",
  "assets/exiv2-windows/bin/exifcomment.exe",
  "assets/exiv2-windows/bin/exifdata.exe",
  "assets/exiv2-windows/bin/exifprint.exe",
  "assets/exiv2-windows/bin/exifvalue.exe",
  "assets/exiv2-windows/bin/exiv2.dll",
  "assets/exiv2-windows/bin/geotag.exe",
  "assets/exiv2-windows/bin/iptceasy.exe",
  "assets/exiv2-windows/bin/iptcprint.exe",
  "assets/exiv2-windows/bin/metacopy.exe",
  "assets/exiv2-windows/bin/mrwthumb.exe",
  "assets/exiv2-windows/bin/taglist.exe",
  "assets/exiv2-windows/bin/xmpdump.exe",
  "assets/exiv2-windows/bin/xmpparse.exe",
  "assets/exiv2-windows/bin/xmpprint.exe",
  "assets/exiv2-windows/bin/xmpsample.exe",
];

const List<String> exiv2MacFiles = [
  "assets/exiv2-mac/exiv2",
  "assets/exiv2-mac/libbrotlicommon.1.1.0.dylib",
  "assets/exiv2-mac/libbrotlicommon.1.dylib",
  "assets/exiv2-mac/libexiv<IP_ADDRESS>.dylib",
  "assets/exiv2-mac/libexiv2.28.dylib",
  "assets/exiv2-mac/libexiv2.dylib",
  "assets/exiv2-mac/libinih.0.dylib",
  "assets/exiv2-mac/libintl.8.dylib",
];

const List<String> exiv2LinuxFiles = [
  "assets/exiv2-linux/exiv2",
];

class Assets {
  static String getExiv2folder({returnWithExecutable}) {
    String os = Variables.currentPlatform;
    String directoryName = '';

    if (os == 'windows') {
      directoryName = 'exiv2-windows/bin';
      if (returnWithExecutable) {
        directoryName = '$directoryName/exiv2.exe';
      }
    } else if (os == 'mac') {
      directoryName = 'exiv2-mac/bin';
      if (returnWithExecutable) {
        directoryName = '$directoryName/exiv2';
      }
    } else if (os == 'linux') {
      directoryName = 'exiv2-linux/bin';
      if (returnWithExecutable) {
        directoryName = '$directoryName/exiv2';
      }
    }

    return directoryName;
  }

  static List<String> exiv2Assets() {
    String os = Variables.currentPlatform;
    List<String> directoryName = [];

    if (os == 'windows') {
      directoryName = exiv2WinFiles;
    } else if (os == 'mac') {
      directoryName = exiv2MacFiles;
    } else if (os == 'linux') {
      directoryName = exiv2LinuxFiles;
    }

    return directoryName;
  }

  static Future<void> copyAssets() async {
    String temporaryDir = (await getApplicationSupportDirectory()).path;
    String exiv2Path = getExiv2folder(returnWithExecutable: false);

    // path to exiv2 folder in app's assets
    String directoryPath = 'assets/$exiv2Path/';

    final targetDirectory = Directory('$temporaryDir/$exiv2Path');

    // check if folder where exiv2 files will be copied is created
    if (!targetDirectory.existsSync()) {
      await targetDirectory.create(recursive: true);
    }

    List<String> exiv2AssetsFiles = exiv2Assets();
    // get list of files in right exiv2 folder
    //final files = Directory(directoryPath).listSync().toList();
    for (final file in exiv2AssetsFiles) {
      File convertedFile = File(file);
      final assetList = await rootBundle.load(convertedFile.path);
      final ByteData data = assetList.buffer.asByteData();

      // coping exiv2 files in application folder
      if (convertedFile.existsSync()) {
        final assetData =
            data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);
        final targetFilePath = path.join(
            targetDirectory.path, convertedFile.uri.pathSegments.last);
        final targetFile = File(targetFilePath);

        if (!targetFile.existsSync()) {
          print('22');
          await targetFile.writeAsBytes(assetData, flush: true);
        }
      }
    }
  }
}

Screenshots or Video

Screenshots / Video demonstration

(left console shows exiv2 files for windows, right one shows files for macOS)

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
artem@Artems-MacBook-Pro flutter_app % flutter doctor -v
[✓] Flutter (Channel stable, 3.13.9, on macOS 14.1 23B74 darwin-x64, locale en-GB)
    • Flutter version 3.13.9 on channel stable at /Users/Shared/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d211f42860 (5 days ago), 2023-10-25 13:42:25 -0700
    • Engine revision 0545f8705d
    • Dart version 3.1.5
    • DevTools version 2.25.0

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      flutter config --android-sdk to update to that location.

[!] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    ✗ Unable to get list of installed Simulator runtimes.
    • CocoaPods version 1.14.2

[✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).

[✓] VS Code (version 1.83.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.74.0

[✓] Connected device (1 available)
    • macOS (desktop) • macos • darwin-x64 • macOS 14.1 23B74 darwin-x64

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 4 categories.

pubspec.yaml
name: aqua
description: A new Flutter project.

publish_to: 'none' # Remove this line if you wish to publish to pub.dev

version: 0.1.1

environment:
  sdk: '>=3.0.0 <4.0.0'

dependencies:
  flutter:
    sdk: flutter

  english_words: ^4.0.0
  file_picker: ^6.0.0
  flutter_map: ^6.0.1
  animations: ^2.0.8
  http: ^1.1.0
  fraction: ^5.0.2
  gpx: ^2.2.1
  path: ^1.8.3
  latlong2: ^0.9.0
  flutter_riverpod: ^2.4.4
  material_symbols_icons: ^4.2671.0
  intl: ^0.18.1
  shared_preferences: ^2.2.2
  observe_internet_connectivity: ^1.0.2
  window_manager: ^0.3.7
  flutter_map_tile_caching: ^9.0.0-dev.5
  flutter_map_animations: ^0.5.3
  flutter_map_cache: ^1.3.1
  flutter_map_cancellable_tile_provider: ^1.0.0
  flutter_animate: ^4.2.0+1
  hovering: ^1.0.4
  photo_view: ^0.14.0
  url_launcher: ^6.1.14
  dio_cache_interceptor: ^3.4.4
  dio_cache_interceptor_file_store: ^1.2.2
  sentry_flutter: ^7.11.0
  path_provider: ^2.1.1

dev_dependencies:
  flutter_test:
    sdk: flutter

  flutter_lints: ^3.0.0

flutter:
  uses-material-design: true

  assets:
   - assets/img/
   - assets/exiv2-linux/bin/

   - assets/exiv2-windows/bin/
   - assets/exiv2-mac/bin/

I'm not sure for now, but I think I solve this problem


It does monitored
Mar 23 23:16:45 bencher-node-1 bencher[8696]: time="2021-03-23T23:16:45Z" level=error msg="failed to run go mod tidy" error="exit status 1:\ngo<EMAIL_ADDRESS>(replaced by ../../orijtech/oragent): reading ../oragent/go.mod: open /home/cuong/go/src/github.com/orijtech/oragent/go.mod: no such file or directory\n"
Mar 23 23:16:45 bencher-node-1 bencher[8696]: time="2021-03-23T23:16:45Z" level=info msg="Done benchmark" req_id=a416275405fd4f34a70a8c6b9a40d3a3 spend_time=19.745693919s

Yeah, I filed https://github.com/orijtech/bencher/issues/102 to track this and am now working on a PR.

Benchmark finished. See the result: https://github.orijtech.com/benchmark/result?id=171a5cfb1ea743daa88079ea2c94d5d2

@odeke-em seems works :)

Yup and it saves the error which is straightforward for customers now. Next let's trigger a build on a branch that doesn't have build errors and then see how long and what it yields for results.


use ring 0.9 to reduce build dependencies.

ring 0.9 no longer requires GNU Make, Perl, MSBuild, or a C++
compiler. Building ring 0.9 on Windows, in particular, is much
easier. This in turn makes it easier to build this crate.

I updated the PR to use ring 0.9 instead. It turns out ring 0.8 was not long for this world! :)

Nice, thanks :)

Awesome! Are you planning to publish a new release on crates.io soon? (I'm trying to get as many crates to update to 0.9 as possible so that they can be (safely) used together in the same project as other ring-using things.)

@briansmith Done :) https://crates.io/crates/merkle

Awesome! Thanks!


Speed improvements to Garnet map_peaks_to_genes.py script

Added a Balanced Binary Search tree data structure to make searching for genes within peaks easier.

Hey @agitter, @Mkebede is an undergrad in our lab so I've been working with her to make these improvements. We have tested them to make sure they produce the same results on our example data and some of my own data, but I would love to have a more established way to test changes to Garnet code, especially since she's planning to make more improvements in the coming months as well. @sgosline can you think of anything specific we should watch out for when designing tests, or do you think running it on example data (a549?) is sufficient?
By the way, here is my data on the speed improvements of this version for posterity. On our example a549 data, running on our lab cluster, the current version took 1h:12m:31s, while this version took 34m:52s. On my own data, the current version took 2m:2.6s, while this version took 18s.

@AmandaKedaigle thanks for the context.  I first though this was a contribution from a benevolent stranger so I was treating it with gratitude and caution.  No need to be so cautious now.
This might still be a good time to add our first formal Garnet test case.  I have enough experience with the Forest testing that I can volunteer to write the test code.  I would just need the python map_peaks_to_known_genes.py ... command to use and the reference output that we want to test against.
The complication is that I believe Travis CI has a time limit for the test cases, and the a549 Garnet run would exceed that limit.  Are there other public datasets in the lab that we could use for a quick test case?  Or can we truncate the a549 data?

That would be great, @agitter. I would recommend running through garnet.py, not just map_peaks_to_genes, if possible? Future improvements will be in other scripts that are called from garnet.py.
I just checked out the other example files we provide with OmicsI, and it looks like all of them with garnet files have an even larger genomic region bed files than a549 (the biggest time determinant). There are certainly plenty of new example datas we could add, but maybe truncating the a549 genomic regions file is the way to go for simplicity.
For comparison, wgEncodeUWDukeDnaseA549.fdr01peaks.hg19.bed in the a549 folder has over 170,000 genomic regions to scan, while my own data that took 18sec to process had about 5,000.

I can just as easily run through all of garnet.py and compare all of the intermediate output files produced along the way.  I initially suggested just one step because it would be easier to squeeze in the Travis CI time limit.
Should we use a ChIP-seq peak bed file for the test case?  That should have far fewer genomic regions and would also serve as a positive control.  If we don't get back that TF as the highest scoring TF from Garnet, we're in trouble.

Sounds like a good idea to me! To try it, I ran both new and old versions with file ENCFF000MZR from here: https://www.encodeproject.org/experiments/ENCSR000BPX/ with the same a549 expression data that's already in the example file. I picked FOXA1 because of this paper: http://bmcgenomics.biomedcentral.com/articles/10.1186/1471-2164-14-680 and it has a small number of peaks. FOXA1 is not the highest scoring, but it's pretty far up there, and both full versions of Garnet took under 2 minutes to run.

That's perfect.  It looks like the peak file isn't very large in terms of disk space, which is also good news.
Let's use the new test-garnet branch I made (3bbb94e4588ef0d546efd1d0bec2f4c1fe51cb5d) to formally establish this test case and then merge this pull request (after figuring out the third party license acknowledgement).  In test-garnet can you please:

Add the FOXA1 ChIP-seq bed and fasta.gz files to example/a549
Add the Garnet config file you used to example/a549
Add all of the Garnet output files to tests/integration_test_standard.  I could also run them myself given the input data and config file, but if you add them it will be a good test that I recover the same results on different hardware.  That was a problem with Forest.

Once I have the input and reference output files, I'll write the test code.

Great, should be posted!

That looks great.  I should be able to write the test case this week.

The Garnet integration test is ready, but it does not pass.  I have ideas for how to fix the two problems I described in b2ddb36ccde69d2d473bdf45f80fbc8784bcd6fb though.

Hi @Mkebede and @AmandaKedaigle, should we finish off this pull request?  I think the only minor changes we need are the copyright and license notifications I listed here https://github.com/fraenkel-lab/OmicsIntegrator/pull/24#discussion_r91755532

Hi @agitter and @AmandaKedaigle , I think I have committed all of the changes. Sorry for the delay and thank you for your patience.
Happy New Year Everyone!

@Mkebede Thanks, I'll check this out today or tomorrow and merge the pull request.

Hi @Mkebede I reviewed the changes.  Thanks for adding the license notices.  Can you please convert LICENSE-3RD-PARTY.pages to a plain text .txt or markdown .md file?  It can be annoying to open .pages in Windows and GitHub can't preview it.
Also, the new Garnet test case failed.  Details here indicate that events_to_genes.xls is different than it was before the AVL tree update.  The /tests/integration_test_standard contains the reference version of events_to_genes.xls that you can use to assess what changed.  We may need to relax the test case and not require a perfect file match, depending on what the differences are.

@agitter I recently got a Mac and am still getting used to the file formats, but I think I have successfully changed it to a .txt file now. Thanks for the catch.
As for the Garnet test case I think there was a problem with duplications in the original file. Essentially because the original method to find genes within peak regions went through each peak and mapped it to the genes within its range, it was able to map multiple peaks to the same gene. However, since we ultimately only cared about the genes - and not about the peaks they mapped to - I removed the duplicates in the modified map_peaks_to_genes.py file. I had written a python script that made a set of all of the genes that were found in the original approach - saved as an excel file on my pc - and the genes from the new approach - also saved on my pc. Then I compared the two sets using the built in difference() function for two sets and found that they were the same.
I could be wrong in assuming that we could use sets of just the geneIDs to compare the outputs, but otherwise I think it should work. I don't have much experience with the GitHub testing platform, so if you could point me to resources on how to navigate through the errors that are being produced then I can look into it further.

Hi @Mkebede thanks for changing the file format.  Can you please commit the new .txt version when you have a chance?
I am not very familiar with this part of the code, if you and @AmandaKedaigle agree that the old version of events_to_genes.xls contained duplicate information, then we should switch the reference version of that file with this pull request.  That way, future commits will run the test case against that new version and confirm we still get the expected output.
To overwrite the reference version, you can please run Garnet on your local machine using example/a549/tgfb_foxa1_garnet.cfg as the input.  Then take the version of events_to_genes.xls that is output and use it to overwrite /tests/integration_test_standard/events_to_genes.xls.  Commit that updated file in this branch.  That's all that's needed to update the test case.  Then when you commit again, Travis CI will automatically confirm that it generates a version of  events_to_genes.xls that exactly matches yours.
@AmandaKedaigle do you know if this change to  events_to_genes.xls affects our documentation anywhere?  If so, we should update that as well.

Hmm, @Mkebede I just ran some checks, and it actually looks like your new script is the one that creates some duplicates, rather than the older version. However, since the duplicated lines won't affect the function of Garnet, I think this is fine. We can trade the speed upgrade for some duplicated lines in events_to_genes.xls (Another member of our lab is working an even more sweeping update of Garnet, including this script, so I think our time is better spent there rather than chasing this down). I just updated the version of that file in the test directory so that tests will pass, and I don't believe there needs to be any documentation upgrades. It looks like she did commit the .txt file already, so unless there's any more objections, @agitter or @Mkebede, I'll merge this PR tomorrow?

@AmandaKedaigle Sounds good to me, thanks for checking the differences in the output files.  If you commit the new version of events_to_genes.xls in this branch then Travis CI will run the tests and confirm they pass before we merge.  If you're confident it will pass, then it isn't a big deal.
Either way I agree we're ready to merge if you have the updated events_to_genes.xls file.

Thanks so much @agitter and @Mkebede! So glad to get this upgrade and test case in 👍
The tests are passing, but the main page still has a "build failing" label on it. Maybe it will change after some update time has passed, but if not, do you know how to fix it?

Awesome!  Thank you both for the new features and updated test case.
The build icon must have been a caching problem.  It shows build passing when I checked now and the test log shows that both integration tests (Forest and Garnet) are being run in test_integration.py.

I updated HISTORY.rst with these changes.  Should we release Omics Integrator version 0.3.1?  This pull requested added a fairly major new feature.

Sounds like a good idea to me!

The last release I attempted had some errors related to end of line characters, but I'll try again if no one else gets to it first.  It may take me a while.

I compressed and updated the files in dist, and referenced 0.3.1 in README and HISTORY, let me know if there is anything we need to do to update versions

Thanks @AmandaKedaigle.  I wasn't able to pull the changes locally due to our LFS issues but everything looks perfect on GitHub.  I made a new tag and release.
Could you please also update the 0.2.0 reference and 0.3.0 link on the lab page http://fraenkel-nsf.csbi.mit.edu/omicsintegrator/ ?
Oddly, our tests failed when you updated the docs.  It looks like a problem with Travis CI, not our code, so I'm going to ignore it.

Sounds good, website updated. Thanks!


Barbell emoji

Either a barbell, a ⚖ scale weight or an anvil symbolizes heavy in opposition to a light feather #149. A barbell or dumbbell also indicates strength or strength required, like the flexed biceps emoji 💪 which it may be combined with. It also stands for weightlifting 🏋.
Standard References

Unicode Technical Standard 51 “Unicode Emoji” (beta)
How to propose emojis to Unicode
How to propose other additions or changes to Unicode (required form, email address: docsubmit＠unicode.org)
Unicode document submission form

Font Awesome has a Dumbbell pictograph.


Cluster fails to come up fully using multi node pool configuration and weave cni

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):
In AWS this has been 100% reproducible with the following steps:
kubelet.log
10-weave.conflist.txt

From the Global view click "Add Cluster"
Name the cluster
Under "Node Pools" enter a name prefix and select a template. Check the "etcd" and "control plane" boxes. Leave "worker" unchecked.
Create a second node pool
Enter a name prefix and select a template. Check only the "worker" checkbox.
Under "Network Provider" select weave
Click the "Create" button

I have not tried in other cloud providers.
Result:
Weave appears to come up ok but other components fail to come up. Under the kube-system namespace these include:

metrics-server
core-dns-autoscaler
core-dns

In addition, the cattle-system cluster-agent and the ingress-nginx default-http-backend do not come up properly.
Other details that may be helpful:
The same steps using the default CNI (canal) works as expected.
Using weave cni but creating just one node pool with all roles works as expected
Using weave cni with one node pool with all roles and later adding workers works as expected
kubectl get pods --all-namespaces
NAMESPACE       NAME                                      READY   STATUS              RESTARTS   AGE
cattle-system   cattle-cluster-agent-6c9949d654-wpr6b     0/1     CrashLoopBackOff    11         38m
cattle-system   cattle-node-agent-92s7q                   1/1     Running             0          38m
cattle-system   cattle-node-agent-g58bs                   1/1     Running             0          26m
cattle-system   cattle-node-agent-hl9wh                   1/1     Running             0          31m
cattle-system   cattle-node-agent-m69rw                   1/1     Running             0          38m
cattle-system   kube-api-auth-jrk8x                       1/1     Running             0          38m
ingress-nginx   default-http-backend-5954bd5d8c-lxws5     0/1     ContainerCreating   0          39m
ingress-nginx   nginx-ingress-controller-jjjrw            1/1     Running             0          31m
ingress-nginx   nginx-ingress-controller-wzj97            1/1     Running             0          38m
ingress-nginx   nginx-ingress-controller-x59mt            1/1     Running             0          26m
kube-system     coredns-autoscaler-5d5d49b8ff-59nx6       0/1     ContainerCreating   0          39m
kube-system     coredns-bdffbc666-7cf89                   0/1     ContainerCreating   0          39m
kube-system     metrics-server-7f6bd4c888-j78zm           0/1     ContainerCreating   0          39m
kube-system     rke-coredns-addon-deploy-job-l8p5f        0/1     Completed           0          39m
kube-system     rke-ingress-controller-deploy-job-zbzl4   0/1     Completed           0          39m
kube-system     rke-metrics-addon-deploy-job-gfmcj        0/1     Completed           0          39m
kube-system     rke-network-plugin-deploy-job-bm4vl       0/1     Completed           0          39m
kube-system     weave-net-mj2nc                           3/3     Running             0          26m
kube-system     weave-net-nldfc                           3/3     Running             0          39m
kube-system     weave-net-qr2zv                           3/3     Running             0          38m
kube-system     weave-net-s425m                           3/3     Running             0          31m

kubectl describe pod coredns-bdffbc666-7cf89
Name:               coredns-bdffbc666-7cf89
Namespace:          kube-system
Priority:<PHONE_NUMBER>
PriorityClassName:  system-cluster-critical
Node:               mak3r-demo-weave-wrkr1/<IP_ADDRESS>
Start Time:         Thu, 29 Aug 2019 14:44:48 -0400
Labels:             k8s-app=kube-dns
                    pod-template-hash=bdffbc666
Annotations:        seccomp.security.alpha.kubernetes.io/pod: docker/default
Status:             Pending
IP:
Controlled By:      ReplicaSet/coredns-bdffbc666
Containers:
  coredns:
    Container ID:
    Image:         rancher/coredns-coredns:1.3.1
    Image ID:
    Ports:         53/UDP, 53/TCP, 9153/TCP
    Host Ports:    0/UDP, 0/TCP, 0/TCP
    Args:
      -conf
      /etc/coredns/Corefile
    State:          Waiting
      Reason:       ContainerCreating
    Ready:          False
    Restart Count:  0
    Limits:
      memory:  170Mi
    Requests:
      cpu:        100m
      memory:     70Mi
    Liveness:     http-get http://:8080/health delay=60s timeout=5s period=10s #success=1 #failure=5
    Readiness:    http-get http://:8080/health delay=0s timeout=1s period=10s #success=1 #failure=3
    Environment:  <none>
    Mounts:
      /etc/coredns from config-volume (ro)
      /var/run/secrets/kubernetes.io/serviceaccount from coredns-token-5d2sm (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  config-volume:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      coredns
    Optional:  false
  coredns-token-5d2sm:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  coredns-token-5d2sm
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  beta.kubernetes.io/os=linux
Tolerations:     CriticalAddonsOnly
                 node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason                  Age                    From                             Message
  ----     ------                  ----                   ----                             -------
  Warning  FailedScheduling        11m (x5 over 11m)      default-scheduler                0/1 nodes are available: 1 node(s) had taints that the pod didn't tolerate.
  Warning  FailedScheduling        10m (x5 over 10m)      default-scheduler                0/2 nodes are available: 2 node(s) had taints that the pod didn't tolerate.
  Normal   Scheduled               10m                    default-scheduler                Successfully assigned kube-system/coredns-bdffbc666-7cf89 to mak3r-demo-weave-wrkr1
  Warning  FailedCreatePodSandBox  2m34s (x2 over 6m35s)  kubelet, mak3r-demo-weave-wrkr1  Failed create pod sandbox: rpc error: code = DeadlineExceeded desc = context deadline exceeded
  Normal   SandboxChanged          2m34s (x2 over 6m35s)  kubelet, mak3r-demo-weave-wrkr1  Pod sandbox changed, it will be killed and re-created.

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): v2.2.8
Installation option (single install/HA): HA

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): Hosted, Custom (when there is a separate master)
Machine type (cloud/VM/metal) and specifications (CPU/memory): AWS T2.large (2vCPU/8GB)
Kubernetes version (use kubectl version):

Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.6", GitCommit:"96fac5cd13a5dc064f7d9f4f23030a6aeface6cc", GitTreeState:"clean", BuildDate:"2019-08-19T11:05:16Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}

Docker version (use docker version):

Client: Docker Engine - Community
 Version:           19.03.1
 API version:       1.39 (downgraded from 1.40)
 Go version:        go1.12.5
 Git commit:        74b1e89e8a
 Built:             Thu Jul 25 21:21:35 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.8
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       0dd43dd
  Built:            Wed Jul 17 17:07:25 2019
  OS/Arch:          linux/amd64
  Experimental:     false

I am also having this issue and cant use weave. has anyone from rancher seen this?

solved my issue, Rancher does not add the weave ports to its default security group. I had to add them myself as listed here. https://rancher.com/docs/rancher/v2.x/en/faq/networking/cni-providers/#weave


\tilde{M} not rendered correctly

It seems like \tilde{M} is not getting rendered correctly.
See the minimal reproducible example repo: https://github.com/YouSafe/mdbook-katex-tilde-reprod
See rendered page: https://yousafe.github.io/mdbook-katex-tilde-reprod/

Thank you very much for your bug report. I can indeed reproduce the issue with both HTML and MathML enabled:
[preprocessor.katex]
output = "htmlAndMathml"

I tried disabling either of them (by using html or mathml), and it seems to work fine.
If you just want to display formulae, those are some options to make it work for now.

We simply feed the output option to katex-rs, so this seems to be an upstream issue. Could you please open an issue upstream and link it here?

Thanks a lot!
Steven Hé (Sīchàng)

It doesn't seem to be a katex-rs issue as the produced output for $\tilde{M}$ is
<math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>M</mi><mo>~</mo></mover></mrow><annotation encoding="application/x-tex">\tilde{M}</annotation></semantics></math>M~

which seems correct
only after mdbook process the output, the html turns into
<math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>M</mi><mo></mo></mover></mrow><annotation encoding="application/x-tex">\tilde{M}</annotation></semantics></math>M

notice how ~ is magically turned into
So now I'm guessing that it's a mdbook issue and not katex-rs but not sure what could cause this

Oh, it thinks it is markdown! Because ~ is used to strikethrough text and therefore ~ gets replaced with ,  (see https://github.github.com/gfm/#strikethrough-extension)
Now we need to come up with a fix for this issue. Ideally we would want to stop the markdown parser to parse katex-rs output.


Associate an action to the enter key in an input field

What would that feature address
Allow to press enter in an input control would fire the action associated to a button present on the page
Description of the ideal solution
add a property enter_id (escape_id ?) to input control
<|{value}|input|enter_id=but_id|escape_id=esc_id|>
<|Validate|button|on_action=validate_action|id=but_id|>
<|Cancel|button|on_action=cancel_action|id=esc_id|>

Acceptance Criteria

[ ] Ensure new code is unit tested, and check code coverage is at least 90%
[ ] Propagate any change on the demos and run all of them to ensure there is no breaking change
[ ] Ensure any change is well documented

Another way of dealing with special keys that would be more opened would be:

add an on_action property to input
add a action_keys property list of authorized keys

default to Enter
supported keys: Enter, Escape, F1..F12

on action receives in payload.args [key, var_name, value]


⚠ Bofrost.lu has degraded performance

In 89de6f0, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2835 ms

Resolved: Bofrost.lu performance has improved in 6dea51b after 6 minutes.


Ligand Naming Issue in Chai-1 Predictions on Web Server

Hi Chai team,
I encountered an issue when predicting protein-ligand structures using the Chai-1 web server. It appears that all ligands in the predicted structures are renamed to “LIG”, which prevents distinguishing between multiple ligands during evaluation.
Is there a solution to resolve this? Ideally, would it be possible for the predicted ligand names to correspond to their respective CCD?
Thanks for your assistance!

They have a different chain which you can differentiate with. It chooses the chain based on the order submit it on the website. You can differentiate based on Chain instead of ligand name.


codegen: v1 GA release

Do not merge

[x] Tests and linter pass
[x] Code coverage does not decrease (if any source code was changed)
[x] Appropriate docs were updated (if necessary)

Codecov Report

Merging #29 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #29   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines           4      5    +1
=====================================
+ Hits            4      5    +1

Impacted Files
Coverage Δ

src/index.js
100% <100%> (ø)
:arrow_up:

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 af5c79d...d7cb02d. Read the comment docs.

@kinwa91 we ready to merge here?

I was asked not to release this yet, will merge once that changes.


(fix) don't lazy load file manager since it is used in every method call an…

…d seems to be a pretty lightweight object.
Summary

Crash came in where the obj send failed for OPTLYFileManager.  Since this class is lazy loaded, it may cause problems in a multi-threaded environment.  So, removed lazy loading.

The "why", or other context.
Test plan
No new tests written yet.
Issues
3823

Coverage increased (+68.3%) to 97.579% when pulling 97b54a8051813bee0d24188993259fc0a77c4645 on fixDataStoreAccess into b30a234b24e22f4ee47a88b476fb9a448bb73af0 on master.


create method from DNU in debugger doesn't update coder

If you use the create method action from a DNU in the debugger, it isn't updating the doesNotUnderstand: method with the created method. It should display the newly created method:


Warnings with latest pytest

With current master and latest pytest, I get warnings of this kind:
/Users/mathiasmuller/miniconda2/envs/py36/lib/python3.6/site-packages/_pytest/python.py:198:
RemovedInPytest4Warning: Fixture "mock_translator" called directly.
Fixtures are not meant to be called directly, are created automatically when test functions request them as parameters.
See https://docs.pytest.org/en/latest/fixture.html for more information.

It's a recent addition to pytest, for context:
https://github.com/pytest-dev/pytest/issues/3661
Perhaps the requirements should specify a slightly older version of pytest (I can open a PR for that), or we should add ignore statements in the code (if that is possible in this case, I have no idea)?
Pytest version:
$ pip freeze | grep pytest
pytest==3.8.1
pytest-cov==2.6.0

These style checkers get more and more annoying :)
We are already fixing a version of mypy because of similar issues. Please go ahead with a PR that locks pytest to a certain version.

Do we like fixing the version of pytest versus adding an ignore statement to the code?  Either way, the warning is ignored and we might want positive features of future versions of pytest.

good point. If its easy enough to add an ignore statement, lets prefer that. (In the case of mypy this was pretty hard so we opted for the version fixture.)

For some reason I read this whole issue as related to pylint...
I was able to reproduce the warnings and will take a look.

In #543 I just remove the fixture annotation and everything still passes.

well I guess the point of fixing to a certain version, at least for Travis, was to avoid the case where a version bump in a dependency could suddenly block our CI pipeline.  For a particular warning in this case it could be fine to add a ignore statement though.

Fixed by 3e554adc30c0495c5939f94ccdf940c11d9d6421, closing.


Calling getUser(jwt) with a client auth'd with a service role key, sets the jwt as the client's auth headers.

This is a slightly different issue, but related to auth having its own headers...
.getUser(jwt) if called while using service_role sets the authentication header in auth to the User JWT.
The supabase client header still stays service_role, but if you make further admin auth calls after doing a .getUser call they will be rejected with 401.
If this is desired behavior for getUser(jwt), then this should be documented as users are running into this server side.
This image is of auth's headers in the supabase "object".

Originally posted by @GaryAustin1 in https://github.com/supabase/gotrue-js/issues/524#issuecomment-1302818732
I was able to reproduce this. All of the non-auth headers remain the same, but the auth headers get changed to the passed-in jwt. I haven't been able to figure out why it's doing this though.
One workaround is to import a non-service-role supabase client to call getUser(jwt).

Until we get to looking at this, please create a new client each time you call an API on the backend.

Do we know until when this will be fixed(ETA)? By "create a new client  each time .." you mean
createClient(supabaseUrl, supabaseServiceRole); right?

It looks like https://github.com/supabase/gotrue-js/pull/541 also resolved this issue. @GaryAustin1 @hf and/or @kangmingtay can you double-check me?

Thx for feedback, at least for me the same issue is still there. Also with updating

Thx for feedback, at least for me the same issue is still there. Also with updating

Just to clarify, you installed gotrue-js 2.3.1?

I use: "@supabase/supabase-js": "^2.1.0"

@bobmolgui 2.1.0 has not changed yet to incorporate the new gotrue-js 2.3.1.
You would need to install the gotrue-js version separately or wait for a bump in supabase-js.

Closing as resolved, per #541


Add Check Mode support.

Two tasks failed when the role was run in Check Mode (with --check). The needed opt-out parameter check_mode is only available in Ansible 2.2, thus the min version bump.
This is an alternative for #102 and fixes #96.
Would be great if merged and released - what's your opinion?

@sebastianludwig - I like this idea, but can you use always_run: yes (for compatibility with 2.0+)? I know it pops a deprecation notice, but my policy across all my roles is not to use check_mode until 2.3 is in wide release (that day's coming soon... but it's not yet here).

@geerlingguy Sure! I just updated the PR.

This is in 2.7.2.


Upgrade RAM on machine

Originally posted by @simonw in https://github.com/natbat/pillarpointstewards/issues/75#issuecomment-1670099181
It's 256MB now, I'm going to upgrade to 1GB (from $1.94/mo to $5.70/mo)

Upgrade confirmed:
$ fly machines list -a pillarpointstewards
1 machines have been retrieved from app pillarpointstewards.
View them in the UI here (https://fly.io/apps/pillarpointstewards/machines/)

pillarpointstewards
ID            	NAME            	STATE  	REGION	IMAGE                                                    	IP ADDRESS                    	VOLUME	CREATED             	LAST UPDATED        	APP PLATFORM	PROCESS GROUP	SIZE
91857311c27068	proud-shape-6046	started	sjc   	pillarpointstewards:deployment-01GF451Z099QZ4YQS73FNWTYKY	fdaa:0:4ef:a7b:138:cc1f:767d:2	      	2023-06-06T19:48:05Z	2023-08-08T18:30:23Z	v2          	app          	shared-cpu-1x:1024MB

I successfully ran the command that failed due to lack of memory in #75.


Can't use LAG as Parent to Virtual Interface

Environment

Nautobot version (Docker tag too if applicable): 1.6.0
Python version: 3.9
Database platform, version: Postgres 14
Middleware(s):

Steps to Reproduce

Create LAG interface ae0
Create Virtual Interface ae0.0
While creating Virtual interface, try to select LAG Interface as Parent

Expected Behavior
I was hoping that the LAG interface would be in the list of valid parents, but that does not seem to be the case.

Observed Behavior
It appears that only physical interfaces can be selected as parents. Is this expected? Or am I modeling the the subinterface of a LAG incorrectly? In this case, the sub interface is an IP interface not a switched interface. So using the Bridge model doesn't seem appropriate.

Looks like the same issue as netbox-community/netbox#6106, which should be a very simple fix a la https://github.com/netbox-community/netbox/commit/81193eb55054763ede647b0eb27cf61632b5ba3d.

This would work. I guess this will also fix the case of lo.0 and lo where both of these are virtual. I was going to work around this by making lo's interface type to other.


Using IdMan within a owin project

Hello,
Is it possible to access to /admin with an admin user define within the application?
I already have an app and have admin users defined, I want just the users with admin privileges to access IdManager pages.
Is this possible? How can i get this done?
Thanks.

Yes. Either the OAuth2 authorization server needs to include the admin role in the token, or you can add the admin role the to user in the claims transformation callback. Unfortunately none of this is documented right now, but keep digging and as you have more questions feel free to post them.


Local Units: Design audit feedbacks

TODO

[x] Use the same filters while switching between map-view and list-view
[x] Place filters on the same level as list-view/map-view buttons
[x] Use GO primary color for the map legends
[x] Show the healthcare local units map legends only after selecting the Healthcare type from the filters
[ ] Open the edit Local Units modal when clicking on the local units title in the pop-up of map-view
[x] Add validate action on the list-view in a new column
[x] Remove validate button from the ... options
[x] Remove validate button from the list-view and ... options for the users with no rights
[ ] Place the fields in the Local Units forms to match the order in the prototype
[ ] Add Delete button and Validate button in the Local Units form pop-up
[x] Positioning of the list-view / map-view buttons

Open the edit Local Units modal when clicking on the local units title in the pop-up of map-view

Needs to be done

Add Delete button and Validate button in the Local Units form pop-up

The Figma contains the Delete and Validate button on the local units form pop-up

cc @frozenhelium @udaynwa


Exact info about what DrilldownPie does

I was wondering, what a DrilldownPie chart actually does different compared to a simple or AdvancedPie chart.
Like what is the main "gimmic" of it?
And what I wonder even more is, what the different values in the HashMap<String, HashMap<String, Integer>> are actually used for.
Like which value is used for what in the chart?
What is even more frustrating is the fact, that the Custom Charts section talking about this Pie uses "Operating System" in the visual chart, but Java version within the code-snippet, which makes it harder to understand, which values are shown where in the pie chart.

It's nice in order to generalise more specific information. For example, the Java version chart. It shows "Java 7", "Java 8", etc and when you click it (drill down) you can see the amount per specific version.
The first key is the more "general" term (So, like "Java 11") the second key is the more drilled down one so like "11_201" and then the value of course is just for the sum.
If you look at Slimefun we use it for different ticking rate:
Chart: https://bstats.org/plugin/bukkit/Slimefun/4574#tick_rate
Code: https://github.com/Slimefun/MetricsModule/blob/master/src/main/java/dev/walshy/sfmetrics/charts/TickRateChart.java
So we can see the general key like cargo, click it and see how common different tick rates are.

It's nice in order to generalise more specific information. For example, the Java version chart. It shows "Java 7", "Java 8", etc and when you click it (drill down) you can see the amount per specific version.
The first key is the more "general" term (So, like "Java 11") the second key is the more drilled down one so like "11_201" and then the value of course is just for the sum.
If you look at Slimefun we use it for different ticking rate:
Chart: https://bstats.org/plugin/bukkit/Slimefun/4574#tick_rate
Code: https://github.com/Slimefun/MetricsModule/blob/master/src/main/java/dev/walshy/sfmetrics/charts/TickRateChart.java
So we can see the general key like cargo, click it and see how common different tick rates are.

So when I understand this right would this here create a chart, which on BStats has the title "Spigot" and depicts either "yes" or "no" depending on the isSpigot() boolean, and when clicking on the chart would it then depict the actual brand/Name?
    metrics.addCustomChart(
        new Metrics.DrilldownPie("using_spigot", () -> {
          Map<String, Map<String, Integer>> map = new HashMap<>();
          Map<String, Integer> entry = new HashMap<>();
          entry.put(getServerVersion().getType().getName(), 1);

          if (getServerVersion().isSpigot()) {
            map.put("yes", entry);
          } else {
            map.put("no", entry);
          }

          return map;
        }));

So when I understand this right would this here create a chart, which on BStats has the title "Spigot" and depicts either "yes" or "no" depending on the isSpigot() boolean, and when clicking on the chart would it then depict the actual brand/Name?
    metrics.addCustomChart(
        new Metrics.DrilldownPie("using_spigot", () -> {
          Map<String, Map<String, Integer>> map = new HashMap<>();
          Map<String, Integer> entry = new HashMap<>();
          entry.put(getServerVersion().getType().getName(), 1);

          if (getServerVersion().isSpigot()) {
            map.put("yes", entry);
          } else {
            map.put("no", entry);
          }

          return map;
        }));

Also, does BStats allow to change the Chart-type through the plugin? E.g. I use SimplePie and now want to switch to the DrilldownPie, would BStats allow this by simply changing the type in the plugin, or would I need to alter this on BStats itself?

Also, does BStats allow to change the Chart-type through the plugin? E.g. I use SimplePie and now want to switch to the DrilldownPie, would BStats allow this by simply changing the type in the plugin, or would I need to alter this on BStats itself?

I'm sorry for not answering this issue. :/
The whole frontend is currently get a redesign + rewrite and I will take care to write a better explanation about drilldown charts with a correct example. :)


GetNetworkError

Issue description
the node reboot after the following error ,  ERROR: Command error (GetNetworkError): Unable to find enough nodes for /store/1.0.0. Minimum number of nodes required: 10
Expected behavior
Actual behavior
Steps to reproduce the problem

Specifications

Node version:v6.0.0-beta.2.2.4
Platform: ubuntu 22.04
Node wallet:0x754402ec3d53487b240c94e1991f3a5733dC5d77
Node libp2p identity:QmSr7mSfc9dP7ayd7nJWcxrnkroWgXg9Jcn9JJdHGSQVRR

Contact details

Email:

Error logs
[2022-09-10 06:27:51] DEBUG: Found 7 node(s) for keyword 0x3680ae8043dabf9f0e97964f1971cfff126d617d56fd5f45192fd96813ed68f1
[2022-09-10 06:27:51] ERROR: Command error (GetNetworkError): Unable to find enough nodes for /store/1.0.0. Minimum number of nodes required: 10
[2022-09-10 06:27:51] DEBUG: Marking operation id c9f336c1-11b7-47f9-9a64-e378c4d57933 as failed
[2022-09-10 06:27:51] DEBUG: Removing operation id: c9f336c1-11b7-47f9-9a64-e378c4d57933 cached data
[2022-09-10 06:27:51] DEBUG: Removing file on path: /root/ot-node/data/operation_id_cache/c9f336c1-11b7-47f9-9a64-e378c4d57933
[2022-09-10 06:27:51] TRACE: Sending message to undefined: event=/get/1.0.0, messageType=PROTOCOL_INIT, operationId: 1f0d2e2c-1861-43de-9f54-b5cda9cd1601, keywordUuid: 044eef4a-aaf8-5b2a-8e61-3f2c6cafddcb
[2022-09-10 06:27:51] TRACE: Dialing remotePeerId: undefined for protocol: /get/1.0.0
[2022-09-10 06:27:51] TRACE: Sending message to undefined: event=/get/1.0.0, messageType=PROTOCOL_INIT, operationId: 1f0d2e2c-1861-43de-9f54-b5cda9cd1601, keywordUuid: 044eef4a-aaf8-5b2a-8e61-3f2c6cafddcb
[2022-09-10 06:27:51] TRACE: Dialing remotePeerId: undefined for protocol: /get/1.0.0
[2022-09-10 06:27:51] TRACE: Sending message to undefined: event=/get/1.0.0, messageType=PROTOCOL_INIT, operationId: 1f0d2e2c-1861-43de-9f54-b5cda9cd1601, keywordUuid: 044eef4a-aaf8-5b2a-8e61-3f2c6cafddcb
[2022-09-10 06:27:51] TRACE: Dialing remotePeerId: undefined for protocol: /get/1.0.0
[2022-09-10 06:27:51] TRACE: Sending message to undefined: event=/get/1.0.0, messageType=PROTOCOL_INIT, operationId: 1f0d2e2c-1861-43de-9f54-b5cda9cd1601, keywordUuid: 044eef4a-aaf8-5b2a-8e61-3f2c6cafddcb
[2022-09-10 06:27:51] TRACE: Dialing remotePeerId: undefined for protocol: /get/1.0.0
otnode.service: Main process exited, code=exited, status=1/FAILURE
otnode.service: Failed with result 'exit-code'.
otnode.service: Consumed 13.398s CPU time.
otnode.service: Scheduled restart job, restart counter is at 36.
Stopped OriginTrail V6 Stage 1 Beta Node.
otnode.service: Consumed 13.398s CPU time.
Started OriginTrail V6 Stage 1 Beta Node.
[2022-09-10 06:27:51] USERLVL: level-change
[2022-09-10 06:27:51] WARN: ======================================================
[2022-09-10 06:27:51] WARN: Using node.js version: 16.17.0
[2022-09-10 06:27:51] WARN: ======================================================
[2022-09-10 06:27:51] INFO:  ██████╗ ████████╗███╗   ██╗ ██████╗ ██████╗ ███████╗
[2022-09-10 06:27:51] INFO: ██╔═══██╗╚══██╔══╝████╗  ██║██╔═══██╗██╔══██╗██╔════╝
[2022-09-10 06:27:51] INFO: ██║   ██║   ██║   ██╔██╗ ██║██║   ██║██║  ██║█████╗
[2022-09-10 06:27:51] INFO: ██║   ██║   ██║   ██║╚██╗██║██║   ██║██║  ██║██╔══╝
[2022-09-10 06:27:51] INFO: ╚██████╔╝   ██║   ██║ ╚████║╚██████╔╝██████╔╝███████╗
[2022-09-10 06:27:51] INFO:  ╚═════╝    ╚═╝   ╚═╝  ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝
[2022-09-10 06:27:51] INFO: ======================================================
[2022-09-10 06:27:51] INFO:              OriginTrail Node v6.0.0-beta.2.2.4
[2022-09-10 06:27:51] INFO: ======================================================
[2022-09-10 06:27:51] INFO: Node is running in testnet environment
[2022-09-10 06:27:52] INFO: Dependency injection module is initialized
[2022-09-10 06:27:52] INFO: Event emitter initialized
Disclaimer
Please be aware that the issue reported on a public repository allows everyone to see your node logs, node details, and contact details. If you have any sensitive information, feel free to share it by sending an email to<EMAIL_ADDRESS>

This issue is being closed as inactive due to the date of the last activity on it. If you believe this is still a problem, please create a new issue and confirm that it is reproducible in the current ot-node release version. We are working towards closing open issues that meet specific criteria and ask you to create a new one for those that that are truly bugs in current release. We'll be monitoring those issues so that they are properly managed.
Thank you,
OriginTrail Team