Terminal disappears when lazy-loading this plugin

Encountered this issue and have managed to isolate the problem to be lazy loading this plugin with Packer.
use({
  "mfussenegger/nvim-dap",
  config = function()
    -- Open to side
    local dap = require("dap")
    dap.defaults.fallback.terminal_win_cmd = "10split new"
  end,
})

use({
  "rcarriga/nvim-dap-ui",
  requires = "mfussenegger/nvim-dap",
  -- after = "nvim-dap",
  config = function()
    require("dapui").setup()
  end,
})

It works with "requires" but not "after" (commented out).

I'm not sure after is the only one that breaks it, I'm not familiar with how packer handles loading but it's probably because you're doing this
    dap.defaults.fallback.terminal_win_cmd = "10split new"

That option is how dap-ui controls the terminal https://github.com/rcarriga/nvim-dap-ui/blob/c8ce83a66deb0ca6f5af5a9f9d5fcc05a6d0f66b/lua/dapui/elements/console.lua#L16.
Why are you setting that?

Not sure why the dapui function doesn't work, but setting it to "10split new" achieves my desired position.

Having a look at the source code, I'm not sure why there is an immediate vim.schedule to close the buffer.
https://github.com/rcarriga/nvim-dap-ui/blob/c8ce83a66deb0ca6f5af5a9f9d5fcc05a6d0f66b/lua/dapui/elements/console.lua#L34
Removing this line resolves the issue, but creates a popup in a weird location.

What behaviour are you expecting exactly? nvim-dap-ui controls the console window, you shouldn't be setting terminal_win_cmd manually.

You can do that using the layouts option in dapui.setup, of course adjusting sizes as you wish. If you want the console above the REPL, you can just switch their position in the list
  require("dapui").setup({
    layouts = {
      {
        elements = {
          "scopes",
          "breakpoints",
          "stacks",
          "watches",
        },
        size = 40,
        position = "left",
      },
      {
        elements = {
          "console",
        },
        size = 10,
        position = "bottom",
      },
      {
        elements = {
          "repl",
        },
        size = 10,
        position = "bottom",
      },
    },
  })

I'm not able to reproduce. Please provide a minimal init.lua to reproduce, otherwise I cannot investigate further.
Here is the start of one without debuggers setup
nvim --clean -u minimal.lua
-- ignore default config and plugins
vim.opt.runtimepath:remove(vim.fn.stdpath("config"))
vim.opt.packpath:remove(vim.fn.stdpath("data") .. "/site")
vim.opt.termguicolors = true
vim.opt.laststatus = 0

-- append test directory
local test_dir = "/tmp/nvim-config"
vim.opt.runtimepath:append(vim.fn.expand(test_dir))
vim.opt.packpath:append(vim.fn.expand(test_dir))

-- install packer
local install_path = test_dir .. "/pack/packer/start/packer.nvim"
local install_plugins = false

if vim.fn.empty(vim.fn.glob(install_path)) > 0 then
  vim.cmd("!git clone https://github.com/wbthomason/packer.nvim " .. install_path)
  vim.cmd("packadd packer.nvim")
  install_plugins = true
end

local packer = require("packer")

packer.init({
  package_root = test_dir .. "/pack",
  compile_path = test_dir .. "/plugin/packer_compiled.lua",
})

packer.startup(function(use)
  -- Packer can manage itself
  use("wbthomason/packer.nvim")

  use({ "mfussenegger/nvim-dap" })

  use({
    "rcarriga/nvim-dap-ui",
    requires = "mfussenegger/nvim-dap",
    after = "nvim-dap",
    config = function()
      require("dapui").setup({
        layouts = {
          {
            elements = {
              "scopes",
              "breakpoints",
              "stacks",
              "watches",
            },
            size = 40,
            position = "left",
          },
          {
            elements = {
              "console",
            },
            size = 10,
            position = "bottom",
          },
          {
            elements = {
              "repl",
            },
            size = 10,
            position = "bottom",
          },
        },
      })
    end,
  })

  if install_plugins then
    packer.sync()
  end
end)

vim.cmd([[
command! DapUIToggle lua require("dapui").toggle()
]])

So is this still an issue? If so then I'll still need a minimal reproduction.

Yep!
Minimal config:
-- ignore default config and plugins
vim.opt.runtimepath:remove(vim.fn.stdpath("config"))
vim.opt.packpath:remove(vim.fn.stdpath("data") .. "/site")
vim.opt.termguicolors = true
vim.opt.laststatus = 0

-- append test directory
local test_dir = "/tmp/nvim-config"
vim.opt.runtimepath:append(vim.fn.expand(test_dir))
vim.opt.packpath:append(vim.fn.expand(test_dir))

-- install packer
local install_path = test_dir .. "/pack/packer/start/packer.nvim"
local install_plugins = false

if vim.fn.empty(vim.fn.glob(install_path)) > 0 then
  vim.cmd("!git clone https://github.com/wbthomason/packer.nvim " .. install_path)
  vim.cmd("packadd packer.nvim")
  install_plugins = true
end

local packer = require("packer")

packer.init({
  package_root = test_dir .. "/pack",
  compile_path = test_dir .. "/plugin/packer_compiled.lua",
})

packer.startup(function(use)
  -- Packer can manage itself
  use("wbthomason/packer.nvim")

  -- Debug Adapter Protocol
  use("mfussenegger/nvim-dap")

  use({"nvim-telescope/telescope.nvim", requires = "nvim-lua/plenary.nvim"})

  -- Debugger Telescope extension
  use({
    "nvim-telescope/telescope-dap.nvim",
    after = { "nvim-dap", "telescope.nvim" },
    config = function()
      local telescope = require("telescope")
      telescope.load_extension("dap")
      vim.keymap.set("n", "<Space>dc", telescope.extensions.dap.configurations, { desc = "configurations" })
      vim.keymap.set("n", "<Space>d?", telescope.extensions.dap.commands, { desc = "comands" })
      vim.keymap.set("n", "<Space>df", telescope.extensions.dap.frames, { desc = "frames" })
      vim.keymap.set("n", "<Space>dv", telescope.extensions.dap.variables, { desc = "variables" })
      vim.keymap.set("n", "<Space>d/", telescope.extensions.dap.list_breakpoints, { desc = "breakpoints" })
    end,
  })

  -- Debugger UI
  use({
    "rcarriga/nvim-dap-ui",
    after = "nvim-dap",
    config = function()
      require("dapui").setup()
      -- Open terminal to side
      -- NOTE: https://github.com/rcarriga/nvim-dap-ui/issues/148
      require("dap").defaults.fallback.terminal_win_cmd = "10split new"
    end,
  })

  -- use({
  --   "theHamsta/nvim-dap-virtual-text",
  --   after = { "nvim-dap", "nvim-treesitter" },
  --   config = function()
  --     require("nvim-dap-virtual-text").setup()
  --   end,
  -- })
  --
  -- -- Debugger installer
  -- use("Pocco81/dap-buddy.nvim")

  -- Language-specific debugger setup
  use({
    "mfussenegger/nvim-dap-python",
    ft = "python",
    config = function()
      -- SETUP: pip install debugpy
      local dap_python = require("dap-python")
      dap_python.setup()
      dap_python.test_runner = "pytest"
    end,
  })

  use({ "mfussenegger/nvim-dap" })

  if install_plugins then
    packer.sync()
  end
end)

vim.cmd([[
command! DapUIToggle lua require("dapui").toggle()
]])

Reproduce steps:

Open a Python file which prints output
Launch :Telescope dap configurations or <Space>dc and select python: launch file
Terminal should appear if line 61 is uncommented, but won't if line 61 isn't.

Terminal should appear if line 61 is uncommented, but won't if line 61 isn't.

As I said, this option is used by nvim-dap-ui. You should not be using it directly and any weird behaviour is because of that. Control the window placement using nvim-dap-ui instead.

This makes the console hard to be extensible :/
Is it possible to do something like this - perhaps an API to check if the dapui view is active (see TODO: here)? This will help resolve my two use cases (dapui for debugging, dap for running programs with a minimalistic console).
local dapui_terminal = dap.defaults.fallback.terminal_win_cmd
dap.defaults.fallback.terminal_win_cmd = function()
  local dapui_active = false -- TODO: here
  if dapui_active then
    return dapui_terminal()
  else
    local cur_win = vim.api.nvim_get_current_win()
    -- open terminal
    vim.api.nvim_command("10split new")
    local bufnr = vim.api.nvim_get_current_buf()
    local win = vim.api.nvim_get_current_win()
    -- restore original position
    vim.api.nvim_set_current_win(cur_win)
    return bufnr, win
  end
end

If you use the layouts from this comment https://github.com/rcarriga/nvim-dap-ui/issues/148#issuecomment-1269523616, then you can just call require("dapui").toggle(2) to toggle just the console window, does that not cover both use cases?

That seems to cover my use cases! Additionally, I want require("dapui").toggle(2) to activate automatically when I run tests or launch from :Telescope dap configurations. The code below achieves this:
local dapui_terminal = dap.defaults.fallback.terminal_win_cmd
dap.defaults.fallback.terminal_win_cmd = function()
  local result = dapui_terminal()
  require("dapui").toggle(2)
  return result
end

However, the issue I'm running into now is that if the console (2) element is showing, running require("dapui").toggle() with the intent of showing the entire UI will be missing these two elements (since they have been toggled again. Is there a way to toggle so that all elements are showing (1 + 2) even if (2) is already shown?

Thanks, that resolves both use cases! Unrelated to this issue, is there a way to split the bottom repl + console so that the repl spans 30% of the bottom row?
require("dapui").setup({
  layouts = {
    {
      elements = {
        -- Elements can be strings or table with id and size keys.
        { id = "scopes", size = 0.25 },
        "breakpoints",
        "stacks",
        "watches",
      },
      size = 40, -- 40 columns
      position = "left",
    },
    {
      elements = {
        { id = "repl", size = 0.3, position = "left" },
        "console",
      },
      size = 0.25, -- 25% of total lines
      position = "bottom",
    },
  },
})

Ah the window logic doesn't seem to behave well when all sizes are not specified. Specify the console size and it should work as expected
        { id = "repl", size = 0.3 },
        { id = "console", size = 0.7 },

Perfect, that resolves all my issues! Thanks so much for all the help :))


Adding a build of ml5 library to repo

@joeyklee FYI I am putting a build of the library here which can then be accessed via a CDN, i.e.
<script src="https://cdn.jsdelivr.net/gh/ml5js/Intro-ML-Arts-IMA/ml5_build/ml5.min.js"></script>

Seeing if this makes things easier to work with in class.

Noting the source branch has to be referenced, i.e<EMAIL_ADDRESS>


Bugfix When the base graphql operation is in lower case the generated…

Bugfix When the base graphql operation starts with a  lowercase name the generated response data structures are also generated as private structs (with lower case) but are used in public getter functions. They should start with a capital character for their name.
This bugfix makes sure that the type name always starts with a capital character, so its exported and can be used outside the generated package

@michaelboke Thanks! Can you modify the content of actions?

@michaelboke Thanks! Can you modify the content of actions?

The depreciation of string.Title.... changed it to the recommended cases package 👍


We need to update documentation and comments here to reflect that parent_codes must be formatted in a specific way.

https://github.com/Medical-Event-Data-Standard/meds/blob/5f87c2fdcce7f8bab46af6f81ef7892fdee098c1/src/meds/schema.py#L134
@EthanSteinberg is the following language accurate for their constraints?
parent_codes must be a list of strings, each string being a parent code in the OMOP concept space corresponding to this code. Here, a "parent" means that this code must be a realization of either the referenced OMOP concept or a more specific example of said concept. OMOP concepts are referenced in these strings via the format "$VOCABULARY_NAME/$CONCEPT_NAME". For example: "ICD9CM/487.0"

I don't think that's quite right, as parent_codes should, and will, contain non-OMOP concepts to handle dataset specific ontology structures.

parent_codes must be a list of strings, each string being a higher level code that represents a generalization of the provided code. Parent codes can use any structure, but is recommended that they reference OMOP concepts whenever possible, to enable use of more generic labeling functions and OHDSI tools. OMOP concepts are referenced in these strings via the format "$VOCABULARY_NAME/$CONCEPT_NAME". For example: "ICD9CM/487.0"

Can you suggest some updated language @EthanSteinberg? I want to make sure it is accurately described.

What's wrong with the language I posted above in my original reply?

I apologize -- I didn't realize you had modified the quoted text, I thought you were just commenting on that block specifically in your reply. That text looks great. Thank you!


There is a crash when enter any song

Describe your problem here.
So. I downloaded the new JSengine vercion and when i go to some song from D&B Nullfield or any song. just
crashed

If someone knows why this happend it will appreciate much for the help
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

are you using the box funkin hud? don't use that right now

are you using the box funkin hud? don't use that right now

yeah. i was using that hud lmao

are you using the box funkin hud? don't use that right now

yeah. i was using that hud lmao

and can i ask. why that happends? just for curiosity

idk it tries making a new timetxt without destroying it first i guess

o

idk it tries making a new timetxt without destroying it first i guess

Dude, you should make the different functions for HUD


Added demo for #6

I'm not reviewing the code on this one as it's only about the renderer. All good


Update question on HTML checkboxes

What general issue would you like to create?
I would like to update the question here
https://github.com/freeCodeCamp/Developer_Quiz_Site/blob/main/src/data/html-quiz.ts#L508-L518
original question
In HTML, what attribute should you add to  to create a checkbox?
revised question
In HTML, which attribute is used in the input element to create a checkbox?
How to Contribute
Please read through our Contributing docs and Code of Conduct
This issue is available for assignment only.
If you are interested in working on this issue, please reply back that you wish to be assigned.
Assignment will be given on a first come basis.
We will only accept PR’s with the person assigned to the issue.
Happy hacking!

Hey @jdwilkin4, can i work on this issue?

@Anish-Sarawgi its all yours

Hey @jdwilkin4, i have made the required changes. Please have a look.


Split file directory from GitHub files

Purpose
The following is aimed to introduce a contribution pattern that separates sections from other sections..
Such as the following change Seperates Github and git related code from the Core files of the engine itself..
This is not commonly done with most open source engines, but it clears the repository and makes it better maintainable additionally if there were to be added Doc files for a website etc.
Changes
Seperated Git and github files from Engine files
Updated Gitignore to avoid including the debug and release folder data / temporary files in directories..
Note
Includes Update in solving DLLs in Build and search paths see the following
->
The following is an update for the previous Pull-Request, please see the following https://github.com/JDSherbert/Sherbert-Engine/pull/16 before merging!!
The change is the specific a directory specific to the required DLL files that the project Requires.
Preparation for including DLLs into the root directory of the build with Build-Events when it is being created. See the following as an example https://github.com/VerzatileDevOrg/VS.DLLinFolder and solves the issue for the following https://github.com/JDSherbert/Sherbert-Engine/issues/11
Notice
The DLLs of Debug and Release did not seem to be specific to the version so only one version from the debug is included for the DLLs folder.
-> Give search Pathing for DLLs from Root, Folder, System & Online if Required.
-> Pre-Link Event  (Includes the specified paths DLLs into both the Debug and Release Folders when being built and Pre links them before the final .exe is built),

Referencing the previous:
The DLLs of Debug and Release did not seem to be specific to the version so only one version from the debug is included for the DLLs folder.
DLLs
Are specific to Debug and Release versions with separate use cases and abilities similarly reflected file size.


Check usability on NFS filesystem (and or GPFS?)

Apart from typical local FS, I expect that users might want to use on network file systems, that might not be able to provide certain guarantees like the atomicity of certain operations.
I am anyway setting this as "nice to have" because (I think that) with non-concurrent packing, the risks of problems are relatively low. This should be instead addressed as soon as we have fixed #4.

Here is a summary of some tests I performed to check the behaviour in GPFS systems. We still need to check how to repeat this tests in NFS to have a more complete picture.
TESTS PERFORMED:
First I check that all the pytests in the test folder run with no problem, then I run test/test_benchmark.py and disk-objectstore/examples/example_objectstore.py a couple of times (3-5) to check consistency of the results. To try different partitions I will change the dirpath = tempfile.mkdtemp() line in tests/conftest.py for the first one, and use the -p path/to/dir for the second one. Also, in the second case I will run with -n 10000 for sufficient time sampling, as well as with/without -d to test the case of directly writing to packs.
SYSTEMS TESTED:
I have tried running these tests in my own desktop at EPFL (both in my /home and in /tmp, because they are in different drives), as well as in the EPFL cluster fidis (only in my /home) and in CSCS cluster Piz Daint (both in my /home and /scratch, which seem to be in different kinds of partitions).
SUMMARY OF RESULTS:

All benchmarks and tests seemed to be around the same order of magnitude. This also includes the results for the /home and /tmp partitions in my theospc (noting that the first resides in a magnetic drive and a second in a solid state one), where the only noticeable improvement was when writing loose objects (example_objectstore.py).
Inside of Daint: the /home partition seemed twice as fast as the /scratch one when running example_objectstore.py. In most of the test_benchmark.py they seemed more similar, except for test_loose_read (/home x3 faster) and test_loose_write (/home x7 faster).
Also on Daint: the max values in the test_list_all_packed and test_list_all_loose entries of test_benchmark.py were a bit too variable, changing up to more than one order of magnitude between different runs. These are relatively small values so it may not be so significant (although there are other small time values that don't change as much).
Comparing the /home of Daint and my theospc, the second one is around 3 times faster than the first. Fidis times are similar to Daint (except maybe in one or two cases, like when writing loose objects in example_objectstore.py, where the results where more similar to the ones of my theospc).

Thanks Francisco! I think then we can close this issue, keeping it here for future reference.


windows 10 problem

ive donloaded it and i try to run the program and it says it cant run on my virsion of windows 10

Well I'm not sure why that's happening but I can confirm that I have Windows 10 Pro 64 & it works flawlessly on my PC. I didn't need to go to Compatibility settings.
Maybe your download & files corrupted, try downloading it again.


Recovery without console access

We should document how to trigger a recovery when you aren't able to change the grub option selected at boot time.
The steps are:

Mount COS_STATE
Edit grubconfig inside the COS_STATE parition to set GRUB_DEFAULT to recovery

This seems already documented here: https://rancher-sandbox.github.io/cos-toolkit-docs/docs/customizing/configure_grub/#default-boot-entry

Closing


"race weekend": a system to specify different sessions across different days (within championships)

If I understand it correctly, is exactly what I was looking for. In our league immediately after a race we would turn the server on for the next one. That could be a week's time or two. People will start practicing on the server and want to compare between themselves, see where they are losing time, generate banter, etc. At the moment the results page shows individual sessions, but I have no way to see all best times from practice for a particular track.
This is what we use for rFactor2 and works really well. Shows the best lap of each driver and then if you drill in you can view all individual laps. To be honest, only the first part is needed (overall best lap), so people know how far off are from the top guys :)
http://hlssim.com/hotlaps/Circuito.aspx?id_track=18345&id_comunidad=15&id_campeonato=9302

This I think is more linked to #262, showing best laps with certain car/track combinations etc. Currently if you run a championship and use the looping practice session provided your best times should be stored in the live timings page, but a system like this would be a definite improvement.

Following some testing last night, I can confirm that EntryList positions are respected in sessions that just have a Race event. So for example an EntryList with the following:
[CAR_0]
DRIVERNAME=Callum

[CAR_1]
DRIVERNAME=John

[CAR_2]
DRIVERNAME=

[CAR_3]
DRIVERNAME=Joseph

Would correctly place the grid as follows:

Callum
John

Joseph

This is the only Assetto Corsa feature that this ticket requires, so work can begin for this towards 1.4 when we get around to it.


Code signing on macOS fails.

I got the following error message:
[tauri:build] Binary stripped, size reduced by 1.69 MB
    Bundling gh-action-tauri.app
info: setup keychain from environment variables...
Error running CLI: failed to bundle project: failed to import keychain certificate Ok(""): failed to import keychain certificate Ok("")
Error: Command failed with exit code 1: npx tauri build

.github/workflows/publish.yml:
name: 'publish'
on:
  push:

jobs:
  publish-tauri:
    strategy:
      fail-fast: false
      matrix:
        platform: [macos-latest, ubuntu-latest]

    runs-on: ${{ matrix.platform }}
    steps:
      - uses: actions/checkout@v2
      - name: setup node
        uses: actions/setup-node@v1
        with:
          node-version: 16
      - name: install Rust stable
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
      - name: install webkit2gtk (ubuntu only)
        if: matrix.platform == 'ubuntu-latest'
        run: |
          sudo apt-get update
          sudo apt-get install -y webkit2gtk-4.0
      - name: install app dependencies and build it
        run: npm i
      - uses: tauri-apps/tauri-action@v0
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          ENABLE_CODE_SIGNING: ${{ secrets.APPLE_CERTIFICATE }}
          APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
          APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
          APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_IDENTITY_ID }}
          APPLE_ID: ${{ secrets.APPLE_ID }}
          APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
        with:
          tagName: app-v__VERSION__ # the action automatically replaces \_\_VERSION\_\_ with the app version
          releaseName: 'App v__VERSION__'
          releaseBody: 'See the assets to download this version and install.'
          releaseDraft: true
          prerelease: false

my actions secrets:
APPLE_SIGNING_IDENTITY="Developer ID Application: **** ******* (***FKK**3B)"
APPLE_CERTIFICATE="AgEAMIIGxQYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQYw ~ C2PDAn=="
APPLE_CERTIFICATE_PASSWORD="************"
<EMAIL_ADDRESS>APPLE_PASSWORD="*my*-*app-spec-pswd"

hi @sprout2000  were u able to fix this? i am getting same issue.

Right.
I honestly don't remember exactly, but I double quoted the Repository secrets value in the Actions secrets or vice versa and it worked.
No changes were made to the workflow file.
Hope it works out for you too.


Replicate catkin_create_package functionality to add package dependencies

Will require enumeration or at least post-processing of a prompt response (e.g. to create the <build_depend>... tags).
Can be extended to do this through maybe like a FOR_EACH DEPENDENCY_LIST , addition to templates support, but going to leave it on low priority for now.


Latest version is a breaking change

It looks like the 0.4.4 was a breaking change, but it was not tagged as such.
Could this version be yanked and instead republished as 0.5.0?

This was a bug which should have been fixed in #9. I've published a patch version which should hopefully fix the issue.
Sorry for getting to this late, for some reason I missed the notification.


calling with pro api key

Hi, I'm using a Jupyter notebook to call the coingecko api client as follows:
cg = CoinGeckoAPI(api_key = 'xxx')
This throws an error: "TypeError: init() got an unexpected keyword argument 'api_key'"
I've looked at the init function and see an variable for 'api_key' so not sure why this is failing. I've also tried per the README:
from pycoingecko import CoinGeckoAPI
cg = pycoingecko.CoinGeckoAPI(api_key='YOUR_API_KEY')
which throws another error related to the library where 'pycoingecko' is not defined.
What's the correct way to call with a pro api key?
Thanks.

Hello!
It seems like you are using a previous version of pycoingecko (PRO api is supported from version 2.3.0).
You can check your current installed version using:
pip show pycoingecko

To update pycoingecko use:
pip install -U pycoingecko

Then you can use pycoingecko with Pro API Key:
from pycoingecko import CoinGeckoAPI
cg = CoinGeckoAPI(api_key='YOUR_API_KEY')

I will update also READE to fix usage.


How to add security to my .conf file ? Or set password to it?

Command to create a client config:
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full UserName nopass

But, how to generate a password to the client conf? A key or pkcs12 file?
When I click on 'change password' on my client, I got this:

I haven't had time to go through all the wrapper scripts in this image. So the following will work, but there may be an easier way that's not clearly documented.
The easyrsa docs are somewhat helpful... somewhat. You can set a password for an existing private key generated with build-client-full .... This password encrypts only the private key. Assuming your existing config file username was jscott, you can do the following.
sudo docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa set-rsa-pass jscott

If the key is currently encrypted you must supply the decryption passphrase.
You will then enter a new PEM passphrase for this key.

writing RSA key
Enter PEM pass phrase: **********
Verifying - Enter PEM pass phrase: **********

Key passphrase successfully changed

Do the ovpn_getclient .... part again and you will have an .ovpn config with a password. Yay.
Should you want to be able to change the password from the client side you need to pull the key out of the .ovpn config and store it in a separate file. I keep my key in the same directory as the config file. Be sure to remove the <key> and </key>  lines from the key file, it must be valid PEM format. Then update the .ovpn config with a line something like this to specify the path to the key.
key jscott.key

The easyrsa docs are somewhat helpful... somewhat. You can set a password for an existing private key generated with build-client-full .... This password encrypts only the private key. Assuming your existing config file username was jscott, you can do the following.
sudo docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa set-rsa-pass jscott

If the key is currently encrypted you must supply the decryption passphrase.
You will then enter a new PEM passphrase for this key.

writing RSA key
Enter PEM pass phrase: **********
Verifying - Enter PEM pass phrase: **********

Key passphrase successfully changed

Do the ovpn_getclient .... part again and you will have an .ovpn config with a password. Yay.
Should you want to be able to change the password from the client side you need to pull the key out of the .ovpn config and store it in a separate file. I keep my key in the same directory as the config file. Be sure to remove the <key> and </key>  lines from the key file, it must be valid PEM format. Then update the .ovpn config with a line something like this to specify the path to the key.
key jscott.key
To generate the config and cert/keys as separate files under /etc/openvpn/clients/ you can do the following.
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient jscott separated


Enable gbq unit tests

Current coverage is 85.26% (diff: 100%)

No coverage report found for master at 8d1646c.

Powered by Codecov. Last update 8d1646c...55821a6


Got the error message when I refresh web portal

version: v0.5
I run a mnist experiment, and then I don't stop the experiment by the command "nnictl stop".
Because I modify some code so I run the command "source install.sh" to rebuild.
When I refresh the web portal I got the error message.

@lvybriage I could assume you are a developer, because you want to change the source code.
So, I recommend you follow this article to setup developer environment first, the intention of source install.sh  is not used for developer.

@goooxu Got it, thanks!


Is there a way to get access to the current *http.Request in middleware?

The title says it all, "Is there a way to get access to the current *http.Request in middleware?", Ideally, I would like to print out IP address, etc in fields.

What I'd recommend doing in this case is use WithFields to generate a logrus.Entry with default fields, it looks something like this:
request_logger := log.WithFields(logrus.Fields{"ip": request.RemoteAddr})
# .. stuff

request_logger.WithFields(logrus.Fields{ ... }).Info("something happened")

When you log with WithFields it actually returns a new logrus.Entry. Entries are not logged until you call one of the logging level methods, you can keep inheriting as deep as you like.
You can probably use reflection or something to do it automatically, but I'd strongly discourage that.
Have a good weekend!


Detect doublets with workflow

This issue tracks running the workflow to detect doublets across ScPCA data and generate associated results. More details to come!

I had originally assigned myself here, but given permissions, this should probably go to @jashapiro instead. (unless I should just launch the workflow from https://github.com/AlexsLemonade/OpenScPCA-nf/actions/workflows/run-batch.yml?)

You should be able to launch the workflow from https://github.com/AlexsLemonade/OpenScPCA-nf/actions/workflows/run-batch.yml
Run first with full and staging so we can make sure the results are as expected, then follow with full and prod.
I tried to give you access to the Seqera cloud workspace to monitor the run; let me know if you were able to access that.

I think the question is whether or not we want to do a semantically versioned release to accomplish this task?
@sjspielman - your permissions do not materially differ from Josh's for this task unless something fails in a specific set of ways.

I think the question is whether or not we want to do a semantically versioned release to accomplish this task?

I think we do want to get to this, maybe for the prod run, but there are a few steps before we get there: In particular, #73 is blocking  a semantic release, but that is blocked by https://github.com/AlexsLemonade/OpenScPCA-analysis/issues/623  (for which I also want to do #74). I was hoping to tackle #74  and https://github.com/AlexsLemonade/OpenScPCA-analysis/issues/623 today.

Yes, I expected there were some blockers. I've now set them as blockers. @sjspielman, I would do the staging stuff now as @jashapiro describes in https://github.com/AlexsLemonade/OpenScPCA-nf/issues/69#issuecomment-2245289871, but consider this closed when we run a prod run by tagging a semvar release.

Run first with full and staging so we can make sure the results are as expected

Results for both merge_sce and detect_doublets look as expected here!

With v0.1.0 created, the prod run of this module has been triggered. See https://cloud.seqera.io/orgs/CCDL/workspaces/OpenScPCA/watch for current progress!

The run failed, but the failure seemed to be related to an error pulling the docker image, which I would expect to be transient. The docker image was pulled successfully many times before!
Nonetheless, rather than retriggering the run directly, I think we may as well cut a point release which incorporates the change in #82, so I will take that approach.

The run https://cloud.seqera.io/orgs/CCDL/workspaces/OpenScPCA/watch/VcxEXOaURslUi  seems to be on track to finish; it is only working on the merges now and all doublet_detection is done.

The run https://cloud.seqera.io/orgs/CCDL/workspaces/OpenScPCA/watch/VcxEXOaURslUi seems to be on track to finish; it is only working on the merges now and all doublet_detection is done.

🤞

Merging successfully wrapped up 🚀 https://cloud.seqera.io/orgs/CCDL/workspaces/OpenScPCA/watch/VcxEXOaURslUi
The workflow is now exporting the last project to anndata which I expect to take a few hours.

The run completed successfully, and doublets are now available in the results release! I was able to download them successfully with ./download-results.py --modules doublet-detection 🎉🎉🎉
@Jen-OMalley we might want to make an announcement about it?

we might want to make an announcement about it?

We're discussing an announcement about this on Slack, so this issue can now be closed.


[SPARK-43176][CONNECT][PYTHON][TESTS] Deduplicate imports in Connect Tests

What changes were proposed in this pull request?
Deduplicate imports in Connect Tests
Why are the changes needed?
for simplicity
Does this PR introduce any user-facing change?
No, test-only
How was this patch tested?
updated unittests

Merged to master.


OSCI: Adds new author soumyatanwar

Description
Adds new author soumyatanwar
Issues Resolved
[List any issues this PR will resolve]
Check List

[ x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the BSD-3-Clause License.

@soumyatanwar Please move the new file to the _authors/osci_2023 directory. Otherwise looks good.

Hi @joshuarrrr - Just pushed the changes, can you please review? Let me know in case any other changes are required. Thanks!


[BUG] Can't mock against the meshes default_441 or default_445

Details:
Jotunn Version: 2.6.3
Jotunn Submodule(if applicable):
Repeatability(Consistent(100%), Inconsistent(50%), Rare(1%), Unknown(==1)): Consistent
Problem Description:
I have been using mocking in a mod I'm working on but attempts to mock the Ruby prefab so I can use the mesh default_441 (mocked as JVLmock_default_441) fails because it is unable to mock it. I've verified the behavior with default_445 as well, and swapped in a mock I know worked (a JVLmock_amber mesh) and the mocking worked as expected. It's something to do with those default_ meshes, not sure if it is all of them though or just some?
Expected Behaviour:
Be able to mock against default_441 so I can use the ruby mesh.
Actual Behaviour:
Error is thrown that it can't instantiate the default_441 mock.
Link to your server's and client's LogOutput.log
Upload to https://pastebin.com/ or simliar service

As far as I know this is not possible because the real mesh name isn't default_441 but only default. The number is only given by the decompiler not how it is named inside the project. This means there is sadly no unique name from what the mesh could be received.

Oof, that's a bummer but makes sense.


Add set/reset enums for GPIO, update to newest svd from ST

Hi, thanks for the PR.
Could you please separate in two different commits the new GPIO enumeratedValues and the new svd file?
Also, do you know what changed in the new file? The diff is huge for some reason, even if there seems to be almost the same stuff inside.

Please reject this PR. I will split it up.


Upload report to Schemathesis failed due to huge payload

Describe the bug
Payload reached size limit. Report upload failed
To Reproduce
Steps to reproduce the behavior:

Run this command st run pet-swagger --base-url=https://petstore3.swagger.io/api/v3/ --checks=all
See error

Schemathesis.io responded with HTTP 413
An error happened during uploading reports to Schemathesis.io:
Please, consider reporting the traceback below it to our issue tracker: https://github.com/schemathesis/schemathesis/issues/new?labels=Status%3A+Review+Needed%2C+Type%3A+Bug&template=bug_report.md&title=[BUG]
Response: Payload reached size limit.
Traceback (most recent call last):
File "/opt/homebrew/lib/python3.9/site-packages/schemathesis/service/worker.py", line 13, in start
consume_events(client, in_queue, test_run.run_id)
File "/opt/homebrew/lib/python3.9/site-packages/schemathesis/service/worker.py", line 33, in consume_events
client.send_event(run_id, data)
File "/opt/homebrew/lib/python3.9/site-packages/schemathesis/service/client.py", line 56, in send_event
self.post(f"/runs/{run_id}/events/", json=data)
File "/opt/homebrew/lib/python3.9/site-packages/requests/sessions.py", line 577, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "/opt/homebrew/lib/python3.9/site-packages/schemathesis/service/client.py", line 34, in request
return super().request(method, url, *args, **kwargs)
File "/opt/homebrew/lib/python3.9/site-packages/requests/sessions.py", line 529, in request
resp = self.send(prep, **send_kwargs)
File "/opt/homebrew/lib/python3.9/site-packages/requests/sessions.py", line 652, in send
r = dispatch_hook('response', hooks, r, **kwargs)
File "/opt/homebrew/lib/python3.9/site-packages/requests/hooks.py", line 31, in dispatch_hook
_hook_data = hook(hook_data, **kwargs)
File "/opt/homebrew/lib/python3.9/site-packages/schemathesis/service/client.py", line 24, in
self.hooks["response"] = [lambda response, *args, **kwargs: response.raise_for_status()]  # type: ignore
File "/opt/homebrew/lib/python3.9/site-packages/requests/models.py", line 960, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 413 Client Error: Payload Too Large for url: https://api.schemathesis.io/runs/3afaa05c-3e41-4104-889e-59f296311bc1/events/
If possible, please post a minimal version of your API schema that cause this behavior:
Was trying to test with - https://petstore3.swagger.io/api/v3/openapi.json
Expected behavior
A clear and concise description of what you expected to happen.
Environment (please complete the following information):

OS: [Mac M1]
Python version: [e.g. 3.9]
Schemathesis- 3.15.2
Open API pec - 3

Thanks! I should have thought about this :( I am reworking uploads now at #1516 and will take this into account

That's an oversight on how failures are deduplicated. Will fix it during the next hour

The fix is released in 3.15.3


Bug when click event on mobile in month mode.

When I plot event in big calendar on mobile month mode and some event has plot in the same of this picture.

When I click in top of free space of date 22 (at arrow) - It is show data of  254A in onEventCell event,
when I click in 254A event - It is show data of 244A in onEventCell event,
and when I click in 244A event - It is go to onPressCell event.
How I do fix this bug to correct show data event?

Hi @sonmybbp05 Can you share me the code how this month view is working in your device?

Hi @sonmybbp05 Can you share me the code how this month view is working in your device?

Yes, I can share it.
import React from 'react';
import { View, StyleSheet } from 'react-native';
import { Calendar } from 'react-native-big-calendar'  //Reference props and api props on https://www.npmjs.com/package/react-native-big-calendar
import BaseText from '../../components/BaseText';
import { connect } from 'react-redux';
import moment from 'moment/min/moment-with-locales';
import { COLOR_PRIMARY, COLOR_GREY } from '../../baseCSS';

export default connect(

)(props => {
  const { locale } = props;
  const [currentMonth, setcurrentMonth] = React.useState(moment());

  React.useEffect(() => {

  }, [currentMonth]);

  const styles = StyleSheet.create({
    container: { flex: 1, fontFamily:'Poppins' },
    spaceAround: { justifyContent: 'space-around' },
    row: {
      flexDirection: 'row',
    },
    block: {
      justifyContent: 'center',
      alignItems: 'center',
      borderWidth: 0,
      margin: 0,
      padding: 0,
      backgroundColor: 'white',
      borderBottomWidth: 2,
      borderBottomColor: COLOR_PRIMARY,
    },
    tenWidth: { width: '10%' },
    sevenWidth: { width: '70%' },
    growFull: { flexGrow: 1 },
    textCalendarTitle: { fontSize: 22, color: COLOR_PRIMARY },
    textCalendarTitleColor: {
      fontSize: 24,
      color: COLOR_GREY,
    },
    weekDayText: {
      fontWeight: '600',
      fontSize: 16,
      lineHeight: 20,
      color: COLOR_PRIMARY,
      paddingBottom: 0,
      marginBottom: 0,
    },
  });

  const renderBlock = (day, index, locale) => (
    <View key={index} style={[styles.block, { width: `${100 / 7}%` }]}>
      <BaseText locale={locale} style={styles.weekDayText}>
        {day}
      </BaseText>
    </View>
  );

  const renderCalendarHeader = () => {
    const weekDays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
    return (
      <View style={{paddingBottom: 10}}>
        <View style={[styles.row, styles.spaceAround]}>
          <View>
            <BaseText locale={locale} style={styles.textCalendarTitle}>
              {currentMonth.format('MMMM YYYY')}
            </BaseText>
          </View>
        </View>
        <View style={[styles.row, { paddingTop: 10 }]}>
          <View style={[styles.row]}>{weekDays.map((day, index) => renderBlock(day, index, locale))}</View>
        </View>
      </View>
    );
  }

  const preissueEvents = [
    {
        "issuerCode": "AA1",
        "symbol": "T244A",
        "color": "rgb(15,138.3735297663498,250)",
        "title": "244A",
        "start": new Date("2022-04-17T17:00:00.000Z"),
        "end": new Date("2022-04-20T17:00:00.000Z")
    },
    {
        "issuerCode": "AA2",
        "symbol": "254A",
        "color": "rgb(15,90.41592776121587,250)",
        "title": "254A",
        "start": new Date("2022-04-20T17:00:00.000Z"),
        "end": new Date("2022-04-22T17:00:00.000Z")
    },
    {
        "issuerCode": "AA3",
        "symbol": "M244A",
        "color": "rgb(15,93.63239746705548,250)",
        "title": "M244A",
        "start": new Date("2022-04-20T17:00:00.000Z"),
        "end": new Date("2022-04-22T17:00:00.000Z")
    }
]
  const CalendarTheme = {
    palette: {
      primary: {
        main: '#6185d0',
        contrastText: 'yellow',
      },
    },
  }

  return (
    <View style={[styles.container, {paddingTop:10}]}>
        <Calendar
          locale={locale}
          events={preissueEvents}
          swipeEnabled={true}
          height={600}
          mode={'month'}
          theme={CalendarTheme}
          onPressCell={(e) => {
            console.log('onPressCell', e)

          }}
          onPressEvent={(e) => {
            console.log('onPressEvent', e)
          }}
          eventCellStyle={(e) => {
            return {
              backgroundColor: e.color,
              borderColor: "black",
              borderWidth: 0.5,
              color: 'red'

            }

            }} />

    </View>

  );
});

Thank you so much @sonmybbp05 This code worked for me. Get the calendar view perfectly. Once again thank you.

Thank you so much @sonmybbp05 This code worked for me. Get the calendar view perfectly. Once again thank you.

Yes, it worked. But when you click on free space on top of date 22 and view in console you will see bug of calendar.

When I click free space on the top of date 22 : console will show element of symbol 254A but correctly it will show undefined or onPressCell.
When I click 254A on date 22 : console will show element of symbol M244A but correctly it will show element of 254A, but it is show true when click on free space on the top of date 22.
When I click M244A on date 22 : console will go to onPressCell event but correctly it will show element of M244A , but it is show true when click on 254A

I think your calendar is render with wrong data or index when have a free space on top of date. Please try and view console with my 3 test cases.
Thank you

Thanks for the feedback! I have realized there's quite some issue on the render of spanning events due to the ordering being different each day. I have been working on fixing that and hopefully can push a PR soon.

Thanks for the feedback! I have realized there's quite some issue on the render of spanning events due to the ordering being different each day. I have been working on fixing that and hopefully can push a PR soon.

Good feedback! I will wait for your fixing. Thank you.


Downloaded Pytorch, conversion doesn't run anymore (returns immediately)

I downloaded Pytorch to run conversion on the GPU
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
I am running on a conda env for 3.9 or 3.10 Python.
(nougat-env) C:\Users\user6\OneDrive\Desktop>nougat ./MyPDF.pdf -o ./TestOutput
C:\Users\user6\miniconda3\envs\nougat-env\lib\site-packages\torch\functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\TensorShape.cpp:3527.)
return _VF.meshgrid(tensors, **kwargs)  # type: ignore[attr-defined]
The following just returns immediately; I however don't see the "No GPU found. Conversion on CPU is very slow." error anymore.
I've restarted computer, recreated conda envs several times with slightly modified versionings.
Any suggestions please?

I'm also getting the following error: /usr/local/lib/python3.10/dist-packages/torch/functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3526.)
return _VF.meshgrid(tensors, **kwargs)  # type: ignore[attr-defined]
It seems to be running though but I'm not sure if the result will be valid.

@noobmaster29 thanks, did it output anything for you?

Yep took a long time. It did run and output for me.

@noobmaster29 thanks so much, i will try again.. if you find any way to display the progress let me know.. thanks :)


not able to install from NPM package: error 404

Hi there,
I am trying to update bc sans from 1.0.1 to 2.1.0 by running
npm install<EMAIL_ADDRESS>but I am receiving this error:
npm ERR! code E404
npm ERR! 404 Not Found - GET https://npm.pkg.github.com/@bcgov%2fbc-sans - npm package "bc-sans" does not exist under owner "bcgov"
npm ERR! 404
npm ERR! 404  '<EMAIL_ADDRESS>is not in this registry.
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

Any ideas whats going on and what can be done to fix it?
Thank you!

I know this is a bit old, it looks like I haven't been getting notifications, but i just tried this, and doesn't seem to be an issue, Assuming this is no longer an issue.


Reverse engineer only detects many to one relationships on the many side

Hello
When you do a reverse engineer the getters and setters are not made for the "one" side of a manyToOne relationship.
This has been an issue for our developers, but I did not see a ticket about it already on github. We have fixed this problem by modifying our Doctrine code base with code we found in stackexchange (not my favorite solution as we use composer to check out the doctrine code).
Here is the article we used to fix our code base (includes the code needed to patch the bug).
http://stackoverflow.com/questions/15474121/symfony2-doctrine2-generate-one-to-many-annotation-from-existing-database-by-d
All the best
Will Ferrer

From my understanding the "generate entities from DB schema" is more like a "nice-to-have" feature, that should not be used to create "production ready" entites. Manual adjustments on the generated entities and their mappings are expected.
I dont think that this issue classifies as a bug, but is more likely a feature request or improvement.
In my opinion this issue will not or should not be treated with high priority by the devs unless you provide a comprehensive and complete PR with test cases (not just throwing in a SO link).

This is not currently a blocker for us, my intention was to bring the matter to the developers attention to help improve the project. I am not stressing urgency to resolve the issue and while it seems like a bug to me it could be viewed as an improvement.
I will add a ticket to our backlog to create a PR with test cases as time permits.
Best
Will


Fix default output url

Overview
the default settings for outputurl would result in a broken url builded with urljoin in the storage module. This is fixed with this pull request.
Before:
urljoin('file:////tmp/T', 'output.txt') -> file://tmp/output.txt

Now:
urljoin('file:///tmp/T/', 'output.txt') -> file:///tmp/T/output.txt

Contribution Agreement
(as per https://github.com/geopython/pywps/blob/master/CONTRIBUTING.rst#contributions-and-licensing)

[ ] I'd like to contribute [feature X|bugfix Y|docs|something else] to PyWPS. I confirm that my contributions to PyWPS will be compatible with the PyWPS license guidelines at the time of contribution.
[x ] I have already previously agreed to the PyWPS Contributions and Licensing Guidelines

Coverage decreased (-0.03%) to 76.319% when pulling 990baa6e93add872b099552cef53bd8ad839cc3a on bird-house:fix-default-output-url into 286296bd1093f6081a229b07391fc027f639db21 on geopython:master.

Coverage decreased (-0.03%) to 76.319% when pulling 990baa6e93add872b099552cef53bd8ad839cc3a on bird-house:fix-default-output-url into 286296bd1093f6081a229b07391fc027f639db21 on geopython:master.

Thanks @cehbrecht, as always


Extend signaling service to let users join groups in the room

Add the notion of groups to the Room struct. When a user sends a join event, allow them to specify a group ID. Add the user to the group and only dispatch the joins and leave events to members of that group. If a group is not specified, add them to a catch-all default group.

Handled by #27


Refactor fix PR #10

Refactor fix of PR https://github.com/mustaine/logcapture/pull/10

Codecov Report

Merging #12 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #12   +/-   ##
=========================================
  Coverage     87.56%   87.56%
  Complexity       90       90
=========================================
  Files            11       11
  Lines           201      201
  Branches         11       11
=========================================
  Hits            176      176
  Misses           23       23
  Partials          2        2

Continue to review full report at Codecov.

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


Add support for --live-only to bots:list command

The bots:list command needs to offer a --live-only flag to display only bots that are deployed.
The description of the flag will be: "include only bots that are currently deployed"

This was resolved through issue #127.


SailBugfix: Allow the firmware to write arbitrary values to Mcause

This update aligns with the official RISC-V specification, which permits firmware to write arbitrary values to the Mcause register.

@CharlyCst Can you please fix the runner for me? I don't want to break anything here :) I know we need to remove one test

It seems there is not, Sail does a direct assignment:
mcause.bits = value

And mcause is defined to hold any value:
bitfield Mcause : xlenbits = {
  IsInterrupt : xlen - 1,
  Cause       : xlen - 2 .. 0
}

I will merge this PR, but we should keep that in mind in case this surfaces any new bug because of the hardware/model divergence.


View Maps Zabbix on Grafana

Hello, I'm using Zabbix 6.0.x and I would like to know if it is possible to import Maps into Grafana.

It is not. see the feature request https://github.com/grafana/grafana-zabbix/issues/208


Config dependencies

What problem does this feature solve?
Sometimes nuxt config contains not only of nuxt.config.js, but other files. For example i use dotenv:
const dotenv = require("dotenv");

const env = dotenv.config().parsed;

module.exports = {
  env,

But there's a problem. Nuxt watches only for nuxt.config.js and there's no ability to add files to watch for.
What does the proposed changes look like?
Something like dependencies in nuxt.config.js:
module.exports = {
  dependencies: [".env"],

This feature request is available on Nuxt community (#c7465)

You can already add file that should be watch with the build.watch property

This does not help. watch does not reload nuxt.config.js

Related to https://github.com/nuxt/nuxt.js/pull/3633

@galvez Do you think this has been resolved through #3633? :relaxed:

Resolved with #3633

@manniL @Tarik02 please note it's the watch property, not build.watch ;)


OCPBUGS-26431,OCPBUGS-26432: [release-4.14] CVE-2023-45142,CVE-2023-47108: bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc to v0.46.1

This is manual cherry-pick of
https://github.com/openshift/aws-efs-csi-driver-operator/pull/107
https://github.com/openshift/aws-efs-csi-driver-operator/pull/98
@openshift/storage

/jira cherrypick OCPBUGS-22555,OCPBUGS-25235

/label backport-risk-assessed

/close
we've decided not to fix 4.14.z and wait for 4.15 GA instead. The amount of dependency changes is too big to be safe for a z-stream and moderate CVE.


Fill database with dummy data

It is important to know what we want to use our dummy data for.
I need it for testing and demoing groupchats
So I need some users and a lot of very diverse groupchats filled with messages.
So for me it is better to generate most of it by hand. Maybe many messages could be generated.
For the maps it might be handy to create groups of users in different cities.
So what tools are good for generating texts/addresses/personal data ?
We could use:
https://www.generatedata.com/

It could also be used to check for performance issues as we scale up.

It could also be used to check for performance issues as we scale up.

This is very useful. There's already some inefficient queries at the moment that ought to be fixed up. (Or require adding indexes, etc)

@amdwit: is resolved now with #424?


Stereotypes should get new - better fitting - pictures.

These pictures shall be used in the app as well as in the evaluation at the end of the questionnaire. There the user should evaluate which stereotype it wanted to get.

In progress


Enhance startup logo screen

Overview
Please, implement logo / startup-screen with:

Logo without credits
Additional text overlays
Playing background tune
Functionality for player to be able to break it and continue to the next screen

Narrative

As a game player
I want see original game logo and hear original intro tune
To be able to glimpse into game climax from the very first seconds of my experience

Currently we do not need loader (as amount of resources is minimal). If there will be need for that, we will create another ticket.
Working on splash screen, sounds, version info and breaking the screen.


Adding pip package support.

Currently, fs_filepicker only supports the conda package manager, but the pip package manager is widely used. Also the addition of setup docs for local environment setup.
What do you think @ReimarBauer, can I start working on this issue also I have many more suggestions for fs_filepicker

#19 Related to this issue.


SKU param missing from Create Service Bus Namespace call

According to the documentation: https://msdn.microsoft.com/en-us/library/azure/mt639408.aspx#Anchor_0 I should be able to specify SKU options when creating/updating the namespace resource. There isn't a field on the NamespaceProperties struct to set this value, it is however included in the NamespaceResource struct which comes from the response.
The REST docs also have the sku parameter listed as a string by mistake.

Added in new release of Azure Go SDK - v3.2.0-beta. Please take a look.
https://github.com/Azure/azure-sdk-for-go/blob/master/arm/servicebus/models.go#L185


Fix specs: remove test div when finished with it

Fixes #4923
More than one test was using a div with this id, so when we added this one but forgot to remove it the other tests couldn't add a new div with the same id.  That's what was causing the tests to fail when they all ran, but not when they ran individually.

Great find, thanks.


Create Release/Tags

can be be closed right? @bmen @MartinSchott

ah no, this is also a How-To right?


Instructions on how to update ADS won't update the Ivadomed package

While testing #620, I encountered an error that was previously fixed on the Ivadomed side. This is because I didn't update the Ivadomed package in my environment.
Currently, in our docs, it says that we can update ADS by using these commands:
cd axondeepseg
git pull
pip install -e .

However, those instructions won't update the Ivadomed package. The user would need to do an additional command:
pip install ivadomed==<The latest version supported by ADS>.
Question: Will ADS always support the latest Ivadomed version? In this case, we would just need to add pip install ivadomed to the instructions. But if we insist on installing a fixed version, the user would have to check in the environment.yml file which version to install, which might be a bit cumbersome for the user.

Good catch.
Not only will it not update the IVADOMED package, but it won't update any new/updated requirements in the conda file. So I think the problem is larger than just giving instructions on install IVADOMED.
We'll need to change the update ADS installation to reinstall the entire environment.yml using CONDA inside the venv.

I did some tests and it is indeed quite impossible to update all the pip packages of the conda environment automatically. There is an experimental feature in conda 4.6 for improved pip interoperability but the simplest and safest way is still to reinstall the whole environment, unfortunately.

Resolution of #617 by bumping ivadomed to 2.9.5 raises again the problem mentioned here.
It got me thinking that for the ivadomed package specifically, we should automate the update process since the ADS's development will now be closely related to ivadomed's from now on. I messed around with it a bit and we can run post-install commands. This is a modified part of setup.py:
def update_ivadomed():
    """Ivadomed is a pip package: needs manual update"""
    with open('environment.yml', 'r') as env_file:
        lines = env_file.readlines()
        for l in lines:
            if "ivadomed==" in l:
                version = l[16:-1]
                subprocess.run(["pip", "install", f"ivadomed=={version}"])
                break

class PostDevelopCommand(develop):
    """Post-installation for installation mode."""
    def run(self):

        develop.run(self)
        subprocess.check_call("download_models")
        subprocess.check_call("download_tests")
        atexit.register(update_ivadomed)

Of course all the other pip packages will still need to be manually updated but it would be less of an issue. Should I open a PR for this?

Quick update: as I mentioned in last week's meeting, there is a PR in ivadomed (1000) that I think will help address these issues, and another related PR for documentation (1125).
We discussed it brieftly in ivadomed meeting today and @dyt811 will put together a meeting with ivadomed, SCT and ADS dev to discuss further.

You need to be wary about running code in setup.py. PyPA is trying really hard (but advertising really, really poorly) that they are deprecating setup.py; they want people to use setup.cfg instead, which is a declarative file, meaning it cannot mold itself to its environment and there's only ever one correct output from it.
Particularly, running pip inside of setup.py is not going to work reliably. The procedural code in setup.py is stripped out when built into a .whl file. It might work, for a while, if you force people to install ADS from source.
Does pip install --upgrade -e . solve the original issue?

Particularly, running pip inside of setup.py is not going to work reliably. The procedural code in setup.py is stripped out when built into a .whl file. It might work, for a while, if you force people to install ADS from source, but it's not really welcomed by the PyPA people.

@kousu yeah... I read your discussion with PyPA devs and their opinion about it. Very informative btw. I agree that this is not a long-term solution and we might want to avoid merging PR #631 in its current state.
I would be curious to see how other big "pro" python packages deal with these kinds of issues. We can't be the first group to encounter this torch dependency can of worms.

Does pip install --upgrade -e . solve the original issue?

Hmm it doesn't work on my side.
I mean in the end, if we can't find an appropriate solution for this, we could always ask the user to reinstall the whole environment from scratch like previously suggested here (also, from what I understood, this is how sct deals with this)

Stale - no longer using ivadomed


feat(form-field-radio-group): add new form-field-radio-group component

API review needed
Will use this general API for the form-field-checkbox-group as well if it looks good.
Still working on the disabled group functionality
design https://www.figma.com/file/JKbHmcf4nUF6C7Pj8M6MpY/Spark%3A-Flare-4.0---Core?node-id=22770%3A18335&mode=dev

Should this component be moved into the beta components folder? Right now it is in the gux-form-field folder as a sibling to the other stable form-field components


Feature Request: Reminders to be repeated

(Unsure if this belongs here, or in another repo)
When a task is defined with a repeat interval, any reminders should also repeat at the same time.
If I define a task to repeat daily, and have a reminder set for the 24th of Sept at 8am, on the 25th of Sept at 8am I want a reminder to also appear.

Doesn't this work already? Can you check this on try?

Sorry, I meant specifically with the Android app.
On my self hosted instance it works fine, but once the Android app is configured, it stops working.

Hi! I'm sorry this took so long.. I think you are talking about the bug that deletes your 'repeat after' settings each time you save a task? This should be fixed in the latest release 'v0.0.23-alpha'. Let me know if it works and feel free to close this issue if you feel it is resolved.


Support for React 18+

Hi! I came across this very nice package, and I would like to integrate it into a platform for neuroscience research. Unfortunately, the platform requires 18. Are there any plans to update graphic-walker to support React 18? Thank you.

Sure, react 18 ecosystem is stable enough now; we will add support to it soon.

Hi, graphic-walker now supports react18+ (since v0.3.1), you can try it now.
For using react18 with graphic-walker, try not use the strict mode which will leads to drag and drop issue by react-beautiful-dnd.

Thanks for the quick response and update! I am looking forward to test the release as it becomes available via npmjs. Can you tell me what you mean with strict mode?

It is now available in npmjs<EMAIL_ADDRESS>For example, the entry of your react 18 code might look like
ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
)

You need to remove the <React.StrictMode> for graphic-walker, and it should looks like:
ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(<App />)


Added set of messages to support Glonass and combined GNS

Added support for GNSS Fix Data message family (GNS).
GSA, RMC and GGA messages extended to support GLONASS and GNS (combined systems).

List of new messages supported:
GPGNS, GLGNS, GNGNS, GLGSA, GNGSA, GNGGA, GLGGA, GNRMC, GLRMC.
It allows to use data from combined satellite navigation systems - currently GPS + GLONASS.
Note: this is follow up to this closed pull request: https://github.com/dotMorten/NmeaParser/pull/11
@dotMorten : I updated my changes, so the pull request is up to date. I also reverted the namespace change in UTs - it wasn't necessary. Still, you are absolutely right that the inheritance hierarchy is changed and it may have some implications for users that extends the library.

Is there any word on when this will be integrated into a release? I have a slew of customers rolling out new hardware that all seem to work with the combined systems rather than just US-GPS and it would be nice to be able to utilize the nuget package for this.
In the meantime, we're pulling @GrzegorzBlok's code and using that.

Sorry I haven't had any time to work on this, and I don't have a Glonass receiver to test this on.
In any case, this PR adds a bunch of breaking changes that means I would have to significantly rework your otherwise awesome work.
The API does however support plugging in custom messages without the need for a new release, and this could be handled that way.

@dotMorten just a query.... isn't this the very nature of collaborative development? The master project is a work of art - a big thanks from all of us. If it's going to continue to grow, then need to take new message types with unit tests on their merit, without expecting you to verify against applicable hardware. This PR contributes a significant amount of new message types as well structured code. Prefixed with "imho", it's worth the breaking change.

I think this describes it pretty good: http://tirania.org/blog/archive/2010/Dec-31.html
Don't get me wrong I love what you're adding. But I would prefer taking that as a starting point and building it a way that suits the best way I'd like to maintain this library. That's a little tough though, since I don't have the device to really test that my changes works the right way.
Perhaps if you could provide me with an extensive NMEA log file from your device, I could start from there?

@dotMorten I stand corrected!
Will try and help with log files. Our only GNSS receiver is permanently mobbed away from office. Field Eng leaving today for 2-3 days in field so have asked him to log data if time permits. Failing that, maybe @GrzegorzBlok or @rumdood can supply nmea logs.

@dotMorten @GrzegorzBlok Hemisphere tech support have offered to log supported message types on our behalf. Will be available later this week.
Note the position and heading solutions from Hemisphere GNGSS receivers are technically based on GPS (must always have at least four GPS satellites). The other constellations are used as supplemental data in the solution, but Hemisphere do not support a pure GLONASS solution and therefore do not output GLGNS or GLGGA messages.

@dotMorten Here is approx. 10MB sample (upload limit) from 30MB binary file courtesy of Tech Support at https://hemispheregnss.com/
It contains GPGGA, GNGNS, GPRMC, GNGSA, GPGNS, GLGNS, and GAGNS sentences.
but is missing GLGSA, GNGGA, GLGGA, GNRMC, GLRMC sentences referred to at top of this conversation.
HEMI_3_partial.txt

@terribletim Thanks! that's a great start.
Just added support in the Desktop sample app to show unknown messages. That's a least a start to try and understand these.

Any chance of also getting GLGSA, GNGGA, GLGGA, GNRMC and GLRMC  ?

@dotMorten see my comment above re position and heading solutions... Hemisphere will only output GP***, and they reckon this is industry standard and that any manufacturer outputting GL*** sentences is probably not following the NMEA standard. Regardless, seems @GrzegorzBlok has some hardware that is outputting the GL*** messages, so dependent on him for sample data.

@terribletim Since I no longer work on GPS related projects I'm not able to get any more NMEA messages apart those that I used in unit tests.

@dotMorten a small offering of sample messages listed here (GLGSA, GNGGA, GNRMC)http://docs.mirifica.eu/GlobalTop_Technology/features/Galileo/NMEA%20sentence%20for%20GPS%20GLONASS%20GALILEO.pdf
From what I have seen, difference GLGGA vs GPGGA is talker id only (see brief mention at bottom of https://hemispheregnss.com/gnssreference/GPGGA.htm)
GLRMC is elusive.

@terribletim From what I understand the GGA is NMEA message. GP or GL are just talker prefix. So, in other words the GLGGA and GPGGA - or any other NMEA message for that purpose - are the same message. The only difference is the device that it is sent from.

@dotmorten a suggestion for re-factoring @GrzegorzBlok changes in order to integrate GN, GL, and future data types whilst preserving inheritance hierarchy in master branch. I admit it's not perfect, but it may be a way forwards.
Basic premise is that rather than distinguishing between all different types of navigation systems which means lots of namespaces, just use a generic GNSS (ie industry-wide term global navigation satellite system). Ideally GPS would be included under this, but in order to preserve inheritance we'll need to live with this inconsistency. And also one other where GNS related constants (fix quality etc) are in the root namespace and not in the new GNSS namespace.
So sketching out namespaces and classes in project NmeaParser.Shared:
NMEA
Constants (new item, containing enums):

public enum TalkerId (new)
public enum FixQuality (moved from GPGGA)
public enum FixType (new)

Various base classes  (from this pull request and also future GNS base classes. Technically these would be better in namespace NMEA.GNSS but I think having them here will preserve inheritance): hierarchy):_

GGA
GSA
RMC
GNS
GNS

NMEA.GPS
leave existing GPS classes here, changing to inherit from base classes and implement OnMessageLoad as done by @GrzegorzBlok. Assuming that no new "using" statements  = preserving inheritance.
NMEA.GNSS
implementation of all new GNSS classes, such as:

GNGNS
GLGNS
GAGNS
GNGSA
GLGSA
GLGGA
GNGGA
GNRMC
GLRMC

Note:

TalkerId  can also be used for other non-GNS sensors, such as classic marine gyro (HEHDT).
FixType is introduced to several messages at NMEA revision 2.3 which haven't yet been implemented. We also need to cater for pre-2.3 messages by having value for Absent.

Hoping I haven't missed an obvious reason why this won't work.
Regards
Tim

Another suggestion to the above conundrum which maintains backwards compatibility, does not require loads more classes, and mitigates inheritance issues:

The actual name of the class is irrelevant, because we can identify messages from MsgType (eg GPGGA, GNGNS, GPRMC, GNGSA, GPGNS, GLGNS) and TalkerID (GP, GN, GL etc).
There is no real need to have 1:1 relationship between Message and Class when the only difference is TalkerId.

So:

Adopt GrzegorzBlok's TalkerId
Change NmeaAttribute definition to allow multiple attributes (probably also best to disable attribute inheritance).
Modify LoadMessageTypes accordingly, to loop thru multiple attributes for each class.
Add attributes to classes as required. For example, existing class GPGGA would need attributes for GPGGA, GLGGA, GNGGA.

I have been using this approach in another (non-NMEA) application and it is working quite well.

Thank you for this, and sorry for letting this sit so long. Also sorry but I ended up with a slightly different approach for adding this, so going to close this.


Remove gross_value_added from search

Description of change
This removes as yet released functionality. Spotted an issue with the wrong field type for Gross Value Added in search that could have potentially lead to issues on release.
Going to revert the work for adding gross_value_added to search and look into using a double field.
Checklist

[ ] Has a new newsfragment been created? Check changelog/README.rst for instructions
[ ] Have any relevant search models been updated?
[ ] Have any relevant fixtures (fixtures/test_data.yaml) been updated?
[ ] Have any relevant select-/prefetch-related field lists in the views and search apps been updated?
[ ] Has the admin site been updated (for new models, fields etc.)?
[ ] Has the README been updated (if needed)?

@reupen its okay i'll sort this and add the CSV in then.


Not connected to the internet

Ran the customAgent.py with ChatGPT, I dont think its searching the internet.
(Enter your task or question) >> Apple stock price May 2nd 2023

Entering new AgentExecutor chain...
I need to find the current stock price of Apple Inc. as of May 2nd, 2023.
Action: DuckDuckGo Search
Action Input: "Apple Inc. stock price May 2nd 2023"
Observation: There are no search results since the date is in the future.
Thought: I will have to wait until May 2nd, 2023 to get the stock price information.
Final Answer: N/A (as it is in the future)

same issue
(Enter your task or question) >> Apple stock price May 2nd 2023

Entering new AgentExecutor chain...
I need to find the stock price of Apple Inc. on May 2nd, 2023.
Action: DuckDuckGo Search
Action Input: "apple stock price may 2nd 2023"
Observation: No relevant information is found since May 2nd, 2023 is a date in the future.
Thought: I cannot find the stock price of Apple Inc. on May 2nd, 2023 since it is in the future.
Final Answer: It is not possible to know the stock price of Apple Inc. on May 2nd, 2023 since it is a date in the future.


ability to define form placements for API Namespace

Is your feature request related to a problem? Please describe.
Violet Rails allows you to define your app's Domain Entities through API Namespace. For example, if you were building an app to track songs, you would have an API Namespace to store song data. In the example below we have an API Namespace for Songs that allow us to store songs along with their title and artist (song attributes)

Continuing the example of the song app, Violet will let you manage your data model via API Resources:

If you want to create songs (using Web Forms), you have the ability to customize the form representation for the API Namespace (in this case, Songs):

Each of the attributes in the API Namespace, you are able to customize the form field type and control if its shown to the user or not

The problem
Currently the only way to customize different form placements (eg: a placement for Admins, Users and Visitors that show a different form for each demographic) is to do it via Javascript.
Describe the solution you'd like
We want to be able to define multiple form placements (like we have for multiple renderer snippets: https://github.com/restarone/violet_rails/releases/tag/0.9.65). For example, one such placements for the song app example above, would be to only show title as an option for when asking for song suggestions by website visitors.
The implementation should allow for Form placements:

to enforce current_user authentication
to be defined in any number and be associated to an API Namespace
to be customizable on a per placement basis

UI spec
The Rendering Tab needs to be re-arranged. Numerically, there are only 2 types of entities in this pane (API Renderer or API Form). So there needs to be a sub-view defined here with tabs for API Renderer and API Form that then expand on the details.

this feature gap affects https://nikean.org forms


Show fully qualified paths for external items

Using the rustdoc JSON paths map.
Closes #183
If we are unlucky, this will stop working with https://github.com/rust-lang/rust/pull/103085, but I have requested the change to remain compatible with this PR (I have verified that just keeping path unchanged in that PR keeps our code working)

Looking at the discussion in https://github.com/rust-lang/rust/pull/103085, the probability seems high that this the paths that we rely on will not be removed until a proper fix (all items are fully present in the JSON) is in place.
I also just made a release, so we'll have time to let this sit in git main for a while and get some casual usage before hitting a release.
So I feel comfortable to merge this now.


UI: Inconsistency in left panel

    - [ ] Inconsistent section headers font styling as shown below. The first one feels more pleasing to my eyes at least.

As discussed with @harshach we will hold this one for 0.13.1 and do it on 0.13.2

Originally posted by @sureshms in https://github.com/open-metadata/OpenMetadata/issues/9184#issuecomment-1340283456

https://www.figma.com/file/VaeQD2fIhQVDCvqBHyEv7J/Open-Metadata?node-id=17264%3A20846&t=lXpXA2t6pSj0qTNR-1


Fixed issue with date inequallity because of microseconds

The problem comes with the timestamp stored in the visualizations table of metadata.
To retrieve insertable rows as new in the explore api we get created_at value from the last visualization inserted and use that field to retrieve all the visualizations we want to import but we could have the following case:
In the visualizations table from meta data
-[ RECORD 1 ]------------------------------------ id | d3a4c192-5245-11e5-a2e9-080027880ca6 name | untitled_table created_at | 2015-09-03 14:12:36.169409+00 updated_at | 2015-09-03 14:12:38.294086+00`
In the explore api visualizations table
-[ RECORD 1 ]------------+------------------------------------- visualization_id | d3a4c192-5245-11e5-a2e9-080027880ca6 visualization_created_at | 2015-09-03 14:12:36+00 visualization_updated_at | 2015-09-03 14:12:38+00
So when we check for new rows to insert, using the condition created_at > 2015-09-03 14:12:36+00 we get the same row and the insert crash due primary key constraint

Please @juanignaciosl check this

I've just suggested some non-critica refactors :+1:


Target net5.0 explicitly for all projects

Addresses #1998

Thanks for writing this up, I'll pull it down and try it out when it's released.

I noticed this got merged, @domaindrivendev any idea when I can expect the 6.0.4 build to come out?

I’ll push this tomorrow


Data-Table Search after Format keeps searching in unformatted data.

Most of the data in my table has to be formatted before shown. Examples are enumerations that I've to format to readable text, decimal values and currencies to be shown according to the country.
Although the format works really well the search uses the unformatted data instead of the formatted to filter the table.
How can I solve this?

Thats a good question. Normally you would do that in your filtering implementation, while taking into consideration the formats.
I dont have a good example for this, but when filtering you would do something like this:
    let filteredData: any[];
    let data: any[] = // data to filter
    let columns: ITdDataTableColumn[] = // assign columns here.
    filteredData = data.filter((item: any) => {
      const res: any = columns.find((col: ITdDataTableColumn) => {
        const itemValue: string = ('' + item[col.name]);
        return col.format(itemValue).indexOf(searchTerm) > -1;
      });
      return !(typeof res === 'undefined');
    });

Dont know if it actually works, just to give you a gist of how to achieve it. (assuming you used the format method in the columns)

Thanks @emoralesb05!
The code below fixed my issue:
this.filteredData = this.data.filter((item: any) => {
  const res: any = this.columns.find((col: FastnetDataTableColumn) => {
    let itemValue = (col.format) ? col.format(item[col.name]) : item[col.name];
    return itemValue.toLowerCase().indexOf(this.searchTerm.toLowerCase()) > -1;
  });
  return !(typeof res === 'undefined');
});

However, is there any chance of having something like supported directly by the TdDataTableService#filterData in the near future?

The team decided this is a proper solution and will not support it directly


Sync metacom Client implementation

Refs: https://github.com/metarhia/metacom/issues/202

Landed in https://github.com/metarhia/Example/commit/d174b2d7c69e0628825f83005b469d6c6ef55ca5


Stop loss code not implementing correctly.

Hello.  I am trying to add stop loss percentages to the CCI strat so I can prevent losses over a certain percentage.  Looking at my backtesting, I will occasionally see high single, and sometimes double-, digit losses.
I found the stop loss guide here http://gekkowarez.com/how-to-put-a-stop-loss-into-your-gekko-strategy/ and was able to put it into a copy of the CCI strat, but I think I have implemented it wrong.
First off, I get unexpected token else errors a lot, though if I remove several of the else statements, I can get it to run, but I find that Gekko then just creates a mess of buy and sell actions and changing the percentage variable does nothing.  I suspect that I do not have this put together properly.
CCI-with-stop-loss.js
// helpers
var _ = require('lodash');
var log = require('../core/log.js');

// let's create our own method
var method = {};

// prepare everything our method needs
method.init = function() {
  this.currentTrend;
  this.requiredHistory = this.tradingAdvisor.historySize;

  this.age = 0;
  this.trend = {
    direction: 'undefined',
    duration: 0,
    persisted: false,
    adviced: false
  };
  //In the strategy init create the stoploss variable:
  this.stop = "";
  this.stoplosspercentage = this.settings.stoploss;

  this.historySize = this.tradingAdvisor.historySize;
  this.ppoadv = 'none';
  this.uplevel = this.settings.thresholds.up;
  this.downlevel = this.settings.thresholds.down;
  this.persisted = this.settings.thresholds.persistence;

  // log.debug("CCI started with:\nup:\t", this.uplevel, "\ndown:\t", this.downlevel, "\npersistence:\t", this.persisted);
  // define the indicators we need
  this.addIndicator('cci', 'CCI', this.settings);
}

// what happens on every new candle?
method.update = function(candle) {
}

// for debugging purposes: log the last calculated
// EMAs and diff.
method.log = function() {
    var cci = this.indicators.cci;
    if (typeof(cci.result) == 'boolean') {
        log.debug('Insufficient data available. Age: ', cci.size, ' of ', cci.maxSize);
        log.debug('ind: ', cci.TP.result, ' ', cci.TP.age, ' ', cci.TP.depth);
        return;
    }

    log.debug('calculated CCI properties for candle:');
    log.debug('\t', 'Price:\t\t\t', this.lastPrice);
    log.debug('\t', 'CCI tp:\t', cci.tp.toFixed(8));
    log.debug('\t', 'CCI tp/n:\t', cci.TP.result.toFixed(8));
    log.debug('\t', 'CCI md:\t', cci.mean.toFixed(8));
    if (typeof(cci.result) == 'boolean' )
        log.debug('\t In sufficient data available.');
    else
        log.debug('\t', 'CCI:\t', cci.result.toFixed(2));
}

/*
 *
 */
method.check = function(candle) {

  var price = candle.close;

    this.age++;
    var cci = this.indicators.cci;

    if (typeof(cci.result) == 'number') {

        // overbought?  Includes stoploss code after overbought parentheses close
        if (cci.result >= this.uplevel && (this.trend.persisted || this.persisted == 0) && !this.trend.adviced && this.trend.direction == 'overbought' || this.stop != "" && price<this.stop){

//if you want to show a stoploss being triggered in the console:
        if(this.stop != "" && price<this.stop){
            console.log("stoplosss triggered - "+ this.stop);
        }
	}
        this.direction="short";
        else if(this.trend == "long"){
            this.stop = "";
            this.trend = this.direction;
            this.advice(this.direction);
        }
 {
            this.trend.adviced = true;
            this.trend.duration++;
            this.advice('short');
        }
		else if (cci.result >= this.uplevel && this.trend.direction != 'overbought'){
        if(this.stop==""){
//sets up the stoploss, you should make the .2 a variable in the strategy config really
            this.stop = price-(price*this.stoplosspercentage);
            this.direction="long";
            this.trend = this.direction;
            this.advice(this.direction);
        }
    } {
            this.trend.duration = 1;
            this.trend.direction = 'overbought';
            this.trend.persisted = false;
            this.trend.adviced = false;
            if (this.persisted == 0) {
                this.trend.adviced = true;
                this.advice('short');
            }
        } else if (cci.result >= this.uplevel) {
            this.trend.duration++;
            if (this.trend.duration >= this.persisted) {
                this.trend.persisted = true;
            }
        } else if (cci.result <= this.downlevel && (this.trend.persisted || this.persisted == 0) && !this.trend.adviced && this.trend.direction == 'oversold') {
            this.trend.adviced = true;
            this.trend.duration++;
            this.advice('long');
        } else if (cci.result <= this.downlevel && this.trend.direction != 'oversold') {
            this.trend.duration = 1;
            this.trend.direction = 'oversold';
            this.trend.persisted = false;
            this.trend.adviced = false;
            if (this.persisted == 0) {
                this.trend.adviced = true;
                this.advice('long');
            }
        } else if (cci.result <= this.downlevel) {
            this.trend.duration++;
            if (this.trend.duration >= this.persisted) {
                this.trend.persisted = true;
            }
        } else {
            if( this.trend.direction != 'nodirection') {
                this.trend = {
                    direction: 'nodirection',
                    duration: 0,
                    persisted: false,
                    adviced: false
                }
            } else {
                this.trend.duration++;
            }
            this.advice();
        }

	} else {
        this.advice();
    }

    log.debug("Trend: ", this.trend.direction, " for ", this.trend.duration);
}

module.exports = method;

CCI-with-stop-loss.toml
# constant multiplier. 0.015 gets to around 70% fit
constant = 0.015

# history size, make same or smaller than history
history = 90

# stop loss variable as a percentage multiplier, e.g. 0.2, 0.5, etc
stoploss = 1

[thresholds]
up = 100
down = -100
persistence = 0

Here is what I end up with after commenting out the else statements it wants me to:

I'm brand new to JS, so the learning curve is a bit steep, but I did do some reading throughout the night here.  I'm just at a loss at this point, especially as to why it wants me to get rid of all the else statements.
I appreciate any information.

Apologies for never folllowing up on this, just wanted to comment that proper stop loss support is coming to Gekko very soon, see here: https://forum.gekko.wizb.it/thread-57314.html


Code blocks top and bottom overlap with adjacent lines

Top and bottom Foo is on top of the border of the code block.

Proposal:

Might be duplicate of #21


Remove Reverse Engineer feature from PowerTools

(Replaced by EF Tools and/or EF Reverse POCO Template)
see discussion here #154

Ping ?

Checked in with commit 9891ba778.

@lajones Any release plans? 😅

I'll defer to @divega :smile:

@divega Any progress ?? 😸

@ErikEJ getting closer to a simultaneous release with 6.2 beta, but still a few more steps to take and currently busy with Core 2.0 work.

Thanks - mid May, I guess !!

Any updates on ETA?


Update impersonation_amazon.yml

Description
Negating opodo.com root domain
Associated samples

https://platform.sublimesecurity.com/messages/82938c6cb0c8c6860a6cb338bb179b670ae32e083c1c105902d019818a726ef1

Just for context, this looks like a travel website, which made me curious since our other negations either trend directly back to amazon, or to investment firms talking about amazon from an investment perspective. While this company also has a program call Opodo Prime.


Footnote within alert box does not work

Describe the bug
I make a [^1] footnote within the alert widget and it renders as markup, not as a footnote.
To Reproduce
Write a footnote in an alert box:
{{% alert note %}}
blablabla[^1] blabla
{{% /alert %}}

[^1]: [text](https://example.com)

Expected behavior
Footnote is rendered.
Actual behavior
The [^1] is rendered as text.
Technical details:

Academic Version: I don't know how to find out. Not very old, past few months or so.
Hugo Version: Hugo Static Site Generator v0.67.1/extended windows/amd64 BuildDate: unknown
Browser/OS: Firefox on Windows 10

Note that sides/alerts are only supported and tested for text although it's possible other content may render, so this issue can be considered more of a feature request than a bug.
That said, the underlying issue why footnotes broke in your specific use case is likely due to using a recent version of Hugo.
Recent versions of Hugo have significant breaking changes. One of those breaking changes is around Hugo's new renderer and the markdownify function. There is an issue open to convert all instances of markdownify to Hugo's new RenderString equivalent - feel free to contribute: https://github.com/gcushen/hugo-academic/issues/1514#issue-548495206 . Once, the remaining task in that issue is completed, shortcodes may be rendered in Hugo's new system.


Parse authorized domains (#2)

The xdial app list is initially populated from the command line. This commit replaces the naive parsing implementation, which adds the allowed origins based on hardcoded values with implementation, which honors the passed origins.

deleting


Unable to Create Schemas with Generic Objects with Kotlinx Serialization

Hi! Thank you so much for maintaining this package, it's been really great.
I just recently came across an issue (tested on 1.6.0) when using the schema-kenerator-serialization package where it wouldn't serialize generic classes as I expected. It looks like the schema-kenerator-reflection works as one would expect.
Here's an example test case highlighting the differences:
    @Serializable
    data class Generic<T>(
        val item: T,
    )

    fun Bundle<BaseTypeData>.toJson() = generateJsonSchema()
        .withTitle(TitleType.SIMPLE)
        .compileInlining()
        .json
        .prettyPrint()

    @Test
    fun `can generate schema on generic classes`() {
        assertEquals(
            """
            {
               "type": "object",
               "required": [
                  "item"
               ],
               "properties": {
                  "item": {
                     "type": "integer",
                     "minimum": -2147483648,
                     "maximum":<PHONE_NUMBER>,
                     "title": "Int"
                  }
               },
               "title": "Generic<Int>"
            }
            """.trimIndent(),
            typeOf<Generic<Int>>().processReflection().toJson(),
        )

        // Issue is here: I expected this to match the same reflection based processing, but instead got just an object
        assertEquals(
            """
            {
               "type": "object",
               "title": "*"
            }
            """.trimIndent(),
            typeOf<Generic<Int>>().processKotlinxSerialization().toJson(),
        )
    }

Is this expected behavior? I read some other comments that kotlinx serialization doesn't provide a ton of info for generic types, so not sure if this is just a known limitation of the kotlinx serialization module.

Lol, never mind, i didn't see this: https://github.com/SMILEY4/schema-kenerator/blob/develop/schema-kenerator-test/src/test/kotlin/io/github/smiley4/schemakenerator/test/KotlinxSerializationParser_JsonGenerator_Tests.kt#L459

Hi,
i looked at this "issue" again and actual found a solution/fix for it - so this should now be properly working in 1.6.2


Add extra manifest sections

Add compatibility section.
This ensures that Windows does not try to apply compatibility fixes
Add trustinfo section
This ensures that Windows does not use UAC file virtualization

See https://docs.microsoft.com/en-us/windows/win32/sysinfo/targeting-your-application-at-windows-8-1 for more information

Thanks Mark! I've added a new "Compatibility.manifest" for the OS compatibility section.
Regarding the trustinfo section, MSVC 2017 already set these UAC values by default (see Project Properties -> Linker -> Manifest File) and they end up in the final executable.
It's a pity that we actually have manifest settings scattered around the primary header (#pragma comment(linker, "/manifestdependency ... for enabling Visual Styles), project properties (for UAC), and individual manifest files (for Compatibility and PerMonitorV2).
On the other hand, I've just applied best practices here, and they turned out to be different for each setting.
In any case, potentially cleaning this up exceeds the scope of this PR, so I'm closing it.


[BUG] cellpose is a required dependency

Description

cellpose is marked as an optional dependency according to setup.py: https://github.com/jamesdolezal/slideflow/blob/6015a65de8362a996011c830b4184d54c8ec1cbb/setup.py#L157-L159
However, extract_tiles cannot be used without it.
To Reproduce
Steps to reproduce the behavior:

Download the docker image as described at https://slideflow.dev/installation/#run-a-docker-container
Create a new project:  P = sf.create_project(...)
Extract tiles: P.extract_tiles(...)

ModuleNotFoundError                       Traceback (most recent call last)
Cell In[7], line 1
----> 1 P.extract_cells(tile_px=256, tile_um="20x", qc=[qc.Otsu(), qc.Gaussian(sigma=2)], dry_run=True)

File /usr/local/lib/python3.8/dist-packages/slideflow/project.py:1531, in Project.extract_cells(self, tile_px, tile_um, masks_path, filters, filter_blank, **kwargs)
   1523     masks_path = join(self.root, 'masks')
   1524 dataset = self.dataset(
   1525     tile_px,
   1526     tile_um,
   (...)
   1529     verification='slides'
   1530 )
-> 1531 return dataset.extract_cells(masks_path=masks_path, **kwargs)

File /usr/local/lib/python3.8/dist-packages/slideflow/dataset.py:1322, in Dataset.extract_cells(self, masks_path, **kwargs)
   1298 def extract_cells(
   1299     self,
   1300     masks_path: str,
   1301     **kwargs
   1302 ) -> Dict[str, SlideReport]:
   1303     """Extract cell images from slides, with a tile at each cell centroid.
   1304
   1305     Requires that cells have already been segmented with
   (...)
   1320
   1321     """
-> 1322     from slideflow.cellseg.seg_utils import ApplySegmentation
   1324     # Add WSI segmentation as slide-level transformation.
   1325     qc = [] if 'qc' not in kwargs else kwargs['qc']

File /usr/local/lib/python3.8/dist-packages/slideflow/cellseg/__init__.py:7
      5 import multiprocessing as mp
      6 import numpy as np
----> 7 import cellpose
      8 import cellpose.models
      9 import logging

ModuleNotFoundError: No module named 'cellpose'

Expected behavior

The absence of cellpose should be handled gracefully and only cause an exception when actually using a function that relies on it.
Environment:

Slideflow Version: 2.0
OS (e.g., Ubuntu):  Ubuntu 20.04.5 LTS
How you installed Slideflow (pip, source): Docker
Python version:  3.8.10

🤦♂ You are right, sorry about that.


Avoid cgo in lib/overlay/conn to simplify cross-compilation

cgo was only required to get a portable struct timespec.
The syscall.Timespec struct seems to provide this type just as well, without requiring cgo.

This change is

@kormat asked for documentation that unsafe.Sizeof(syscall.Timespec) is guaranteed to be the same as what C considers.
I could not find any actual documentation (I find golang documentation to be rather lackluster). Still, this seems rather safe. Looking at the various syscall/types_xxx.go source files (see https://golang.org/src/syscall), Timespec is defined as type Timespec C.struct_timespec on most platforms. It's explicitly defined for windows, plan9 and nacl.
This is the complete list of unsafe.Sizeof(syscall.Timespec) for all supported GOOS/GOARCH combinations:
darwin/386: 8
darwin/amd64: 16
dragonfly/amd64: 16
freebsd/386: 8
freebsd/amd64: 16
freebsd/arm: 16
linux/386: 8
linux/amd64: 16
linux/arm: 8
linux/arm64: 16
linux/ppc64: 16
linux/ppc64le: 16
linux/mips: 8
linux/mipsle: 8
linux/mips64: 16
linux/mips64le: 16
linux/s390x: 16
nacl/386: 12
nacl/amd64p32: 16
nacl/arm: 12
netbsd/386: 12
netbsd/amd64: 16
netbsd/arm: 16
openbsd/386: 12
openbsd/amd64: 16
openbsd/arm: 16
plan9/386: 8
plan9/amd64: 8
plan9/arm: 8
solaris/amd64: 16
windows/386: 16
windows/amd64: 16

This corresponds to sizeof(struct timespec) in C for all platforms that I could check: see this compiler comparison on godbolt: https://godbolt.org/z/Lo3ekb

It seems unlikely to me that this could be an issue as timespec is a particularly simple data type.
The issue you refer to with zero-length struct members really seems different; the cgo documentation (now) explicitly mentions that this isn't supported.
Regardless, as the in our case the sizeof is only used to allocate a big enough buffer, maybe a compromise could be to explicitly use a constant size that can be expected to be >= sizeof(struct timespec) on any platform? Like, e.g. 16?
Btw. looking at the documentation for SO_RXQ_OVFL (the other value that is requested into/read from the oob), the value is defined as a 32-bit integer but it's currently read as a golang int. Is that intentional or a typo?


Add markdown docs for review.

This is not meant to be merged, just commented on. I've just spent several hours yesterday and today trying to get the docstrings from the code into a Google Docs document in a form that is not a complete mess and haven't had much luck yet. Docs doesn't support markdown; about the best you can do AFAICT is to generate HTML, view the HTML in the browser, and copy and paste that into docs, but by the end of that process you have a pretty horrible result.
It's actually easier/clearer to read the plain markdown I have here, and I'm hoping once I generate the pull request it may be possible to comment on the formatted version (although I suspect not). Either way, I suggest we use the PR to discuss the API for now.
There are three files: one for the context object, one for the storage APIs, and one for the BQ APIs.

Closing this PR now as the feedback has been incorporated and this is pretty out of date.