How do I specify a virtualenv for launching pyls and pyright?

Extended infos

nvim --version: NVIM v0.5.0-dev+975-ga58c5509d
nvim-lsp version(commit hash): 23a944c
:checkhealth result:

health#lspconfig#check
========================================================================
## Checking language server protocol configuration
  - INFO: pyls: configuration checked.
  - INFO: rust_analyzer: configuration checked.
  - INFO: texlab: configuration checked.

health#completion_nvim#check
========================================================================
## general
  - OK: neovim version is supported

## completion source
  - OK: all completion source are valid

## snippet source
  - INFO: You haven't setup any snippet source.

health#vimtex#check
========================================================================
## vimtex
  - OK: Vim version should have full support!
  - OK: General viewer should work properly!
  - WARNING: Compiler callbacks will not work!
    - ADVICE:
      - `neovim-remote` / `nvr` is required for callbacks to work with neovim
      - Please also set |g:vimtex_compiler_progname| = 'nvr'
      - For more info, see :help |vimtex-faq-neovim|

health#nvim#check
========================================================================
## Configuration
  - OK: no issues found

## Performance
  - OK: Build type: RelWithDebInfo

## Remote Plugins
  - OK: Up to date

## terminal
  - INFO: key_backspace (kbs) terminfo entry: key_backspace=^H
  - INFO: key_dc (kdch1) terminfo entry: key_dc=\E[3~
  - INFO: $VTE_VERSION='5602'
  - INFO: $COLORTERM='truecolor'

health#provider#check
========================================================================
## Clipboard (optional)
  - OK: Clipboard tool found: xclip

## Python 2 provider (optional)
  - WARNING: No Python executable found that can `import neovim`. Using the first available executable for diagnostics.
  - ERROR: Python provider error:
    - ADVICE:
      - provider/pythonx: Could not load Python 2:
          python2 not found in search path or not executable.
          python2.7 not found in search path or not executable.
          python2.6 not found in search path or not executable.
          /home/daniel/.cache/pypoetry/virtualenvs/craes-pyclient-KENhYm7S-py3.9/bin/python is Python 3.9 and cannot provide Python 2.
  - INFO: Executable: Not found

## Python 3 provider (optional)
  - INFO: Using: g:python3_host_prog = "/usr/bin/python"
  - INFO: Executable: /usr/bin/python
  - INFO: Python version: 3.9.1
  - INFO: pynvim version: 0.4.2
  - OK: Latest pynvim is installed.

## Python virtualenv
  - INFO: $VIRTUAL_ENV is set to: /home/daniel/.cache/pypoetry/virtualenvs/craes-pyclient-KENhYm7S-py3.9
  - INFO: Python version: 3.9.1
  - OK: $VIRTUAL_ENV provides :!python.

## Ruby provider (optional)
  - WARNING: `ruby` and `gem` must be in $PATH.
    - ADVICE:
      - Install Ruby and verify that `ruby` and `gem` commands work.

## Node.js provider (optional)
  - INFO: Node.js: v15.5.0
  - WARNING: Missing "neovim" npm (or yarn) package.
    - ADVICE:
      - Run in shell: npm install -g neovim
      - Run in shell (if you use yarn): yarn global add neovim

## Perl provider (optional)
  - ERROR: perl provider error:
    - ADVICE:
      - "Neovim::Ext" cpan module is not installed

What language server(If the problem is related to a specific language server): pyls
Operating system/version: Arch Linux 5.9.14-arch1-1
Terminal name/version: termite
$TERM: xterm-256color

How to reproduce the problem from neovim startup
Create an empty poetry project, add one arbitrary package, start nvim with a python file and import the package.
Actual behaviour
pyls does not recognize the package and shows error lints.
Expected behaviour
pyls should use the venv.

I'm using the package 'petobens/poet-v' to automatically manage my venv. Before I used 'w0rp/ale' to manage my lints and LSPs. However, pyls seems to be loaded from my 'main' environment here.
As seen above, neovim seems to correctly detect my venv and in my init.vim I load 'petobens/poet-v' at the very beginning. This was the trick for me to get the ale LSP to source the lsp from my venv instead of my main installation.
It seems like not with the lua config, this mechanic is broken. What can I do to resolve this?

Is pyls installed in your virtual environment? In my experience pyls only provides completions when installed into the virtualenv that contains said package. Can you reproduce with pyright?

Yes, I can reproduce the same:

pyls is installed in both the venv and in main. If I manually activate the shell before I launch neovim, the 'correct' pyls is called.
I see that the same happens with pyright.

Is there a way to debug to check which python venv is actuve when the lua setup function is called?

I believe the way it's working (or failing to work) is that neovim will launch the first pyls on your path, and probably whatever mechanism poet-v is using doesn't/can't override the search path that we're using when calling cmd. I haven't used poet-v, but I would recommend looking through their implementation to see what exactly they are updating. I can take a look at this, but it's going to be on the backburner for awhile.

That would be nice, I'm not sure how vim packages are loaded, poet-v seems to detect the necessary $VIRTUAL_ENV variable and sets that. However, I'm not sure when neovim executes this and whether that is loaded before or after executing the lua config. I know about nvim -V but I think I can't see the right order in there.

I think the primary issue is that poet-v should override the cmd we pass for the default_config to launch the language server. I don't know how willing they are to add upstream functionality specific to different language client implementations though

I see that in the pyls lsp one can pass an executable. That could be wrapped with a bash script. Is that possible for the other LSPs too?

I think the easier solution is to just set the local variables PYTHON_PATH, PATH, etc in the cmd

Ok. Here is the issue.

Make two virtualenvs:

python3 -m venv $HOME/.virtualenvs/test1
python3 -m venv $HOME/.virtualenvs/test2
source $HOME/.virtualenvs/test1/bin/activate
pip install pillow
source $HOME/.virtualenvs/test2/bin/activate
pip install requests

Make a file $HOME/test.sh with the following contents

VIRTUAL_ENV=$HOME/.virtualenvs/test1 $HOME/.virtualenvs/test1/bin/pyls

Make it executable chmod +x $HOME/test.sh
Configure pyls to use the test script

nvim_lsp.pyls.setup {
  cmd = {"$HOME/test.sh"};
  on_attach = on_attach;
}

Try changing between 1 and 2 for both VIRTUAL_ENV and test#/bin/pyls while doing completions on the following file

import requests
import PIL

def main() {
    requests.get()
    PIL.Image()
}

The only things that matters is the VIRTUAL_ENV prefix to launching pyls. You can't set this as cmd since we check for executables as the first argument. I would recommend you make a PR injecting environmental variables into the launch environment of cmd. Then the author of poet-v can add support if they choose.

This should already be supported
https://github.com/mjlbach/neovim/blob/eaee3d9297d114c81b05dd4ed104373eeb87bc11/runtime/lua/vim/lsp.lua#L334-L340

@mjlbach Is there any way to dynamically set that cmd_env in your example above based on the root dir resolved for the current file?  I have a monorepo with multiple python apps, each with their own virtualenv dir and often flip between them in the same nvim session.

@keitwb Can't speak for pyls, but for pyright you can do something like this:
local configs = require('lspconfig/configs')
local util = require('lspconfig/util')

local path = util.path

local function get_python_path(workspace)
  -- Use activated virtualenv.
  if vim.env.VIRTUAL_ENV then
    return path.join(vim.env.VIRTUAL_ENV, 'bin', 'python')
  end

  -- Find and use virtualenv in workspace directory.
  for _, pattern in ipairs({'*', '.*'}) do
    local match = vim.fn.glob(path.join(workspace, pattern, 'pyvenv.cfg'))
    if match ~= '' then
      return path.join(path.dirname(match), 'bin', 'python')
    end
  end

  -- Fallback to system Python.
  return exepath('python3') or exepath('python') or 'python'
end

lspconfig.pyright.setup({
  -- ...
  before_init = function(_, config)
    config.settings.python.pythonPath = get_python_path(config.root_dir)
  end
})

Then you can expand the get_python_path with support for Poetry or Pipenv if that's you cup of tea. Or whatever style your monorepo has.

Here is my version for pylsp, inspired by the one from lithammer, using the  lspconfig on_new_config hook, for conda + poetry setup:
local lspconfig = require("lspconfig")
local lspconfig_util = require('lspconfig/util')
local telescope_utils = require('telescope.utils')

local path = lspconfig_util.path
local get_os_command_output = telescope_utils.get_os_command_output

local function file_exists(name)
  local f = io.open(name, 'r')
  if f ~= nil then
    io.close(f)
    return true
  else
    return false
  end
end

local function get_python_path(workspace)
  -- https://github.com/neovim/nvim-lspconfig/issues/500#issuecomment-851247107

  -- If is poetry project, find the associated venv and use it
  -- TODO: find a faster way to do so, as it takes:
  --       ~ 0.3 seconds for conda run -n base
  --       ~ 0.3 seconds for poetry run which python
  if file_exists(path.join(workspace, 'poetry.lock')) then
    -- Make sure to not mess up with potential activated conda env
    local poetry_cmd = {'poetry', 'run', 'which', 'python'}
    if vim.env.CONDA_PREFIX then
      local cmd = {'conda', 'run', '-n', 'base', unpack(poetry_cmd)}
      local stdout, ret = get_os_command_output(cmd, workspace)
      if ret == 0 and #stdout > 1 then
        return stdout[#stdout - 1]
      end
    else
      local stdout, ret = get_os_command_output(poetry_cmd, workspace)
      if ret == 0 and #stdout ~= 0 then
        return stdout[#stdout]
      end
    end
  end

  -- If conda env is activated, use it
  if vim.env.CONDA_PREFIX then
    return path.join(vim.env.CONDA_PREFIX, 'bin', 'python')
  end

  -- If virtualenv is activated, use it
  if vim.env.VIRTUAL_ENV then
    return path.join(vim.env.VIRTUAL_ENV, 'bin', 'python')
  end

  -- Fallback to system Python.
  return 'python'
end

lspconfig.pylsp.setup({
  -- ...
  on_new_config = function(new_config, new_root_dir)
    local python_path = get_python_path(new_root_dir)
    new_config.cmd = {python_path, '-m', 'pylsp'}
  end
})

Warning: It's a bit slow on startup (add 0.6 seconds in the worst case)

@keitwb Can't speak for pyls, but for pyright you can hook into before_init to do something like this:
local configs = require('lspconfig/configs')
local util = require('lspconfig/util')

local path = util.path

local function get_python_path(workspace)
  -- Use activated virtualenv.
  if vim.env.VIRTUAL_ENV then
    return path.join(vim.env.VIRTUAL_ENV, 'bin', 'python')
  end

  -- Find and use virtualenv in workspace directory.
  for _, pattern in ipairs({'*', '.*'}) do
    local match = vim.fn.glob(path.join(workspace, pattern, 'pyvenv.cfg'))
    if match ~= '' then
      return path.join(path.dirname(match), 'bin', 'python')
    end
  end

  -- Fallback to system Python.
  return exepath('python3') or exepath('python') or 'python'
end

lspconfig.pyright.setup({
  -- ...
  before_init = function(_, config)
    config.settings.python.pythonPath = get_python_path(config.root_dir)
  end
})

Then you can expand the get_python_path function with support for Poetry or Pipenv if that's you cup of tea. Or whatever style your monorepo has.

Thanks for the insight, but I have tried this multiple times the before_init function is not being called. Tried changing it to on_init it seems to work that way but pyright still can't resolve most of the imports.

I tweaked @lithammer code to the below one. My use case is that I want to use venv created by Pipenv without explicitly jumping to it before starting neovim.
local util = require('lspconfig/util')

local path = util.path

local function get_python_path(workspace)
  -- Use activated virtualenv.
  if vim.env.VIRTUAL_ENV then
    return path.join(vim.env.VIRTUAL_ENV, 'bin', 'python')
  end

  -- Find and use virtualenv from pipenv in workspace directory.
  local match = vim.fn.glob(path.join(workspace, 'Pipfile'))
  if match ~= '' then
    local venv = vim.fn.trim(vim.fn.system('PIPENV_PIPFILE=' .. match .. ' pipenv --venv'))
    return path.join(venv, 'bin', 'python')
  end

  -- Fallback to system Python.
  return vim.fn.exepath('python3') or vim.fn.exepath('python') or 'python'
end

require'lspconfig'.pyright.setup {
    on_attach = function()
        require'lsp_signature'.on_attach {
            hint_enable = false,
        }
    end,
    on_init = function(client)
        client.config.settings.python.pythonPath = get_python_path(client.config.root_dir)
    end
}

And tweaking @gzbd code for Poetry, substitute the Pipenv-related code in the middle section with:
  -- Find and use virtualenv via poetry in workspace directory.
  local match = vim.fn.glob(path.join(workspace, 'poetry.lock'))
  if match ~= '' then
    local venv = vim.fn.trim(vim.fn.system('poetry env info -p'))
    return path.join(venv, 'bin', 'python')
  end

Hi all,
I strongly recommend the creation of a python.nvim plugin (akin to nvim-jdtls, nvim-metals, flutter-tools.nvim, etc). LspConfig is meant to be a collection of settings for the clients, but something like managing your python path/active virtual environments is out of scope (would probably benefit from a nice GUI). That being said, if someone tries to write a python.nvim and runs into issues, LMK.

Alright, I was so free and created a repo which now contains the working example of @lithammer : https://github.com/HallerPatrick/py_lsp.nvim.
It serves as a starter to make something usable and nice. Please feel free to contribute :)

Inelegant workaround:
#!/bin/bash
set -uo pipefail
TOPLEVEL=$(git rev-parse --show-toplevel)
LOCKFILE="$TOPLEVEL/poetry.lock"
if [ -f "$LOCKFILE" ]; then
  poetry run nvim "$@"
else
  nvim "$@"
fi

Just my 2 cents in here too, I'm doing this:
before_init = function(_, config)
    local p
    if vim.env.VIRTUAL_ENV then
        p = lsp_util.path.join(vim.env.VIRTUAL_ENV, "bin", "python3")
    else
        p = utils.find_cmd("python3", ".venv/bin", config.root_dir)
    end
    config.settings.python.pythonPath = p
end,

That func_cmd comes from my utils file and is a custom implementation of the one suggested by the null-ls developer in this issue.
I use it for flake8/isort/black to find the correct binaries from my poetry installation (which in my case, gets installed in my .venv dir): https://github.com/bellini666/dotfiles/blob/master/vim/lua/config/lsp.lua#L184

I've recently switched to null-ls from efm. It's far easier to configure and seems a little faster. Most of these python venv problems can be fixed with null-ls's { prefer_local = ".venv/bin" } configuration.
But for pyright I implemented @bellini666's solution. While it's a bit of extra code, it works well.

There's one slight issue with the poetry one that's circulating in the thread:
  -- Find and use virtualenv via poetry in workspace directory.
  local match = vim.fn.glob(path.join(workspace, 'poetry.lock'))
  if match ~= '' then
    local venv = vim.fn.trim(vim.fn.system('poetry env info -p'))
    return path.join(venv, 'bin', 'python')
  end

And that it's running the poetry command in the CWD of where you are, if you are running multiple nested poetry enviroments like me, then you need to use the --directory flag from poetry 1.3.0.
  -- Find and use virtualenv via poetry in workspace directory.
  local match = vim.fn.glob(path.join(workspace, 'poetry.lock'))
  if match ~= '' then
    local venv = vim.fn.trim(vim.fn.system('poetry --directory ' .. workspace .. ' env info -p'))
    return path.join(venv, 'bin', 'python')
  end

Now, if you have nested poetry environments it will work just fine. Just remember to update poetry to 1.3.0 and higher.

So, I'm using pyenv and pylsp

The solution by bellini666 is only valid for pyright, as it is based on a configuration found here. The pylsp config has no such equivalent.

I think that pylsp abides the VIRTUAL_ENV environmental variables (which is automatically set by pyenv when to point to the correct virtual environment, if you correctly initialize pyenv in your .bashrc as described in the guide). You can test it like that: create two virtual environments, env1 and env2. Install a package, like tqdm for example, on env2 only. Activate env1. Open nvim, type tqdm.. You will not get autocompletions. Issue VIRTUAL_ENV=[PATH_TO_ENV2] nvim, type tqdm.. Now you get autocompletion (even if you are technically "inside" env1).

But that is only a conjecture by trial and error. Can someone confirm this?

The python provider for neovim does not need to correspond to the python in the virtual environment. You can create a virtual environment just for the provider, called for example neovim, install pynvim on it, and put the following in your init.lua:

MYHOME = os.getenv("HOME")
vim.g.python3_host_prog = MYHOME .. "/.pyenv/versions/neovim/bin/python"

On a related  note, why everybody is using pyright? Is it not a static type checker only? How you do autocompletions?


add missing tachyon conf in template

Due to this missing configuration in Tachyon conf, spark/ec2/spark-ec2 using branch-1.3 actually can not start Tachyon.

LGTM.


Some numbers are not extracted

Environment
Tesseract Version:
tesseract 4.0.0-245-g7ddc
leptonica-1.74.1
libgif 5.1.4 : libjpeg 6b (libjpeg-turbo 1.5.1) : libpng 1.6.28 : libtiff 4.0.8 : zlib 1.2.8 : libwebp 0.5.2 : libopenjp2 2.1.2
Found AVX2
Found AVX
Found SSE
Platform:
Tried on both of these environments:
Linux instance-2 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux
Darwin h-MBP-sl-mwrn 16.5.0 Darwin Kernel Version 16.5.0: Fri Mar 3 16:52:33 PST 2017; root:xnu-3789.51.2~3/RELEASE_X86_64 x86_64
Current Behavior:
Numbers with similar fonts and sizes - some are extracted and some are not.
For example: 25,000,000 is present in the extracted text while 500,000 is not.
tesseract NumbersExtraction.jpeg out -l heb
Image is attached:
numbersextraction.jpeg
Expected behaviour:
All numbers are extracted: 500,000 and 25,000,000 are present in the extracted text.

I was able to resolve it using  legacy engine only ('--oem 0').


fix(pure-cell): fix pure-cell text

Добавила возможность прокидывать в слот value компонент

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.002%) to 81.722%

Totals

Change from base Build<PHONE_NUMBER>:
-0.002%

Covered Lines:
5860

Relevant Lines:
6594

💛  - Coveralls


Support for gerrit in RTD

Details
I have my markdown files placed in Gerrit tool and I want to build documentation using readthedocs. Is there any option available to build documentation from Gerrit?

Project URL:
Build URL (if applicable):
Read the Docs username (if applicable):

Expected Result
A description of what you wanted to happen
Actual Result
A description of what actually happened

We only support mainstream version control systems. Isn't gerrit a review tool, not a VCS tool?


MAIN B-18653 (merge after B-18314)

INTEGRATION PR
NOTE
https://github.com/transcom/mymove/pull/12041 & https://github.com/transcom/mymove/pull/12040 need to be merged before this PR. Their branches are merged into this branch.
Agility ticket
Summary
With Multiple Moves being integrated and being able to have the functionality of a user being able to not only see their move, but be able to create a new move - we needed to change the current routing in order to support multiple moves.
Currently, the home page of a move was just the URL /move. This page used data from state and was not flexible or dynamic with what state held. With the use of the React hook useParams(), we can leverage the moveId and select the move data from the recently added API endpoint of getAllMoves and have the move home page be more dynamic and should allow for multiple home pages for a user.
This PR does the following:

updated some backend return values (primarily db queries) to support the new move home page
added useEffect to the MultiMovesLandingPage that will allow for current data to be loaded and saved into state on component mount
updated the routing return of MultiMovesLandingPages to consider the current profile state
updated test data to what is being returned by the getAllMoves API endpoint
implemented early LoadingPlaceholer returns as data loads to avoid async errors
updated MultiMoveContainer to show shipment unique identifier instead of move code
created MoveHome.jsx and essentially refactored the previously used Home component from a class to a functional component. This will allow for the use of hooks (useEffect, useState, useParams, etc)

NOTE the full functionality of adding another move is not yet in place. This will be done with Multiple Moves - Create Move Button Flow. Once that is in place, the user should be able to upload orders AKA moves.
How to test

Access MM as a customer
If you do not have a profile set up, you should be routed to the profile creation flow
Click Create a Move button on the landing page
This should navigate you to the basic /move home page
Click Add Orders and add your info
Once complete, you should be routed back to the landing page and see your move
Click Go to Move button and you should see the URL contain the moveId params

Warnings

:warning:

Files located in legacy directories (src/shared or src/scenes) have
been edited. Are you sure you don’t want to also relocate them to the new file structure?
View the frontend file org ADR for more information

  Generated by :no_entry_sign: dangerJS against 27fce23ff8270d303e94552e934e96fa3e625c68

Checked each file. Only difference is a couple of white space differences from resolving conflicts through Github. Idk man.


java.lang.NoSuchMethodError: 'void javax.ws.rs.core.MultivaluedMap.addAll(java.lang.Object, java.lang.Object[])' when used in Jenkins

I use the client in a Jenkins Shared Library via
@Grab(group='io.adobe.cloudmanager', module='aio-lib-cloudmanager', version='0.4.0')

When trying to get the token I run into the following exception
java.lang.NoSuchMethodError: 'void javax.ws.rs.core.MultivaluedMap.addAll(java.lang.Object, java.lang.Object[])'
	at org.glassfish.jersey.client.ClientRequest.accept(ClientRequest.java:322)
	at org.glassfish.jersey.client.JerseyInvocation$Builder.accept(JerseyInvocation.java:224)
	at org.glassfish.jersey.client.JerseyInvocation$Builder.accept(JerseyInvocation.java:147)
	at io.adobe.cloudmanager.jwt.swagger.invoker.ApiClient.invokeAPI(ApiClient.java:696)
	at io.adobe.cloudmanager.jwt.swagger.api.JwtApi.authenticate(JwtApi.java:109)
	at io.adobe.cloudmanager.impl.IdentityManagementApiImpl.authenticate(IdentityManagementApiImpl.java:73)
	at io.adobe.cloudmanager.impl.IdentityManagementApiImpl.authenticate(IdentityManagementApiImpl.java:67)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1213)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
	at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:47)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
	at customGroovyscript.....

The reason for that is that the Java library requires JAX-RS 2.0.0 while Jenkins still seems to ship with JAX-RS 1.1.0 (or older): https://stackoverflow.com/a/44070033.

Was there a particular reason why jackson2 was used as library (https://github.com/adobe/aio-lib-java-cloudmanager/blob/8ad4eab0363fdc02a95681a729878d48bc53ab8e/pom.xml#L131). To me it seems that the default http client + json parser okhttp-gson could be less conflicting, as it doesn't require JAX RS 2.0.

The classpath in Jenkins seems to be a mess. A similar issue was reported  in https://issues.jenkins.io/browse/JENKINS-44378. I am still unsure which plugin include JAX-RS 1.x or whether this is provided by the Jenkins Core.

Jersey2 was used as I was most familiar with it.
This issue seems to be specific to using the library in the context of Jenkins. While it is a/the primary use case for this, it is an issue related to that context, and not necessarily something that this project needs to resolve.
As a side note, from the Jenkins documentation:

While possible, accessing third-party libraries using @Grab from trusted libraries has various issues and is not recommended.

Link

When you recommend using an external binary one could use the aio-cli in the first place. I would still say that executing this library inside a Jenkins Shared Library should be supported (deploying an external tool requires some effort). Let me try to come up with a fix which relies on shading and relocation

Just for the reference: The Groovy Shared Library uses a class loader which merges all plugin classloaders. This is a parent class loader of the Grapes class loader and therefore used preferably. In my case it was the JIRA Trigger Plugin which included Jersey Core 1.5 (which includes javax.ws.rs.core..MultivaluedMap from JAX-RS 1.x). After that plugin was removed, it works.


distribution inventory label and outdated test

Resolves #2375
Description
Bugfix (non-breaking change which fixes an issue)
How Has This Been Tested?
Yes

@slurio hey there -- checking in on this to see if you had any questions or if you are still working on this?

I was able to make the change on our end :). After the tests pass, I'll approve and merge :). Thanks @slurio for your contribution!


Setup Cloudwatch / EB Alarms to be notified of errors to Slack / Whatever else

No longer using CW / EB


Indicators menu items highlight is not 100% and indicator blue highlight background should be transparent

eXGTK:

Should use elementary style:

Also the blue selection box looks bad in my opinion.

If you're meaning the padding for the popup items - I'm still looking how to fix that. And what is "the blue box"?

Like in the Apps that you just removed, remove also from indicators, would look nicer and cleaner.

#71


Fix data-bs-parent

Currently, we get a JS error (Uncaught TypeError: 'querySelectorAll' called on an object that does not implement interface Element.)
This, as is, fixes the expected default behavior (see https://getbootstrap.com/docs/5.0/components/accordion/#example).
If implemented the right kwarg in Container class on bootstrap.py, this will also allow for the always open behavior (see https://getbootstrap.com/docs/5.0/components/accordion/#always-open), since all we need is get rid of data-bs-parent.

Thanks for the PR. 👍
Could you have a look at fixing the tests.
It would also be great to see a test for the second use case you describe. We should then add a note to the readme as I think this would be a new feature for the bs5 template pack.

Yeah, I'll take a look at the tests. I was honestly not expecting them to fail, but then again, who expects that, right?
I agree, the readme note is a nice touch. I tried to follow the same principle already used for the active=True kwargs, so it should be straightforward.


Validator upgrades.

This comment adds two new options to the validator:

PROFILE_CARDDAV
PROFILE_CALDAV

Passing these options will tell the validator to assume that the
vcard/icalendar object needs to be validated specifically according to
the rules of caldav/carddav.
For vCards specifically this means that the UID is required for CardDAV,
but we only emit a warning without PROFILE_CARDDAV.
For iCalendar there's a bunch of new rules that we will eventually
integrate into sabredav.
This fixes #176.

:+1:

Is documentation up-to-date?

It's not. I'll update a separate ticket for this.

:+1:


Dashboard opens not the first page by default

Current Behavior
The Dashboard does not open the first page (topmost in the sidebar), but the first created one, when opened without the page.
For me this is https://node-red.lanb/dashboard.
Expected Behavior
The topmost page in the sidebar is opened, when the link does not contain a page.
Steps To Reproduce
Open dashboard without a page selection.
Environment

Dashboard version:
Node-RED version: 1.6.1
Node.js version: 4.0.0 beta1
npm version:
Platform/OS:
Browser: Firefox / Ubuntu

Have you provided an initial effort estimate for this issue?
I am not a FlowFuse team member

Similar issue raised (maybe worse? maybe different?) here: https://discourse.nodered.org/t/order-of-pages-and-default-page/93246

In my version of Node-red (4.0.2) dashboard 2.0 (1.8.1) the order of the pages is determined by the order of creation. If you create a page called /two, then a page called /one, then reorder them with /one on top, and you enter /three you will end up on /two... makes sense?
And if I delete page /two, and create page /three, reorder the pages with /three on top, enters /four, I wil end up on /one.
I have found this reported as a bug, but I am not able to find any more information about it, and no solution


Added ability for username to act as identifier for API user detail endpoint in addition to primary key (/api/users/<userID> OR /api/users/<username>)

Goal: In this PR, we allow users of the API to access the Detail view of a given User object using the user's username as a slug instead of always having to use the user's id. For a user of the API to get a given User's ID, they need to go through the entire List view of user's and find the specific User they are looking for and then look at the id of that User.
The username on the other hand, is a unique identifier for a User object, that is human readable and can be shared/accessed easily. This way, it is easier for someone that uses the API to get details of a specific user, as one does not need to know it's primary key in the model.
We will support: /api/users/<user_id> AND /api/users/<username> to GET/PATCH/DELETE the Detail view of the User with the given id or username

Issue Score: Excellent
Comments:
Great job y'all!
Appreciate the back and forth on review as well as linking relevant issues and problems as they come up.

Closing Comment: Successfully, completed the slug functionality to get the detail view of a User. Can now access the detail view going to endpoint: /api/users/<user_id> OR /api/users/<username>.


Mixed use of "data table" and "dataset"

From @bowring in #284:

First is the interchangeable use of dataset and data table - I think we should settle on one or the other.

The reasoning behind the usage of both terms is that a "data table" is the thing actually displaying the "dataset". I understand how this can be confusing. I'll take a closer look at specific usages and then we'll talk about a solution.


Formula: include bad value in invalid-option error message

Checklist

[X] Have you followed the guidelines in our Contributing document?
[X] Have you checked to ensure there aren't other open Pull Requests for the same change?
[X] Have you added an explanation of what your changes do and why you'd like us to include them?
[X] Have you written new tests for your changes? Here's an example.
[X] Have you successfully ran brew tests with your changes locally?

Description
The issue
When you have an invalid option call like the following in a formula, it'll give you an error message saying what's wrong ("can't be a single character", "can't be a symbol", "can't start with dashes") but it won't give you an indication of which line was wrong.
  option "f"
  option :my_symbol
  option "foo" => "enables foo localization"

$ brew info cowsay
Error: option name must be longer than one character
Please report this bug:
    https://git.io/brew-troubleshooting

In particular, if you use an arrow (option "foo" => "include foo") instead of a comma (option "foo", "include foo"), it'll also give you a misleading message saying that the name must be longer than one character, because what you end up passing is a one-valued hash instead of a string, and it happens to support the duck-typed calls the testing is making on name.
This PR's fix
This PR adds the invalid "name" passed to option to the error message to make the error location and reason easier to identify. It also adds a couple more checks: non-string/symbol options get their own error message, and symbols converted to strings are checked for validity after conversion.
Now the error messages look like this:
option "x"

$ brew info cowsay
Error: option name must be longer than one character: x

option :f

$ brew info cowsay$ brew info cowsay
Warning: Passing arbitrary symbols to `option` is deprecated: :f
Symbols are reserved for future use, please pass a string instead
Error: option name must be longer than one character: f

option "foo" => "bar"

$ brew info cowsay
Error: option name must be string or symbol; got a Hash: {"foo"=>"bar"}

Considerations
This is mostly a cosmetic change affecting the messages when errors occur. However, it also prohibits single-character symbol option names, which previously would have passed through. (Unintentionally, I believe.) And it will prohibit other types which look like strings.
If we really want to support other types for the name argument to option, we could just to_s any non-String that gets passed in, and then evaluate it as a normal string option. I suspect that usage would usually be a mistake, though.

Nice work 👍

:+1:

Thanks!


:bug: Performance problem when using basic auth compared to JWT auth

Using basic authentication for the requests add a big latency on responses.

Could not reproduce

It only happens when setting a   fr.insee.sugoi.security.monitor-user-enabled: true


Test cases Crashed when we run more tests

Type: Bug

Start to run test suites
2.Suddenly getting Crash message

You are running Docker (there is an easy fix for this: see link below)
You are running lots of tests on a memory intense application
You are running in a memory starved VM environment
There are problems with your GPU / GPU drivers
There are browser bugs in Chromium

VS Code version: Code 1.72.2 (d045a5eda657f4d7b676dedbfa7aab8207f8a075, 2022-10-12T22:15:18.074Z)
OS version: Windows_NT x64 10.0.22621
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz (8 x 2419)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
undefined

Memory (System)
15.73GB (5.23GB free)

Process Argv
--crash-reporter-id 449ab67d-a588-4637-8f72-ed64f5f637a9

Screen Reader
no

VM
0%

Extensions (4)

Extension
Author (truncated)
Version

vscode-pull-request-github
Git
0.50.0

powershell
ms-
2022.8.5

windows-terminal
Tyr
0.7.0

vscode-icons
vsc
11.20.0

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
vscaac:30438847
vsclangdf:30486550
c4g48928:30535728
dsvsc012cf:30540253
azure-dev_surveyone:30548225
2144e591:30553903
pyindex848cf:30577861
nodejswelcome1:30587005
40g7c324:30573242

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


PE1-1340/merge-main-branch

Description

Motivation and Context

How has this been tested?

Checklist

[ ] I have implemented automated tests for the changes.
[ ] I have updated the documentation accordingly.

Moved to https://github.com/gympass/cdn-origin-controller/pull/93


Add my first file

I have created a branch, created a file, and made a commit.

pull requset done


Combined Service Discovery

add an option to use service discovery information from multiple providers (e.g. Consul and Eureka) for a single service

To follow up on quarkus insight # 70
Why can I need multiple providers ?

On a hybrid infrastructure with VMs on one side and kubernetes and pods on the other side.
Pods discover other pods using internal discovery service, but need consul to discover VM.

Dedicated discovery service. On consul used for infrastructure services ( logging, mail, etc.) and another consul dedicated to project-level services

@benDeMtp right now it is possible to use different service discovery providers for different services (so, IIUC, your second scenario should work okay).
This task is about enabling usage of multiple providers for a single service.


Feature/card collapse warnings

Fix card collapses and add missing information CTA's

oops didn't see it was still a draft

All good, shall I merge?


Allow users to edit their email address

Resolve https://github.com/opencollective/opencollective/issues/1711
See

[x] Create migrations for new email and confirmation token
[x] Update model
[x] Add new email field to graphql (protected)
[x] Add a migration to edit user email
[ ] Add a migration to confirm new email from token
[ ] Put some rate limiting for user so they can't bruteforce the system to guess emails
[ ] Put some rate limiting on confirmEmail
[ ] Add tests
[x] Send confirmation email

Coverage decreased (-0.08%) to 66.721% when pulling 1b0d3527039e31a7857a3ab2fd9238e2bf99592c on feat/user-change-email into 3351a7eac31feaf4633ef7eacb57353ea512aadb on master.


make fail :)

%GDK_WIN%\bin\make -f %GDK_WIN%\makelib.gen
make: *** No rule to make target D:/apps/SGDK/src/z80_drv0.s', needed by D:/apps/SGDK/src/z80_drv0.o'.  Stop.

Be sure that you're up to date with GitHub repository.
Also try to do a clean before:
%GDK_WIN%\bin\make -f %GDK_WIN%\makelib.gen clean
then rebuild:
%GDK_WIN%\bin\make -f %GDK_WIN%\makelib.gen
z80drv0.s file should be there (you can see that you have it in the github repo).


Saving the array of strings

I would like to save the struct that has the array of strings in one of the fields. Below is the code I have been trying. However, when a worksheet is returned from the db, the rows array is always empty. Is there a way to get it worked?
type Worksheet struct {
	ID   string `storm:"id,unique"`
	rows []string
}

func g() error {
	db, err := storm.Open("perfect_storm.db", storm.Codec(json.Codec))
	if err != nil {
		return err
	}
	defer db.Close()

	var uuid string
	uuid, err = newUUID()
	if err != nil {
		return err
	}
	ws := Worksheet{
		ID:   uuid,
		rows: make([]string, 0, 10),
	}
	for i := 0; i < 10; i++ {
		uuid, err = newUUID()
		if err != nil {
			return err
		}
		ws.rows = append(ws.rows, uuid)
	}
	fmt.Println("rows: ", ws.rows) // prints the array of 10 uuid strings

	err = db.Save(&ws)
	if err != nil {
		return err
	}
	var wss []Worksheet
	err = db.All(&wss)
	if err != nil {
		return err
	}
	for _, wsi := range wss {
		fmt.Println("Id", wsi.ID) // prints the correct ID
		fmt.Println("Rows", wsi.rows) // prints "[]"
	}
	return nil
}

It's not an issue actually, this is the correct behaviour of Go. The rows field is not exported so it won't be marshalled by the codec. You need to change rows to Rows.

Thanks that works!


Add help message for keybinds

Adds keybind to show the current keybinds (default ?)

@simrat39 ready to merge


Wrapper state not updated when using nested axios mock calls

Current behavior
I'm using Jest and Enzyme to test one of my React components. The test looks like this:
it("Some functionality works", async () => {
  const wrapper = mount(<MyComponent />)
  await wrapper.find(SomeElement).first().simulate("event")
  wrapper.update()

  expect(wrapper.state("data")).toEqual(someObject)
})

The component has an async method for getting data using an async function. The async function has a branch for filtering previous data and an other one for an axios call. I use axios-mock-adapter to mock axios requests. The mocked axios request returns an object which will be processed in getData and getDataHelper.
getData = async (params) => {
  let data = await this.getDataHelper(params)
  *** Manipulating data
  this.setState({ data: manipulatedData })
}

getDataHelper = async (params) => {
  let data
  if(params.case) {
    *** Filtering previous data
    data = filteredData
  }
  else {
    data = await this.fetchData()
  }
  return(data)
}

fetchData = async () => {
  const data = await axios.get('some_url')
  ***Manipulating data
  return(data)
}

On the filtering branch of the function above the state is updated correctly. However on the fetching branch of getDataHelper the state doesn't change.
This functionality works fine only the test fails because the state is not updated correctly.
Expected behavior
The state of the component wrapper should be updated in both cases described above.
Your environment
API

[ ] shallow
[x] mount
[ ] render

Version

library
version

enzyme
3.9.0

react
16.8.4

react-dom
16.8.4

jest
23.6.0

axios-mock-adapter
1.16.0

adapter (below)
1.12.1

Adapter

[x] enzyme-adapter-react-16
[ ] enzyme-adapter-react-16.3
[ ] enzyme-adapter-react-16.2
[ ] enzyme-adapter-react-16.1
[ ] enzyme-adapter-react-15
[ ] enzyme-adapter-react-15.4
[ ] enzyme-adapter-react-14
[ ] enzyme-adapter-react-13
[ ] enzyme-adapter-react-helper
[ ] others ( )

Did you figure it out?
Separately, don’t use arrow functions in class fields.

Thanks for asking! I traced the problem to a deeper level and found out that it's not an issue with Enzyme.

After some experimenting I found out that that the problem should be related to Enzyme. There are 3 async functions nested in each other and the last one fetches data via axios. When I console.log the value of the fetched data in these functions while running the test the data appears correctly. The data appears when I use this functionality in my browser as well. When I run the unit test the state of the wrapper is not updated.

Due to the nature of the JS language, neither react nor enzyme can know when your async operations are completed, unless you tell them. In other words, your test needs to either get a promise from your component methods, and await that - or, it needs to mock out the things making promises, so it can await them.


Language selector in the footer no longer returning language id in callback

works ok in 1.12.0
no longer works in 1.13.rc-1 nor 1.13.rc-4
previously the callback returned the selected language as

now the return objects is a "change" event without language id

For anybody outthere having same issue, there was a change and the new/correct way to get a selected ID is
event.currentTarget.value


CLI: Install plugins from files or URLs

Allow plugin installation from local files or remote urls
Fixes #2657 (except for the git part)
Based from #2434

Needs rebase: git rebase --onto master feature/refactor_plugin_manager


Hello, how do I deploy this website locally?

I want to deploy the website locally, download the source code in GitHub, and I can't find "bluemix-autoscaling-agent" after NPM start.

Closing this as a duplicate of https://github.com/IBM/taxinomitis/issues/4 as I know I need to document how to run the app locally. Sorry, I've not had time to do that yet.
But to answer your specific question, you can use npm run local when you're running it outside of Bluemix.


Support Rollup and ES5

First of all thanks for the lib :)
It looks very promising, but I struggle getting it to work in my rollup based project where I use ES5 modules.
Disclaimer: Maybe I am missing something essential, as I am new to this whole js module mess.
However, other libraries work out of the box for me after importing them in a sapper project (i.e. nodejs framework for svelte). So that is why I still figure this could be an issue in the wildcard-api package.
I do the module conversion with the below rollup.config.js using the commonjs and node-resolve packages.
I played around with the preferBuiltins args of resolve() and commonjs(), but no luck..
It keeps complaining about: Error resolving module specifier: util in the client
after calling the endpoint id = await wildcard.endpoints.getHelloWorldId();
(Sidenote: also import {endpoints} from '@wildcard-api/client'; as used in the examples, does not work for me, only when I do import wildcard from '@wildcard-api/client'; and use its endpoints property).
Also the build prints the warnings:
'util' is imported by<EMAIL_ADDRESS>but could not be resolved – treating it as an external dependency
'util' is imported by util?commonjs-external, but could not be resolved – treating it as an external dependency
'util' is imported by node_modules/reassert/log.js, but could not be resolved – treating it as an external dependency

But when I add && typeof window === 'undefined'  to @brillout/assert/utils/isNodejs.js and reassert/utils/isNodejs.js, those build warnings go away, but not the error caught by the client
// rollup.config.js
import resolve from 'rollup-plugin-node-resolve';
import replace from '@rollup/plugin-replace';
import commonjs from 'rollup-plugin-commonjs';
import svelte from 'rollup-plugin-svelte';
import sveltePreprocess from 'svelte-preprocess';
import babel from 'rollup-plugin-babel';
import { terser } from 'rollup-plugin-terser';
import config from 'sapper/config/rollup.js';
import pkg from './package.json';

const mode = process.env.NODE_ENV;
const dev = mode === 'development';
const legacy = !!process.env.SAPPER_LEGACY_BUILD;

const onwarn = (warning, onwarn) => (warning.code === 'CIRCULAR_DEPENDENCY' && /[/\\]@sapper[/\\]/.test(warning.message)) || onwarn(warning);
const dedupe = importee => importee === 'svelte' || importee.startsWith('svelte/');

export default {
    client: {
        input: config.client.input(),
        output: config.client.output(),
        plugins: [
            replace({
                'process.browser': true,
                'process.env.NODE_ENV': JSON.stringify(mode)
            }),
            svelte({
                dev,
                hydratable: true,
                emitCss: true,
                preprocess: sveltePreprocess({ postcss: true }),
            }),
            resolve({
                browser: true,
                dedupe,
                preferBuiltins: true,
                customResolveOptions: {

                    moduleDirectory: 'node_modules'

                }
            }),
            commonjs({}),

            legacy && babel({
                extensions: ['.js', '.mjs', '.html', '.svelte'],
                runtimeHelpers: true,
                exclude: ['node_modules/@babel/**'],
                presets: [
                    ['@babel/preset-env', {
                        targets: '> 0.25%, not dead'
                    }]
                ],
                plugins: [
                    '@babel/plugin-syntax-dynamic-import', ['@babel/plugin-transform-runtime', {
                        useESModules: true
                    }]
                ]
            }),

            !dev && terser({
                module: true
            })
        ],

        onwarn,
    },

    server: {
        input: config.server.input(),
        output: config.server.output(),
        plugins: [
            replace({
                'process.browser': false,
                'process.env.NODE_ENV': JSON.stringify(mode)
            }),
            svelte({
                generate: 'ssr',
                dev,
                emitCss: true,
                preprocess: sveltePreprocess({ postcss: true }),
            }),
            resolve({
                dedupe,
                preferBuiltins: true,
            }),
            commonjs({preferBuiltins: true})
        ],
        external: Object.keys(pkg.dependencies).concat(
            require('module').builtinModules || Object.keys(process.binding('natives'))
        ),

        onwarn,
    }
};

On another note, there are more warnings when building the client:
Circular dependency<EMAIL_ADDRESS>-> node_modules/reassert/warning.js -> node_modules/reassert/assert.js -><EMAIL_ADDRESS>Circular dependency<EMAIL_ADDRESS>-> node_modules/reassert/warning.js -> node_modules/reassert/assert.js -> /home/malte/Dokumente/zeug/stage-2/svelte-start/node_modules/@brillout/format-text/index.js?commonjs-proxy -><EMAIL_ADDRESS>Use of eval is strongly discouraged, as it poses security risks and may cause issues with minification
67:         return str.length;
68:     }
69:     const stringWidth = eval('require')('string-width');
                            ^
70:     return stringWidth(str);
71: }
Use of eval is strongly discouraged, as it poses security risks and may cause issues with minification
21:   // we use `eval('require')` instead of `require` to
22:   // make sure that webpack doesn't bundle `node-fetch`
23:   fetch = eval('require')('node-fetch');
              ^
24: }

EDIT:
The above errors disappeared after using the rollup plugins
import builtins from 'rollup-plugin-node-builtins';
import globals from 'rollup-plugin-node-globals';

for the client. However now the client simply catches the error:
"require is not defined"

Hi!
I only read your reply today- somehow I skipped the GitHub notification, sorry for the late reply!
I can have a look at it myself, do you have a reproduction code I could use?

Closing this - I made many changes and this may be fixed by now.

Let me know if you still run into problems.


what is details about the experiments for cifar-100

Hi, Juntang,
The work is outstanding! If convenient, would you please tell me the details about the experiments for cifar-100? Compared with cifar-10, is there only one difference that you change the output dimension of the last linear layer from 10 to 100? Or are there some other differences?
Looking forward to your reply! Thanks for your nice work again!

last layer is the only difference, if I remember correctly.

Thanks for your prompt reply!

Happen to be coding now and saw the notification immediately, hahah!


[FLINK-15519][configuration] Preserve logs from BashJavaUtils and make them part of TM logs

Brief change log
We build a separate jar for BashJavaUtils with bundled log4j classes and
a configuration that logs to the stdout. Using this jar we run the
utility to capture the output. Out of the last line we extract jvm
parameters. The rest we pass as an environment variable (INHERITED_LOGS)
to the TaskManager process.
As part of the EnvironmentInformation printing we log whatever was
passed through the INHERITED_LOGS in the TM/JM process.
Verifying this change

BashJavaUtilsITCase should still run
Start a taskmanager process, see the additional logs from the BashJavaUtils at the very top.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Could you have a look @azagrebin @tillrohrmann whenever you have time.


Lemmy

After @EnigmaCurry replaced the original nginx service with a custom nginx build, everything is working.

Oh, and I have to delete orig-compose.yml

did you test make instance?

did you test make instance?

Yes.


Country xrefs between DBPedia, GAZ and other relevant identifiers

All HANCESTRO countries should be xref-ed with GAZ identifiers as well as any other relevant country identifiers.

GAZ xrefs are now included for all countries, as well as continents and regions where possible.


Running some commands in console produces errors

running commands like tps and weather in the server console produces errors that it didn't in previous versions. Console output below /
tps:
[15:57:55] Executing console command: "tps"
[15:57:55] LUA: Plugins/Core/tps.lua:6: attempt to call method 'SendMessageInfo' (a nil value)
[15:57:55] Stack trace:
[15:57:55]   Plugins/Core/tps.lua(6): (no name)
[15:57:55] Stack trace end
[15:57:55] Error in plugin Core calling function ()
[15:57:55] Unknown command, type 'help' for all commands.
weather:
[15:58:24] Executing console command: "weather"
[15:58:24] LUA: Plugins/Core/functions.lua:175: attempt to call method 'GetWorld' (a nil value)
[15:58:24] Stack trace:
[15:58:24]   Plugins/Core/functions.lua(175): GetWorld
[15:58:24]   Plugins/Core/weather.lua(50): (no name)
[15:58:24] Stack trace end
[15:58:24] Error in plugin Core calling function ()
[15:58:24] Unknown command, type 'help' for all commands.

This is a problem in the Core plugin.

Why was it closed?

This is a problem in the Core plugin.

https://github.com/mc-server/Core/issues/124


support new t:connect API version: <IP_ADDRESS>

2024-04-26 07:52:53 INFO     Reported tconnect software version: t:connect <IP_ADDRESS>
2024-04-26 07:52:53 WARNING  Newer API version than last confirmed working. Saw t:connect <IP_ADDRESS> and expected t:connect <IP_ADDRESS>

I am also encountering the same issue. @jwoglom are you aware of this one? I can try to debug and contribute if/when i have the time, but you may be already on the case?
Here is the error I'm seeing that should be relevant:
Received ApiException in ControlIQApi with endpoint 'tconnect/controliq/api/therapytimeline/users/b3ccb839-1033-46d6-b67b-d271aaa4dc47?startDate=04-29-2024&endDate=04-30-2024' (tries 0): ControlIQ API HTTP 500 response:  (HTTP 500)

Maybe tandem have changed what their API is looking to receive in the request.

@AndyLow91 I've observed tconnectsync continue to work OK on my end -- I wonder if Tandem was just having an outage?
Looking through my own logs, I get a HTTP 500 from therapytimeline very irregularly and it seems to resolve itself.
./stdout.log:2024-04-12 06:02:43 WARNING  Received ApiException in ControlIQApi with endpoint 'tconnect/therapyevents/api/TherapyEvents/04-11-2024/04-12-2024/false?userId=xxxx' (tries 0): ControlIQ API HTTP 500 response: {"messages":["An error occurred. Try it again."]} (HTTP 500)
./stdout.log:2024-04-15 22:11:00 WARNING  Received ApiException in ControlIQApi with endpoint 'tconnect/therapyevents/api/TherapyEvents/04-14-2024/04-15-2024/false?userId=xxxx' (tries 0): ControlIQ API HTTP 500 response: {"messages":["An error occurred. Try it again."]} (HTTP 500)
./stdout.log:2024-04-22 20:11:04 WARNING  Received ApiException in ControlIQApi with endpoint 'tconnect/therapyevents/api/TherapyEvents/04-21-2024/04-22-2024/false?userId=xxxx' (tries 0): ControlIQ API HTTP 500 response: {"messages":["An error occurred. Try it again."]} (HTTP 500)

Closing, please re-open if you continue to experience issues

I originally opened this ticket because the sync was working correctly even though it was giving the warning - since the current API version is working, should we update the warning message to no longer appear for this version?


Bumped production release number for 1.21

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm

/approve

/unhold


How to Sync the db from postgresql to elasticsearch incrementally?

As titled, only sync the new added data to es.

dup


Issue 6 deprecate module json

This is my suggestion for both updating the documentation and for deprecating module.json in favor of package.json.

This merge is still active. I want @KevinDyer input

:+1:  in favor of updating the documentation with whatever result comes from this PR.
:-1: for deprecating module.json.
There are some fields in module.json that exists in the package.json but I think those fields are not necessary for package.json. BITS modules are not really npm modules although many BITS modules will use npm (and package.json) to define node package dependencies. When developers use node modules in their BITS module I think we should encourage them to create a minimal package.json.
{
  "private": true,
  "dependencies": {
    "grpc": "^1.7.2"
  }
}

This package.json removes the name and version fields which are not used by the BITS system when loading or  npm when building the module. I think this will reduce the confusion around duplicated fields.
Another reason to keep module.json around is that in the future a BITS module could choose another language (ex python) and the module.json would be used to start to known how to start the module process and interact with the module.

I'm going to close this one out. I've created issue https://github.com/LGSInnovations/bits/issues/28 so we don't lose track of the need for supporting documentation.


time incorrect at first boot (hassos on esxi)

hi, my time is correct in bios.-/esxi, but at first start of hassos, the time is  hour ahead, since i live in ETA +1 zone
so my sensors are not working for the first hour :), so when i do a clean boot, i need to restart hass when its loaded, afterwards it has the correct time
thnx

I think it's becuase HassOS seems to use UTP time, regardless of your time zone.
I personally hope this gets changed, otherwise I'll need to move back to another OS.

well, updated newer build, still same issue
but i dont care, i know when i do a cold reboot, i need to restart HA from the configuration one time after first start


Ignore when iteration variable altered in ForInArrayAnalyzer

Issued touched assignment, but also checked for pre and post fix unary, ref and out.
Closes #814

Coverage increased (+0.03%) to 91.551% when pulling 88b7b39ba4edebd9d5f8af43b1557db096916b8c on giggio:gb/fix814 into b75d179d668af3794723c92c29150d4b21367952 on code-cracker:v1.0.x.

Coverage increased (+0.03%) to 91.551% when pulling 88b7b39ba4edebd9d5f8af43b1557db096916b8c on giggio:gb/fix814 into b75d179d668af3794723c92c29150d4b21367952 on code-cracker:v1.0.x.


Fix e2e:docker script

yarn e2e:docker works locally with this change.  Tested before after, before test fails at yarn publish.  After yarn publish works as expected.
Checking CI builds.

Thanks!

Did CI pass with these changes?

@iansu both appveyor and travis is green
https://travis-ci.org/facebook/create-react-app
https://ci.appveyor.com/project/fbOpenSource/create-react-app

Does CI even use this script? I thought it didn't.

(Travis definitely passed, AppVeyor was failing during yarn fetch which was a common transient issue before so I ignored it)

Sorry, I got confused by description because I thought it's only relevant to docker script. Never mind me 😛

Thanks for the info guys. Our tests have been a bit flakey lately so I just wanted to make sure we were in a good state after these changes.


chore: Mongo plugin refactor Mongo plugin JUnit TCs

Description

Fixes #15623
Refactoring MongoPlugin junits into smaller files as expected in issue description
Separating mongo container init config in MongoTestContainer

Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Ran all the migrated junits while local dev and verified that all passed as expected.

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

@sumitsum @nidhi-nair Could you review and let me know of changes, if any?


When player leaves.

When another player leaves and one is in the battle the one in the battle will still see the player that left.

Thanks, fixed in 438b049


Some other uncompatible tickers

ICN is ICONOMI (kraken), not iCoin (yobit) - coinmarketcap have BOTH!!! as one ticker
AIR is AirToken (hitbtc, cmc), not AirCoin (yobit)
ANT is Aragon (hitbtc, cmc), not Ants Coin (yobit)
ATM is ATMChain (hitbtc, cmc), not Autumncoin (yobit)
DCT is Decent (hitbtc, cmc), not Discount (yobit)
DGD is DigixDAO (hitbtc, cmc), not DarkGoldCoin (yobit)
LUN is Lunyr (hitbtc, cmc), not LunarCoin (yobit)

All what we have from Yobit, we need to add x (or more xxx :))))
Really shit exchange, hold CLAM on my balance. With YoBit you can buy cryptocurrencies, but you cant withdraw. And you know about it only after buying... Криптогопота, короче :)

@mazertwo ok, i'm going to bring them back to consistency with YoBit...
P.S. «Биткоины есть? А если найду?» %)


Add the app in the F-Droid repository

Because I, and a lot of people, doesn't use izzyondroid repo, it would be very nice to have the app directly in the F-Droid repo. I'm sure that the app will be more popular :)
Is there a technical limitation for that ?

Hi, thanks for your issue.
I also would like to have the app on the main F-Droid repo but they reject unpublished versions of the Android SDK (see #118).
Maybe I'll just switch back to the released versions and try to apply again when I find time.

Any updates on this?


Update webpack import instructions

This resolves an issue I had when loading pdf.js with webpack. pdfjsLib was always undefined after the import, and I dug deep into pdf.js's webpack.js file to sort out this issue, making all sorts of changes.
I figured out that there was just something wrong with the export/import procedure. After making this change, I now have the full pdfjs object in my webpack application.

Thank you!


Add Windows to the test matrix

Motivation for changes:
By testing on Windows, developers can ensure that platform-specific functionality, such as file system operations and path handling, works as expected. This is crucial since Windows handles file paths, encodings, and newline characters differently from Unix-based systems.
Caching
The setup-python action's built-in Poetry caching seamlessly supports multiple platforms and Python versions.
Proof:

This is ready for review.

Good stuff. I always intended to enabled this, just never got around to it. Thanks!


redirect on asking for step '1' ?

Using a path helper in a view to link to my project 'write' wizard I tried: <%= link_to 'write', project_write_path(@project) %> which points to /projects/1/write/1 giving an InvalidStepError
passing in the first step name works: <%= link_to 'write', project_write_path(@project, :review_site_details) %> points to /projects/1/write/review_site_details
Question: should /projects/1/write/1 not just automagically repoint itself to the first step in the controller rather than giving an error. Otherwise I believe I have to deliberately name the first step in links.

should /projects/1/write/1 not just automagically repoint itself

No. Is there something in the documentation that made you think it would do so? We should update the docs if that's the case.

Otherwise I believe I have to deliberately name the first step in links.

Correct, or use the "index" action of that controller which auto redirects to the first step. So going to /projects/1/write should send you to /projects/1/write/review_site_details. You can also use the first step constant as documented here https://github.com/schneems/wicked#keywords

Thanks. <%= link_to 'write', project_write_index_path(@project) %> was what I was after.
Nothing in the readme suggested the wrong attempt, but maybe there could be a hint in the Quick Reference?
Nice gem BTW. 👍


Installing Scala 2.12.0 fails with SHA256 mismatch

Error: SHA256 mismatch
Expected: d4f485b3f05bbf1224ed5db34d5a5322ce8d1676236757a6cfbf4a11ac59ca22
Actual: 42be98ff9754518fd5c9a942c94ffba2464667a5e95ed4917e4e95565c96bdfe
Archive: /Users/Nader/Library/Caches/Homebrew/scala-2.12.0.tgz
To retry an incomplete download, remove the file above.

brew update, this has been addressed.


Is there a way to add a direct link in navigation.yml?

For instance, I want to link an external site to one of the menus in nvigation.yml. How can I add this?

For future reference, I just tried this myself; all you need do is add your link in navigation.yml with the external site listed as the url. So for example, adding:
  - title: "Your Title Here"
    url: https://github.com/academicpages/academicpages.github.io/issues/824

to navigation.yml (under the _data folder) would add an item to the nav bar that links to the given url.


validateMarkdownlintConfigSchema test failure after 2fe503d5

Planned for 25 assertions, but got 24.

Reproducible with npx ava test/markdownlint-cli2-test.js
Works after you revert the commit, npm install, and re-run the tests.

I'm not sure what you are reporting here. CI passes for that commit on 3 platforms crossed with 3 Node versions: https://github.com/DavidAnson/markdownlint-cli2/actions/runs/6210252508
Why are you trying to selectively run some of the tests with "npx" instead of via the "test" script or similar? It sounds like you are missing one of the test files for a scenario, possibly the new "showFound" directory.

CI runs test-cover. The failure comes when running the test script, but can be isolated with the above command.
The whole repo is sourced.

I'll give this a try. Are you doing some kind of test process where this matters?

It's policy to run the test suite, if possible, as part of building packages for Arch Linux:
https://gitlab.archlinux.org/archlinux/packaging/packages/markdownlint-cli2/-/blob/main/PKGBUILD

I may have figured this out while waiting for something. I should be able to try it on the computer shortly and if I'm right then I should have a fix pretty quickly.

@polyzen, do you need a new release published to npm for this? Is fast-forwarding main branch to include this commit sufficient?

Fast-forwarding is sufficient, thank you!

Done. You can verify via git log that main branch contains exactly the public v0.10.0 release plus only the test-only commit above. Thanks for pointing this out!

@polyzen, super nitpick, the pkgdesc in the file you link to above appears to be from the markdownlint-cli package rather than this one. It's not wrong, but I never capitalize markdownlint like that. :)

I had kept that from the package when it existed in the AUR. Will update it.

FYI, the follow-up commit I pushed to main a moment ago closes the race condition I thought of yesterday. Also test-only. I've never seen it happen. Up to you if you want to update to that.


[WIP] Different errors for claiming/execution outcomes

Pull Request Test Coverage Report for Build 955

12 of 20 (60.0%)  changed or added relevant lines in 4 files are covered.
4 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.2%) to 76.329%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/Actions/Actions.ts
2
10
20.0%

Files with Coverage Reduction
New Missed Lines
%

src/EconomicStrategy/EconomicStrategyHelpers.ts
1
57.69%

src/Actions/Pending.ts
3
49.04%

Totals

Change from base Build 949:
-0.2%

Covered Lines:
470

Relevant Lines:
592

💛  - Coveralls


fixing some linting errors

Hi.
I tried to fix some linting errors and so here it is a sort of a result. This is a draft because I did something I'm not sure about so I'd like to talk about this.
Almost every exercise in the "practice" will fail the CI because for no one of these the empty function is present so the build will fail accordingly.
I'm not sure if this system is the right choice for this usage, since we should check for linting but not compile error. Just guessing here, don't get me wrong.
I am eager to know your thoughts about this.

As per saying, the CI now fails because practices are not fixed, yet:

@tehsphinx no, the for doesn't work on github:

But with this fix, yes:

This PR has not been touched in at least 6 months. If this is still being worked on, please respond and we can continue the review process (you will probably have to sync / rebase). Otherwise I intend to close this pull request in a week.


ShareDirectoryClient.CreateFileAsync() with MaxSize creates Files with maximum size in Fileshare

Library name and version
Azure.Storage.Files.Shares v12.10.0
Describe the bug
When creating a file in fileshare with ShareDirectoryClient.CreateFileAsync(fileName,maxSize) creates an empty file with size of maxSize.
*maxSize is in long bytes C#.
[https://docs.microsoft.com/en-us/dotnet/api/azure.storage.files.shares.sharedirectoryclient.createfileasync?view=azure-dotnet]
Expected behavior
ShareDirectoryClient.CreateFileAsync(fileName,maxSize) should create an empty file with very small (~10bytes) size?
Actual behavior
ShareDirectoryClient.CreateFileAsync(fileName,maxSize) creates an empty file with actual maxSize.
Reproduction Steps
ShareDirectoryClient.CreateFileAsync(fileName,maxSize) in c#.
Sorry this occurred at work, so I can't share the code but the steps are very simple. Try uploading any file with maxSize of 1 million bytes(~100Mb).
Environment
OS - Windows 10
.NET version - 6.0
IDE - VS 2022 17.1.3

@greatvivek11 Thanks for the feedback! We will review and update accordingly.

@greatvivek11 This method translates to this underlying API and this is the expected behavior. Depending on premium or standard, you either provision the storage or set it as the quota respectively.


ROS2 port

It would be great to port the packages in this repository to ROS2.
The packages have been developed with this in mind, and most of them should be straightforward to adapt to the ROS2 APIs.
The most tricky parts should be the ros_control-based components, however ros2_control might be a good way to go. Although, I haven't yet had time to try it out myself, so I don't know much about its current status.
Regardless, the components not based on ros_control could be ported first, and then the remaining packages could be done at a later time.
Related: https://github.com/ros-industrial/abb_robot_driver_interfaces/issues/4

I've understood an attendee of the ros2_control WG has worked on a ROS 2 driver based on abb_libegm and abb_librws.
Perhaps @bmagyar knows more?
That would of course not be a port of the packages in this repository, but perhaps it could serve as a starting point and/or inspiration.

Here's a driver that was shown to work with ABB Studio: https://github.com/dignakov/ros2_control_demo_drivers, there's also one for KUKA in there. These are PoC implementations but should provide with a good reference for you guys.

Here's a driver that was shown to work with ABB Studio: https://github.com/dignakov/ros2_control_demo_drivers, there's also one for KUKA in there. These are PoC implementations but should provide with a good reference for you guys.

Hello, is there any progress in porting this driver to ROS2?

Hello, @jontje, @gavanderhoorn is there any progress in porting this driver to ROS2?

No progress from my side, I have only recently started working more consistently with ROS2, so it will be a while yet.

Hello, @jontje, @gavanderhoorn is there any progress in porting this driver to ROS2?

No progress from my side, I have only recently started working more consistently with ROS2, so it will be a while yet.

Well, I think I might help with this in my free time.

@jontje, @gavanderhoorn I am slowly starting to port this driver to ROS2. I think that ROS2 version should be written in the way like ur_ros2_driver https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver. So, I suggest to merge https://github.com/ros-industrial/abb_robot_driver and https://github.com/ros-industrial/abb_robot_driver_interfaces in to one repo abb_ros2_driver. At the moment, I am developing this in the private repo.

I think that ROS2 version should be written in the way like ur_ros2_driver https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver. So, I suggest to merge https://github.com/ros-industrial/abb_robot_driver and https://github.com/ros-industrial/abb_robot_driver_interfaces in to one repo abb_ros2_driver. At the moment, I am developing this in the private repo.

Please don't unnecessarily host packages in the same repository.
What advantage do you expect by copying the structure / repository layout of Universal_Robots_ROS2_Driver?

I thought about some kind of concept unification. However, this is just a suggestion. I have already migrated interfaces to ROS2 https://github.com/Souphis/abb_robot_driver_interfaces/tree/ros2_devel. I can stick with the current concept of abb ros driver.

PickNik Robotics has a ROS2 project that will require an ABB driver soon. I'd just like to check if the maintainers here would be open to a PR for ROS2? Or is there a better place?
Is there any current work that we could start from?  (@Souphis)
(We'll try to preserve whatever the structure currently is.)

@AndyZe due to lack of time (mostly because of my PhD) currently rewrote abb interfaces https://github.com/Souphis/abb_robot_driver_interfaces/tree/ros2_devel and started analyzing how to rewrite the hardware interface. I would love to collaborate in porting this to ROS2.

There is an old attempt available at dignakov/abb_experimental (from https://github.com/ros-industrial/abb_robot_driver/issues/6#issuecomment-753303948).
It doesn't really port abb_robot_driver though. It's more a minimal ros2_control wrapper around abb_libegm.

Hi @gavanderhoorn, I'm new to ROS2 and GitHub. Have you tested the mentioned repo?
I was trying to launch it from ROS2 Foxy, but not succeeding. In the repo they're telling that only irb120 is enabled for now, but the package "abb_irb120_gazebo" contains a "COLCON_IGNORE" file. I've tried deleting , but it seems that the launch files haven't been migrated from ROS to ROS2.
Do you know if there are advances in this topic?

If you're just starting out, I would not recommend trying 'random' Github repositories.
Especially with ros2_control and robot drivers, getting some experience with other packages in ROS 2 would be a good idea.

In the repo they're telling that only irb120 is enabled for now, but the package "abb_irb120_gazebo" contains a "COLCON_IGNORE" file

The _gazebo package is for use with Gazebo, the physics simulator. It's not intended to be used with real hw.

Sorry, I've forgot to mention. My objective is to simulate an ABB robot with ROS2-Gazebo.
What do you recommend me to do?

My objective is to simulate an ABB robot with ROS2-Gazebo.

you don't need the packages in this repository in that case.
Gazebo does not use any real hardware, so there is nothing for the driver to communicate with.

What do you recommend me to do

You could port one of the packages in ros-industrial/abb_experimental.
None of the packages there are ROS 2 compatible, but at least the .xacros should be reusable.

Okay, I'll try it. Thanks and sorry if it wasn't the place for my question.

Please don't unnecessarily host packages in the same repository.
What advantage do you expect by copying the structure / repository layout of Universal_Robots_ROS2_Driver?

What I like about putting the robot description and config package in the same driver is, it's very easy for first-time users. There's only one Readme to find. There's only one repo to clone.

What I like about putting the robot description and config package in the same driver pkg is, it's very easy for first-time users. There's only one Readme to find. There's only one repo to clone.

while true, developing for "first-time users" is not really something I believe should be the goal.
Over the past 10 years, such decisions have made maintenance and development in ROS 1 quite a bit more difficult than it necessarily had/has to be.
Separation of concerns is a very worthwhile principle to apply, if only, in this case, to avoid duplication of effort/files/etc.

Not sure how relevant this is, but someone seems to have a working ROS2 ABB YuMi driver.
https://github.com/matiov/disambiguate-BT-execution/tree/master/world_interface/abb_robot
https://github.com/matiov/disambiguate-BT-execution#disclaimer

Ah, excuse my ignorance, I'm relatively new in the field.

No need to apologise.
I just wanted to clarify why it would 'make sense' for that someone to have worked on a ROS 2 version.

Hi!
Any update on this? We are trying to use ROS2 humble for a IRB 140. At first glance, we thought on bridge connection and have a ROS1 instance running to connect to HW and ROS2 process to send the desired joint config.


feat: make Fact testable for slim_check

Closes #12565
Also adds a sort-of-missing g.withContext. I don't think its absence causes any errors.

Please go ahead and merge once CI is happy!
bors d+

bors r+


Is there a way to simply export a js array as excel?

I am try to find a way to export js array to excel(not csv). I would be appreciate a lot if excellentexport support this.
Thanks

+1 for this, please document!

+1

It will be available on version 3.0.0


⚠ T:Riza Community Forum has degraded performance

In 1cd0e02, T:Riza Community Forum (https://community.triza.dev) experienced degraded performance:

HTTP code: 200
Response time: 3433 ms

Resolved: T:Riza Community Forum performance has improved in 28fbbf4.


Fix various issues with scanning sitemaps and implement scanning of local sitemaps

Improvements:

Identification and handling of different sitemap types
URL fetching based on sitemap type identified
Whitelisting of HTML pages, marks non-HTML pages as invalid
Handle case where no pages are scanned during a run
Scanning of sitemap file provided locally
Allow leading and trailing whitespaces and quotation marks in the URL or file path given by the user
Implement CLI option to customise maximum number of pages to scan

LGTM


Problem with update react 18 and node 20

I am trying to update my application with realflow from reactjs 16 to reactjs 18 and i get error for missing file with extension. I was using react default with JS.

[ ] Regression (a behavior that used to work and stopped working in a new release)
[X] Bug report
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Other... Please describe:

Current behavior
After update with node update i get error

`ERROR in ./node_modules/reaflow/dist/index.js 19:0-40
Module not found: Error: Can't resolve 'elkjs/lib/elk.bundled' in 'D:\CODE\Projects\is-suk-client\node_modules\reaflow\dist'
Did you mean 'elk.bundled.js'?
BREAKING CHANGE: The request 'elkjs/lib/elk.bundled' failed to resolve only because it was resolved as fully specified
(probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"').
The extension in the request is mandatory for it to be fully specified.
Add the extension to the request.`

What is the motivation / use case for changing the behavior?
I can't change lib and see only dist folder in node_modules but my settings is with "type": "module" in package.json.
Environment

Libs:
- react version: 18.2.0
- reaflow version: 5.2.6
- @mui/materia version: 5.14.15

Browser:
- [X] Chrome (desktop) version XX
- [ ] Chrome (Android) version XX
- [ ] Chrome (iOS) version XX
- [X] Firefox version XX
- [ ] Safari (desktop) version XX
- [ ] Safari (iOS) version XX
- [ ] IE version XX
- [ ] Edge version XX

For Tooling issues:
- Node version: v20.8.1
- Platform: Windows 11

What build system are you using?

I don't know on what your ask? npm and windows :)

create-react-app? vite? webpack?

aha webpack


Support Teams message edit, message soft delete, message undelete activities

This PR aims to extend the Bot SDK so that developers can consume newly added events that Teams will emit to the bot. They are:
TeamsMessageEdit - a user editing a message in Teams.
TeamsMessageUndelete - a user undo a deleted message in Teams.
TeamsMessageSoftDelete - a user soft deleting a message in Teams.
Closes #6565
Description
Support message update activity and message delete activity in activity handler
Override OnMessageUpdateActivityAsync in Teams activity handler;
Support it for editing messages and undelete message event types
Override OnMessageDeleteActivityAsync in Teams activity handler;
Support it for soft delete message event type
Specific Changes

In ActivityHandler, added OnMessageUpdateActivityAsync and OnMessageDeleteActivityAsync
In TeamsActivityHandler, override the above two methods and add logic based to eventType
OnMessageUpdateActivityAsync could call OnTeamsMessageEditAsync or OnTeamsMessageUndeleteAsync
OnMessageDeleteActivityAsync could call OnTeamsMessageSoftDeleteAsync
added related unit tests in ActivityHandlerTests and TeamsActivityHandlerTests

Testing
In ActivityHandlerTest, added the following 2 unit tests

TestMessageUpdateActivity
TestMessageDeleteActivity

In TeamsActivityHandlerTests, added the following 3 unit tests

TestMessageUpdateActivityTeamsMessageEdit
TestMessageUpdateActivityTeamsMessageUndelete
TestMessageDeleteActivityTeamsMessageSoftDelete

Pull Request Test Coverage Report for Build 331352

0 of 0   changed or added relevant lines in 0 files are covered.
33 unchanged lines in 5 files lost coverage.
Overall coverage decreased (-0.002%) to 79.06%

Files with Coverage Reduction
New Missed Lines
%

/libraries/integration/Microsoft.Bot.Builder.Integration.AspNet.Core/ServiceCollectionExtensions.cs
1
93.55%

/libraries/AdaptiveExpressions/BuiltinFunctions/StringTransformEvaluator.cs
1
83.33%

/libraries/Microsoft.Bot.Builder.LanguageGeneration/Evaluator.cs
1
95.42%

/libraries/Microsoft.Bot.Builder/Teams/TeamsActivityHandler.cs
3
77.62%

/libraries/Microsoft.Bot.Builder/ActivityHandler.cs
27
81.94%

Totals

Change from base Build 329938:
-0.002%

Covered Lines:
25715

Relevant Lines:
32526

💛  - Coveralls

:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.dll

@microsoft-github-policy-service agree [company="{your company}"]

@microsoft-github-policy-service agree company="Microsoft"

:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.dll


add RIESelect component

I needed a select component in a project I'm working on and figured I'd do a solid and add it to this repo, I really like what you've build here.
Let me know if there's anything I could change in this commit. I chose to pass the select options as an object, but it could just as easily be passed as a list of objects like so:
[
  { value: "1", text: "one" },
  { value: "2", text: "two" },
  { value: "3", text: "three" },
  { value: "4", text: "four" }
]

could be clearer
more typing
can use map instead of for loop

I had to put a conditional in RIEBase.js since <select> elements don't have the function setSelectionRange.

I thought about passing select options as an object and decided that was the best way to go. It's more elegant this way and also makes it easier to convert data from a database into this format.
I changed value to id because the word 'value' is already used in the code.

If we don't want to edit the base class then we could redefine selectInputText in RIESelect

Just installed this PR and played around with it some in a site I'm building. It works just fine but I question if it's necessary? With this in-place select component you have to click it twice to edit it whereas with a normal select you need to click just once which seems more in-line with this lib's philosophy.
Thoughts? Perhaps just recommend people use a normal <select>.

Thanks for checking out the PR!
I'd like to not see a select box when displaying the data but I'd like to see the select box when editing. Clicking twice is inconvenient, but figuring out how to open the select box on the first click would be a great future PR.

You can hide all the select-looking stuff with CSS so it just looks like text until you click it.

That's a screenshot from a current project. "purchase" is the select.

Hey, sorry it took so long, It is merged and published as v 1.0.5 now!

To open the select immediately you can I believe just pass the click through.


Impossible to have views of same file in different scroll positions

I mean. Should it be view:set_selections?
Could sth like that even be done using a plugin?

OK, it is possible and quite OK, but you cannot maintain different saved cursor positions in different views of the same doc


design a spring boot based web application having all basic webelements

designed a web application to support registration and login workflows

This should be done as development of each story related to an element


Undefined variable in Rakefile

Cookbook version
3.1.0
Mapping of the exception to a variable is missing in the this rescue clause.

Fixed in c17058e4598b3f56bbf9605ecb6826e7c4747e4c


Conect just in one way

Hello I have configured webrtc but it just conectate or handshake in one way for example the person 1 in one network 1 and person 2 in other network 2 but if I conectate person 1 in conexión 2 and viceversa it don't work

AppRTC or WebRTC?


can you share a video of result

Once I finish the new features I've been working on, I will post a showcase and link it here! :D


Can't seem to embed into a NavigationView

Wonderful job on this. Answered my prayers... almost. But, I need to embed it in a NavigationView... which does not seem to work...

Hi @parisman ,
What's your issue exactly? I have several examples here and in all of them I use a NavigationView, have you checked them?

Fernando,
Thanks for the outreach. The issue is that I want to put your view inside of a NavigationView, not the other way around...
Cheers,
Lee
Sent via iPhone.

On Apr 8, 2020, at 3:32 AM, Fernando<EMAIL_ADDRESS>wrote:

Hi @parisman ,
What's your issue exactly? I have several examples here and in all of them I use a NavigationView, have you checked them?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Hi @parisman ,
I think you mean embed NavigationView inside Pager which is not possible. NavigationView is designed to be the top most view in the view hierarchy. If you want to change the title or the navbar buttons depending on the page, you can do something like:
@State var page = 0

var body: some View {
     NavigationView {
         Pager(page: $page, ...)
               .navigationBarTitle(title(forPage: page))
     }
}

func title(forPage page: Int) {
     return page % 2 == 0 ? "Even" : "Odd"
}

The examples that I shared with you embed a Pager into a NavigationView. The other way round as I said isn't possible.
Cheers

Hi @fermoya ,
I think I may know what @parisman means, as I have the same question.
The example in your project is using plain values (Int) as the data. I am using a struct, received from server side. For each struct instance, a custom view is displayed. In that custom view, there is a NavigationLink linking to a detail view.
When I tap on the NavigationLink, it goes to the detail view but pops out immediately. This might have the same root cause as https://stackoverflow.com/questions/58302913/swiftui-navigationlink-pops-immediately-if-used-within-foreach/58305884#58305884
However in my code, data are always in the view model. By observation, it seems the redraw happens on the Pager. Would it be possible that the Pager itself triggers it for change of GeometryReader?
Thanks

Hi @wuyb , can you share some code, please? What version are you using? The GeometryReader should affect Pager once, onAppear


[Question] Sequential task learning

Thank you for this excellent work, open sourcing the code, and the accessible write-ups. Did you by any chance already evaluate the model under sequential task learning? I'd like to know if this model has any appreciable impact (positive or negative) on learning interference / catastrophic forgetting.

Hi @iandanforth, we didn't try training PlaNet a continual learning setting yet.


Add profile agent reporting to ClientIOBench

Build finished. Test PASSed.

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

Build finished. Test FAILed.

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

Build finished. Test PASSed.

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

Build finished. Test FAILed.

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

Merged build finished. Test PASSed.

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

Build finished. Test FAILed.

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

Build finished. Test PASSed.

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

Build finished. Test FAILed.

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

Build finished. Test FAILed.

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

Build finished. Test FAILed.

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

Merged build finished. Test FAILed.

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

Merged build finished. Test FAILed.

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

alluxio-bot, check this please.

Merged build finished. Test FAILed.

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

Merged build finished. Test PASSed.

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

Merged build finished. Test PASSed.

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

Merged build finished. Test PASSed.

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

LGTM after gene's request. There are some minor things that could be changed but probably should just be done for next version.

Merged build finished. Test FAILed.

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

jenkins, test this please

Merged build finished. Test PASSed.

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

alluxio-bot, merge this please


Source and source list not available for Philips TV (philips_js)

Home Assistant release with the issue:
86.4

Last working Home Assistant release (if known):
Unknown, long time ago at least.
Operating environment (Hass.io/Docker/Windows/etc.):
Docker on Ubuntu 18.04

Component/platform:
Philips_js (Jointspace API)

Description of problem:
Source list not filled in Home assistant, while API returns it. UI does not show current source and doesn’t show source list.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
media_player:
  - platform: philips_js
    host: <IP_ADDRESS>

Traceback (if applicable):
N/A

Additional information:
If I go manually to http://<IP_ADDRESS>:1925/1/sources in the web browser it returns the following
{
	"tv": {
		"name": "Watch TV"
	},
	"hdmi1": {
		"name": "HDMI 1"
	},
	"hdmi2": {
		"name": "HDMI 2"
	},
	"hdmi3": {
		"name": "HDMI 3"
	},
	"hdmiside": {
		"name": "HDMI Side"
	},
	"ext1": {
		"name": "EXT 1"
	},
	"ypbpr": {
		"name": "Y Pb Pr"
	},
	"vga": {
		"name": "VGA"
	}
}

Current source: http://<IP_ADDRESS>:1925/1/sources/current
{
	"id": "hdmi1"
}

This is a bug upstream I think. See my fix here https://github.com/danielperna84/ha-philipsjs/pull/8
I've not gotten around to fixing the last comments.

If needed I can help you with testing, let me know

Hello guys, is this going to be fixed anytime soon? Thank you

I've created a pull request on this issue. Think you guys could give it a try? If you have v6/v5 supporting tv's it would be very nice to get some testing on those too.


Which  statistical test to use to see which cell types frequency  differ between cohorts?

[ ] Additional function parameters / changed functionality / changed defaults?
[ ] New analysis tool: A simple analysis tool you have been using and are missing in sc.tools?
[ ] New plotting function: A kind of plot you would like to seein sc.pl?
[ ] External tools: Do you know an existing package that should go into sc.external.*?
[ ] Other?

Hi,
If this is frequency table per cohort
which test to use to identify significant cell type per group?

...

Hi @FADHLyemen,
You can export the raw count table (before calculating the percentage) into R for downstream analysis using edgeR. You can follow the following link to find further information: https://bioconductor.org/books/release/OSCA/multi-sample-comparisons.html#differential-abundance
Regards,
Mikhael

Hey! Check out scCoda for a differential abundance testing framework in python that is anndata compatible. As statistics are calculated on the sample level, you would however need more than 2 samples to be able to assess significance.


various suggestions

to dpkg divert files use https://packages.debian.org/buster/config-package-dev / https://debathena.mit.edu/config-package-dev/ rather than directly using dpkg divert

avoid dpkg diversions by making use of default PATH? If you were to ship /usr/bin/update-grub then that would take preference over /usr/sbin/update-grub so original /usr/sbin/update-grub does not need to be touched?

there is limited ubuntu specificity. Avoid writing ubuntu whenever possible. That would make it easier to merge this into Debian so it can then flow down into any Debian based Linux distribution.

try to merge this upstream?

i like the suggestions. I did try some merge upstream but i think its dormant.


script is encoding low res files to higher res

Hi,
I am using the script with Random-Ninjas sonarr-sma docker to encode downloads to 1280x720 hevc and all is working great except it tries to encode low res files (640x352) to 1280x720.  I have specified 1280 in the script thinking/hoping it would only encode files with 1280 as a minimum and just copy/ignore anything below 1280.  Is this by design?
[Video]
codec = h265, x265, hevc
bitrate = 0
crf = 24
crf-profiles =
max-width = 1280
profile =
max-level = 0.0
pix-fmt =

sorry, this was my misunderstanding.


You need to use a Theme.AppCompat theme (or descendant) with the design library.

Hi,
I am getting this error.  I added the l;ibrary to Protable, IOS, and Droid.  I also initiated the FloatingActionButtonRenderer.
Thanks

This means your activity's style needs to inherit from App compat. You can set this in the Activity Attribute above your Activity or in your Android Manifest file.

Closing since this is simply an Android requirement to use the FAB in general. Read more about it here: https://stackoverflow.com/questions/21814825/you-need-to-use-a-theme-appcompat-theme-or-descendant-with-this-activity


Monitoring pipelines from the outside

Is your feature request related to a problem? Please describe.
In our company we use centralised systems to monitor "things" (infrastructure, applications, containers, lambdas, ...) and it would be nice to have the possibility to monitor mage's pipelines from that centralised system, without having to open mage (which also means less people having the authorisation to access it)
Describe the solution you'd like
I'd like to have "exports" of what's happening inside mage in near real time
Describe alternatives you've considered
Right now I see to "easy" possibilities:

have dedicated logs for high level pipelines, with precise messages to show the execution and problems of pipelines
have another opentelemetry service which only shows pipelines, with timings, logs, results and so on...

I second this idea! I am looking for a solution which involves writing logs to fluentd to store them in Grafana Loki.
Also, it would be great to export Pipeline-Level logs in a Prometheus compatible format. I read about a metric endpoint being already implemented, but I think pipeline runs are not included as metrics, are they?