text:
Bug: Singlefile and other Chrome-based extractors not working in 0.7.1 on x86_64

Describe the bug

Since about a month, singlefile and other Chrome-based extractors don't work anymore.
Steps to reproduce

Enter a url into the add interface or try to pull any snapshot. My config:
[SERVER_CONFIG]
SECRET_KEY = REDACTED
PUBLIC_INDEX = False
PUBLIC_SNAPSHOTS = False
PUBLIC_ADD_VIEW = False
SAVE_FAVICON = False
SAVE_ARCHIVE_DOT_ORG = False
SAVE_WGET = False
SAVE_WARC = False
SAVE_PDF = False
SAVE_SCREENSHOT = False
SAVE_MEDIA = False
SAVE_DOM = False
SAVE_GIT = False
CHROME_USER_DATA_DIR = /data/chromium-profile
CHROME_SANDBOX = True
CHROME_HEADLESS = True

I also tried to enable user namespace cloning in my host system as recommended in the puppeteer docs that are linked in the logs that I pasted below. Also, I tried the second method from there (Setup setuid sandbox) within the container but I could not get that to work as well…
Screenshots or log output

Log Output
archivebox_1  |         Extractor failed:
archivebox_1  |              SingleFile was not able to archive the page
archivebox_1  |         Run to see full output:
archivebox_1  |             cd /data/archive/REDACTED;
archivebox_1  |             /app/node_modules/single-file-cli/single-file --browser-executable-path=chromium-browser "--browser-args=[\"--headless=new\", \"--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)\", \"--window-size=1440,2000\", \"--user-data-dir=/data/chromium-profile\"]" REDACTED singlefile.html

When I execute the above in via docker-compose exec archivebox bash:
root@dfbcbfb5e14f:/data# gosu $PUID /app/node_modules/single-file-cli/single-file --browser-executable-path=chromium-browser "--browser-args=[\"--headless=new\", \"--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)\", \"--window-size=1440,2000\", \"--user-data-dir=/data/chromium-profile\"]" REDACTED singlefile.html
Failed to launch the browser process!
[194:194:1202/191703.178938:FATAL:zygote_host_impl_linux.cc(127)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/main/docs/linux/suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.
#0 0x5580a3179882 base::debug::CollectStackTrace()
#1 0x5580a3166083 base::debug::StackTrace::StackTrace()
#2 0x5580a30c0723 logging::LogMessage::~LogMessage()
#3 0x5580a1751cea content::ZygoteHostImpl::Init()
#4 0x5580a24e83cc content::ContentMainRunnerImpl::Initialize()
#5 0x5580a24e5eb0 content::RunContentProcess()
#6 0x5580a24e627d content::ContentMain()
#7 0x55809e96331b ChromeMain
#8 0x7f980c8f51ca (/usr/lib/x86_64-linux-gnu/libc.so.6+0x271c9)
#9 0x7f980c8f5285 __libc_start_main
#10 0x55809e96302a _start
Crash keys:
  "switch-42" = "about:blank"
  "switch-41" = "--use-angle=swiftshader-webgl"
  "switch-40" = "--ozone-override-screen-size=800,600"
  "switch-39" = "--ozone-platform=headless"
  "switch-38" = "--noerrdialogs"
  "switch-37" = "--remote-debugging-port=0"
  "switch-36" = "--window-size=1280,720"
  "switch-35" = "--no-pings"
  "switch-34" = "--disable-web-security"
  "switch-33" = "--user-data-dir=/data/chromium-profile"
  "switch-32" = "--window-size=1440,2000"
  "switch-31" = "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) App"
  "switch-30" = "--headless=new"
  "switch-29" = "--mute-audio"
  "switch-28" = "--hide-scrollbars"
  "switch-27" = "--headless"
  "switch-26" = "--use-mock-keychain"
  "switch-25" = "--password-store=basic"
  "switch-24" = "--no-first-run"
  "switch-23" = "--metrics-recording-only"
  "switch-22" = "--force-color-profile=srgb"
  "switch-21" = "--export-tagged-pdf"
  "switch-20" = "--enable-blink-features=IdleDetection"
  "switch-19" = "--enable-automation"
  "switch-18" = "--disable-sync"
  "switch-17" = "--disable-search-engine-choice-screen"
  "switch-16" = "--disable-renderer-backgrounding"
  "switch-15" = "--disable-prompt-on-repost"
  "switch-14" = "--disable-popup-blocking"
  "switch-13" = "--disable-ipc-flooding-protection"
  "switch-12" = "--disable-hang-monitor"
  "switch-11" = "--disable-extensions"
  "switch-10" = "--disable-dev-shm-usage"
  "switch-9" = "--disable-default-apps"
  "switch-8" = "--disable-component-update"
  "switch-7" = "--disable-component-extensions-with-background-pages"
  "switch-6" = "--disable-client-side-phishing-detection"
  "switch-5" = "--disable-breakpad"
  "switch-4" = "--disable-backgrounding-occluded-windows"
  "switch-3" = "--disable-background-timer-throttling"
  "switch-2" = "--disable-background-networking"
  "switch-1" = "--allow-pre-commit-input"
  "num-switches" = "44"
  "commandline-disabled-feature-6" = "BackForwardCache"
  "commandline-disabled-feature-5" = "Prerender2"
  "commandline-disabled-feature-4" = "OptimizationHints"
  "commandline-disabled-feature-3" = "MediaRouter"
  "commandline-disabled-feature-2" = "AcceptCHFrame"
  "commandline-disabled-feature-1" = "Translate"
  "commandline-enabled-feature-1" = "NetworkServiceInProcess2"
  "osarch" = "x86_64"
  "pid" = "194"
  "ptype" = "browser"

[1202/191703.431034:ERROR:file_io_posix.cc(144)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq: No such file or directory (2)
[1202/191703.431174:ERROR:file_io_posix.cc(144)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq: No such file or directory (2)
Received signal 6
#0 0x5580a3179882 base::debug::CollectStackTrace()
#1 0x5580a3166083 base::debug::StackTrace::StackTrace()
#2 0x5580a31792a1 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#3 0x7f980c909fd0 (/usr/lib/x86_64-linux-gnu/libc.so.6+0x3bfcf)
#4 0x7f980c958d3c (/usr/lib/x86_64-linux-gnu/libc.so.6+0x8ad3b)
#5 0x7f980c909f32 gsignal
#6 0x7f980c8f4472 abort
#7 0x5580a315a0c5 base::debug::BreakDebuggerAsyncSafe()
#8 0x5580a30c11c8 base::RepeatingCallback<>::Run()
#9 0x5580a30c0ee4 logging::LogMessage::~LogMessage()
#10 0x5580a1751cea content::ZygoteHostImpl::Init()
#11 0x5580a24e83cc content::ContentMainRunnerImpl::Initialize()
#12 0x5580a24e5eb0 content::RunContentProcess()
#13 0x5580a24e627d content::ContentMain()
#14 0x55809e96331b ChromeMain
#15 0x7f980c8f51ca (/usr/lib/x86_64-linux-gnu/libc.so.6+0x271c9)
#16 0x7f980c8f5285 __libc_start_main
#17 0x55809e96302a _start
  r8: 0000323000338167  r9: 0000000000000b27 r10: 0000000000000008 r11: 0000000000000246
 r12: 0000000000000006 r13: 000000000000007f r14: 000055809c33609f r15: 00007fffb1ca2950
  di: 00000000000000c2  si: 00000000000000c2  bp: 00007f980b58b380  bx: 00000000000000c2
  dx: 0000000000000006  ax: 0000000000000000  cx: 00007f980c958d3c  sp: 00007fffb1ca27b0
  ip: 00007f980c958d3c efl: 0000000000000246 cgf: 002b000000000033 erf: 0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]

TROUBLESHOOTING: https://pptr.dev/troubleshooting

ArchiveBox version
docker: archivebox/archivebox:latest as of today
I'm using docker-compose with ubuntu 20.04 as the host system.

0.7.1+editable
ArchiveBox v0.7.1+editable Cpython Linux Linux-5.4.0-167-generic-x86_64-with-glibc2.36 x86_64
DEBUG=False IN_DOCKER=True IN_QEMU=False IS_TTY=True TZ=UTC FS_ATOMIC=True FS_REMOTE=True FS_USER=911:911 FS_PERMS=644 SEARCH_BACKEND=sonic

[i] Dependency versions:
 √  PYTHON_BINARY         v3.11.6         valid     /usr/local/bin/python3.11
 √  SQLITE_BINARY         v2.6.0          valid     /usr/local/lib/python3.11/sqlite3/dbapi2.py
 √  DJANGO_BINARY         v3.1.14         valid     /usr/local/lib/python3.11/site-packages/django/__init__.py
 √  ARCHIVEBOX_BINARY     v0.7.1          valid     /usr/local/bin/archivebox

 √  CURL_BINARY           v8.4.0          valid     /usr/bin/curl
 -  WGET_BINARY           -               disabled  /usr/bin/wget
 √  NODE_BINARY           v21.3.0         valid     /usr/bin/node
 √  SINGLEFILE_BINARY     v1.1.18         valid     /app/node_modules/single-file-cli/single-file
 √  READABILITY_BINARY    v0.0.9          valid     /app/node_modules/readability-extractor/readability-extractor
 √  MERCURY_BINARY        v1.0.0          valid     /app/node_modules/@postlight/parser/cli.js
 -  GIT_BINARY            -               disabled  /usr/bin/git
 -  YOUTUBEDL_BINARY      -               disabled  /usr/local/bin/yt-dlp
 √  CHROME_BINARY         v119.0.6045.9   valid     /usr/bin/chromium-browser
 √  RIPGREP_BINARY        v13.0.0         valid     /usr/bin/rg

[i] Source-code locations:
 √  PACKAGE_DIR           22 files        valid     /app/archivebox
 √  TEMPLATES_DIR         3 files         valid     /app/archivebox/templates
 -  CUSTOM_TEMPLATES_DIR  -               disabled  None

[i] Secrets locations:
 √  CHROME_USER_DATA_DIR  3 files         valid     ./chromium-profile
 -  COOKIES_FILE          -               disabled  None

[i] Data locations:
 √  OUTPUT_DIR            9 files @       valid     /data
 √  SOURCES_DIR           979 files       valid     ./sources
 √  LOGS_DIR              1 files         valid     ./logs
 √  ARCHIVE_DIR           879 files       valid     ./archive
 √  CONFIG_FILE           421.0 Bytes     valid     ./ArchiveBox.conf
 √  SQL_INDEX             6.5 MB          valid     ./index.sqlite3

Can you try again with the latest build, I bumped the chrome version and pushed a few other minor fixes.

Same issue here. Unfortunately this is preventing us from using this in production internally, and don't want to exactly run a dev build.

I'm almost ready to roll a minor patches release from dev -> main https://github.com/ArchiveBox/ArchiveBox/pull/1297. If you're able to verify it works on your machine I can get the release out by new years.
Chrome archiving works on my test machines and I cant reproduce this reported issue on the 0.7.2 candidate, so it would be super helpful to get bug reports from anyone who's experiencing failures so can make sure 0.7.2 works for everyone.

I would have liked to test it locally but I am not able to build the Docker container in my local environment following those steps: https://github.com/ArchiveBox/ArchiveBox#setup-the-dev-environment
It fails at docker build. First it failed because there was a , missing in parse_version_string which was easily fixable.
Then it failed because it couldn't find VERSIONS_AVAILABLE probably because no release exists (?). How can I circumvent that error?
log:
# DOCKER_BUILDKIT=1 docker build . -t archivebox
[+] Building 79.6s (26/27)
 => [internal] load build definition from Dockerfile                                                                                6.2s
 => => transferring dockerfile: 37B                                                                                0.0s
 => [internal] load .dockerignore                                                                                4.6s
 => => transferring context: 35B                                                                                0.1s
 => [internal] load metadata for docker.io/library/python:3.11-slim-bookworm                                                                                0.0s
 => [stage-0  1/23] FROM docker.io/library/python:3.11-slim-bookworm                                                                                0.0s
 => [internal] load build context                                                                                2.6s
 => => transferring context: 95.13kB                                                                                0.2s
 => CACHED [stage-0  2/23] COPY --chown=root:root --chmod=755 package.json /app/                                                                                0.0s
 => CACHED [stage-0  3/23] RUN grep '"version": ' "/app/package.json" | awk -F'"' '{print $4}' > /VERSION.txt                                                                                0.0s
 => CACHED [stage-0  4/23] RUN echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache     && rm -f /etc/apt/apt.conf.d/docker-clean                                                                0.0s
 => CACHED [stage-0  5/23] RUN (echo "[i] Docker build for ArchiveBox $(cat /VERSION.txt) starting..."     && echo "PLATFORM=linux/amd64 ARCH=$(uname -m) ($(uname -s) amd64 )"     && echo "BUILD_START_TIME=$(date +"%Y-%m-%d %H:%M  0.0s
 => CACHED [stage-0  6/23] RUN echo "[*] Setting up archivebox user uid=911..."     && groupadd --system archivebox     && useradd --system --create-home --gid archivebox --groups audio,video archivebox     && usermod -u "911" "a  0.0s
 => CACHED [stage-0  7/23] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-amd64     echo "[+] Installing APT base system dependencies for linux/amd64..."     && echo 'deb https://deb.debian.org/debian bookworm  0.0s
 => CACHED [stage-0  8/23] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-amd64 --mount=type=cache,target=/root/.npm,sharing=locked,id=npm-amd64     echo "[+] Installing Node 21 environment in /app/node_module  0.0s
 => CACHED [stage-0  9/23] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-amd64 --mount=type=cache,target=/root/.cache/pip,sharing=locked,id=pip-amd64     echo "[+] Setting up Python 3.11 runtime..."     && (   0.0s
 => CACHED [stage-0 10/23] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-amd64 --mount=type=cache,target=/root/.cache/pip,sharing=locked,id=pip-amd64     echo "[+] Installing APT extractor dependencies global  0.0s
 => CACHED [stage-0 11/23] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-amd64 --mount=type=cache,target=/root/.cache/pip,sharing=locked,id=pip-amd64 --mount=type=cache,target=/root/.cache/ms-playwright,shari  0.0s
 => CACHED [stage-0 12/23] WORKDIR /app                                                                                0.0s
 => CACHED [stage-0 13/23] COPY --chown=root:root --chmod=755 package.json package-lock.json /app/                                                                                0.0s
 => CACHED [stage-0 14/23] RUN --mount=type=cache,target=/root/.npm,sharing=locked,id=npm-amd64     echo "[+] Installing NPM extractor dependencies from package.json into /app/node_modules..."     && npm ci --prefer-offline --no-  0.0s
 => CACHED [stage-0 15/23] WORKDIR /app                                                                                0.0s
 => CACHED [stage-0 16/23] COPY --chown=root:root --chmod=755 ./pyproject.toml requirements.txt /app/                                                                                0.0s
 => CACHED [stage-0 17/23] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-amd64 --mount=type=cache,target=/root/.cache/pip,sharing=locked,id=pip-amd64     echo "[+] Installing PIP ArchiveBox dependencies from   0.0s
 => [stage-0 18/23] COPY --chown=root:root --chmod=755 . /app/                                                                                6.1s
 => [stage-0 19/23] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-amd64 --mount=type=cache,target=/root/.cache/pip,sharing=locked,id=pip-amd64     echo "[*] Installing PIP ArchiveBox package from /app..."     27.3s
 => [stage-0 20/23] WORKDIR /data                                                                                7.5s
 => [stage-0 21/23] RUN (echo -e "\n\n[√] Finished Docker build succesfully. Saving build summary in: /VERSION.txt"     && echo -e "PLATFORM=linux/amd64 ARCH=$(uname -m) ($(uname -s) amd64 )\n"     && echo -e "BUILD_END_TIME=$    10.3s
 => ERROR [stage-0 22/23] RUN "/app"/bin/docker_entrypoint.sh version 2>&1 | tee -a /VERSION.txt                                                                                16.1s
------
 > [stage-0 22/23] RUN "/app"/bin/docker_entrypoint.sh version 2>&1 | tee -a /VERSION.txt:
#26 13.64
#26 13.64 [X] Error while loading configuration value: VERSIONS_AVAILABLE
#26 13.64     IndexError: list index out of range
#26 13.64
#26 13.64     Check your config for mistakes and try again (your archive data is unaffected).
#26 13.64
#26 13.64     For config documentation and examples see:
#26 13.64         https://github.com/ArchiveBox/ArchiveBox/wiki/Configuration
#26 13.64
------
executor failed running [/bin/bash -o pipefail -o errexit -o errtrace -o nounset -c "$CODE_DIR"/bin/docker_entrypoint.sh version 2>&1 | tee -a /VERSION.txt]: exit code: 2

I would have liked to test it locally but I am not able to build the Docker container in my local environment following those steps: https://github.com/ArchiveBox/ArchiveBox#setup-the-dev-environment
It fails at docker build. First it failed because there was a , missing in parse_version_string which was easily fixable.
Then it failed because it couldn't find VERSIONS_AVAILABLE probably because no release exists (?). How can I circumvent that error?
log:
# DOCKER_BUILDKIT=1 docker build . -t archivebox
[+] Building 79.6s (26/27)
 => [internal] load build definition from Dockerfile                                                                                6.2s
 => => transferring dockerfile: 37B                                                                                0.0s
 => [internal] load .dockerignore                                                                                4.6s
 => => transferring context: 35B                                                                                0.1s
 => [internal] load metadata for docker.io/library/python:3.11-slim-bookworm                                                                                0.0s
 => [stage-0  1/23] FROM docker.io/library/python:3.11-slim-bookworm                                                                                0.0s
 => [internal] load build context                                                                                2.6s
 => => transferring context: 95.13kB                                                                                0.2s
 => CACHED [stage-0  2/23] COPY --chown=root:root --chmod=755 package.json /app/                                                                                0.0s
 => CACHED [stage-0  3/23] RUN grep '"version": ' "/app/package.json" | awk -F'"' '{print $4}' > /VERSION.txt                                                                                0.0s
 => CACHED [stage-0  4/23] RUN echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache     && rm -f /etc/apt/apt.conf.d/docker-clean                                                                0.0s
 => CACHED [stage-0  5/23] RUN (echo "[i] Docker build for ArchiveBox $(cat /VERSION.txt) starting..."     && echo "PLATFORM=linux/amd64 ARCH=$(uname -m) ($(uname -s) amd64 )"     && echo "BUILD_START_TIME=$(date +"%Y-%m-%d %H:%M  0.0s
 => CACHED [stage-0  6/23] RUN echo "[*] Setting up archivebox user uid=911..."     && groupadd --system archivebox     && useradd --system --create-home --gid archivebox --groups audio,video archivebox     && usermod -u "911" "a  0.0s
 => CACHED [stage-0  7/23] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-amd64     echo "[+] Installing APT base system dependencies for linux/amd64..."     && echo 'deb https://deb.debian.org/debian bookworm  0.0s
 => CACHED [stage-0  8/23] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-amd64 --mount=type=cache,target=/root/.npm,sharing=locked,id=npm-amd64     echo "[+] Installing Node 21 environment in /app/node_module  0.0s
 => CACHED [stage-0  9/23] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-amd64 --mount=type=cache,target=/root/.cache/pip,sharing=locked,id=pip-amd64     echo "[+] Setting up Python 3.11 runtime..."     && (   0.0s
 => CACHED [stage-0 10/23] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-amd64 --mount=type=cache,target=/root/.cache/pip,sharing=locked,id=pip-amd64     echo "[+] Installing APT extractor dependencies global  0.0s
 => CACHED [stage-0 11/23] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-amd64 --mount=type=cache,target=/root/.cache/pip,sharing=locked,id=pip-amd64 --mount=type=cache,target=/root/.cache/ms-playwright,shari  0.0s
 => CACHED [stage-0 12/23] WORKDIR /app                                                                                0.0s
 => CACHED [stage-0 13/23] COPY --chown=root:root --chmod=755 package.json package-lock.json /app/                                                                                0.0s
 => CACHED [stage-0 14/23] RUN --mount=type=cache,target=/root/.npm,sharing=locked,id=npm-amd64     echo "[+] Installing NPM extractor dependencies from package.json into /app/node_modules..."     && npm ci --prefer-offline --no-  0.0s
 => CACHED [stage-0 15/23] WORKDIR /app                                                                                0.0s
 => CACHED [stage-0 16/23] COPY --chown=root:root --chmod=755 ./pyproject.toml requirements.txt /app/                                                                                0.0s
 => CACHED [stage-0 17/23] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-amd64 --mount=type=cache,target=/root/.cache/pip,sharing=locked,id=pip-amd64     echo "[+] Installing PIP ArchiveBox dependencies from   0.0s
 => [stage-0 18/23] COPY --chown=root:root --chmod=755 . /app/                                                                                6.1s
 => [stage-0 19/23] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-amd64 --mount=type=cache,target=/root/.cache/pip,sharing=locked,id=pip-amd64     echo "[*] Installing PIP ArchiveBox package from /app..."     27.3s
 => [stage-0 20/23] WORKDIR /data                                                                                7.5s
 => [stage-0 21/23] RUN (echo -e "\n\n[√] Finished Docker build succesfully. Saving build summary in: /VERSION.txt"     && echo -e "PLATFORM=linux/amd64 ARCH=$(uname -m) ($(uname -s) amd64 )\n"     && echo -e "BUILD_END_TIME=$    10.3s
 => ERROR [stage-0 22/23] RUN "/app"/bin/docker_entrypoint.sh version 2>&1 | tee -a /VERSION.txt                                                                                16.1s
------
 > [stage-0 22/23] RUN "/app"/bin/docker_entrypoint.sh version 2>&1 | tee -a /VERSION.txt:
#26 13.64
#26 13.64 [X] Error while loading configuration value: VERSIONS_AVAILABLE
#26 13.64     IndexError: list index out of range
#26 13.64
#26 13.64     Check your config for mistakes and try again (your archive data is unaffected).
#26 13.64
#26 13.64     For config documentation and examples see:
#26 13.64         https://github.com/ArchiveBox/ArchiveBox/wiki/Configuration
#26 13.64
------
executor failed running [/bin/bash -o pipefail -o errexit -o errtrace -o nounset -c "$CODE_DIR"/bin/docker_entrypoint.sh version 2>&1 | tee -a /VERSION.txt]: exit code: 2

Sorry whoops, there a broken commit on dev when you tested, just fixed it. I just pushed the latest working build, mind trying again?
(No need to build locally, just pull docker pull archivebox/archivebox:dev to get the dev image pre-built from Docker Hub)

Thank you for fixing the image.
I pulled it but it seems that it still doesn't work. This is what is output in the errors.log when I add a website with just SingleFile selected:
Exception in archive_methods.save_singlefile(Link(url=https://docs.archivebox.io/en/v0.6.2/Contents.html#)) command=/usr/local/bin/archivebox server --quick-init 0.0.0.0:8000; ts=2024-01-03__03:36:59
expected string or bytes-like object, got 'NoneType'

Also, it looks like the formatting where the tags, pull, snapshot, etc. buttons are is broken:

Argh so sorry for the hassle, try again now, should look like this:

Thanks, I can confirm the tags and buttons are shown correctly again. SingleFile saving is still not working.

I've upgraded singlefile in 0.7.2 and fixed a few small bugs. Can you try on the latest version with archivebox config --set DEBUG=True @MyNameIsOka and let me know if SingleFile is still failing?
You should get more output if you save a specific link you know is broken with only singlefile like so:
docker compose run archivebox add --extract=singlefile 'https://docs.archivebox.io/en/v0.6.2/Contents.html#'

Thank you for the update. I installed the newest version by repulling archivebox/archivebox (not dev). Here is an excerpt from the logs when I did a re-snapshot of a website:
[!] Warning: Missing 1 recommended dependencies
    ! CHROME_BINARY: chromium (unable to detect version)
      Hint: To install all packages automatically run: archivebox setup
            or to disable it and silence this warning: archivebox config --set SAVE_CHROME=False

[+] [2024-01-10 01:14:58] Adding 1 links to index (crawl depth=0)...
    > Saved verbatim input to sources/1704849298-import.txt
    > Parsed 1 URLs from input (Generic TXT)
    > Found 1 new URLs not already in index
[*] [2024-01-10 01:14:59] Writing 1 links to main index...

    √ ./index.sqlite3
[*] [2024-01-10 01:15:00] Archiving 1/96 URLs from added set...
[▶] [2024-01-10 01:15:00] Starting archiving of 1 snapshots in index...
[+] [2024-01-10 01:15:02] "wiki.archlinux.org/#2024-01-10T01:14:58+00:00"
    https://wiki.archlinux.org/#2024-01-10T01:14:58+00:00
    > ./archive/1704849299.542502
      > headers
"GET / HTTP/1.1" 302 0
      > singlefile
      > pdf
      > screenshot
      > dom

      > wget
      > title
      > readability
"GET / HTTP/1.1" 302 0
      > mercury
"GET / HTTP/1.1" 302 0
      > htmltotext
      > media
"GET / HTTP/1.1" 302 0

After that, I ran archivebox setup but the logs were the same afterwards.
However, it seems that chromium could not be installed correctly. Here is the output from archivebox setup:
archivebox@archivebox:/data$ archivebox setup
[i] [2024-01-10 01:17:02] ArchiveBox v0.7.2: archivebox setup
    > /data

[+] Installing enabled ArchiveBox dependencies automatically...

    Installing YOUTUBEDL_BINARY automatically using pip...
2023.12.30 is already installed yt-dlp

    Installing CHROME_BINARY automatically using playwright...
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: playwright in /usr/local/lib/python3.11/site-packages (1.40.0)
Requirement already satisfied: greenlet==3.0.1 in /usr/local/lib/python3.11/site-packages (from playwright) (3.0.1)
Requirement already satisfied: pyee==11.0.1 in /usr/local/lib/python3.11/site-packages (from playwright) (11.0.1)
Requirement already satisfied: typing-extensions in /usr/local/lib/python3.11/site-packages (from pyee==11.0.1->playwright) (4.9.0)
Failed to install browsers
Error: EACCES: permission denied, open '/browsers/.links/b6323bfd8590d0d4decc8209e37155ebe8c6517f'
CHROME_BINARY=chromium

    Installing SINGLEFILE_BINARY, READABILITY_BINARY, MERCURY_BINARY automatically using npm...
SINGLEFILE_BINARY, READABILITY_BINARY, and MERCURURY_BINARY are already installed

[√] Set up ArchiveBox and its dependencies successfully.
0.7.2
ArchiveBox v0.7.2+editable COMMIT_HASH=e888869 BUILD_TIME=2024-01-05 03:55:52 1704426952
IN_DOCKER=True IN_QEMU=False ARCH=x86_64 OS=Linux PLATFORM=Linux-4.4.302+-x86_64-with-glibc2.36 PYTHON=Cpython
FS_ATOMIC=True FS_REMOTE=True FS_USER=1029:100 FS_PERMS=644
DEBUG=True IS_TTY=True TZ=UTC SEARCH_BACKEND=ripgrep LDAP=False

[i] Dependency versions:
 √  PYTHON_BINARY         v3.11.7         valid     /usr/local/bin/python3.11
 √  SQLITE_BINARY         v2.6.0          valid     /usr/local/lib/python3.11/sqlite3/dbapi2.py
 √  DJANGO_BINARY         v3.1.14         valid     /usr/local/lib/python3.11/site-packages/django/__init__.py
 √  ARCHIVEBOX_BINARY     v0.7.2          valid     /usr/local/bin/archivebox

 √  CURL_BINARY           v8.5.0          valid     /usr/bin/curl
 √  WGET_BINARY           v1.21.3         valid     /usr/bin/wget
 √  NODE_BINARY           v20.10.0        valid     /usr/bin/node
 √  SINGLEFILE_BINARY     v1.1.46         valid     /app/node_modules/single-file-cli/single-file
 √  READABILITY_BINARY    v0.0.11         valid     /app/node_modules/readability-extractor/readability-extractor
 √  MERCURY_BINARY        v1.0.0          valid     /app/node_modules/@postlight/parser/cli.js
 √  GIT_BINARY            v2.39.2         valid     /usr/bin/git
 √  YOUTUBEDL_BINARY      v2023.12.30     valid     /usr/local/bin/yt-dlp
 X  CHROME_BINARY         ?               invalid   chromium
 √  RIPGREP_BINARY        v13.0.0         valid     /usr/bin/rg

[i] Source-code locations:
 √  PACKAGE_DIR           23 files        valid     /app/archivebox
 √  TEMPLATES_DIR         3 files         valid     /app/archivebox/templates
 -  CUSTOM_TEMPLATES_DIR  -               disabled  None

[i] Secrets locations:
 -  CHROME_USER_DATA_DIR  -               disabled  None
 -  COOKIES_FILE          -               disabled  None

[i] Data locations:
 √  OUTPUT_DIR            10 files @      valid     /data
 √  SOURCES_DIR           83 files        valid     ./sources
 √  LOGS_DIR              2 files         valid     ./logs
 √  ARCHIVE_DIR           96 files        valid     ./archive
 √  CONFIG_FILE           162.0 Bytes     valid     ./ArchiveBox.conf
 √  SQL_INDEX             752.0 KB        valid     ./index.sqlite3

[!] Warning: Missing 1 recommended dependencies
    ! CHROME_BINARY: chromium (unable to detect version)
      Hint: To install all packages automatically run: archivebox setup
            or to disable it and silence this warning: archivebox config --set SAVE_CHROME=False

As a side note, when I don't use CHROME_BINARY=chromium, SingleFile is working.

In docker you don't need to run archivebox setup, as it already comes with everything pre-installed.
I think it should be CHROME_BINARY=/usr/bin/chromium-browser not chromium. Singlefile depends on a compatible chromium to work, so it will break if you're seeing this:
[!] Warning: Missing 1 recommended dependencies
    ! CHROME_BINARY: chromium (unable to detect version)

Can you set archivebox config --set CHROME_BINARY=/usr/bin/chromium-browser and try again?
Check to make sure it shows a valid version number for CHROME_BINARY in the archivebox version output.

oh nice, it worked by specifying the path as you described! Thanks a lot.

authors: MyNameIsOka darwinshameran onemenzel pirate

repo: ArchiveBox/ArchiveBox


text:
Add the onCleared callback.

This PR fixes #29 by adding onClear callback. It also adds null check for onSubmit callback.

Merged it in myself due to the merge conflict. Thank you for your change, sorry about the delay. https://github.com/ArcticZeroo/flutter-search-bar/commit/d05480c33444654ab4700360dcdfaa852f89a93a

source: gharchive/pull-request

authors: ArcticZeroo klisiewicz

repo: ArcticZeroo/flutter-search-bar

license_type: permissive

license_source: github-api


text:
"<<<<<<< HEAD" in the begginning of files

I'm failing to set this extension up and would love to edit the code, but it seems the files are some kind of diffs or have some metadata in them.
Mostly I can see strings like <<<<<<< HEAD,  =======, and >>>>>>> origin/master that don't seem to be java code. The files affected are at least DataStructure.java and ContextMenu.java. If these are some residue from some tool or a mistake, then having them removed would enable me to debug and improve the extension.

The following files in the repository are actually diffs between a HEAD and a master  branch. Just picking one or the other will let me edit the code.
ContextMenu.java
DataStructure.java
Info.java
Parameter.java
Path.java
RESTful.java
Schema.java
Tab.java

Good morning,
I am not very familiar with git as I mainly use it for hosting purpose.
I tried to reset the HEAD and to commit but it did not change anything.
Could you please tell me how to solve this issue?
Thanks,
Alex

I tried to follow some tutorials on how to resolve Git conflicts with no luck.
I think I need to manually asses these files. I will do it as soon as I get free time.
Alex

I actually fixed this. There are two versions that are in all the files, the other of which doesn't have the Params column. I'll do a PR in just a minute. Also, I dovument my work in these issues, dont feel at all obligated to fix everything at once :)

I have both your master and HEAD separated in my fork as branches fix_HEAD and fix_master. I'm not sure which one is the newest version, but they both compile, and the fix_HEAD branch is the one that better corresponds to the jar file in the repository root (that version has the Parameter column)

The HEAD branche is the latest one (containing the Params column). :)

source: gharchive/issue

license_source: bigquery


text:
Remake in next.js

?????????? maybe??????????

build times are extremely slow and the version of Gatsby this is running is super old, might actually be worth it

I'll probably only do this if I'm bored enough

(I was bored enough) https://github.com/AritroSaha10/new-myac


text:
ObjectDB instances leaked at exit/Leaked instances not freed properly

Describe the bug
When exiting a game with PankuConsole using get_tree().quit(), this appears in the log file:
USER` WARNING: ObjectDB instances leaked at exit (run with --verbose for details).

--verbose debug:
Leaked instance: GDScriptNativeClass:-9222826679087398058
Leaked instance: GDScriptNativeClass:-9222825579575770280
Leaked instance: GDScript:-9222391272482798372 - Resource path: res://addons/panku_console/common/panku_module.gd
Leaked instance: GDScript:-9222387973947915043 - Resource path: res://addons/panku_console/modules/native_logger/module.gd
Leaked instance: GDScript:-9222189512099101470 - Resource path: res://addons/panku_console/modules/screen_notifier/module.gd
Leaked instance: GDScript:-9222098252633996057 - Resource path: res://addons/panku_console/modules/keyboard_shortcuts/module.gd
Leaked instance: GDScript:-9222358287133965079 - Resource path: res://addons/panku_console/common/module_options.gd
Leaked instance: GDScript:-9222153777971198698 - Resource path: res://addons/panku_console/modules/system_report/module.gd
Leaked instance: GDScript:-9222149379924687564 - Resource path: res://addons/panku_console/modules/history_manager/module.gd
Leaked instance: GDScript:-9222102650680507076 - Resource path: res://addons/panku_console/modules/engine_tools/module.gd
Leaked instance: GDScript:-9222040528273537722 - Resource path: res://addons/panku_console/modules/interactive_shell/module.gd
Leaked instance: GDScript:-9221892094203787904 - Resource path: res://addons/panku_console/modules/general_settings/module.gd
Leaked instance: GDScript:-9221576534366616129 - Resource path: res://addons/panku_console/modules/expression_monitor/module.gd
Leaked instance: GDScript:-9221592477285218877 - Resource path: res://addons/panku_console/modules/screen_crt_effect/module.gd
Leaked instance: RefCounted:-9221356082285247014
Leaked instance: RefCounted:-9221355532529433107
Leaked instance: RefCounted:-9221350034971294216
Leaked instance: RefCounted:-9221349485215480327
Leaked instance: RefCounted:-9221348935459666438
Leaked instance: RefCounted:-9221348385703852549
Leaked instance: RefCounted:-9221347835948038660
Leaked instance: RefCounted:-9221347286192224771
Leaked instance: RefCounted:-9221346186680596993
Leaked instance: RefCounted:-9221345636924783104
Leaked instance: RefCounted:-9221335741320133117
Leaked instance: GDScript:-9221341788634085884 - Resource path: res://addons/panku_console/modules/native_logger/env.gd
Leaked instance: Resource:-9221326945227110907 - Resource path:
Leaked instance: GDScript:-9221332992541063674 - Resource path: res://addons/panku_console/modules/native_logger/opt.gd
Leaked instance: GDScript:-9221236235517819339 - Resource path: res://addons/panku_console/modules/screen_notifier/env.gd
Leaked instance: RefCounted:-9221230188203866568
Leaked instance: RefCounted:-9221211496506194318
Leaked instance: GDScript:-9221226889668983181 - Resource path: res://addons/panku_console/modules/system_report/env.gd
Leaked instance: GDScript:-9221219193087588748 - Resource path: res://addons/panku_console/modules/system_report/os_report.gd
Leaked instance: RefCounted:-9221210946750380427
Leaked instance: RefCounted:-9221201600901544330
Leaked instance: GDScript:-9221207648215497097 - Resource path: res://addons/panku_console/modules/history_manager/env.gd
Leaked instance: Resource:-9221192804808522120 - Resource path:
Leaked instance: GDScript:-9221198852122474887 - Resource path: res://addons/panku_console/modules/history_manager/opt.gd
Leaked instance: RefCounted:-9221115838994577682
Leaked instance: GDScript:-9221121886308530449 - Resource path: res://addons/panku_console/modules/engine_tools/env.gd
Leaked instance: Resource:-9221107042901555472 - Resource path:
Leaked instance: GDScript:-9221113090215508239 - Resource path: res://addons/panku_console/modules/engine_tools/opt.gd
Leaked instance: RefCounted:-9221098246808533262
Leaked instance: GDScript:-9221104294122486029 - Resource path: res://addons/panku_console/modules/keyboard_shortcuts/env.gd
Leaked instance: Resource:-9221089450715511052 - Resource path:
Leaked instance: GDScript:-9221095498029463819 - Resource path: res://addons/panku_console/modules/keyboard_shortcuts/opt.gd
Leaked instance: RefCounted:-9221046020006213843
Leaked instance: GDScript:-9221052067320166610 - Resource path: res://addons/panku_console/modules/interactive_shell/env.gd
Leaked instance: Resource:-9221037223913191633 - Resource path:
Leaked instance: GDScript:-9221043271227144400 - Resource path: res://addons/panku_console/modules/interactive_shell/opt.gd
Leaked instance: RefCounted:-9220958608831805538
Leaked instance: GDScript:-9220964656145758305 - Resource path: res://addons/panku_console/modules/general_settings/env.gd
Leaked instance: Resource:-9220947613715527776 - Resource path:
Leaked instance: GDScript:-9220955860052736095 - Resource path: res://addons/panku_console/modules/general_settings/opt.gd
Leaked instance: RefCounted:-9220933320064366686
Leaked instance: GDScript:-9220939367378319453 - Resource path: res://addons/panku_console/modules/screen_crt_effect/env.gd
Leaked instance: Resource:-9220924523971344476 - Resource path:
Leaked instance: GDScript:-9220930571285297243 - Resource path: res://addons/panku_console/modules/screen_crt_effect/opt.gd
Leaked instance: RefCounted:-9220915727878322266
Leaked instance: GDScript:-9220921775192275033 - Resource path: res://addons/panku_console/modules/expression_monitor/env.gd
Hint: Leaked instances typically happen when nodes are removed from the scene tree (with `remove_child()`) but not freed (with `free()` or `queue_free()`).
USER ERROR: Resources still in use at exit (run with --verbose for details).
   at: clear (core/io/resource.cpp:489)
Resource still in use: res://addons/panku_console/common/panku_module.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/native_logger/module.gd (GDScript)
Resource still in use: res://addons/panku_console/common/module_options.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/screen_notifier/module.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/system_report/module.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/history_manager/module.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/engine_tools/module.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/keyboard_shortcuts/module.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/interactive_shell/module.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/general_settings/module.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/screen_crt_effect/module.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/expression_monitor/module.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/native_logger/env.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/native_logger/opt.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/screen_notifier/env.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/system_report/env.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/system_report/os_report.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/history_manager/env.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/history_manager/opt.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/engine_tools/env.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/engine_tools/opt.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/keyboard_shortcuts/env.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/keyboard_shortcuts/opt.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/interactive_shell/env.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/interactive_shell/opt.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/general_settings/env.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/general_settings/opt.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/screen_crt_effect/env.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/screen_crt_effect/opt.gd (GDScript)
Resource still in use: res://addons/panku_console/modules/expression_monitor/env.gd (GDScript)

Possible fix:
Hint: Leaked instances typically happen when nodes are removed from the scene tree (with `remove_child()`) but not freed (with `free()` or `queue_free()`).

That's really Weird, RefCounted's lifecycle should be managed automatically by the engine instead of users, maybe a cyclic reference?
I have tried to reproduce, it still happens randomly even if you don't use get_tree().quit().
Also, the get_tree().quit() should be renamed to something like get_tree().force_quit() since it doesn't send any notifications which means there's no way to know if the program is about to quit, use get_tree().root.propagate_notification(NOTIFICATION_WM_CLOSE_REQUEST) instead (I know it's kind of cumbersome) so the plugin can save things properly.

I've tried a simple project containing two RefCounted instances that references each other, and same thing happens.
USER WARNING: ObjectDB instances leaked at exit (run with --verbose for details).
   at: cleanup (core/object/object.cpp:2208)
Leaked instance: GDScriptNativeClass:-9222873408331578639
Leaked instance: RefCounted:-9222491877796739897
Leaked instance: RefCounted:-9222491328040926008
Leaked instance: GDScript:-9222501223645575989 - Resource path: res://A.gd
Hint: Leaked instances typically happen when nodes are removed from the scene tree (with `remove_child()`) but not freed (with `free()` or `queue_free()`).
USER ERROR: Resources still in use at exit (run with --verbose for details).
   at: clear (core/io/resource.cpp:493)
Resource still in use: res://A.gd (GDScript)

Seems it's indeed the case, cyclic reference, the dark side of garbage collector free languages...
There must be a circle reference somewhere in my codebase, and according to the documentation:

RefCounted instances caught in a cyclic reference will not be freed automatically. For example, if a node holds a reference to instance A, which directly or indirectly holds a reference back to A, A's reference count will be 2. Destruction of the node will leave A dangling with a reference count of 1, and there will be a memory leak. To prevent this, one of the references in the cycle can be made weak with @GlobalScope.weakref().

So, the solution is obvious now, find that reference loop, then, use weakref() to break the loop.

hellish...

Decide to use Node instead of RefCounted now.

Thanks for the fix! Going to follow up on that soon.

Apologies for the delay. The issue is indeed fixed! @Ark2000

good to see it.

license: MIT


text:
improve simple_generative model

requires #35
TODO:

remove WrappedMetricWithUnbatchFunction
use DefaultModel

closing in favor of #37

repo: ArneBinder/pie-modules


text:
Feature: creacion de compartir puntos con amigos

[ ] Añadir un componente general para englobar la lista de amigos
[ ] Dar forma al componente
[ ] Integrarlo en el componente del formulario para realizar su posterior funcionalidad

Se ha añadido también #340 para poder mostrar los amigos al usuario


text:
New discord function new possibilities

Ive been playing around with the new ||spoiler tag|| in discord and i immediately thought of adding spoilers to the result of dice rolls. Would you be able to add a spoiler roll to sidekicks commands?

How would that work?

Im new to java so im no expert but the pseudo code would go somthing like
this
The command (lets say /rd20s)
could tell sidekick to include the text string || at the beggining and end
of its comment
then sidekick would generate a roll as usuall
Then the same text string is repeated at the end of the roll
i imagine that dicord would automatically treat it the same way it treats
a player adding tags to a comment the results would remain hidden untill
someone clicks the comment to uncover it
On Mon, Mar 4, 2019, 1:28 PM Artem notifications@github.com wrote:

How would that work?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ArtemGr/Sidekick/issues/175#issuecomment-469388292,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AsdNBtMSJgCOo9b7MtZ_kJDAEYiEFaZbks5vTXPRgaJpZM4bdCem
.

repo: ArtemGr/Sidekick


text:
🛑 Appetizr Website (Production) is down

In c999e77, Appetizr Website (Production) (https://appetizr.fr) was down:

HTTP code: 500
Response time: 1948 ms

Resolved: Appetizr Website (Production) is back up in 613245d.

repo: ArtemZhigarev/uptime


text:
Error

File "retrain.py", line 817, in main
class_count = len(image_lists.keys())
AttributeError: 'NoneType' object has no attribute 'keys'

Is the image training dataset provided in the specified manner ?

Yes, I provided.

I mean to say that the images need to be present in the training_dataset directory with folder names depicting the labels for individual training data sets. Only after the proper setup the transfer learning process will work using the command - $ bash train.sh.

authors: ArunMichaelDsouza SurenderMohanRaghav

license: mit


text:
Changed Placement of CloseModal()

Hi @Abhinav-ark I have changed the closeModal() position and i was not able to accidently exit out of the edit placement can you verify it once bro

Resolves #2 .

Hey @Abhinav-ark I have changed
const isValidJobLocation = jobLocation.length > 0 to
const isValidJobLocation = jobLocation && jobLocation.length > 0 ? true : false;
because the joblocation was null

can i submit my changed ?

Hey @Abhinav-ark @Ashrockzzz2003  is there some other change which i need to do?

Hi @Ashrockzzz2003 I have made the changes now

can you check now

Hi @Ashrockzzz2003 I have made the fixes and npm run build is running without any problem and there was a bug which was caused by usestate i have resolved it now

Hi @Ashrockzzz2003 i have fixed the unnecessary display of logs and removed my mailid

/bounty 40 @eshwanthkartitr


text:
Make plugin to automate setup for lazy people

Self explanatory.

Not a bad idea, I'll have to look into how to make plugins. Will come back once this is done.

One small issue, HttpService and Script Injection privileges.

One small issue, HttpService and Script Injection privileges.

Roblox still allows you to inject scripts, just asks for permission and HTTPService can be turned on in game settings, it would still making it possible for the plugin to automate setup

Still, it sounds complicated then just actually doing it


text:
🛑 asurraa-website is down

In 0a4f959, asurraa-website (https://asurraa.com) was down:

HTTP code: 502
Response time: 1661 ms

Resolved: asurraa-website is back up in 955bba9.

repo: AsurRaa/status


text:
Give CTOR access to context

In some cases, it might be good to have access to the context already in the CTOR of the actor.
I'm thinking it would be possible with something like this:
var props = Actor.FromProducer(ctx => new MyActor("hello", ctx));
...
class MyActor
{
    private string _id;
    public MyActor(string someArg, IConstructContext ctx)
    {
          //Self, Parent and a few other things could be available upon creation
          _id = ctx.Self.Id;
    }
}

I'm not sure if this is a good idea and if it promotes doing more than you should in the ctor.
But it would be possible technically by adding a new overload on FromProducer and introduce the constructor context.

Not sure this is a good idea.  What info would you need that shouldn't be deferred and accessed in the start message?

authors: adamhathcock rogeralsing

repo: AsynkronIT/protoactor-dotnet


text:
Util.sanitize_locale ignores locale format from project settings

Commands wti pull -l en_trololo and wti push -l en_trololo  always converted localet to en-trololo.

Thanks for spotting this. I will remove this method really soon.
I don’t remember why I made sanitize_locale in the first place. It should be up to the user to make sure they use en-tololo or en_trololo.

repo: AtelierConvivialite/webtranslateit


text:
1080p and 480p video quality

Hello,
First, thanks for the script. It's very good!
I have a question ... How do I get the 1080p and 480p links?
When I try to extract them only appears 720p and 360p.
Thank you.
Ps: A suggestion ... The script could have an option to download directly, not playing the video in the browser.

How do I get the 1080p and 480p links?

Those quality options aren't available because they are split files (separated video and audio) and are sometimes unavailable needing an additional download of a manifest before you can find them.

The script could have an option to download directly, not playing the video in the browser

Here's a single line you could use to save the 720p video instead of streaming it:
file_put_contents("youtube.mp4", fopen($links[22]['url'], "r"));
You can do whatever you please with the returned urls!

Thanks for the explanations @mattjis.

authors: fcolaci mattjis


text:
LEAN-4244: fix migrations

Seems like the context this is lost when we pass the migration script to the migrate function.

I defined the migrate function as an arrow function inside migration3021
I'm  binding the method to its original context when we send it to the migrate function

I wonder why it worked before... FYI you can use class method preserving 'this' by binding it in the constructor and avoiding redefining it per context i.e. this.someMethod = this.someMethod.bind(this)

I wonder why it worked before... FYI you can use class method preserving 'this' by binding it in the constructor and avoiding redefining it per context i.e. this.someMethod = this.someMethod.bind(this)

Found the answer to that - this is the first migration ever to refer to 'this' inside migrateNode method.

authors: mbartenev-atypon mbetamony

repo: Atypon-OpenSource/manuscripts-transform


text:
Replace deprecated sklearn with scikit-learn in dependencies

Updated the dependency list in setup.py to replace the deprecated sklearn package name with the current scikit-learn.
This update addresses the issue described in #18, where installation failures occur due to the outdated 'sklearn' package name.

Hi, thats great. I just tried a pip install -e . with Python 3.12.3 and it worked right away. The only think I noticed is that sklearn is still mentioned in the readme.
@alastair, @ffont can this be merged and released?

sklearn is still mentioned in the readme.

fixed 👍

authors: f-brinkmann gionstegmann


text:
image uploaded in new market creation, but image displays broken image

suggest explain text about recco size of image, as well as limits

Yes, I've been struggling to get image display working correctly for a few days now.  Agree that this is important.

confirmed
created "Will Iran test detonate a nuclear bomb..." but image didn't appear:
https://app.augur.net/markets/-9623bbd75f40501c3774a898a48b13e103da7b0eaa2d9987206a80b39dbdfa61

Yes, this isn't a browser-specific issue; I'm experiencing it at as well.  Working on it.

Fixed in 50f2bda952b7d0fa121dc9dae0f5bc6b1c5a49b7 / AugurProject/ramble@beb661a81d85ee7ef2b7474d683b76f5da371d69.  (The only image that isn't working now, as far as I can tell, is the only one that was working before -- the SpaceX market -- b/c it was encoded slightly incorrectly.  I opted not to include hacks to make that one image keep displaying...)

authors: RonB7139 pqdeep tinybike

repo: AugurProject/augur


text:
Est start time input

wire up using date time selector for estimate start time. It sets userInputs on template input object.
Wasn't sure how to replace [#] in the market question

fixed updating market question, fixed offset save issue.


text:
-[RATableView tableView:didEndDisplayingCell:forRowAtIndexPath:]: unrecognized selector sent to instance 0x10390f000

-[RATableView tableView:didEndDisplayingCell:forRowAtIndexPath:]: unrecognized selector sent to instance 0x10390f000  我没有在任何地方手动调用这个接口，为什么会在这里崩溃

-[RATableView tableView:didEndDisplayingCell:forRowAtIndexPath:]: unrecognized selector sent to instance 0x10390f000  我也出现了这个问题，频率很高，请问为什么

把这个函数删除试试

(void)tableView:(UITableView *)tableView didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([self.delegate respondsToSelector:@selector(treeView:didEndDisplayingCell:forItem:)]) {
RATreeNode *treeNode = [self treeNodeForIndexPath:indexPath];
[self.delegate treeView:self didEndDisplayingCell:cell forItem:treeNode.item];
}
}

我也是，当执行expandRowForItem：时然后迅速返回，很大概率会崩溃，然后添加了一个
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
}
就可以了，也不知道为什么

你应该取消代理当页面消失的时候

repo: Augustyniak/RATreeView


text:
Remove human interaction from profile creation

This will be a long road until new users can see their profiles without doing anything but a somewhat easier improvement would be to allow them to create a profile without having to create an issue and interact with a human (me!).
Only having to click a button for example would be much better already.

Note: we could also use https://github.com/wei/new-issue as a first step.


text:
Delta function passes full set of experiment_data although it should only operate on conditions

The issue can be investigated here.
In the following script, a validation state is created to contain the validation data. However, it is problematic in the following sense: passing validation_experiment_data instead of validation_conditions to
    benchmark_state = random_sample_on_state(benchmark_state,
                                              all_conditions=validation_conditions.conditions,
                                              num_samples=num_conditions_per_cycle)

will result in the benchmark_state obtaining all experimental_data from validation_experiment_data which is undesired behavior. I assume this happens because of the Delta (the full set of experiment conditions in validation_experiment_data vs. no experiment condition in benchmark_state).
def run_simulation(num_cycles, num_conditions_per_cycle, num_initial_conditions, bms_epochs, experiment_runner, sim=0):

  # VALIDATION STATE
  # at every step of our discovery process, we will evaluate the performance
  # of the theorist against the ground truth. Here, we will define the ground
  # truth as a grid of data points sampled across the domain of the experimental
  # design space. We will store this validation set in a separate validation states

  # create AutoRA state for validation purposes
  validation_conditions = CustomState(variables=experiment_runner.variables)
  validation_experiment_data = CustomState(variables=experiment_runner.variables)

  # our validation set will be consist of a grid of experiment conditons
  # across the entire experimental design domain
  validation_conditions = grid_pool_on_state(validation_conditions)
  validation_experiment_data = grid_pool_on_state(validation_experiment_data)
  validation_experiment_data = run_experiment_on_state(validation_experiment_data, experiment_runner=experiment_runner)

  benchmark_MSE_log = list()
  working_MSE_log = list()

  # INITIAL STATE
  # We begin our discovery experiment with randomly sampled data set for 10
  # conditions. We will use the same state for each experimentalist method.

  # create initial AutoRA state which we will use for our discovery expeirments
  initial_state = CustomState(variables=experiment_runner.variables)

  # we will initiate our discovery process with 10 randomly sampled experiment conditions
  initial_state = random_pool_on_state(initial_state,
                                      num_samples=num_initial_conditions,
                                      random_state = sim)

  # we obtain the corresponding experiment data
  initial_state = run_experiment_on_state(initial_state, experiment_runner=experiment_runner)

  # initialize benchmark state for random experimentalist
  benchmark_state = CustomState(**initial_state.__dict__)

  # initialize working state for your custom experimentalist
  working_state = CustomState(**initial_state.__dict__)

  # for each discovery cycle
  for cycle in range(num_cycles):

    print("SIMULATION " + str(sim)  + " / DISCOVERY CYCLE " + str(cycle))

    # first, we fit a model to the data
    print("Fitting models on benchmark state...")
    benchmark_state = theorists_on_state(benchmark_state, bms_epochs=bms_epochs)
    print("Fitting models on working state...")
    working_state = theorists_on_state(working_state, bms_epochs=bms_epochs)

    # now we can determine how well the models do on the validation set
    benchmark_MSE = get_validation_MSE(validation_experiment_data, benchmark_state)
    benchmark_MSE_log.append(benchmark_MSE)

    working_MSE = get_validation_MSE(validation_experiment_data, working_state)
    working_MSE_log.append(working_MSE)

    # then we determine the next experiment condition
    print("Sampling new experiment conditions...")
    benchmark_state = random_sample_on_state(benchmark_state,
                                              all_conditions=validation_conditions.conditions,
                                              num_samples=num_conditions_per_cycle)
    working_state = custom_sample_on_state(working_state,
                                            all_conditions=validation_conditions.conditions,
                                          num_samples=num_conditions_per_cycle)

    print("Obtaining observations...")
    # we obtain the corresponding experiment data
    benchmark_state = run_experiment_on_state(benchmark_state, experiment_runner=experiment_runner)
    working_state = run_experiment_on_state(working_state, experiment_runner=experiment_runner)

  return benchmark_MSE_log, working_MSE_log, benchmark_state, working_state

The wrappers are blow...
# state wrapper for grid pooler experimentalist (generates a grid of experiment conditions)
@on_state()
def grid_pool_on_state(variables):
  return Delta(conditions=grid_pool(variables))

# state wrapper for random pooler experimentalist (generates a pool of experiment conditions)
@on_state()
def random_pool_on_state(variables, num_samples, random_state=None):
  return Delta(conditions=random_pool(variables, num_samples, random_state))

# state wrapper for random experimentalist (samples experiment conditions from a set of conditions)
@on_state()
def random_sample_on_state(conditions, all_conditions, num_samples, random_state=None):
  return Delta(conditions=random_sample(all_conditions, num_samples, random_state))

# **** STATE WRAPPER FOR YOUR EXPERIMENTALIST ***
@on_state()
def custom_sample_on_state(experiment_data,
                           models_bms,
                           models_lr,
                           models_polyr,
                           all_conditions,
                           num_samples=1,
                           random_state=None):

  # this is just an example where we integrate the model diagreement sampler
  # into the wrapper
  conditions = model_disagreement_sample(
          all_conditions,
          models = [models_bms[-1], models_lr[-1]],
          num_samples = num_samples
      )

  return Delta(conditions=conditions)

I can not reproduce this error. Could you show a minimal example? The following code works as intended: The experiment_data of benchmark_state_2 doesn't get altered and stays the same as the initial state:
experiment_runner = exp_learning()

validation_conditions = CustomState(variables=experiment_runner.variables)

validation_conditions = CustomState(variables=experiment_runner.variables)
validation_experiment_data = CustomState(variables=experiment_runner.variables)

  # our validation set will be consist of a grid of experiment conditons
  # across the entire experimental design domain
validation_conditions = grid_pool_on_state(validation_conditions)
validation_experiment_data = grid_pool_on_state(validation_experiment_data)
validation_experiment_data = run_experiment_on_state(validation_experiment_data, experiment_runner=experiment_runner)

  # INITIAL STATE
  # We begin our discovery experiment with randomly sampled data set for 10
  # conditions. We will use the same state for each experimentalist method.

  # create initial AutoRA state which we will use for our discovery expeirments
initial_state = CustomState(variables=experiment_runner.variables)

  # we will initiate our discovery process with 10 randomly sampled experiment conditions
initial_state = random_pool_on_state(initial_state,
                                      num_samples=1,
                                      random_state = 1)

  # we obtain the corresponding experiment data
initial_state = run_experiment_on_state(initial_state, experiment_runner=experiment_runner)

  # initialize benchmark state for random experimentalist
benchmark_state = CustomState(**initial_state.__dict__)
benchmark_state_2 = CustomState(**initial_state.__dict__)

print(initial_state.experiment_data)
print(benchmark_state.experiment_data)

working_state = CustomState(**initial_state.__dict__)

for _ in range(2):

  # benchmark_state = theorists_on_state(benchmark_state, bms_epochs=2)

  # working_state = theorists_on_state(working_state, bms_epochs=2)

  # working_state = custom_sample_on_state(working_state,
  #                                             all_conditions=validation_conditions.conditions,
  #                                           num_samples=1)
  benchmark_state = random_sample_on_state(benchmark_state,
                                                all_conditions=validation_condititions.conditions,
                                                num_samples=1)
  benchmark_state_2 = random_sample_on_state(benchmark_state_2,
                                                all_conditions=validation_experiment_data.conditions,
                                                num_samples=1)

  benchmark_state = run_experiment_on_state(benchmark_state, experiment_runner=experiment_runner)
  # working_state = run_experiment_on_state(working_state, experiment_runner=experiment_runner)

  # print(initial_state.experiment_data)
  print('***')
  print(benchmark_state.experiment_data)

  print(benchmark_state_2.experiment_data)

authors: musslick younesStrittmatter

repo: AutoResearch/autora-core


text:
Memory Runout Error for even less memory of dataset when using Featurewiz

I have a dataset whose memory is around (440.06 MiB) training data and test data (219.6 MiB) when I try to use the featurewiz with this dataset it's showing an error of memory run out on GPU (Kaggle and Google colab)

Is there any method to solve this problem, rather than going to cloud platforms?
Is there any method to free the space when working with featurewiz internally in the codes of featurewiz?
I have loaded the dataset into the GPU environment and loaded those direct data frames into fearurewiz showing an error.

Dataset can be found at "https://www.kaggle.com/competitions/ventilator-pressure-prediction/data"

Hi @satwiksunnam19 👍
Thanks for trying out featurewiz on large datasets. Unfortunately, you cannot beat the memory limitations of pandas.Hence you need to downsample your training data to fit featurewiz by taking may be using 10% of your data to find the best features.
Secondly, I would not recommend that you do feature engg to generate more features in a time series data set like that one. It is not likely to help you much. That's my advice.
Thanks
AutoVimal

repo: AutoViML/featurewiz


text:
Question about parameter --timeBased

I have a question for the --timeBased parameter.
If I use this parameter with the --parallelRun parameter, does it sort the tests by runtime?
Does it run the long running tests in parallel first and after them the tests, which are faster?

Actually, the idea is that it will collect data about the tests and the time. On the next runs it will use the data to group the tests but equal total time between different processes. There isn't a logic to run the long running first. I hope I managed to answer.

authors: FelixBaum angelovstanton

repo: AutomateThePlanet/Meissa


text:
Fix - Error while deleting entities

The bug is fixed after renaming the function __get_model_filepath to _get_model_filepath. The question now is: Should we do the same for all the other methods in the fs repository?

I am afraid because we did not really understand the issue. Why can't we use __get_model_filepath with 2 '' ?
Should we rename all private methods that have 2 ''?
@khaitruong922 any idea or assumption on that ?

repo: Avaiga/taipy-core


text:
Documentation for advanced 'large datasets' example

RefMan: Fixed links to packages
Fixed charts type list generation

Fantastic doc!

🙏

repo: Avaiga/taipy-doc


text:
The Closing window event is triggered in AXAML Preview in Visual Studio.

Describe the bug
Every time when you edit something in the AXAML code of a window that has Closing event, that event handler is being called.
To Reproduce
Steps to reproduce the behavior:

Add a Closing event to a window.
Make sure that there was the window preview visible (or currently visible).
Edit something in the AXAML code of the window.

Expected behavior
The Closing event shouldn't being called.
Environment

OS: Windows 10
Avalonia-Version: 11.0.5
Visual Studio version: 2022, 17.7.5

Additional context
I have a message box that asks you if you are really want to close the window, and this message box is being shown every time when I edit the AXAML code.

https://github.com/AvaloniaUI/Avalonia/assets/45438625/4ae4ab1f-3b8b-463a-8fd8-839e1e79b5aa

You can use if(Design.IsDesignMode) to skip the event.

You can use if(Design.IsDesignMode) to skip the event.

I didn't know about this, thanks!
Though, this doesn't change the fact that it should not be triggered in the first place.

Should it not be triggered? What about Opened, Loaded, and Unloaded?
Since these can all perform important tasks and are expected to be called in the real application, it seems reasonable to me that all of them (and Closing/Closed) should be raised in the designer. It's up to the user to check InDesignMode if they want to skip certain code paths.

@TomEdwardsEnscape I think the same. However technically the designer is not a window so I don't know 100 % and wanted to have a confirmation from @avaloniaui-team before closing it as by-design.

Yeah, I don't see why it shouldn't be triggered either.

I'm gonna close this as by design. If someone want's to skip this event in the designer, we have a proper solution for it.

authors: TomEdwardsEnscape VladiStep maxkatz6 timunie

repo: AvaloniaUI/Avalonia


text:
(Tutorial) ReactiveCommands in ViewModel constructor don't work

I am following the tutorial on macOS 10.15.5 and .NET Core 3.0. All is well until the final page which adds the functionality for the OK and Cancel buttons in the constructor of the AddItemViewModel class. There are two problems upon running:

The "OK" button remains disabled when I enter text in the Description field.
The "Cancel" button results in a blank window instead of returning to the TodoListView.

Repro here.
Thanks

You wrote Command="{Binding OK}" instead of Command="{Binding Ok}"

https://github.com/Rhywun/avalonia-todo/blob/master/Views/AddItemView.xaml#L13

You didn't initialize List property

Content = new TodoListViewModel(db.GetItems());
while it should be
Content = List = new TodoListViewModel(db.GetItems());
https://github.com/Rhywun/avalonia-todo/blob/master/ViewModels/MainWindowViewModel.cs#L14

Thank you!! Everything works now.
Ugh I remember typing in #2 and I thought it was a misprint :)
That kind of double assignment rubs me the wrong way.
Might I suggest providing the source code for the tutorial on the website? I didn't find it in the framework's samples/ directory either. It might help others by providing a way to diff any changes.

Hello! Link is already present:

You can find the code for the completed application here.
https://avaloniaui.net/docs/tutorial/

Great, thanks! I missed it.
Closing

Thank you!! Everything works now.

Happy to help. Btw, there are also places where you can ask Qs about Avalonia:

Chat in gitter: https://gitter.im/AvaloniaUI/Avalonia

Chat in discord: https://aka.ms/dotnet-discord

Ask on SO: avalonia

Ask on TopAnswers: C#

Maybe even on recently created CoDidact.Software Development

First two are probably preferable since they have "official" (mention in ReadMe) support.
I do think it would better than raise issues especially in case of something simple. Avalonia has reached the good shape and answering questions is area where community can help easily.
To emphasize: this is only my personal position and maintainers may think differently.
My arguments are the following:

Questions distract from working on fixing bugs, implementing new features etc.

It might be annoying for watchers to receive notifications about something simple like "WebView ??" again and again.

Sometimes issues don't recive any response anyway

and even when the answer is provided issue is not always marked as "closed" therefore reports about possibly crucial bugs go down and down.

"Chat" is not my favorite format but I will take it under consideration. Thanks

authors: FoggyFinder Rhywun rstm-sf


text:
Use GTK3 instead of GTK2.

As title say, use GTK3 instead of GTK2, MonoDevelop started using GTK3 along with Mono Xwt.

As per recent pr from @kekekes there is now a gtk3 backend.

authors: amerkoleci danwalmsley


text:
Port GridSplitter from WPF.

What does the pull request do?

Ports GridSplitter from WPF.(https://github.com/dotnet/wpf/blob/master/src/Microsoft.DotNet.Wpf/src/PresentationFramework/System/Windows/Controls/GridSplitter.cs)
What is the current behavior?

Current GridSplitter will only consider parent Grid structure when added to the visual tree. This is obviously wrong as Grid structure can change at any time so nothing can or should be cached.
What is the updated/expected behavior with this PR?

WPF behavior for Grid essentially defers structure checks, when user starts resizing operation Grid will be checked and then for the duration of resize we cache needed information.
This allows users to add/remove elements from the Grid, change definitions and still have working splitters afterwards.
Also now we support more resize modes and we can resize with a preview (no size change until user stops resizing).
Plus keyboard support (cancelling resize, resizing using keyboard arrows).
How was the solution implemented (if it's not obvious)?

Implementation is mostly 1:1 ported from WPF. I did cleanup a lot of code there, unified comment style and modernized it.
There is one workaround for adorners, since in Avalonia adorners are always clipped and adorner used in GridSplitter requires to be not-clipped.
Also our Thumb implementation can sometimes raise multiple DragStarted events so I can't use WPF assert that ensures that each start has matching end right now. This is mostly related to focus/capture loss that is not recognized by Thumb.
After a few checks I decided to keep original Avalonia GetDeltaConstraints as the one from WPF has issues (https://github.com/dotnet/wpf/issues/1687).
Checklist

[x] Added unit tests (if possible)?
[x] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/Avaloniaui.net with user documentation

Breaking changes

GridSplitter no longer has pseudo-classes for horizontal or vertical orientation. This is caused by deferring of Grid structure checks until user starts resizing with the splitter. Otherwise each GridSplitter would need to react to parent Grid restructure changes which can be quite expensive.

I will add more tests soon. There are a few breaking changes as well that I will write down.

I think our existing GridSplitter has slightly different semantics to the WPF GridSplitter, as it has code for determining the orientation automatically.
I think it's fine to just revert to WPF's semantics tbh, but this should be mentioned as a breaking change.

@grokys I did mention this in breaking changes, since I removed old pseudoclasses. WPF also detects orientation automatically, but orientation detection is delayed until user begins interaction.
This early automatic detection is broken in all cases when Grid structure is modified and current splitter just ends up resizing wrong columns.

Ah, ok. For some reason I thought the changes went further than that, but I can't say I've used GridSplitter a lot.

authors: MarchingCube grokys


text:
Resize checkbox

Set checkbox bigger.

https://material.io/components/selection-controls#usage

This can be done through CheckBoxAssist.CheckBoxSize="24". Added sample to demo in 64b5a2600f09a64ec9c9b3e084be6ef63e717e93

authors: CreateLab SKProCH


text:
DisruptorCommandBus has a CommandResult of null

User the disruptor command bus I get the CommandResult is Null
This is the Demo
Env

AxonFrameworkVersion: 4.1.1
JDK:Java8

Thanks for filing this bug @e-sen. I've tested this out locally as well and ended up to the same conclusion as you've described.
I'll ensure we'll fix this issue ASAP.

@smcvb Thanks,Waiting for your good news .  :-)
Use the external Command Handlers , Because I want use the common service out of Aggregate.
such as
interface CommonService {

    fun currentTimeMillis(): Long

    fun generateIdentifier(): String

}

@Component
class UserCommandHandler(
        val repository: Repository<User>,
        val commonService:CommonService
) {

    @CommandHandler
    fun handle(command: CreateUserCommand): String {
        repository.newInstance {
            User(userId = command.userId, time = commonService.currentTimeMillis())
        }
        return command.userId
    }

}

if I @Autowired In the Aggregate
@Aggregate
class User {

    @AggregateIdentifier
    lateinit var userId: String

    @JsonIgnore
    @Transient
    @Autowired
    lateinit var commonService:CommonService

    constructor()

    constructor(userId: String) {
        AggregateLifecycle.apply(UserCreatedEvent(userId = userId, time = commonService.currentTimeMillis()))
    }

    @EventHandler
    fun on(event: UserCreatedEvent) {
        this.userId = event.userId
    }

}

That will get error commonService not init ~

authors: e-sen smcvb

repo: AxonFramework/AxonFramework


text:
Add position to trackingToken

Hi,
I have written following construct a few times now:
     if (token instanceof GlobalSequenceTrackingToken) {
          return ((GlobalSequenceTrackingToken) token).getGlobalIndex();
    } else if (token instanceof GapAwareTrackingToken) {
          return ((GapAwareTrackingToken) token).getIndex();
    } else {
          return -1L;
    }

We use this index for monitoring purposes to see where our trackingEventProcessors are and for debugging and general troubleshooting.
While writing this it felt like this should actually be a feature of the TrackingToken interface because it represents a position.
It might be useful for other people as well.
However, I did not find a meaningful implementation for the MergedTrackingToken which uses the default implementation of -1L.
Regards,
Tom

Thanks for the remarks.
I included the changes but I am not sure about the javaDoc.  I changed it a bit but if you have an exact text you wish to see there I'm willing to copy paste it.

@abuijze how would we provide this functionality for the MongoTrackingToken?

@smcvb sure.
But it will only be needed if there is a useful implementation.  Otherwise the default from this interface will suffice

In the Mongo Extension, I would like have the token return the timestamp of the last event as the position. That's the only forward moving component in there.
I'm trying to come up with some text for the interface that makes it clear that the position should not be taken as a literal thing, but can be used as an estimation when comparing two tokens (of the same type), to evaluate their distance.

@smcvb I see this got merged to master and I tried to provide the implementation for the mongo extension.
However, there is no snapshot of axon 4.2-SNAPSHOT published so I cannot reference that version.
Is it possible to publish a snapshot?

Ah darn, you're completely right there @nurk... I feel however that the discussion whether to publish snapshots justifies a little more time then just one quick thought from my part, so I wont be doing that just now.
I'll take this request of mine off your back and will take it on as soon as we'll start releasing 4.2.
So in short, you're off the hook.
If you'd however still would want to resolve this, you could build the snapshot locally, and make the necessary adjustments in a branch for the mongo-extension. It wouldn't build, but we would have it standing by before this stuff is merged.

authors: abuijze nurk smcvb


text:
[#2189] Validate primitive types differently in the EqualFieldsMatcher

JDK17 does not allow reflective access to java.lang class, like the primitives and String.
Due to this, if a user uses a primitive type in commands, events, queries, and deadlines, as we frequently do in our tests, the EqualFieldsMatcher will throw an exception.
Ideally, the EqualFieldsMatcher wouldn't be exposed through the Matchers utility directly, since that would allow us to attach an equals check before proceeding with the fields equals.
However, the ResultValidatorImpl and CommandValidator rely on the Matchers return type being the EqualFieldsMatcher for error descriptions.
Due to this, this pull request changes the EqualFieldsMatcher to check if it deals with a primitive "expected" or "actual" type.
If this is the case, a regular equals check is done instead of the reflective field equals.
To keep correctly describing error scenarios, the EqualFieldsMatcher has a isFailedPrimitive method.
The ResultValidatorImpl and CommandValidator use the isFailedPrimitive method to report these assertion errors differently.
This pull request resolves #2189.

Actually, I don't think the issue is in this class primarily. Before using the equalFieldsMatcher, we should simply do a .equals check on the expected and actual. For primitives, this will do the check as expected. For messages that don't implement equals(), we can then use the Matcher.

If equals returns true, we don't need to remember the "failed field" anyway. If equals returns false, we simply attempt to check the fields' equality instead. If that fails because we aren't allowed to perform reflection, perhaps we can mark the object as a whole to have failed?

authors: abuijze smcvb


text:
Deleting divisor

Description
Fixes #(https://github.com/Ayush7614/Daily-Coding-DS-ALGO-Practice/issues/1376#issuecomment-868888552)
Checklist:

[X] My code follows the style guidelines(Clean Code) of this project
[X] I have performed a self-review of my own code

@Pratik57 add test cases


text:
Patch

Description
To Do List issue no #196
Checklist

[x] I've been assigned an issue related to this PR.
[x] I've used beautifiers.
[x] I've added my Project's name and description to Index.md
[x] I've made a README.md file for my Project.
[x] The README.md file of my project contains Project title, Description, Use of project, Set up, Stack used and Output (Screenshots).

Related Issues or Pull Requests number
(Write your answer here.)

@ayushseth07, just add the project details to index.md and then it would be good to go! 🎉

@ayushseth07, just add the project details to index.md and then it would be good to go! 🎉

@harshita2216 i have added the details in readme.md

@ayushseth07, just add the project details to index.md and then it would be good to go! tada

@harshita2216 i have added the details in readme.md

https://github.com/Ayushparikh-code/Web-dev-mini-projects/blob/main/Index.md
Hey, I'm talking about this file. Add your details in a manner given in this file.

repo: Ayushparikh-code/Web-dev-mini-projects


text:
[Suggestion] Option to dye planks.

Something like this but colors need to be more subtle.

I'm unsure if I like the idea of dyed wood to be honest, can't promise I'd add anything like that

authors: Azagwen RDKRACZ

repo: Azagwen/ATBYW


text:
Botania and Thaumcraft oddness

This glitch is simple: while mystical petals show the aspects herba, tenebrae, ignis, and sensus in thaumic jei, they do not contain such aspects. I know enough about mods to know that the aspects must exist in some form of metadata, as that is the only way that thaumic jei could be compatible with other mods. Furthermore, the code for thaumic jei must use the new system of aspects to remain compatible with thaumcraft itself.

The red petal appears in both aspect groups in thaumic jei but not when holding shift or in the cauldron

Maybe he hasn't done it yet. Didn't have time ...

another odd thing, (although this might be more related to Botania than thaumcraft) is that combining any Botania helmet with the googles of revealing does not gives you discount, as it should...

That is the helmet added by botania

I do not add aspects for anything other than vanilla and tc items unless I can calculate the aspects somehow via crafting recipes. Something else must be assigning those petals essentia and I suspect that the petals have less than 1 essentia assigned to them somehow. TJEI is picking them up, but I do not display or count anything unless it has at least 1 essentia.

That is not the issue: they gain their aspects when the lexicon botania is in your inventory and loose them when they leave it

authors: AlekseiVoronin Azanor Ushupiuck enderger

repo: Azanor/thaumcraft-beta


text:
feat: populate recipient in outgoing

Resolves #7177.
With this, we are adding recipient to the outgoing log. I'm adding it as another parameter to the emission, when we pass it in the normal circumstance (without keys), it is using the same value as the incoming viewer.

Benchmark results
Metrics with a significant change:

avm_simulation_time_ms (Token:mint_public): 56.4 (-84%)
avm_simulation_time_ms (Token:assert_minter_and_mint): 91.9 (+46%)
avm_simulation_time_ms (Token:_increase_public_balance): 149 (+894%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Proof generation
Each column represents the number of threads used in proof generation.

Metric
1 threads
4 threads
16 threads
32 threads
64 threads

proof_construction_time_sha256_ms
5,716
1,566 (+2%)
725 (+3%)
777 (+2%)
798 (+4%)

proof_construction_time_sha256_30_ms
11,877 (+1%)
3,147
1,410
1,439
1,463

proof_construction_time_sha256_100_ms
44,591 (+2%)
12,323 (+5%)
6,306 (-4%)
5,607 (+4%)
5,718 (+6%)

proof_construction_time_poseidon_hash_ms
78.0
34.0
34.0
59.0 (+2%)
88.0 (+1%)

proof_construction_time_poseidon_hash_30_ms
1,519
416 (-1%)
199
225
269

proof_construction_time_poseidon_hash_100_ms
5,607
1,540 (+2%)
715 (+6%)
738 (+3%)
764 (+3%)

L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
4 txs
8 txs
16 txs

l1_rollup_calldata_size_in_bytes
1,412
1,412
1,412

l1_rollup_calldata_gas
9,476
9,464
9,476

l1_rollup_execution_gas
613,504
613,643
613,806

l2_block_processing_time_in_ms
759
1,418
2,714 (-1%)

l2_block_building_time_in_ms
12,851 (-1%)
25,509
49,746 (-1%)

l2_block_rollup_simulation_time_in_ms
12,850 (-1%)
25,509
49,746 (-1%)

l2_block_public_tx_process_time_in_ms
10,815 (-1%)
23,284
47,519 (-1%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 8 txs.

Metric
3 blocks
5 blocks

node_history_sync_time_in_ms
7,033
9,870 (-1%)

node_database_size_in_bytes
12,451,920
16,191,568

pxe_database_size_in_bytes
16,254
26,813

Circuits stats
Stats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.

Circuit
simulation_time_in_ms
witness_generation_time_in_ms
proving_time_in_ms
input_size_in_bytes
output_size_in_bytes
proof_size_in_bytes
num_public_inputs
size_in_gates

private-kernel-init
108 (-3%)
392 (-1%)
14,465 (-1%)
20,002
55,022
74,208
2,252
524,288

private-kernel-inner
220 (-1%)
704 (-1%)
29,279 (+2%)
82,134
55,022
74,208
2,252
1,048,576

private-kernel-tail
1,062 (-1%)
2,475 (-1%)
55,378 (+3%)
62,409
62,089
14,944
400
2,097,152

base-parity
7.01 (+12%)
853 (-3%)
2,609 (-2%)
160
96.0
2,240
3.00
131,072

root-parity
69.7 (-1%)
71.8 (-4%)
40,039 (-3%)
27,868
96.0
2,752
19.0
2,097,152

base-rollup
4,129 (-1%)
4,771 (-3%)
91,615 (-1%)
172,028
632
3,552
44.0
4,194,304

root-rollup
126 (-1%)
91.9 (+3%)
23,980 (+1%)
25,053
652
3,488
42.0
1,048,576

public-kernel-setup
189 (-1%)
2,353 (-2%)
42,967 (-3%)
103,911
80,310
106,944
3,275
2,097,152

public-kernel-app-logic
144 (-1%)
3,288 (-1%)
45,928 (+10%)
103,911
80,310
106,944
3,275
2,097,152

public-kernel-tail
888 (-1%)
22,668 (-6%)
183,169 (+2%)
400,808
10,046
14,944
400
8,388,608

private-kernel-reset-small
291
1,282 (+12%)
27,471 (+6%)
79,273
55,022
74,208
2,252
1,048,576

public-kernel-teardown
133 (-1%)
3,276 (-2%)
42,330 (-7%)
103,911
80,310
106,944
3,275
2,097,152

merge-rollup
40.2 (-1%)
N/A
N/A
16,094
632
N/A
N/A
N/A

private-kernel-tail-to-public
N/A
9,530 (+4%)
59,447 (-3%)
N/A
N/A
106,944
3,275
2,097,152

Stats on running time collected for app circuits

Function
input_size_in_bytes
output_size_in_bytes
witness_generation_time_in_ms
proof_size_in_bytes
proving_time_in_ms
size_in_gates
num_public_inputs

ContractClassRegisterer:register
1,312
9,344
394
N/A
N/A
N/A
N/A

ContractInstanceDeployer:deploy
1,376
9,344
24.5 (-1%)
N/A
N/A
N/A
N/A

MultiCallEntrypoint:entrypoint
1,888
9,344
643
N/A
N/A
N/A
N/A

GasToken:deploy
1,344
9,344
554
N/A
N/A
N/A
N/A

SchnorrAccount:constructor
1,280
9,344
476 (-1%)
N/A
N/A
N/A
N/A

SchnorrAccount:entrypoint
2,272
9,344
818 (-1%)
15,840
4,720
131,072
428

Token:privately_mint_private_note
1,248
9,344
541 (-1%)
N/A
N/A
N/A
N/A

FPC:fee_entrypoint_public
1,312
9,344
101 (-4%)
15,840
1,725 (+1%)
65,536
428

Token:transfer
1,280
9,344
1,619 (-1%)
15,840
11,661
524,288
428

AuthRegistry:set_authorized (avm)
19,222
N/A
N/A
91,232
1,357 (-2%)
N/A
N/A

FPC:prepare_fee (avm)
26,664
N/A
N/A
91,296
3,017 (+3%)
N/A
N/A

Token:transfer_public (avm)
42,914
N/A
N/A
91,296
3,806 (-4%)
N/A
N/A

AuthRegistry:consume (avm)
33,100
N/A
N/A
91,232
2,736 (-2%)
N/A
N/A

FPC:pay_refund (avm)
36,829
N/A
N/A
91,264
22,930 (-4%)
N/A
N/A

Benchmarking:create_note
1,312
9,344
464 (-1%)
N/A
N/A
N/A
N/A

SchnorrAccount:verify_private_authwit
1,248
9,344
41.2
N/A
N/A
N/A
N/A

Token:unshield
1,344
9,344
1,337 (-1%)
N/A
N/A
N/A
N/A

FPC:fee_entrypoint_private
1,344
9,344
1,743 (+1%)
N/A
N/A
N/A
N/A

AVM Simulation
Time to simulate various public functions in the AVM.

Function
time_ms
bytecode_size_in_bytes

GasToken:_increase_public_balance
79.3 (-1%)
13,790

GasToken:set_portal
15.2
3,339

Token:constructor
102
23,692

FPC:constructor
73.2
13,592

GasToken:mint_public
60.7 (-3%)
10,158

Token:mint_public
:warning: 56.4 (-84%)
19,034

Token:assert_minter_and_mint
:warning: 91.9 (+46%)
12,925

AuthRegistry:set_authorized
33.5 (-3%)
7,812

FPC:prepare_fee
106 (+3%)
15,062

Token:transfer_public
45.5 (+13%)
31,218

FPC:pay_refund
142 (+13%)
25,260

Benchmarking:increment_balance
1,314 (-1%)
15,267

Token:_increase_public_balance
:warning: 149 (+894%)
15,006

FPC:pay_refund_with_shielded_rebate
130 (-20%)
26,347

Public DB Access
Time to access various public DBs.

Function
time_ms

get-nullifier-index
0.160 (+3%)

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
256 leaves
512 leaves
1024 leaves

batch_insert_into_append_only_tree_16_depth_ms
10.3
16.7
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.7
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.598
0.512
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
47.9
75.7
131
244
470

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
95.9
159
287
543
1,055

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.489 (-1%)
0.466
0.450
0.443
0.439

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
59.3 (-1%)
112 (+1%)
183 (+1%)
352
691

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
109
207
355
691
1,363

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.501 (-1%)
0.500
0.484
0.477
0.474

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
72.5
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
133
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
0.516
N/A
N/A
N/A
N/A

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
74,082
667,868

Transaction size based on fee payment method
| Metric |  |
| - |  |

repo: AztecProtocol/aztec-packages


text:
Secure App Insights with managed identity

Purpose

Secure App Insights with managed identity

Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

After this PR we should come back and figure out what CI builds are failing.  That's not a good look.

authors: BigMorty paulyuk


text:
RPI3: Executor failed to create kernel _FusedConv2D

Please provide us with the following information:

This issue is for a: (mark with an x)
- [x ] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

download the complete project
build and push
deploy and check logs

Any log messages given by the failure

Caused by op 'conv1/conv1', defined at:
File "/usr/lib/python3.5/threading.py", line 882, in _bootstrap
self._bootstrap_inner()
File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/usr/lib/python3.5/threading.py", line 862, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python3.5/socketserver.py", line 625, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python3.5/socketserver.py", line 354, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python3.5/socketserver.py", line 681, in init
self.handle()
File "/usr/local/lib/python3.5/dist-packages/werkzeug/serving.py", line 293, in handle
rv = BaseHTTPRequestHandler.handle(self)
File "/usr/lib/python3.5/http/server.py", line 422, in handle
self.handle_one_request()
File "/usr/local/lib/python3.5/dist-packages/werkzeug/serving.py", line 328, in handle_one_request
return self.run_wsgi()
File "/usr/local/lib/python3.5/dist-packages/werkzeug/serving.py", line 270, in run_wsgi
execute(self.server.app)
File "/usr/local/lib/python3.5/dist-packages/werkzeug/serving.py", line 258, in execute
application_iter = app(environ, start_response)
File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 2309, in call
return self.wsgi_app(environ, start_response)
File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1799, in dispatch_request
return self.view_functionsrule.endpoint
File "app.py", line 41, in predict_image_handler
results = predict_image(img)
File "/app/predict.py", line 56, in predict_image
tf.import_graph_def(graph_def, name='')
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/util/deprecation.py", line 507, in new_func
return func(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/importer.py", line 442, in import_graph_def
_ProcessNewOps(graph)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/importer.py", line 235, in _ProcessNewOps
for new_op in graph._add_new_tf_operations(compute_devices=False):  # pylint: disable=protected-access
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 3433, in _add_new_tf_operations
for c_op in c_api_util.new_tf_operations(self)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 3433, in
for c_op in c_api_util.new_tf_operations(self)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 3325, in _create_op_from_tf_operation
ret = Operation(c_op, self)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 1801, in init
self._traceback = tf_stack.extract_stack()
NotFoundError (see above for traceback): No registered '_FusedConv2D' OpKernel for CPU devices compatible with node node conv1/conv1 (defined at /app/predict.py:56)
.  Registered:
 [[node conv1/conv1 (defined at /app/predict.py:56) ]]

2019-03-10 14:44:50.408362: E tensorflow/core/common_runtime/executor.cc:624] Executor failed to create kernel. Not found: No registered '_FusedConv2D' OpKernel for CPU devices compatible with node {{node conv1/conv1}}
.  Registered:
Expected/desired behavior

The image classifier should be able to classify images... ;)

OS and Version?

Building and pushing from Win 10. Running edge device is Rpi 3+

Versions

Mention any other details that might be useful
The camera capture fails because it cannot create the socket to the image-classifier service.
This might be useful: https://github.com/tensorflow/tensorflow/issues/24732

Thanks! We'll be in touch soon.

Saw same issue as described. Fix was changing line in requirements.txt and rebuilding
tensorflow==1.12.0

Yes this commit shoudl have fixed it: https://github.com/Azure-Samples/Custom-vision-service-iot-edge-raspberry-pi/commit/cf80d80bfd439ef5f30f17ca5bba50382a67ed4c#diff-49f375eebd2ba1e403c3a586f22c22fb
Please sync your repro and rebuild your solution. Let me know if you still hit this issue.

authors: ebertrams nanowireUK njbuch


text:
Reduce usage of string formatting for resource ids in our bicep scripts

    just a nit, but I think we're doing this very same string interpolation at least 4 times, if I'm counting correctly. Do you know if there's a way we can introduce a custom function in bicep, that we could call in different bicep files? (I did a quick search and didn't find anything, but maybe you know a way already? If not, just drop it - this is neither critical nor expected to change)

Originally posted by @thomasp-ms in https://github.com/Azure-Samples/azure-ml-federated-learning/pull/138#discussion_r1005993423

After investigation, and after multiple releases, the number of "string formatting" occurences has been reduced to a minimum.