Python 3.1x from Conda environment sometimes detected as 3.1

Type: Bug

Behaviour
When the Python extension loads, it often detects Python 3.11 as Python 3.1.
As originally reported by @niemiaszek in https://github.com/microsoft/vscode-python/pull/22968#issuecomment-2178915891,

One strange thing for me is the fact that VS Code detects python 3.1.x in Select Interpreter context. Is that some bug related to current version of VS Code or Pixi? Could it have some implications on integration with other VS Code extensions like Ruff?

My suspicion is that this has to do with the symlink python3.1 -> python3.1X present in Conda environments.
Here's what I see:

And here's my Jupyter log output, which doesn't seem particularly informative:
Visual Studio Code (1.90.1, dev-container, desktop)
Jupyter Extension Version: 2024.5.0.
Python Extension not installed.
Pylance Extension not installed.
Platform: linux (x64).
Workspace folder /workspaces/projectname, Home = /home/mambauser
09:45:12.525 [info] Starting Kernel (Python Path: /opt/conda/bin/python, Conda, 3.11.undefined) for '/workspaces/projectname/Untitled-3.ipynb' (disableUI=true)
09:45:15.783 [info] Process Execution: /opt/conda/bin/python -c "import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)"
09:45:15.800 [info] Process Execution: /opt/conda/bin/python -m ipykernel_launcher --f=/home/~/.local/share/jupyter/runtime/kernel-v2-416foZ3dcdQ2w4v.json
    > cwd: //workspaces/projectname
09:45:15.837 [info] Process Execution: /opt/conda/bin/python -m pip list
09:45:17.364 [info] Kernel successfully started

What really tipped me off was the output from the Ruff extension since their logs are very targeted:
2024-06-20 07:48:37.054 [info] Name: Ruff
2024-06-20 07:48:37.054 [info] Module: ruff
2024-06-20 07:48:37.054 [error] Python version 3.1 is not supported.
2024-06-20 07:48:37.054 [error] Selected python path: /opt/conda/bin/python
2024-06-20 07:48:37.054 [error] Supported versions are 3.7 and above.
2024-06-20 07:48:37.054 [error] Python version 3.1 is not supported.
2024-06-20 07:48:37.054 [error] Selected python path: /opt/conda/bin/python
2024-06-20 07:48:37.054 [error] Supported versions are 3.7 and above.
2024-06-20 07:48:37.054 [error] Python interpreter missing:
[Option 1] Select Python interpreter using the ms-python.python.
[Option 2] Set an interpreter using "ruff.interpreter" setting.
Please use Python 3.7 or greater.

EXPAND FOR PYTHON LOG EXCERPTS
I have to be really careful here about leaking sensitive info since these logs include full environment variable dumps.
...

2024-06-20 07:45:12.407 [debug] Probing conda binary: conda
2024-06-20 07:45:12.446 [info] > conda info --json
2024-06-20 07:45:12.524 [debug] No cached env found for /opt/conda/bin/python
2024-06-20 07:45:12.558 [debug] No cached env found for /opt/conda/bin/python
2024-06-20 07:45:12.593 [debug] Extension ms-toolsai.jupyter accessed resolveEnvironment with args: "/opt/conda/bin/python"
2024-06-20 07:45:12.602 [debug] No cached env found for /opt/conda/bin/python
2024-06-20 07:45:12.602 [debug] No cached env found for /opt/conda/bin/python
2024-06-20 07:45:12.706 [debug] Extension ms-toolsai.jupyter accessed resolveEnvironment with args: {"internal":{"path":"/opt/conda/bin/python","id":"/opt/conda/bin/python","executable":{"uri":{"$mid":1,"fsPath":"/opt/conda/bin/python","external":"file:///opt/conda/bin/python","path":"/opt/conda/bin/python","scheme":"file"},"bitness":"Unknown","sysPrefix":"/opt/conda"},"environment":{"type":"Conda","name":"base","folderUri":{"$mid":1,"path":"/opt/conda","scheme":"file"}},"version":{"major":3,"minor":11},"tools":["Conda"]},"id":"/opt/conda/bin/python"}
2024-06-20 07:45:12.707 [debug] Extension ms-toolsai.jupyter accessed resolveEnvironment with args: {"internal":{"path":"/opt/conda/bin/python","id":"/opt/conda/bin/python","executable":{"uri":{"$mid":1,"fsPath":"/opt/conda/bin/python","external":"file:///opt/conda/bin/python","path":"/opt/conda/bin/python","scheme":"file"},"bitness":"Unknown","sysPrefix":"/opt/conda"},"environment":{"type":"Conda","name":"base","folderUri":{"$mid":1,"path":"/opt/conda","scheme":"file"}},"version":{"major":3,"minor":11},"tools":["Conda"]},"id":"/opt/conda/bin/python"}
2024-06-20 07:45:12.710 [debug] Extension ms-toolsai.jupyter accessed onDidEnvironmentVariablesChange with args: undefined
2024-06-20 07:45:12.711 [debug] Extension ms-toolsai.jupyter accessed getEnvironmentVariables with args: undefined
2024-06-20 07:45:12.712 [debug] Extension ms-toolsai.jupyter accessed resolveEnvironment with args: {"internal":{"path":"/opt/conda/bin/python","id":"/opt/conda/bin/python","executable":{"uri":{"$mid":1,"fsPath":"/opt/conda/bin/python","external":"file:///opt/conda/bin/python","path":"/opt/conda/bin/python","scheme":"file"},"bitness":"Unknown","sysPrefix":"/opt/conda"},"environment":{"type":"Conda","name":"base","folderUri":{"$mid":1,"path":"/opt/conda","scheme":"file"}},"version":{"major":3,"minor":11},"tools":["Conda"]},"id":"/opt/conda/bin/python"}
2024-06-20 07:45:12.713 [debug] Extension ms-toolsai.jupyter accessed resolveEnvironment with args: {"internal":{"path":"/opt/conda/bin/python","id":"/opt/conda/bin/python","executable":{"uri":{"$mid":1,"fsPath":"/opt/conda/bin/python","external":"file:///opt/conda/bin/python","path":"/opt/conda/bin/python","scheme":"file"},"bitness":"Unknown","sysPrefix":"/opt/conda"},"environment":{"type":"Conda","name":"base","folderUri":{"$mid":1,"path":"/opt/conda","scheme":"file"}},"version":{"major":3,"minor":11},"tools":["Conda"]},"id":"/opt/conda/bin/python"}

...

2024-06-20 07:45:13.689 [debug] Received shell integration sequence for bash
2024-06-20 07:45:13.723 [debug] Found hatch binary hatch
2024-06-20 07:45:13.724 [debug] Finished searching for Hatch envs
2024-06-20 07:45:14.236 [debug] conda info --json: {
  "GID": 1000,
  "UID": 1000,
  "active_prefix": "/opt/conda",
  "active_prefix_name": "base",
  "av_data_dir": "/opt/conda/etc/conda",
  "av_metadata_url_base": null,
  "channels": [
    "https://conda.anaconda.org/conda-forge/linux-64",
    "https://conda.anaconda.org/conda-forge/noarch"
  ],
  "conda_build_version": "not installed",
  "conda_env_version": "24.5.0",
  "conda_location": "/opt/conda/lib/python3.11/site-packages/conda",
  "conda_prefix": "/opt/conda",
  "conda_shlvl": 1,
  "conda_version": "24.5.0",
  "config_files": [
    "/home/mambauser/.condarc"
  ],
  "default_prefix": "/opt/conda",
  "env_vars": {
    "CIO_TEST": "<not set>",
    "CONDA_DEFAULT_ENV": "base",
    "CONDA_EXE": "/opt/conda/bin/conda",
    "CONDA_PREFIX": "/opt/conda",
    "CONDA_PROMPT_MODIFIER": "(base) ",
    "CONDA_PYTHON_EXE": "/opt/conda/bin/python",
    "CONDA_ROOT": "/opt/conda",
    "CONDA_SHLVL": "1",
    "CURL_CA_BUNDLE": "<not set>",
    "GDAL_DRIVER_PATH": "/opt/conda/lib/gdalplugins",
    "LD_PRELOAD": "<not set>",
    "PATH": "/vscode/vscode-server/bin/linux-x64/611f9bfce64f25108829dd295f54a6894e87339d/bin/remote-cli:/home/mambauser/.local/bin:/opt/conda/bin:/opt/conda/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/mambauser/.local/bin",
    "PYTHONIOENCODING": "utf-8",
    "PYTHONUNBUFFERED": "1",
    "REQUESTS_CA_BUNDLE": "<not set>",
    "SSL_CERT_FILE": "<not set>"
  },
  "envs": [
    "/opt/conda"
  ],
  "envs_dirs": [
    "/opt/conda/envs",
    "/home/mambauser/.conda/envs"
  ],
  "netrc_file": null,
  "offline": false,
  "pkgs_dirs": [
    "/opt/conda/pkgs",
    "/home/mambauser/.conda/pkgs"
  ],
  "platform": "linux-64",
  "python_version": "3.11.9.final.0",
  "rc_path": "/home/mambauser/.condarc",
  "requests_version": "2.32.3",
  "root_prefix": "/opt/conda",
  "root_writable": true,
  "site_dirs": [],
  "solver": {
    "default": true,
    "name": "libmamba",
    "user_agent": "solver/libmamba conda-libmamba-solver/24.1.0 libmambapy/1.5.8"
  },
  "sys.executable": "/opt/conda/bin/python",
  "sys.prefix": "/opt/conda",
  "sys.version": "3.11.9 | packaged by conda-forge | (main, Apr 19 2024, 18:36:13) [GCC 12.3.0]",
  "sys_rc_path": "/opt/conda/.condarc",
  "user_agent": "conda/24.5.0 requests/2.32.3 CPython/3.11.9 Linux/5.15.0-107-generic ubuntu/22.04.4 glibc/2.35 solver/libmamba conda-libmamba-solver/24.1.0 libmambapy/1.5.8",
  "user_rc_path": "/home/mambauser/.condarc",
  "virtual_pkgs": [
    [
      "__archspec",
      "1",
      "skylake"
    ],
    [
      "__conda",
      "24.5.0",
      "0"
    ],
    [
      "__glibc",
      "2.35",
      "0"
    ],
    [
      "__linux",
      "5.15.0",
      "0"
    ],
    [
      "__unix",
      "0",
      "0"
    ]
  ]
}

2024-06-20 07:45:14.236 [debug] Found conda via filesystem probing: conda
2024-06-20 07:45:14.255 [debug] Best effort version B for /opt/conda/bin/python {"major":3,"minor":1,"micro":-1}
2024-06-20 07:45:14.259 [debug] Best effort version B for /opt/conda/bin/python {"major":3,"minor":1,"micro":-1}
2024-06-20 07:45:14.263 [debug] Best effort version B for /opt/conda/bin/python {"major":3,"minor":1,"micro":-1}
2024-06-20 07:45:14.265 [debug] Best effort version B for /opt/conda/bin/python {"major":3,"minor":1,"micro":-1}
2024-06-20 07:45:14.268 [debug] Best effort version B for /opt/conda/bin/python {"major":3,"minor":1,"micro":-1}
2024-06-20 07:45:14.270 [debug] Best effort version B for /opt/conda/bin/python {"major":3,"minor":1,"micro":-1}
2024-06-20 07:45:14.277 [debug] Best effort version B for /opt/conda/bin/python {"major":3,"minor":1,"micro":-1}
2024-06-20 07:45:14.278 [debug] Best effort version C for /opt/conda/bin/python {"major":-1,"minor":-1,"micro":-1,"release":{"level":"final","serial":-1}}
2024-06-20 07:45:14.278 [debug] Best effort version C for /opt/conda/bin/python {"major":-1,"minor":-1,"micro":-1,"release":{"level":"final","serial":-1}}
2024-06-20 07:45:14.279 [debug] Best effort version C for /opt/conda/bin/python {"major":-1,"minor":-1,"micro":-1,"release":{"level":"final","serial":-1}}
2024-06-20 07:45:14.279 [debug] Best effort version C for /opt/conda/bin/python {"major":-1,"minor":-1,"micro":-1,"release":{"level":"final","serial":-1}}
2024-06-20 07:45:14.279 [debug] Best effort version C for /opt/conda/bin/python {"major":-1,"minor":-1,"micro":-1,"release":{"level":"final","serial":-1}}
2024-06-20 07:45:14.279 [debug] Best effort version C for /opt/conda/bin/python {"major":-1,"minor":-1,"micro":-1,"release":{"level":"final","serial":-1}}
2024-06-20 07:45:14.279 [debug] Best effort version C for /opt/conda/bin/python {"major":-1,"minor":-1,"micro":-1,"release":{"level":"final","serial":-1}}
2024-06-20 07:45:14.283 [debug] Best effort version D for /opt/conda/bin/python {"major":-1,"minor":-1,"micro":-1,"release":{"level":"final","serial":-1}}
2024-06-20 07:45:14.285 [debug] Best effort version D for /opt/conda/bin/python {"major":-1,"minor":-1,"micro":-1,"release":{"level":"final","serial":-1}}
2024-06-20 07:45:14.285 [debug] Best effort version D for /opt/conda/bin/python {"major":-1,"minor":-1,"micro":-1,"release":{"level":"final","serial":-1}}
2024-06-20 07:45:14.286 [debug] Best effort version D for /opt/conda/bin/python {"major":-1,"minor":-1,"micro":-1,"release":{"level":"final","serial":-1}}
2024-06-20 07:45:14.287 [debug] Best effort version D for /opt/conda/bin/python {"major":-1,"minor":-1,"micro":-1,"release":{"level":"final","serial":-1}}
2024-06-20 07:45:14.288 [debug] Best effort version D for /opt/conda/bin/python {"major":-1,"minor":-1,"micro":-1,"release":{"level":"final","serial":-1}}
2024-06-20 07:45:14.289 [debug] Best effort version D for /opt/conda/bin/python {"major":-1,"minor":-1,"micro":-1,"release":{"level":"final","serial":-1}}
2024-06-20 07:45:14.292 [info] Environments refresh finished (event): 3074 milliseconds
2024-06-20 07:45:14.292 [debug] Finished with environment resolver
2024-06-20 07:45:14.292 [debug] Finished with environment reducer
2024-06-20 07:45:14.292 [info] Environments refresh paths discovered: 3074 milliseconds
2024-06-20 07:45:14.293 [debug] Environment resolver resolved /opt/conda/bin/python for {"name":"base","location":"/opt/conda","kind":"virt-conda","executable":{"filename":"/opt/conda/bin/python","sysPrefix":"","ctime":1718314262335,"mtime":1718314262335},"display":"Python 3.1.x ('base')","version":{"major":3,"minor":1,"micro":-1},"arch":1,"distro":{"org":"Anaconda, Inc."},"source":[],"type":"Conda","id":"/opt/conda/bin/python","detailedDisplayName":"Python 3.1.x ('base': conda)"} to {"arch":1,"executable":{"filename":"/opt/conda/bin/python","ctime":-1,"mtime":-1,"sysPrefix":"/opt/conda"},"version":{"major":3,"minor":1,"micro":-1}}
2024-06-20 07:45:14.295 [debug] Resolved /opt/conda/bin/python using downstream locator
2024-06-20 07:45:14.295 [debug] Python API env change detected /opt/conda/bin/python update
2024-06-20 07:45:14.295 [debug] Flushing env to cache /opt/conda/bin/python
2024-06-20 07:45:14.296 [info] Python interpreter path: /opt/conda/bin/python
2024-06-20 07:45:14.297 [debug] Found cached env for /opt/conda/bin/python
2024-06-20 07:45:14.297 [debug] Environment resolver resolved /opt/conda/bin/python for {"name":"base","location":"/opt/conda","kind":"virt-conda","executable":{"filename":"/opt/conda/bin/python","sysPrefix":"","ctime":1718314262335,"mtime":1718314262335},"display":"Python 3.1.x ('base')","version":{"major":3,"minor":1,"micro":-1},"arch":1,"distro":{"org":"Anaconda, Inc."},"source":[],"type":"Conda","id":"/opt/conda/bin/python","detailedDisplayName":"Python 3.1.x ('base': conda)"} to {"arch":1,"executable":{"filename":"/opt/conda/bin/python","ctime":-1,"mtime":-1,"sysPrefix":"/opt/conda"},"version":{"major":3,"minor":1,"micro":-1}}
2024-06-20 07:45:14.297 [debug] Resolved /opt/conda/bin/python using downstream locator
2024-06-20 07:45:14.297 [debug] Flushing env to cache /opt/conda/bin/python
2024-06-20 07:45:14.298 [error] Invalid version for /opt/conda/bin/python: {"name":"base","location":"/opt/conda","kind":"virt-conda","executable":{"filename":"/opt/conda/bin/python","sysPrefix":"/opt/conda","ctime":1718314262335,"mtime":1718314262335},"display":"Python 3.1.x ('base')","version":{"major":3,"minor":1,"micro":-1},"arch":1,"distro":{"org":"Anaconda, Inc."},"source":[],"type":"Conda","id":"/opt/conda/bin/python","detailedDisplayName":"Python 3.1.x ('base': conda)"}
2024-06-20 07:45:14.298 [debug] Environment resolver resolved /opt/conda/bin/python for {"name":"base","location":"/opt/conda","kind":"virt-conda","executable":{"filename":"/opt/conda/bin/python","sysPrefix":"","ctime":1718314262335,"mtime":1718314262335},"display":"Python 3.1.x ('base')","version":{"major":3,"minor":1,"micro":-1},"arch":1,"distro":{"org":"Anaconda, Inc."},"source":[],"type":"Conda","id":"/opt/conda/bin/python","detailedDisplayName":"Python 3.1.x ('base': conda)"} to {"arch":1,"executable":{"filename":"/opt/conda/bin/python","ctime":-1,"mtime":-1,"sysPrefix":"/opt/conda"},"version":{"major":3,"minor":1,"micro":-1}}
2024-06-20 07:45:14.298 [debug] Resolved /opt/conda/bin/python using downstream locator
2024-06-20 07:45:14.298 [debug] Flushing env to cache /opt/conda/bin/python
2024-06-20 07:45:14.298 [error] Invalid version for /opt/conda/bin/python: {"name":"base","location":"/opt/conda","kind":"virt-conda","executable":{"filename":"/opt/conda/bin/python","sysPrefix":"/opt/conda","ctime":1718314262335,"mtime":1718314262335},"display":"Python 3.1.x ('base')","version":{"major":3,"minor":1,"micro":-1},"arch":1,"distro":{"org":"Anaconda, Inc."},"source":[],"type":"Conda","id":"/opt/conda/bin/python","detailedDisplayName":"Python 3.1.x ('base': conda)"}
2024-06-20 07:45:14.304 [debug] Found cached env for /opt/conda/bin/python
2024-06-20 07:45:14.322 [debug] Activating Environment to capture Environment variables, conda run -n base --no-capture-output python /home/mambauser/.vscode-server/extensions/ms-python.python-2024.8.1/python_files/get_output_via_markers.py /home/mambauser/.vscode-server/extensions/ms-python.python-2024.8.1/python_files/printEnvVariables.py
2024-06-20 07:45:14.322 [info] > conda run -n base --no-capture-output python ~/.vscode-server/extensions/ms-python.python-2024.8.1/python_files/get_output_via_markers.py ~/.vscode-server/extensions/ms-python.python-2024.8.1/python_files/printEnvVariables.py
2024-06-20 07:45:14.322 [info] shell: bash

...

Steps to reproduce:

Start VS Code and initialize the Python extension. (Unfortunately this is not 100% reproducible for me, and I haven't been able to isolate precisely which conditions cause it.)

Diagnostic data

Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)

XXX

Extension version: 2024.8.1
VS Code version: Code 1.90.1 (611f9bfce64f25108829dd295f54a6894e87339d, 2024-06-11T21:02:43.666Z)
OS version: Linux x64 5.15.0-107-generic
Modes:
Remote OS version: Linux x64 5.15.0-107-generic

Python version (& distribution if applicable, e.g. Anaconda): 3.11.9
Type of virtual environment used (e.g. conda, venv, virtualenv, etc.): Conda
Value of the python.languageServer setting: Pylance

User Settings

condaPath: "<placeholder>"

languageServer: "Pylance"

testing
• pytestArgs: "<placeholder>"
• pytestEnabled: true

terminal
• activateEnvironment: false

experiments
• enabled: false

Installed Extensions

Extension Name
Extension Id
Version

Docker
ms-azuretools.vscode-docker
1.29.1

Git History
donjayamanne.githistory
0.6.20

GitHub Copilot
GitHub.copilot
1.204.0

GitHub Copilot Chat
GitHub.copilot-chat
0.16.1

GitLens — Git supercharged
eamodio.gitlens
15.1.0

hadolint
exiasr.hadolint
1.1.2

JavaScript Debugger
ms-vscode.js-debug
1.90.0

Jupyter
ms-toolsai.jupyter
2024.5.0

Jupyter Cell Tags
ms-toolsai.vscode-jupyter-cell-tags
0.1.9

Jupyter Notebook Renderers
ms-toolsai.jupyter-renderers
1.0.18

Jupyter Slide Show
ms-toolsai.vscode-jupyter-slideshow
0.1.6

Live Share
ms-vsliveshare.vsliveshare
1.0.5932

markdownlint
DavidAnson.vscode-markdownlint
0.55.0

Pylance
ms-python.vscode-pylance
2024.6.1

Python
ms-python.python
2024.8.1

Python Debugger
ms-python.debugpy
2024.6.0

Resource Monitor
mutantdino.resourcemonitor
1.0.7

Ruff
charliermarsh.ruff
2024.28.0

Table Visualizer for JavaScript Profiles
ms-vscode.vscode-js-profile-table
1.0.9

Xonsh IDE
jnoortheen.xonsh
0.3.3

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz (8 x 3708)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
7, 6, 7

Memory (System)
62.75GB (15.50GB free)

Process Argv
--log ms-python.python=debug

Screen Reader
no

VM
0%

DESKTOP_SESSION
ubuntu

XDG_CURRENT_DESKTOP
Unity

XDG_SESSION_DESKTOP
ubuntu

XDG_SESSION_TYPE
x11

Item
Value

Remote
Dev Container: projectname

OS
Linux x64 5.15.0-107-generic

CPUs
Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz (8 x 3708)

Memory (System)
62.75GB (15.50GB free)

VM
0%

Exactly the same problem. I have as well problems with the debugger which requires at least version 3.7 .
Have problems calling figures from matplotlib from the debugger.
I switched to the pre release version of Python Debugger and the version seems to be the correct one again. Problems with the debugger persist though.

Same issue here. The conda base environment shows as Python 3.1. Both conda and VS 2022 are up to date. Conda.exe and the scripts folder are set in the options. The Python version in the conda base is 3.12.
Details

Having the same issue, any updates on this?

Please try the pre-release version of the python extension. It has a potential fix for this.

Thanks, it works

Please try the pre-release version of the python extension. It has a potential fix for this.

I had the same issue and fixed it following your advice. What was the cause of error?

Please try the pre-release version of the python extension. It has a potential fix for this.

Sorry for the dumb question, but what does this mean exactly? Is it within the VsCode settings, or update the virtual env?

@lalvarezpoli:

See the "Switch to pre-release version" button

I think this is caused because conda creates a symlink called python3.1 pointing to python3.10, python3.11 or python3.12 (whichever version you installed) for Python >=3.10.  See: https://github.com/conda/conda/issues/11423#issuecomment-1104253815


Create default and system projects on startup

Before this change, when an app was installed into a project and
namespace, the namespace was automatically moved into the project if it
wasn't already. This would cause problems in the hosted Rancher setup if
the namespace was already in the system project in the host cluster.
After this change, if the namespace is a known system-project namespace,
it is not moved to protect this case.
In addition, fleet namespaces were moved to the system project in the
local cluster automatically. In the hosted Rancher setup, this cause the
namespace to be moved back and forth between the system project on the
tenant cluster and the system project for the tenant cluster on the host
cluster. Now, if the fleet namespace for the local cluster is already in
a system project for a cluster that is not "local" then the namespace is
not moved.
Also, before this change, when an app was installed into a project and
namespace, the namespace was automatically moved into the project if it
wasn't already. This would cause problems in the hosted Rancher setup if
the namespace was already in the system project in the host cluster.
After this change, if the namespace is a known system-project namespace,
it is not moved to protect this case.
In addition, fleet namespaces were moved to the system project in the
local cluster automatically. In the hosted Rancher setup, this cause the
namespace to be moved back and forth between the system project on the
tenant cluster and the system project for the tenant cluster on the host
cluster. Now, if the fleet namespace for the local cluster is already in
a system project for a cluster that is not "local" then the namespace is
not moved.
Issue:
https://github.com/rancher/rancher/issues/34837

@rmweir This seems familiar, didn't we already do work around this?

@dramich Separated commits and updated description.

@StrongMonkey On this one, I wanted your review on the moving of the fleet namespaces (the middle commit) to make sure we weren't breaking anything there.
Remember that in the hosted Rancher setup, the default admin is restricted so they don't have access to the local cluster.

This PR partially resolves https://github.com/rancher/rancher/issues/34833 as well since the EnsureAppProjectName changes prevent the cattle-prometheus namespace from being flip-flopped too.

https://github.com/rancher/rancher/issues/34889, https://github.com/rancher/rancher/issues/34746


Use after-resolvers to hook into resolvers to support webpack2

In Webpack 2 , Resolvers are created later in the process, so they're null in apply.
This makes the plugin works with Webpack 2 .

I can confirm this PR adds support for webpack 2, It fixed my problem.

Also works with Webpack 3.
Any chance of getting this on npm?


[LLVM][Hexagon] Fix LLVM version

PR https://github.com/apache/tvm/pull/9631 breaks LLVM version due to conflict between qualcomm hexagon LLVM 14 include structure with LLVM. This PR introduces an LLVM flag for Hexagon.
Thanks to @driazati for catching this.
cc @csullivan

Thanks! I can confirm this solves the missing header issue I was seeing


Allow displaying deletion date in recycle bin and sorting by it

Is your feature request related to a problem? Please describe.
I want to restore recently deleted files, but the recycle bin view does not allow to view or sort by deletion date.
Describe the solution you'd like
Show deletion date in recycle bin and allow sorting by it.
Describe alternatives you've considered
Using the regular Windows Explorer.

@C0ffeeCode This issue sould be resolved with #2892.

@C0ffeeCode This issue sould be resolved with #2892.


How are ROUGE/BLEU/SARI calculated?

Hi @AshOlogn,
I'd like to replicate the evaluation of the pre-trained models. How exactly were ROUGE/BLEU/SARI (Table 6 in paper) computed? Could you provide your evaluation script? I made an attempt with a custom evaluation script and get results which are quite different from the paper (see below).
Thanks!
Attachment
This is what I tried.

Create environment (see below)
Download pre-trained model bart-no-ul as per README
Run generation for test set sh scripts/generate/bart_gen_no-ul.sh (with --generate_end_index=None)
Evaluate with a custom script (see below)

R-1 = 46.94      // paper: 40.0
R-2 = 19.22      // paper: 15.0
R-L = 43.77      // paper: 37.0
BLEU = 15.73     // paper: 44.0
SARI = 35.44     // paper: 38.0

environment
conda create -n parasimp \
  python=3.7 \
  pytorch=1.7.1 \
  cudatoolkit=11.0 \
  -c pytorch -c defaults

conda activate parasimp
pip install pytorch-lightning==0.9.0 transformers==3.3.1 rouge_score nltk gdown
pip install -U "protobuf<=3.21"

git clone https://github.com/feralvam/easse.git
cd easse
pip install -e .

evaluate.py
import json

from easse.sari import corpus_sari
from easse.bleu import corpus_bleu
from utils import calculate_rouge

with open('trained_models/bart-no-ul/gen_nucleus_test_1_0-none.json') as fin:
    sys_sents = json.load(fin)
    sys_sents = [x['gen'] for x in sys_sents]
with open('data/data-1024/test.source') as fin:
    orig_sents = [l.strip() for l in fin.readlines()]
with open('data/data-1024/test.target') as fin:
    refs_sents = [l.strip() for l in fin.readlines()]

scores = calculate_rouge(sys_sents, refs_sents)
print('R-1 = {:.2f}'.format(scores['rouge1']))
print('R-2 = {:.2f}'.format(scores['rouge2']))
print('R-L = {:.2f}'.format(scores['rougeLsum']))

bleu = corpus_bleu(
    sys_sents=sys_sents,
    refs_sents=[[t for t in refs_sents]],
    lowercase=False
)
print(f'BLEU = {bleu:.2f}')

sari = corpus_sari(
    orig_sents=orig_sents,
    sys_sents=sys_sents,
    refs_sents=[[t for t in refs_sents]]
)
print(f'SARI = {sari:.2f}')

Hi @jantrienes,
I also raised an issue about evaluation metrics before, and I think maybe we can have some discussion here. For the bart-no-ul reimplementation, I got the following results:
R-1 = 46.78      // yours: 46.94, paper: 40.0
R-2 = 19.24      // yours: 19.22, paper: 15.0
R-L = 25.97      // yours: 43.77, paper: 37.0
BLEU = 11.52     // yours: 15.73, paper: 44.0
SARI = 38.72     // yours: 35.44, paper: 38.0
For the first 3 Rouge scores, I used rouge_score package. You can see our R-1 and R-2 are almost same, while I don't understand why my R-L value is such low.
For the last 2 scores, BLEU and SARI, I used evaluate package (a huggingface library). My SARI score is very close to the paper one, so I guess they may also use the same package. By the way, I also tried to calculate all rouge scores via evaluate package:
R-1 = 44.61      // yours: 46.94, paper: 40.0
R-2 = 18.31      // yours: 19.22, paper: 15.0
R-L = 25.07      // yours: 43.77, paper: 37.0

Hi @jantrienes,
I also raised an issue about evaluation metrics before, and I think maybe we can have some discussion here. For the bart-no-ul reimplementation, I got the following results:
R-1 = 46.78 // yours: 46.94, paper: 40.0
R-2 = 19.24 // yours: 19.22, paper: 15.0
R-L = 25.97 // yours: 43.77, paper: 37.0
BLEU = 11.52 // yours: 15.73, paper: 44.0
SARI = 38.72 // yours: 35.44, paper: 38.0
For the first 3 Rouge scores, I used rouge_score package. You can see our R-1 and R-2 are almost same, while I don't understand why my R-L value is such low.
For the last 2 scores, BLEU and SARI, I used evaluate package (a huggingface library). My SARI score is very close to the paper one, so I guess they may also use the same package. By the way, I also tried to calculate all rouge scores via evaluate package:
R-1 = 44.61 // yours: 46.94, paper: 40.0
R-2 = 18.31 // yours: 19.22, paper: 15.0
R-L = 25.07 // yours: 43.77, paper: 37.0

Hi @LuJunru thanks for your reply. ROUGE, SARI and BLEU have several parameters and depend on the preprocessing. So I think we have to do a bit of guesswork here.
As for ROUGE, I used the implementation of the authors in modeling/utils.py. For the R-L metric, sentences need to be separated by newlines, which are added there. Have you used a similar pre-processing before calling rouge_score?
https://github.com/AshOlogn/Paragraph-level-Simplification-of-Medical-Texts/blob/edf6504ea28b2458ec6b4c172482ad15387aeeef/modeling/utils.py#L497-L501
SARI scores look quite close indeed. For the BLEU scores, I do not have any new insights.

Hi @jantrienes,
thanks for the explanations about R-L. I actually found there are RougeL and RougeLsum notations in the rouge_score package. And you can see the authors implement Rouge calculation based on exactly this rouge_score package. However, the original package does not support RougeLsum.
As for the BLEU scores, I tested NLTK package, and I found the value depends on the weights of BLEU 1~4. The BLEU results become 31.27 if I set following weights:
BLEUscore = nltk.translate.bleu_score.sentence_bleu([reference], hypothesis, weights=(1, 0, 0, 0))


Long load times with icon packages

Describe the bug
Hello dear SvelteKit maintainers,
I've recently started migrating my codebase from a custom solution using React and Express using Vite to SvelteKit. However, I wanted to use icons from Tabler first and I've seen massive load times on the dev server (I've had load times of 3 seconds and above, multiple times more than 29 seconds, screenshot below; it comes from the reproduction I've linked)

This happened for both Lucide Icons and Tabler Icons and I don't seem to be the only one with this issue. I haven't seen any issues like that with the React Version of Tabler Icons.
Thanks in advance!
Reproduction
https://stackblitz.com/edit/sveltejs-kit-template-default-bcxpkg?file=src%2Froutes%2F%2Bpage.svelte
I've included two links on the landing page for sites using icons from tabler and lucide. From my testing, the import was already enough to make the page load for a long time.
Logs
[See screenshot found in the description]

System Info
System:
    OS: Windows 11 10.0.22631
    CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
    Memory: 15.09 GB / 31.85 GB
  Binaries:
    Node: 22.5.1 - ~\AppData\Local\pnpm\node.EXE
    npm: 9.8.0 - ~\AppData\Local\pnpm\npm.CMD
    pnpm: 8.15.5 - ~\AppData\Local\pnpm\pnpm.EXE
    bun: 1.1.20 - ~\AppData\Local\pnpm\bun.CMD
  Browsers:
    Edge: Chromium (127.0.2651.74)
    Internet Explorer: 11.0.22621.3527
  npmPackages:
    @sveltejs/adapter-auto: ^3.2.2 => 3.2.2
    @sveltejs/kit: ^2.5.18 => 2.5.18
    @sveltejs/vite-plugin-svelte: ^3.1.1 => 3.1.1
    svelte: ^4.2.18 => 4.2.18
    vite: ^5.3.5 => 5.3.5

Severity
annoyance
Additional Information
Tried on both node (via pnpm) and bun

With icon libraries, you should really be using deep imports instead of importing from the index. Here's the related vite-plugin-svelte docs that covers this.
For lucide-svelte, importing the search icon directly will yield significantly faster load times in dev (and faster project builds):
<script>
  import SearchIcon from "lucide-svelte/icons/search";
</script>

<SearchIcon />

Thanks a lot for that!
I've actually tried doing this, but I haven't seen any difference in load time and I thought it's the same. Seems like the changes didn't carry over or something. I've looked it up and seen someone talking about it being the same thing no matter which way you import it, that's why I opened this issue.
Thanks again and sorry to bother!


Update packages and fix badge

Related issues

Type of pull request

[ ] New feature
[x] Bug fix
[ ] Refactoring
[ ] Feature update
[x] Other

Describe your PR in detail

Fix of issues caused by https://github.com/discordjs/discord.js/issues/9295

/lgtm let us hope nothing breaks :pray:


Map release process and identify pain points

What
Agreed in retro on 10/02/21, we would create a map of our release process including all steps (trigger, process, product updates, documentation, comms). Once we have done this, we will run a retro to identify pain points.
Why
So we can improve the release process.
Who needs to know about this
Developers, Content Designer, Technical Writer, Community Manager, Delivery Manager
Done when

[x] Mapped process
[x] Pain points identified
[x] Solutions identified
[x] Review from team
[ ] Documented

The content for our release process sits in the govuk-frontend repo.
Do we need to:

relocate this issue to the govuk-frontend repo?
link this issue to the PR for the content update?

Yes we should relocate this to the other repo and link the PR.


Site Navigation focus gets cut off when focused

There seems to be a small visual bug when site navigation links are focused:
See screenshot for example:

If we apply pl-3 (we apply pr-3 to each <LinkList /> already) then the focused state would no longer be cut off.

Any thoughts? Happy to make a fix for this if we think it makes sense 👍

Good catch. Ideally, I think we could add a negative margin and padding on the <nav> component (since its the container with the overflow) so that stays in the same spot it was in before but allows room links' ring and add padding on the link so that the spacing from the outline feels nice.

This is also happening to the "On this Page" links too if you wanted to take a stab at that as well. Happy to take a look at a PR! Thanks

I like the padding/-margin idea a lot! Just pushed a fix which should address the On this Page links as well.


Allow users to configure default enabled state

Allow users to configure the default enabled state when opening and viewing a markdown file.
https://github.com/MeanderingProgrammer/markdown.nvim/blob/467c13523153f9b918c86037d0b5f2a37094cb88/lua/render-markdown/init.lua#L132

What's the intended usage here?
So by default you load all markdown as raw and then you can toggle rendering on. That doesn't seem likely IMO but am curious what you had in mind.

This is largely based on my own personal preferences, but I think providing users the choice on whether to render markdown files by default or not comes with more benefits (e.g. being able to disable default rendering on the fly) compared to not being able to configure the default render state (e.g. to disable default rendering we would need to disable the plugin entirely).
For example, markdown-preview.nvim allows users to configure whether or not a preview of the rendered markdown will automatically open in a new browser window. I know markdown-preview.nvim has its own set of use cases and I only mention it as an example of the intended use case I had in mind when I created the issue and PR.
Also, FWIW I tried to keep the enabled state of the plugin set to true by default and the user has the option to disable it in their config. However, I could not seem to get the plugin to disable rendering by default and the only way I was able to achieve that was with the changes I made in this PR.
That being said, I certainly agree that my changes should not affect the current default state that you have in place, ideally my changes should primarily be focused on adding an option for the user to disable default rendering in their own config, and I would not only be open to that as the solution but I would have preferred it over the changes in this PR. I just hadn't figured out how to implement the solution in that way at the time is all.

Gotcha. Sounds like something that might be a preference for some users. Since it's a simple change no harm in adding it.

Thanks for the proposal and the PR!


Decide on mechanism for watching and leader election

Our solution will require:

Watch for new job requests, or job cancellation requests in the database
Watch for job events in k8s (started, failed, completed, etc)
Compare the delta and:

Update the database based upon changed state of k8s job
Deploy or cancel k8s jobs based upon changed desired state of jobs in DB
Optionally: Delete k8s jobs that shouldn't exist, according to the DB

We will need to either use an existing or write new python code to perform this watching, and also employ leader election

Completed. Described in Readme.


Nukes can create craters on void tiles

The solution is to check the current tile to see if it is a void tile before setting any given tile. A bit of a pain...

Semi fixed in 0.3.5 - still happens on 100kt+


Error: unknown dataset datasets/test.txt

Error: unknown dataset datasets/test.txt
Available datasets: Dataset, ImageClusters, ImageList, ImageListLabels, ImageListLabelsQ, ImageListROIs, ImageListRelevants, ImagesAndLabels, LabelledDataset, Landmarks18, Landmarks18_5K, Landmarks18_index, Landmarks18_lite, Landmarks18_mid, Landmarks18_missing_index, Landmarks18_new_index, Landmarks18_pca, Landmarks18_test, Landmarks18_train, Landmarks18_val, Landmarks18_valdstr, Landmarks_clean, Landmarks_clean_val, Landmarks_lite, NullCluster, Oxford5K, Paris6K, ROxford5K, RParis6K
executive command:
python -m dirtorch.extract_features --dataset 'ImageList("test.txt", ["/data01/gtr/studyPytorch/ytst/deep-image-retrieval/datasets"])' --checkpoint /data01/gtr/studyPytorch/ytst/deep-image-retrieval/Resnet101-AP-GeM-LM18.pt --output rparis6k_features.npy --whiten Landmarks_clean --whitenp 0.25 --gpu -1
The picture uses my own picture to generate the feature code. Why is the data invalid

@qq542288564 Hi ，has this problem been solved，ths

Hi @qq542288564,
I'm sorry, but I couldn't reproduce this error. I just run again this command in my own set of images and it worked. Could you try again by removing the brackets around the path of your images? It should be something like this:
--dataset 'ImageList("test.txt", "/data01/gtr/studyPytorch/ytst/deep-image-retrieval/datasets")'

Also, take into account that the path to test.txt should be either absolute or relative to the path where you're executing this code (ie. not relative to /data01/gtr/studyPytorch/ytst/deep-image-retrieval/datasets).
Hope this helped.


Unleash created infinite loop when proxy server is down

Describe the bug
Unleash FlagProvider accepts: startClient, config.
We are passing "startClient={false}" until we have the proxy server setted up.
The problem is that even when passing "startClient" false Unleash still tries to access the server and infinity (caused infinite loop in our app & to crush)
Steps to reproduce the bug
Wrap your app with the following:
    <FlagProvider
      startClient={false}
      config={{
        url: 'http://localhost:3000',
        clientKey: 'secret-key',
        appName: 'App',
        refreshInterval: 1000 * 60 * 15,
      }}
    >
      <App />
    </FlagProvider>

Reproduction
Expected behavior
Allow passing "maxRetries" in the config. Or at least add in your code "retryInterval" option
Logs, error output, etc.
No response
Screenshots

Additional context
No response
Unleash version
No response
Subscription type
Enterprise
Hosting type
Hosted by Unleash
SDK information (language and version)
(Typescript) "@unleash/proxy-client-react": "^3.4.0", "unleash-proxy-client": "^2.3.0",

Yes. That's was part of the bug.
startClient is false. But the provider still wraps the app.
When user authentication status is changed updateContext is called anyway.
I would expect updateContext to do nothing if startClient=false.

Yes. That's was part of the bug. startClient is false. But the provider still wraps the app. When user authentication status is changed updateContext is called anyway. I would expect updateContext to do nothing if startClient=false.

I think the problem is that the core library is emitting an event when the call fails, and we are listening on that event in this SDK. When we call updateContext that immediately triggers a new fetch, which fails, emits and events and the cycle continues. Let me verify that this is what is happening before I publish a fix.

I think so. How can I verify this? It looks & sounds like our issue :)

I think so. How can I verify this? It looks & sounds like our issue :)

I've merged a fix. Could you try version: 3.4.1-beta.1

Sure I will try tomorrow if that's ok

Sure I will try tomorrow if that's ok

Of course. Thanks!

@FredrikOseberg Looks great! Indeed solved the issue.
One more little question (maybe this is as intended). If I pass enableClient={false} I still see one request going to to our proxy. I am fine with this either way as long as it's happening only once.
I also did the following if startClient=false. I am not sure if it got impact.


OSError: [Errno 107] Transport endpoint is not connected

#@markdown # Start Stable-Diffusion
from IPython.utils import capture
import time
import sys
import fileinput
from pyngrok import ngrok, conf
Use_Cloudflare_Tunnel = False #@param {type:"boolean"}
#@markdown - Offers better gradio responsivity
Ngrok_token = "" #@param {type:"string"}
#@markdown - Input your ngrok token if you want to use ngrok server
User = "" #@param {type:"string"}
Password= "" #@param {type:"string"}
#@markdown - Add credentials to your Gradio interface (optional)
auth=f"--gradio-auth {User}:{Password}"
if User =="" or Password=="":
auth=""
with capture.capture_output() as cap:
%cd /content/gdrive/$mainpth/sd/stable-diffusion-webui/modules/
if Use_Latest_Working_Commit:
!wget -q -O paths.py https://github.com/TheLastBen/fast-stable-diffusion/raw/5632d2ef7fffd940976538d270854ec4faf26855/AUTOMATIC1111_files/paths.py
!wget -q -O extras.py https://github.com/AUTOMATIC1111/stable-diffusion-webui/raw/a9eab236d7e8afa4d6205127904a385b2c43bb24/modules/extras.py
!wget -q -O sd_models.py https://github.com/AUTOMATIC1111/stable-diffusion-webui/raw/a9eab236d7e8afa4d6205127904a385b2c43bb24/modules/sd_models.py
!wget -q -O /usr/local/lib/python3.9/dist-packages/gradio/blocks.py https://github.com/TheLastBen/fast-stable-diffusion/raw/7ff88eaa1fb4997bacd9845bd487f9a14335d625/AUTOMATIC1111_files/blocks.py
else:
!wget -q -O paths.py https://raw.githubusercontent.com/TheLastBen/fast-stable-diffusion/main/AUTOMATIC1111_files/paths.py
!wget -q -O extras.py https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/modules/extras.py
!wget -q -O sd_models.py https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/modules/sd_models.py
!wget -q -O /usr/local/lib/python3.9/dist-packages/gradio/blocks.py https://raw.githubusercontent.com/TheLastBen/fast-stable-diffusion/main/AUTOMATIC1111_files/blocks.py
%cd /content/gdrive/$mainpth/sd/stable-diffusion-webui/
!sed -i "s@os.path.splitext(checkpoint_file)@os.path.splitext(checkpoint_file); map_location='cuda'@" /content/gdrive/$mainpth/sd/stable-diffusion-webui/modules/sd_models.py
!sed -i 's@ui.create_ui().@ui.create_ui();shared.demo.queue(concurrency_count=999999,status_update_rate=0.1)@' /content/gdrive/$mainpth/sd/stable-diffusion-webui/webui.py
!sed -i "s@map_location='cpu'@map_location='cuda'@" /content/gdrive/$mainpth/sd/stable-diffusion-webui/modules/extras.py
!sed -i 's@/content/gdrive/MyDrive/sd/stablediffusion@/content/gdrive/{mainpth}/sd/stablediffusion@' /content/gdrive/$mainpth/sd/stable-diffusion-webui/modules/paths.py
!sed -i 's@print("No module.@@' /content/gdrive/$mainpth/sd/stablediffusion/ldm/modules/diffusionmodules/model.py
!sed -i 's@"quicksettings": OptionInfo(.*@"quicksettings": OptionInfo("sd_model_checkpoint,  sd_vae, CLIP_stop_at_last_layers, inpainting_mask_weight, initial_noise_multiplier", "Quicksettings list"),@' /content/gdrive/$mainpth/sd/stable-diffusion-webui/modules/shared.py
share=''
if Ngrok_token!="":
ngrok.kill()
srv=ngrok.connect(7860, pyngrok_config=conf.PyngrokConfig(auth_token=Ngrok_token) , bind_tls=True).public_url
for line in fileinput.input('/usr/local/lib/python3.9/dist-packages/gradio/blocks.py', inplace=True):
if line.strip().startswith('self.server_name ='):
line = f'            self.server_name = "{srv[8:]}"\n'
if line.strip().startswith('self.protocol = "https"'):
line = '            self.protocol = "https"\n'
if line.strip().startswith('if self.local_url.startswith("https") or self.is_colab'):
line = ''
if line.strip().startswith('else "http"'):
line = ''
sys.stdout.write(line)
elif Use_Cloudflare_Tunnel:
with capture.capture_output() as cap:
!pkill cloudflared
time.sleep(4)
!nohup cloudflared tunnel --url http://localhost:7860 > /content/srv.txt 2>&1 &
time.sleep(4)
!grep -o 'https[^[:space:]]*.trycloudflare.com' /content/srv.txt >/content/srvr.txt
time.sleep(2)
srv= getoutput('cat /content/srvr.txt')
for line in fileinput.input('/usr/local/lib/python3.9/dist-packages/gradio/blocks.py', inplace=True):
  if line.strip().startswith('self.server_name ='):
      line = f'            self.server_name = "{srv[8:]}"\n'
  if line.strip().startswith('self.protocol = "https"'):
      line = '            self.protocol = "https"\n'
  if line.strip().startswith('if self.local_url.startswith("https") or self.is_colab'):
      line = ''
  if line.strip().startswith('else "http"'):
      line = ''
  sys.stdout.write(line)

!rm /content/srv.txt /content/srvr.txt

else:
share='--share'
try:
model
if os.path.isfile(model):
!python /content/gdrive/$mainpth/sd/stable-diffusion-webui/webui.py $share --api --disable-safe-unpickle --enable-insecure-extension-access --no-download-sd-model --no-half-vae  --ckpt "$model" --opt-sdp-attention $auth --disable-console-progressbars
else:
!python /content/gdrive/$mainpth/sd/stable-diffusion-webui/webui.py $share --api --disable-safe-unpickle --enable-insecure-extension-access --no-download-sd-model --no-half-vae  --ckpt-dir "$model" --opt-sdp-attention $auth --disable-console-progressbars
except:
!python /content/gdrive/$mainpth/sd/stable-diffusion-webui/webui.py $share --api --disable-safe-unpickle --enable-insecure-extension-access --no-download-sd-model --no-half-vae --opt-sdp-attention $auth --disable-console-progressbars

using ngrok generally fixes this issue

I'm having this problem too, and using ngrok didn't fix it. What should I do?

use a fresh sd folder

I continually run into this issue with a brand new, fresh SD install. I haven't been able to get a working SD install from using this repo since you updated it 3 days ago. It will 100% fail with some sort of error if I do anything with it beyond just generating images. That includes trying to load loras, installing extensions, or anything else.  It has become very burdensome and frustrating because I can't figure out why it is suddenly no longer working.

 I've been using your repo for a while and am quite appreciative of everything you're doing. But there is some sort of stabilization issue going on with it that probably shouldn't be ignored. I'm still trying to troubleshoot what the cause is, but it is there and has been since the blasphemy update.
Beyond the slower than usual startup with duplicate process readouts and other smaller issues I've been having (lycoris extension no longer working and throwing errors 50% of time, lora extension throwing errors 80% of the time), there is a degrading functionality in the gradio ui for me that occurs randomly, often ~15 to 20 generations into booting up SD where the "generate" button will no longer function/respond and I have to start using "shift enter" to trigger gens. That too will stop functioning roughly 10 to 12 gens after, forcing me to do a ui reboot.
Reason I don't see it as "just a colab issue" is, I put together my own colab for a repo clone of Vladmanics SD install and it runs fine. As does my comfy colab install. And further, vlad starts up faster and runs smoother compared to Fast A1111. That's even when including installing of all the dependencies via the ARGS command vs. ahead of time.
If the "OSError: [Errno 107] Transport endpoint is not connected" error is truly a colab issue, then fine, but it appears explicitly tied to your repo running on colab. That issue doesn't happen for any of the other repos I've got setup to test. It will happen randomly when trying to boot up a new session. I literally just finished an exceptionally long SD session with Fast A1111 only to come back 20 minutes later and try to boot up, same connection, same setup, and it threw the error. And now I'm back to reinstalling Fast A1111 for the 11th time this week because of it.
I can't imagine the encoding/decoding function you put in for the blasphemy update is the cause.  Just wanting to share what's happening.

I use exactly the same code for Runpod and Paperspace notebook and they work just fine, that means it's an issue with colab
if you really want to make sure, run the colab notebook without the first cell.


Multisite search - Collection connection keeps fluctuating

I’m performing a multisite search per this guide here - https://www.drupal.org/docs/8/modules/search-api-solr/search-api-solr-howtos/set-up-and-configure-a-multisite-search
With ddev-solr add-on, I connected Site A SOLR endpoint to Site B. Server status shows as - 'The Solr server could be reached.'
When I point the specific collection of Site A SOLR to Site B, it initially showed as ' The collection could be accessed' , but when I keep refreshing the page it shows as 'The Solr collection could not be accessed. Further data is therefore unavailable.'
This is not consistent as well. It keeps fluctuating.
And I'm facing the same problem when I do any search with the cloned multisite index from Site A on Site B. At times the result shows 0 , at times it errors out, at times it gives the right resultset.
Is this expected behaviour? Or am I doing something wrong.
Thankyou.

If you show the configuration for the first site and the second site, and make it clear which one has the solr service, maybe we'll have something to say.

Sure. Let me detail it out here.

Site A has ddev-solr installed and Site B don't have it installed
Site B wants to read Site A through Site A's cloned Multisite index (Index name - Multisite Solr Live Index 3u11yw)
Multisite Solr Live Index 3u11yw is creaed with default settings with Solr multisite document datasource
The multisite server index is exported from Site A and imported to Site B. It got imported successfully.
Site B has all the solr cache disabled

Current behaviour

Site B is able to connect to Site A server. Shows - The solr server could be reached
Site B shows solr collection could not be accessed. When reloading the page this error goes away and its intermittend. It keeps coming back when i refresh the page.
When creating a view or implementing a custom search query in Site B using the multisite index of Site A, the result is not consistent. (Assume its due to the above problem?)

Attaching the Site A & B's Search server configs and Site A's multisite index yaml (which is imported to Site B)
multisearch_index.yml.txt
site_a_search_server.yml.txt
site_b_search_server.yml.txt

https://github.com/ddev/ddev-solr/assets/6604995/8995ab9b-765c-4f31-995f-23fec8ff9410
Here is the video clip of what I'm experiencing. This is from Site B.

The host in site_b_search_server.txt is wrong. solr would access the ddev-solr service of site B, which doesn't exist.
The host name has to be something like site-b.ddev.site.

@rfay Even if the config isn't correct, I don't understand how site B, which is a different ddev project, could sometimes reach the solr service of site A. With that configuration (the wrong host name) it should never reach it. Is there a general issue with the router?

@mkalkbrenner Projects can connect to each others' services using their fully-qualified container names, like ddev-projecta-solr or ddev-projectb-db, etc.
@wilfi unfortunately I can't read your configurations, and github says the images are not available to zoom in on. If you could please just show the configuration pages of each as a screenshot.

The host in site_b_search_server.txt is wrong. solr would access the ddev-solr service of site B, which doesn't exist. The host name has to be something like site-b.ddev.site.

This is what I tried initially, but wasn't working until I switched to solr

@mkalkbrenner Projects can connect to each others' services using their fully-qualified container names, like ddev-projecta-solr or ddev-projectb-db, etc.
@wilfi unfortunately I can't read your configurations, and github says the images are not available to zoom in on. If you could please just show the configuration pages of each as a screenshot.

@rfay
Here we go - I assume you want to see the server configuration page. Let me know if you want the edit page as well.
Site B (No solr)

Site A

Here is the edit page screenshots just in case if you want to see.
Site B

Site A

I think I got the problem. The hostname / node should be like ddev-<projectname>-solr.

The host in site_b_search_server.txt is wrong. solr would access the ddev-solr service of site B, which doesn't exist. The host name has to be something like site-b.ddev.site.

This from @mkalkbrenner made me realise to try with the solr image name. In fact the message thread from @rfay  from #ddev slack channel also conveys the same.
Turns out to be a simpler one than I thought. Thankyou both for the amazing work :)
I'll wait for both your go-ahead to close this one out, unless we want to talk about this

@rfay Even if the config isn't correct, I don't understand how site B, which is a different ddev project, could sometimes reach the solr service of site A. With that configuration (the wrong host name) it should never reach it. Is there a general issue with the router?

Glad you got it going!

@mkalkbrenner I should have answered your question:

With that configuration (the wrong host name) it should never reach it. Is there a general issue with the router?

With this configuration, the router is not in play at all, it's direct point-to-point between each ddev-webserver and the appropriate ddev-<projectname>-solr
@wilfi I'm glad you've got it going. None of your posts seems to show a correct configuration though. Please explain the final result so that if somebody wants to do this in the future they can figure it out
AFAICT the "solr node" should be named ddev-site1-solr or whatever on both Drupal instances.

So here is the final working configuration.
Site B

Key point - Make sure hostname / node points to -  ddev-<projectname>-solr (Site A Solr image name)

Thanks!


fix: change order of parameters

Type of change

Improvement (refactoring, restructuring repository, cleaning tech debt, ...)

Changes
The following changes have been made:

Change the order of the parameters in the mint() wrapper of the Escrow tests

Notes

Note 1

Related Issues

Closes #180

Thanks for help 🙂


Homebrew cask display name doesn't like slashes

The generated homebrew cask file contains the line name "XP ipe" while the display name is set to X-Pipe.

This may be related to:

the distribution's name
the formula's name

Please review the resolved configuration by running the config command. This should tell you what property will be resolved
https://github.com/jreleaser/jreleaser/blob/baddc6be2472389b41ae8a3d1eb71ff6c9a263c0/core/jreleaser-templates/src/main/resources/META-INF/jreleaser/templates/java-binary/brew/cask.rb.tpl#L9
If for some reason even after setting the correct property you can't still get the expected value, remember you can provide your own template where the value is fixed.

The model seems fine:
    brew:
        enabled: true
        active: ALWAYS
        continueOnError: false
        templateDirectory: /Users/crschnick/dev/xpipe/xpipex/dist/homebrew
        commitAuthor:
            name: crschnick
            email<EMAIL_ADDRESS>        formulaName: xpipe
        multiPlatform: false
        tap:
            enabled: true
            active: ALWAYS
            owner: xpipe-io
            name: homebrew-tap
            tagName: {{tagName}}
            branch: HEAD
            branchPush: HEAD
            username: crschnick
            token: ************
            commitMessage: {{tagName}}
        cask:
            enabled: true
            name: xpipe
            displayName: X-Pipe
            pkgName: xpipe-installer-macos-x86_64.pkg
            uninstall:
                pkgutil:
                    io.xpipe.xpipe

Here's the code that resolves the display name
https://github.com/jreleaser/jreleaser/blob/baddc6be2472389b41ae8a3d1eb71ff6c9a263c0/core/jreleaser-model-impl/src/main/java/org/jreleaser/model/internal/packagers/BrewPackager.java#L596-L602
Line 599 is the troublesome one.

The simple fix would be to use the resolved value "as is" without any additional transformation, however that would result in braking compatibility for some cases.
Instead, let's honor a new extraProperty named skipCaskDisplayNameTransform that should skip the transformations peformed by lines 607 and 610 when the value of said property is true.
In other words, consumers would have to write the following:
    brew:
        active: ALWAYS
        cask:
            displayName: X-Pipe
        extraProperties:
            skipCaskDisplayNameTransform: true

I wouldn't mind the transformation to something like XPipe, I primarily reported this because the transformation is buggy and results in XP ipe.

Linked to #1370

🎉 This issue has been resolved in v1.7.0 (Release Notes)


git tab completion: If  git.showSignature = true is set globally, tab completion of commits is garbled

To reproduce, set showSignature = true  in the log section of your global git config file, then type git reset <TAB> in a git repo that has a recent signed commit in its history.
It looks like this:
README überarbeitet (23 hours ago)       -- [README überarbeitet (23 hours ago)] gpg: Signatu
gpg                                      --                 issuer "<censored>":[g
Primary key fingerprint                  --  XXXX XXXX XXXX XXXX XXXX  XXXX XXXX XXXX XXXX 2F
7ded199                                  -- [7ded199]
92fdb4d                                  -- [92fdb4d] gpg:                using RSA key XXXXX
gpg                                      --  Good signature from "<censored>
92fdb4d                                  -- [92fdb4d] formatting (2 days ago)

This is a bug in zsh's official git completion, let them know on their mailing list.


Release notes on github release page

Is it possible to add release notes to releases page or at least link to corresponding release the from file ?
Thank you!

Thanks, added release notes existing to releases, from now releases will contain them.


CAMEL-11845: Migrate easymock and powermock to mockito

Migrate camel-atmosphere-websocket from easymock to mockito.

Thanks for the PR it has been merged. Do you mind closing this?


Aerial doesn't work

Unfortunately Aerial doesn't work correctly!

John might need a little more information on the problem to fix it for you. In what way is Aerial not working for you? Do you get an error message? Does it not launch at all? Do the videos hang?

It doesn't launch partly. It looks like someone pushes pause when video is streaming. That's all
Отправлено с iPhone

28 окт. 2015 г., в 02:03, Alistair McMillan<EMAIL_ADDRESS>написал(а):
John might need a little more information on the problem to fix it for you. In what way is Aerial not working for you? Do you get an error message? Does it not launch at all? Do the videos hang?
—
Reply to this email directly or view it on GitHub.

Same problem here? Maybe? (Look my latest issue)

Hi @VictorPenkovsky @agucova have you tried one of the recent betas that allows you to cache the videos? Do they work okay for you?

Waited months, no reply, so closing.


Improve test assertions

At present, there exist tests that make np.isclose assertions on fidelity outcomes.
This means that an update that is beneficial to fidelity could result in failing tests. I have this problem on my machine, for instance.
I believe a good course of action is thus:

Use one-sided bounds on assertions that provide metrics that we are happy to see improvements on
Use a benchmarking approach alongside the one-sided bounds testing to track those metrics and report when there is an improvement or deterioration.

Half done.
Now using upper bounds. It's clear we want benchmarks though so we can see when there's a performance degradation.


Default validator/transform fail on Checkbox prompt with numeric or non-string values

The checkbox prompt expects the value of each option to be a string. However there exists many reasons for preferring a number or other non-string value. However, the default verifier will always return false, and if that is worked around, the default transform will throw an error.
For example, consider this code:
import { Checkbox } from<EMAIL_ADDRESS>
await Checkbox.prompt({
  message: 'Options where the value is not a string is not supported',
  options: [
    { name: 'foo', value: 1 },
    { name: 'bar', value: 2 },
  ],
})

If any options are selected, the user is shown "Invalid Answer".
A custom validator can be supplied:
import { Checkbox } from<EMAIL_ADDRESS>
await Checkbox.prompt({
  message: 'Options where the value is not a string is not supported',
  options: [
    { name: 'foo', value: 1 },
    { name: 'bar', value: 2 },
  ],
  validate: _ => true,
})

Validation passes, but then an error is thrown: Uncaught (in promise) TypeError: val.trim is not a function
Providing a custom transform function will avoid this:
import { Checkbox } from<EMAIL_ADDRESS>
await Checkbox.prompt({
  message: 'Options where the value is not a string is not supported',
  options: [
    { name: 'foo', value: 1 },
    { name: 'bar', value: 2 },
  ],
  validate: _ => true,
  transform: _ => _,
})

This works.
I would be happy to contribute a pull request addressing this issue if you like.

Hi @mdixon4, yes I am aware of this and I want to fix this before v1. A PR would be very welcome!


Invalid handling of nested build.sbt

Describe the bug
Metals plugin for nvim doesn't properly import projects that contain nested build.sbt. Consider following project structure:
.
├── build.sbt
├── LICENSE
├── modules
│   ├── library
│   │   └── src
│   │       └── main
│   │           └── scala
│   │               └── net
│   │                   └── michalp
│   │                       └── playground
│   │                           └── PlaygroundLib.scala
│   └── plugin
│       ├── build.sbt
│       ├── project
│       │   └── project
│       │       └── project
│       └── src
│           └── main
│               └── scala
│                   └── net
│                       └── michalp
│                           └── playground
│                               └── PlaygroundPlugin.scala
└── project
    ├── build.properties
    └── plugins.sbt

The important part is that there's build.sbt in the repository root as well as one in modules/plugin/build.sbt. The later is there for sake of defining plugin dependencies.
For full reproduction example see following minimal example project: https://github.com/majk-p/sbt-plugin-playground
It fails in vanila install of nvim + lazyvim

When the  modules/plugin/build.sbt is removed, the plugin code is imported properly again:

Extra context
The example project is imported properly in VSCode

and in Zed

Expected behavior
Expected Metals in nvim to behave in the same way as with other editors.
Operating system
Linux
Version of Metals
v1.4.0
Commit of nvim-metals
f861db9fda55939797ac1b05238c49b0dcdc3bdb

Thanks for the report!

Expected Metals in nvim to behave in the same way as with other editors.

So this is the tricky part. The idea of a workspace in Nvim is sort of artificial. There is no "open this folder as the root of a workspace" like there is in other editors. Everything is just an open buffer. So nvim-metals sort of artificially needs to create a workspace by correctly identifying roots. As you can imagine, with the various buildtools and projects structures this gets very tricky to do in a reliable way. What I ended up defaulting to is that I do look for nested build files, but only one layer of nesting. So if you would have:
build.sbt
other/build.sbt

Then that's no issue. I don't go deeper than that by default because in a project that only has a single build.sbt you end up traversing down multiple levels and potentially finding things that are part of other projects on disk that you don't want. However, this situation has happened before so there is a find_root_dir_max_project_nesting setting that is defaulted to 1. You should be able to bump this to 2, and then it should work as expected for this project.  Btw you can see the logic for how this all works in here.

@majk-p so I want to avoid building this into nvim-metals. Mainly because for 95% of projects the default seems to work. For a workaround, you can use the find_root_dir_max_project_nesting. However, everything is configurable so in reality you can also override find_root_dir in your config and provide your own function that can do what you're suggesting so that it's always used.


how to edit yolo label with imported txt labels ?

I have get the annotated yolo images and txt files.
And I haved loaded data in notebook. How do I only edit bboxes without the need of pretrained models?

Can you describe more what you are trying to do?


card-expiry directive accepts month values greater than twelve

Month value isn't being validated to be less or equal than twelve.

mmm, my fault. this issue is not really an issue. xD


Wrong text calculation on AttributedString

Add option to pass original NSAttributedString instead of creating an internal one for text calculation

您好，邮件收到


Hi!

My name is Jesé, one of the devs behind https://github.com/AnimaBeyondDevelop/AnimaBeyondFoundry system that we released few years ago now.
I saw your amazing work for Anima Beyond Fantasy and if you want, I invite you to form part of.

Hello Jesé, I'm not sure what you're asking.


sort out issue with inner classes

relates to #68

Thank you for this!  I've been busy getting next-gen ready.... soon!  This is a feature I'll have to pull forward into that code.  Once fixed in this gen, we don't want it to be absent/broken in the new code.


refactor(frontend): extract filling fields in fragment graph

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
Refactor to extract common code for filling some fields in the fragment graph.
Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

#18466  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @BugenZhao and the rest of your teammates on  Graphite


configurable all minify options?

I have a use case that I need to not remove html comments,
would you accept a pr that make all the minifies into configable options?
like:
'minifiers' => [
        'html' => [
            'remove_comments' => true,
            'trim_newlines' => true,
            etc..
        ]
    ]

Yes please. :)


NvOptimusEnablement not exported for /SUBSYSTEM:CONSOLE

When /SUBSYSTEM:CONSOLE is specified the exported symbols NvOptimusEnablement and AmdPowerXpressRequestHighPerformance in MainWin32.cpp aren't brought into the executable. I think this is because WinMain isn't referenced and so the entire .obj is ignored. Here's a related article.

Current temp fix is to use declare them in your own code and then use /FORCE:MULTIPLE to allow multiple declarations.

It's a compiler/optimization thing. Don't think there's anything we can do about this and in the end you'd just have to ensure to include the export on your own (as you do now).
On the flip side, you don't really have to link to sfml-main anyway; it's just a convenience thing. Just add your own little wrapper WinMain() calling main(). In the end it's just a trivial call if you don't care about parameters.
#ifdef WIN32
#include <Windows.h>
int WINAPI wWinMain(HINSTANCE, HINSTANCE, PWSTR, int) {
    return main(0, NULL);
}
#endif

Thanks for the reply.
According to the article I referenced, you can write a dummy function to force the .lib to always get linked in.
If it isn't fixed, then I think having the NvOptimusEnablement stuff in there is misleading as it is only exported for /subsystem:windows builds. Maybe it could be somewhere else.

According to the article I referenced, you can write a dummy function to force the .lib to always get linked in.

You could actually use NvOptimusEnablement in your code to achieve this. But I think the cleaner option would still be to implement the export and WinMain yourself.

If it isn't fixed, then I think having the NvOptimusEnablement stuff in there is misleading as it is only exported for /subsystem:windows builds. Maybe it could be somewhere else.

It is somewhat. Unfortunately there's no other part of SFML that's always linked statically. It won't work as an export in a dll file. It has to happen in the executable itself. All solutions of a hidden use result in code you'd have to manually add either way.

As an alternative, did you consider allocating/attaching a console window on your own in a (I guess) Win32 debug build? So you'd always use /SUBSYSTEM:WINDOWS and then add the console window. This way you could even make it a toggle or command line switch.

SFML could fix this using #pragma comment(linker, "/include:XXX" )

Haven't tried that yet. This sounds like a good idea, but then we'd force people into using sfml-main, even if they'd like to write or use their own wrapper code, e.g. to do exception handling. Not really sold on that one.

According to the article I referenced, you can write a dummy function to force the .lib to always get linked in.

I read the article, but didn't fully understand how this would be done. They say there needs to be a reference to that dummy function, so we'd have to call it from outside, which seems impossible as there's no explicit dependency on sfml-main.
One point that hasn't been mentioned here is that SFML doesn't guarantee, that the dedicated GPU will be used. The introduced exports are mostly a convenience and since pretty much all final releases don't use a console attached to the game, it's a convenience that works most of the time.

One point that hasn't been mentioned here is that SFML doesn't guarantee, that the dedicated GPU will be used. The introduced exports are mostly a convenience and since pretty much all final releases don't use a console attached to the game, it's a convenience that works most of the time.

Only when you're shipping, but I have spent 99% of the time testing my game with a console. Also be aware that games do ship with console sometimes, especially during Early Access / Beta.
I suppose the least we could do is warn people that the symbols aren't exported in /SUBSYSTEM:CONSOLE mode. The best approach would be to make SFML responsible for exporting those symbols, but unfortunately it looks like it has to be in the main executable.
Another approach could be to just offer that code as a #define that the user can call in their application code. SFML_FORCE_HIGH_PERFORMANCE_GRAPHICS() or something, and then drop it in the tutorial/docs.
In any case, I think this issue will help future gamedevs, so it's good to get it all out there.

@eigenbom Try out #1406.


Typo "AZCopy"→"AzCopy"

https://docs.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/design-elt-data-loading
#PingMSFTDocs

@hyoshioka0128 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good; thanks.


feat: layout tweaks

this PR brings rounder borders in navbar and footer, allows the return and cart button be appearing at the same time, and also adds description to product detail.

and also has some jokes from chatgpt (very good ones)


eo-math up to 0.2.3

This PR fixed this issue: https://github.com/objectionary/eo-math/issues/45

@Graur thanks!


Add Uber's open source projects

Thank you for contributing! Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/explore/blob/master/CONTRIBUTING.md
[x] I have no affiliation with the project I am suggesting (as a maintainer, creator, contractor, or employee).

Which change are you proposing?

[x] Suggesting edits to an existing topic or collection
[ ] Curating a new topic or collection
[ ] Something that does not neatly fit into the binary options above

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[ ] Image (and my file is *.png, square, dimensions 288x288)
[x] Content (and my changes are in index.md)

I was looking through the list if orgs and their OSS projects and noticed that Uber is missing.

Curating a new topic or collection

[ ] I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
[ ] My folder contains a *.png image (if applicable) and index.md
[ ] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docs

Please replace this line with an explanation of why you think this topic or collection should be curated.

Something that does not neatly fit into the binary options above

[ ] My suggested edits are not about an existing topic or collection, or at least not a single one
[ ] My suggested edits are not about curating a new topic or collection, or at least not a single one
[ ] My suggested edits conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docs

Please replace this line with an explanation of your proposed changes.

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Thanks @kenyonj , fixed!

Sorry, just realized that we don't support arbitrary website entries, so I'll have to revert this.

Ah, didn't know that. No problem @kenyonj ! :ok_hand:


Could not create challenge

Could not create a new challenge. Request example:

url:  http://maproulette.org/api/v2/challenge
header: api key of the user<EMAIL_ADDRESS>is sent
body:
{
"name": "Dead Ends Test1345",
"parent": 62,
"difficulty": 1,
"blurb": "Unexpected dead ends of major roads",
"instruction": "Determine if the dead end ought to connect to something.",
"defaultZoom": 18,
"minZoom": 18,
"maxZoom": 20,
"enabled": false
}

Could you please provide the error response that you are getting. I have tested this locally and the creation of the challenge works, so to further work out what is going I will need to understand what the exact failure you are getting is.

I got he following response:
{"status":"NotAuthorized","message":"Authorization failed (server replied with a 401). This can happen if the consumer key was not correct or the signatures did not match.",responseCode:401}.
We are using the MapRoulette API in one of our components (maproulett-loader) that creates/updates challenges & tasks from different map checks or ImproveOSM data.

Ok so I believe I know what is going on here. Recently we had to upgrade the backend framework and the encryption libraries we used were removed from PLAY, and so we had to replace them. This however means that old APIKey's would not work anymore. This will need to be fixed so that you can update the API_KEY in the new UI. As a workaround fix, you can go into the old UI using the url: http://maproulette.org/?oldui=true, and then going to your user profile and reseting the API KEY.

After I re-generate the API_KEY the issue was solved. Thank you!
However I have noticed that the created challenges are not showing up in http://maproulette.org/mr3/admin/projects .
For example challenge http://maproulette.org/ui/admin/list/62/Challenge/tasks/3049 that is available in the old MapRoulette , it can not be found at the user's challenges in the new MapRoulette.
Our use case would be to create invisible challenges by default, after some QA the challenge is enabled to the OSM community.

If it is available in the old UI but not the new UI, then that would be an issue with the maproulette3 project. @nrotstan could you maybe comment on this one.

@beataj-telenav thanks for reporting this. It does indeed appear to be a bug with the new UI. I've opened up osmlab/maproulette3#396 to track it. As a temporary workaround, if you search for dead (or whatever challenge name you're looking for) in the "Project or Challenge Name" search box in the left sidebar on http://maproulette.org/mr3/admin/projects then it will hopefully present your new challenge to you as a search result after a couple seconds.

I am going to close this ticket, as it has been replaced with the ticket above.


Activating extension dbaeumer.vscode-eslint failed

You have published version 1.4.1 just an hour ago and when I updated, plugin stopped working.

It looks like that plugin is failed to build before publishing to VS Marketplace
[Extension Host] Ошибка активации расширения "dbaeumer.vscode-eslint": Cannot find module '/home/maksimkurb/.vscode-insiders/extensions/dbaeumer.vscode-eslint-1.4.1/client/out/extension'. (at Object.showMessage (/usr/share/code-insiders/resources/app/out/vs/workbench/node/extensionHostProcess.js:4:502720))
/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.main.js:9 [Extension Host] Activating extension `dbaeumer.vscode-eslint` failed:  Cannot find module '/home/maksimkurb/.vscode-insiders/extensions/dbaeumer.vscode-eslint-1.4.1/client/out/extension' (at /usr/share/code-insiders/resources/app/out/vs/workbench/node/extensionHostProcess.js:4:288724)
/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.main.js:9 [Extension Host] Here is the error stack:  Error: Cannot find module '/home/maksimkurb/.vscode-insiders/extensions/dbaeumer.vscode-eslint-1.4.1/client/out/extension'
	at Function.Module._resolveFilename (module.js:470:15)
	at Function.Module._load (module.js:418:25)
	at Function.J.o._load (/usr/share/code-insiders/resources/app/out/vs/workbench/node/extensionHostProcess.js:4:484491)
	at Module.require (module.js:498:17)
	at require (internal/module.js:20:19)
	at Function.d [as __$__nodeRequire] (/usr/share/code-insiders/resources/app/out/vs/loader.js:4:27801)
	at g (/usr/share/code-insiders/resources/app/out/vs/workbench/node/extensionHostProcess.js:4:499934)
	at e._doActivateExtension (/usr/share/code-insiders/resources/app/out/vs/workbench/node/extensionHostProcess.js:4:505198)
	at e._activateExtension (/usr/share/code-insiders/resources/app/out/vs/workbench/node/extensionHostProcess.js:4:504674)
	at Object.actualActivateExtension (/usr/share/code-insiders/resources/app/out/vs/workbench/node/extensionHostProcess.js:4:502852) (at /usr/share/code-insiders/resources/app/out/vs/workbench/node/extensionHostProcess.js:4:288792)
/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.main.js:9 Ошибка активации расширения "dbaeumer.vscode-eslint": Cannot find module '/home/maksimkurb/.vscode-insiders/extensions/dbaeumer.vscode-eslint-1.4.1/client/out/extension'.

Duplicate of #330


Override config files

closes #125

Codecov Report

Merging #132 into master will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master      #132   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            6         5    -1
  Lines          191       187    -4
=========================================
- Hits           191       187    -4

Impacted Files
Coverage Δ

nbqa/__main__.py
100.00% <100.00%> (ø)

nbqa/__init__.py

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 10fcdbb...2683af2. Read the comment docs.


Modified maven dependencies to reduce build time and jar size of s3

Oh wow! This reduces the S3 plugin jar from 180MB to 9 MB! 🤯
Can this change theoretically be done for Firestore plugin as well?

This change was to narrow down libraries from the entirety of aws sdk to just s3, Firestore looks like it is using just the firebase library so I would say not. We can definitely be a little more surgical with our dependencies on the whole though. Lots of duplications and unused libraries.

@nidhi-nair great catch !


Render different pages into seperate SVGs

Is your feature request related to a problem? Please describe.
My 20-page pdf is rendered into a single SVG and is causing severe performance issues. The browser reacts slowly and sometimes stuck. Example is here: https://alias.qliphoth.tech/post/stlc/
Describe the solution you'd like
Though not tested, I think dividing it into multiple SVGs may help, and it's natural to render each page into a seperate SVG.
Describe alternatives you've considered
It's also possible to render only the part displayed in the screen, but this sounds harder.

it's natural to render each page into a seperate SVG.

What would you do if you get seperated svg? Putting all seperated SVGs into webpage will just have same performance as a single SVG one.

It's also possible to render only the part displayed in the screen, but this sounds harder.

Another project using typst.ts applies the partial rendering technique, but I have not adopted them to typst.ts yet. I'm working on it.

If we are willing to sacrifice links, we can lazy load individual ꜱᴠɢs using <img> or <object> tags.  Additionally, isolated ꜱᴠɢs that are not in the page's DOM will have better performance.
The ideal approach would be to generate reasonable chunks based on Frame, so that parts with links can be directly embedded into HTML, while others are loaded as images. This way it won't break anchors (I guess).

We are rendering only the part displayed in the screen.


Handle operation packages

This adds support to generating and packaging the classes based on a path field under the operation object and the irFile relative path.
Operations are generated under a namespace matching the folder structure after src/main/graphql (restricted to a src/x/graphql/.... structure).
Fragments and Type Declarations are generated by appending .fragment or .type to the namespace that matches the folder structure starting from where the IR file was found.
For example, if the IR path was the following
src/main/graphql/com/example/api/API.json

Fragments will be generated under com.example.api.fragment and types under come.example.api.type. This makes handling and resolving the fields referenced in fragments and types much easier.
@martijnwalraven @felipecsl @sav007 please take a look. If no complaints, I'll push the apollo-codegen and Gradle plugin changes.

Looks like this requires a change to the IR format to include the path field. Is @martijnwalraven 👍 with that?

@felipecsl @martijnwalraven Another alternative would be for the plugin to handle the .graphql files lookup and instead of running apollo-codegen generate **/*.graphql pass it the file paths.
Then, GraphQlCompiler would take a Map of .graphql files and their paths and does the resolution there.
It seems better to just have it in the IR with apollo-codegen generate --paths true or something.
I'm open to other approaches.

Fragments will be generated under com.example.api.fragment and types under come.example.api.type. This makes handling and resolving the fields referenced in fragments and types much easier.

Not sure if it will be easy as then we need to resolve package names inside code generation

@marwanad @felipecsl sorry maybe I missing smth but why we can't keep package where we found *.graphql files
so for instance if we found *.graphql files in 2 places:
src/main/graphql/com/example/customer/*.grapqhl
src/main/graphql/com/example/merchant/*.graphql
Then we will generate 2 packages and place all code generated to these packages:
com.example.customer.*.classes
com.example.merchant.*.classes

Not sure if it will be easy as then we need to resolve package names inside code generation

It's already handled as part of the PR.
All the builders that handle code generation take a irPackageName parameter and so are able to resolve fragment and input type packages by appending .fragment or .type to that package.
Using javapoet's ClassName.get("$irPackageName.fragment", fragmentName) handles the imports.

sorry maybe I missing smth but why we can't keep package where we found *.graphql files

We're doing the generation based on the IR file, not .graphql files. We decided we're going to generate one big IR file for all the .graphql files using apollo-codegen. The IR file doesn't contain any information on the location of those .graphql files. Does that answer your question?
I hope this example clears it up:
src/main/graphql/com/example/api/schema.json
src/main/graphql/com/example/api/customer/Customer.graphql
src/main/graphql/com/example/api/merchant/Merchant.graphql

Gradle plugin will find the schema.json file, run apollo-codegen generate **/*.graphql -- schema src/main/graphql/api/schema.json. This will pick up all .graphql files under src/main and generate one big IR file.

The apollo-codegen script generates an APIDebug.json file under source/apollo/generated/com/example/api/APIDebug.json. The com.example.api is what I refer to as irPackageName above.

All fragments and types under  Customer.graphql, Merchant.graphql will be generated under com.example.api.fragment and com.example.api.type respectively.

The CustomerQuery and MerchantQuery files will be generated under com.example.api.customer and com.example.api.merchant respectively and they're aware of where the referenced fragments are.

Note that it's not even required for the query files to be under the api package because they're aware of where the IR file is and thus are also aware of where to reference the types and fragments. So, for instance they could live under src/main/graphql/com/example/model/ and everything would work still.
(PS. I haven't pushed the gradle plugin change yet)
@sav007

We're doing the generation based on the IR file, not .graphql files. We decided we're going to generate one big IR file for all the .graphql files using apollo-codegen.

Right but can we break it to smaller ones per package?
If user wants to share fragments then he needs to put all *.graphql files in one folder that will define the package name for all generated classes

The CustomerQuery and MerchantQuery files will be generated under com.example.api.customer and com.example.api.merchant respectively and they're aware of where the referenced fragments and types are.

Agh I see, hm yes makes sense. Thx for explanation!

Right but can we break it to smaller ones per package?
If user wants to share fragments then he needs to put all *.graphql files in one folder that will define the package name for all generated classes

We definitely can but another reason we decided to go with one IR for all is because doing it per package is going to be hackier (basically would be executing a apollo-codegen shell command in a loop for every folder with query files but it can definitely be done).
I also think that one for all is less error prone because apollo-codegen restricts operation names and fragment names to be unique so we can avoid generating duplicates in some cases. If the user has multiple operations and fragments with the same name, he'll get an error.

PS this PR will be pain in my a... for my opened PR for pojo generation :)

LOL yeah 😁  . I took a look, there are quite a few changes to the code generation builders and fragment logic.

@marwanad we can't merge this PR without changes to apollo-codegen, right?

@sav007 yup, I was waiting for @martijnwalraven's approval before pushing the change.

I think going for the change on apollo-codegen is still the cleanest solution. I'll ping Martijn about it during out next hangouts

Created https://github.com/apollostack/apollo-codegen/issues/38

@marwanad this should have all you need for this PR: https://github.com/apollostack/apollo-codegen/issues/38#issuecomment-273919387
I think the key is filePath instead of just path

@felipecsl Awesome! I updated the plugin and ran the tasks on the sample project and it seems to work 😄
PS. I removed the DebugAPI.json and ReleaseAPI.json, since those will be generated by the plugin anyways.

@marwanad sorry :( let me know if you need help of resolving conflicts

@sav007 updated. I'm not sure if any specific handling would be needed for the pojo case.

@marwanad is this PR still blocked by changes required to apollo-codegen or we are good to go?

@sav007 it's good to go now

Updated. Will merge by tomorrow if no more comments.


Timeout getting receipt

Describe the bug
Might be related to #99, but receiving the following error during POST /transactions
b'{"errors":{"errors":["transaction 08b4dcd10dc7ad3ada0cd314635a33f0b82cb17bcf0aeee80c411db8cc467b21: timeout waiting for receipt"]},"status":"FAIL"}

Have you observed this lately?

This is related to the txpool issue, have seen it correlated to when we see txpool growth, still unsure if we've resolved this with genesis change but it has been looking good so far

Related: https://github.com/polyswarm/infrastructure/issues/45
Let's this ticket when we close the above.


[SPARK-10255][ML] Removes Guava dependencies from spark.ml.param JavaTests

Merged build triggered.

Merged build started.

Test build #41586 has started for   PR 8446 at commit f31faa2.

Test build #41586 has finished for   PR 8446 at commit f31faa2.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/41586/
Test PASSed.