RuntimeError: CUDA error: all CUDA-capable devices are busy or unavailable

I just follow the installation step by step here
https://docs.nvidia.com/cuda/wsl-user-guide/index.html
I'm not trying to use docker I'm trying to use pytorch directly from python
This is the code
``
(base) gegg00@DESKTOP-KS0OLS9:~$ python
Python 3.7.6 (default, Jan  8 2020, 19:59:22)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.

import torch
torch.cuda.is_available()
True
torch.randn(5)
tensor([-2.6408, -1.0831, -1.6984,  0.4742, -0.5909])
torch.randn(5).to(2)
Traceback (most recent call last):
File "", line 1, in
RuntimeError: CUDA error: all CUDA-capable devices are busy or unavailable
``

Environment
Platform ServicePack Version      VersionString

Win32NT             10.0.20170.0 Microsoft Windows NT 10.0.20170.0
Ubuntu
Release:        18.04
WSL 2:
Linux version 4.19.121-microsoft-standard (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 SMP Fri Jun 19 21:06:10 UTC 2020
Steps to reproduce

I follow the steps
https://docs.nvidia.com/cuda/wsl-user-guide/index.html
Installed Anaconda Anaconda3-2020.02-Linux-x86_64.sh
Installed pytorch
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
try the code
``
(base) gegg00@DESKTOP-KS0OLS9:~$ python
Python 3.7.6 (default, Jan  8 2020, 19:59:22)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.

import torch
torch.cuda.is_available()
True
torch.randn(5)
tensor([-2.6408, -1.0831, -1.6984,  0.4742, -0.5909])
torch.randn(5).to(2)
Traceback (most recent call last):
File "", line 1, in
RuntimeError: CUDA error: all CUDA-capable devices are busy or unavailable
``
Getting this error:
RuntimeError: CUDA error: all CUDA-capable devices are busy or unavailable

Expected behavior

Actual behavior

You should try the the new nvidia driver 460.15 and last kernel 4.19.128-microsoft-standard. Both have fixes for CUDA in WSL2.
https://developer.nvidia.com/cuda/wsl/download

I have the same problem and have the same kernel version but nvidia driver 460.20 torch.cuda.is_available() returns true but cannot perform any operation on cuda

I am having the same problem, with NVIDIA driver 460.20, and WSL 2 kernel version 4.19.128.

Same problem.  NVIDIA 460.20 and WSL 2 4.19.128.  It fails even with the NVIDIA Sample for BlackSholes.  I even have two GPU's that show up in the Device Query and same issue.  And the same thing with our use of Torch CUDA.

Same problem as well. DeviceQuery runs but not BlackScholes or bandwidthTest, which both error with code=46(cudaErrorDevicesUnavailable). In pytorch, torch.cuda.is_available() returns True but sending anything to CUDA returns RuntimeError: CUDA error: all CUDA-capable devices are busy or unavailable
I started running into this today with NVIDIA 460.15, WSL 2 4.19.128, Windows 20226.1000. I then updated the driver to NVIDIA 460.20, uninstalled/reinstalled cuda-toolkit-11.1, restarted windows/wsl, but am still facing the same issues. wsl --status reports that Windows Subsystem for Linux was last updated on 9/7/2020, while Windows 10 Insider Preview 20226.1000 was updated 10/3/2020. Could the windows update have broke this?

Thanks @rohitsingh02! Rolling back to 20221.1000 (while staying at WSL 2 4.19.128, NVIDIA 460.15) resolved the issue for me

@yhtgrace Here is a quick fix:
Go to Settings -> Recovery -> Click on Get Started under Go back to previous version of Windows 10
This will take 5-10 minutes to roll back to previous version.

It may work. But there was an unfixed issue in version 20221 that caused the following error when running the Linux distro: “The remote procedure call failed”
I guess we just have to wait until Windows gets fixed again.

I got the same problem, but my Windows upgrade from very old version(19042.546).
So when I try to update Windows, it will download Windows 10 Insider Preview 20231.1000, but seem this version not work.
There is any way to upgrade to 20231.1000?

I try to downgrade to 20221 but got another bug.

On WSL 2 / 20231.10005 / Linux 4.19.128-microsoft-standard #1 SMP Tue Jun 23 12:58:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
`
(fastai) forbiddenera@forbiddenera:/usr/local/cuda/samples/bin/x86_64/linux/release$ ./deviceQueryDrv
./deviceQueryDrv Starting...
CUDA Device Query (Driver API) statically linked version
Detected 1 CUDA Capable device(s)
Device 0: "GeForce RTX 2070 SUPER"
CUDA Driver Version:                           11.2
CUDA Capability Major/Minor version number:    7.5
Total amount of global memory:                 8192 MBytes<PHONE_NUMBER> bytes)
(40) Multiprocessors, ( 64) CUDA Cores/MP:     2560 CUDA Cores
GPU Max Clock rate:                            1905 MHz (1.90 GHz)
Memory Clock rate:                             7001 Mhz
Memory Bus Width:                              256-bit
L2 Cache Size:                                 4194304 bytes
Max Texture Dimension Sizes                    1D=(131072) 2D=(131072, 65536) 3D=(16384, 16384, 16384)
Maximum Layered 1D Texture Size, (num) layers  1D=(32768), 2048 layers
Maximum Layered 2D Texture Size, (num) layers  2D=(32768, 32768), 2048 layers
Total amount of constant memory:               65536 bytes
Total amount of shared memory per block:       49152 bytes
Total number of registers available per block: 65536
Warp size:                                     32
Maximum number of threads per multiprocessor:  1024
Maximum number of threads per block:           1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z):<PHONE_NUMBER>, 65535, 65535)
Texture alignment:                             512 bytes
Maximum memory pitch:<PHONE_NUMBER> bytes
Concurrent copy and kernel execution:          Yes with 2 copy engine(s)
Run time limit on kernels:                     Yes
Integrated GPU sharing Host Memory:            No
Support host page-locked memory mapping:       Yes
Concurrent kernel execution:                   Yes
Alignment requirement for Surfaces:            Yes
Device has ECC support:                        Disabled
Device supports Unified Addressing (UVA):      Yes
Device supports Managed Memory:                Yes
Device supports Compute Preemption:            Yes
Supports Cooperative Kernel Launch:            Yes
Supports MultiDevice Co-op Kernel Launch:      Yes
Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
Result = PASS
(fastai) forbiddenera@forbiddenera:/usr/local/cuda/samples/bin/x86_64/linux/release$ ./convolutionFFT2D
[./convolutionFFT2D] - Starting...
GPU Device 0: "Turing" with compute capability 7.5
Testing built-in R2C / C2R FFT-based convolution
...allocating memory
CUDA error at main.cpp:118 code=46(cudaErrorDevicesUnavailable) "cudaMalloc((void **)&d_Data, dataH * dataW * sizeof(float))"
`
Any other workaround than 20221? I only just hopped on WI for WSL2 / CUDA support in the last day so I think I went straight to 20231 from 1903 so not sure I can even easily downgrade.

If it helps, what I chose to do as a workaround is simply run my CUDA code on the Windows command line as opposed to WSL. Of course, this requires that you reproduce whatever setup you had in WSL, e.g. installing packages. It's not really a solution, because you're just using a different OS, but hopefully it helps you do your work :)

This should be fixed on build 20236. Do you still have this issue?

If it helps, what I chose to do as a workaround is simply run my CUDA code on the Windows command line as opposed to WSL. Of course, this requires that you reproduce whatever setup you had in WSL, e.g. installing packages. It's not really a solution, because you're just using a different OS, but hopefully it helps you do your work :)

Unfortunately I was trying to use the fastai lib which specifically really doesn't support Windows.
Build 20236 seems to work:
(fastai) forbiddenera@FORBIDDENERA:~$ sudo docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark
Run "nbody -benchmark [-numbodies=<numBodies>]" to measure performance.
        -fullscreen       (run n-body simulation in fullscreen mode)
        -fp64             (use double precision floating point values for simulation)
        -hostmem          (stores simulation data in host memory)
        -benchmark        (run benchmark to measure performance)
        -numbodies=<N>    (number of bodies (>= 1) to run in simulation)
        -device=<d>       (where d=0,1,2.... for the CUDA device to use)
        -numdevices=<i>   (where i=(number of CUDA devices > 0) to use for simulation)
        -compare          (compares simulation results running once on the default GPU and once on the CPU)
        -cpu              (run n-body simulation on the CPU)
        -tipsy=<file.bin> (load a tipsy model file for simulation)

NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.

> Windowed mode
> Simulation data stored in video memory
> Single precision floating point simulation
> 1 Devices used for simulation
MapSMtoCores for SM 7.5 is undefined.  Default to use 64 Cores/SM
GPU Device 0: "GeForce RTX 2070 SUPER" with compute capability 7.5

> Compute 7.5 CUDA device: [GeForce RTX 2070 SUPER]
40960 bodies, total time for 10 iterations: 57.387 ms
= 292.352 billion interactions per second
= 5847.040 single-precision GFLOP/s at 20 flops per interaction

Thanks guys! Now to just get fastai working..heh

FYI, this worked for me on build 20236! Both the minimal example (torch.randn(1).to(0)) and training a full torch model. Thanks for your help, everyone :)


Is the book already available somewhere?

https://www.packtpub.com/product/odoo-14-development-cookbook-fourth-edition/9781800200319


Feature/ebs volume encrypted

Proposed Changes
To enhance security, it's important to attach encrypted EBS volumes for EC2 instances.
Related Issues/PRs
https://github.com/basti-app/basti/issues/94
Checklist

[x] I cleaned up my code.
[x] All the tests and checks passed (npm run test).
[x] I have added necessary documentation and/or updated existing documentation.
[ ] I have added or modified tests to cover the changes.

Just tested the changes both in Basti CLI and Basti CDK. Works like a charm!

The changes will be released tomorrow.

Basti CLI has just been released. Basti CDK will be released tomorrow.


Category/Subcategory

The category subcategory relation between them and the asset needs review and probably rework. The issue is connected to the asset search functionality #9.

Asset search filtering current implementation works with the current category/subcategory relation so this change wont be needed for now.


[formrecognizer] Fix to dict issue

API change check
API changes are not detected in this pull request.


Fix/target mask

The targetMask value is platform-specific, and this can be observed by compiling from the IDE and monitor the targetMask value of the build.bff file.
Without the correct value, the Android platform will ignore the GooglePlayService extension during compile. I have not tested the implication of mismatching targetMask value on other platforms, but it is most likely a safer practice to use the correct value, thus the pull request.

sorry for the two year delay. good catch here, i cannot personally test the masks but this doesn't change desktop behavior so it should probably be fine.


Commerce Support

The 'pay-per-minute' subscriptions appears available now as 'direct buy/purchase' instead of being limited to VL customer.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 6fac515b-9c6b-c70c-330e-53557dc23fd2
Version Independent ID: d515841e-f412-286d-1a97-30507bb50040
Content: Audio Conferencing pay-per-minute - Microsoft Teams
Content Source: Teams/audio-conferencing-pay-per-minute.md
Service: msteams
GitHub Login: @tonysmit
Microsoft Alias: tonysmit

thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


Use Grunt

Switch to Grunt for running tests/minifying/uglifying/etc...
Will safe quite some time and will make things easier.

@techfort switched from grunt to gulp so I'm not sure this would happen if it is just a preference thing.  feel free to give reasons or justifications though.

Oh, there is already gulp? I didn't realize that. Yeah, gulp will work just as well as grunt. My idea behind this was "make things a little bit more automated"

Were is the gulp entry point,  @obeliskos ? I can't seem to find it

ah now that i think about it your probably right.. I think @techfort and/or @seriousme subsequently replaced gulp with plain npm scripts.  I suppose we could add back in if needed... anything in particular that might be useful for you?

Quite some things! We could add babel, so we can write things in ES6 and
compile them to ES5. We could also add eslint/jslint to check for typos.
Minify/uglify/packer support for better minification of the final files.
Also, we can run tests from gulp/grunt based on env variables, which is
very useful for testing different parts of the code (instead of testing
everything always)
El El mar, 15 mar 2016 a las 22:41, obeliskos<EMAIL_ADDRESS>escribió:

ah now that i think about it your probably right.. I think @techfort
https://github.com/techfort and/or @seriousme
https://github.com/seriousme subsequently replaced gulp with plain npm
scripts. I suppose we could add back in if needed... anything in particular
that might be useful for you?
—
You are receiving this because you were assigned.
Reply to this email directly or view it on GitHub
https://github.com/techfort/LokiJS/issues/377#issuecomment-197035019

How would you feel about experimenting with many of these things in the 2.0.0 branch which @techfort has just created?  You and possibly Vlad (if he is interested in shaping a v2 version) can experiment without worrying about breaking changes or backwards compatibility.
So maybe minor features and fixes can still be added to master branch, but anything requiring experimentation, refactoring/breaking changes, and benchmark sensitive changes can work against 2.0.0?

regarding this particular issue, i don't like grunt, i like gulp much better, even though i find it really useful only when in conjunction with browser-sync and file watches for hot reloads. For lib development, not so much, but hey - up to you - v2.0.0 is there for the pillaging.

@obeliskos @techfort @alexandernst I am fine with that, guys.
I am also positive on Gulp. Though for people not very familiar with some of the recent / modern (mostly ES6-originating) concepts and techniques in JS, like streams and promises, the learning curve with Gulp may be somewhat longer. But in terms of its capabilities, it's pretty flexible for automating different types of tasks. And as long as we aim at making Loki 2.0 itself based on ES6 (then, possibly, ES7, etc.) concepts and constructs, Gulp looks like a logical and natural fit.
Actually, my own project on top of Loki is all based on ES6, transpiled back to ES5/3 with Babel and then packaged with Webpack. (Not using Gulp itself there, as webpack covers what I need.) So far I am very comfortable with the results and the workflow. The only caveat of using transpilation back to ES5 is more complicated debugging in some case. But using source maps do help on that side.

Stream processing is actually my main rationale for switching to gulp. It
feels a lot more native than the configuration approach grunt uses.
On Sun 20 Mar 2016 21:26 VladimirTechMan<EMAIL_ADDRESS>wrote:

@obeliskos https://github.com/obeliskos @techfort
https://github.com/techfort @alexandernst
https://github.com/alexandernst I am fine with that, guys.
I am also positive on Gulp. Though for people not very familiar with some
of the recent / modern (mostly ES6-originating) concepts and techniques in
JS, like streams and promises, the learning curve with Gulp may be somewhat
longer. But in terms of its capabilities, it's pretty flexible for
automating different types of tasks. And as long as we aim at making Loki
2.0 itself based on ES6 (then, possibly, ES7, etc.) concepts and
constructs, Gulp looks like a logical and natural fit.
Actually, my own project on top of Loki is all based on ES6, transpiled
back to ES5/3 with Babel and then packaged with Webpack. (Not using Gulp
itself there, as webpack covers what I need.) So far I am very comfortable
with the results and the workflow. The only caveat of using transpilation
back to ES5 is more complicated debugging in some case. But using source
maps do help on that side.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/techfort/LokiJS/issues/377#issuecomment-199029026

Yes, working on all those things in the 2.0 branch would be perfect :+1:
I'm more used to Grunt (just because that's what I have always used), but I can do it with Gulp too.

closing this, we will be using grunt for 2.0 or revert to plain npm if we are not satisfied.

@techfort Grunt or Gulp? I remember you saying you like Gulp over Grunt. Or maybe it was the other way around?

@alexandernst gulp. I updated the post above (where i typed grunt originally). Seriously, the baby keeps me up till 2 and then the 4 year old wakes me up at 5.30... and lately a dragon is sitting opposite me wherever i go.

:laughing: Have you tried asking Thor for some piety or help? (and the goat stuff and all that :D)

yeah i did. I got told "next time think twice about naming your projects."

Fair enough I'd say :D
El El mar, 26 abr 2016 a las 15:30, Techfort<EMAIL_ADDRESS>escribió:

yeah i did. I got told "next time think twice about naming your projects."
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/techfort/LokiJS/issues/377#issuecomment-214745341


⚠ Bofrost.de has degraded performance

In d3bf70a, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1425 ms

Resolved: Bofrost.de performance has improved in 64dba28.


the "printer-type" value don't match the result of cupsCheckDestSupported(...)

CUPS version: 2.2.10
When I want to know whether a printer supports the duplex capability, I know there are two ways. One is using the value of printer-type option, the other is using cupsCheckDestSupported(...) function. But, the results of both aren't same as each other. (I guess the PPD file of the tested printer might be wrong.)
My test code:
cups_dest_t* dest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, argv[1], NULL);
cups_dinfo_t* dinfo = cupsCopyDestInfo(CUPS_HTTP_DEFAULT, dest);
http_t* http = cupsConnectDest(dest, CUPS_DEST_FLAGS_DEVICE, 3000, NULL, NULL, 0, NULL, NULL);

int printer_type = cupsGetIntegerOption("printer-type", dest->num_options, dest->options);

cout << cupsCheckDestSupported(http, dest, dinfo, "sides", NULL) << '\n'
  << cupsCheckDestSupported(http, dest, dinfo, "sides-supported", NULL) << '\n'
  << (printer_type & CUPS_PRINTER_DUPLEX) << '\n';

cout << printer_type << '\n';

Result:
1    << cupsCheckDestSupported(http, dest, dinfo, "sides", NULL)
1    << cupsCheckDestSupported(http, dest, dinfo, "sides-supported", NULL)
0    << printer-type & CUPS_PRINTER_DUPLEX
8401100    << printer-type

The presence of the "sides" attribute isn't sufficient, you need to look for the values 'two-sided-long-edge' and/or 'two-sided-short-edge', or just test that it has more than 1 value.


T2

rejected:B1
It looks like you are trying to submit B1, however it seems like the following submission criteria are problematic:

Logs are missing
We’ve thus marked B1 as rejected, however if this is a mistake, please upload the log summary and we can re-review.

confirmed:T2
account1:3voiJeVAdbG4cPTfW4xGMx62J1huD38XqFaQt4393fj2C3AsiK
account2:3RRLc96pn8XsN6nLSf8P4UuPhRm8abFtDhgT6VtjTDYG9wEhno

confirmed:T2
account1:3voiJeVAdbG4cPTfW4xGMx62J1huD38XqFaQt4393fj2C3AsiK
account2:3RRLc96pn8XsN6nLSf8P4UuPhRm8abFtDhgT6VtjTDYG9wEhno


Improve the stopping condition method

Context:
Improve the stopping_condition method, and expand tests to cover tape execution.
Description of the Change:

Refactor stopping_condition to rely on the supports_operation method.
Expand tests, to cover tape execution.
Add a .gitignore file.

Benefits:
Operations will only be decomposed if not supported by Lightning-Kokkos.
Possible Drawbacks:
Related GitHub Issues:

Waiting for PR #14 to update the changelog and the CI tests.

[sc-30494]


Ignore ORC encryption tests when ORC is loaded by old Hadoop library [databricks]

This PR aims to ignore ORC encryption tests when ORC shim is loaded by Hadoop library version 2.6 and below.
Changes are made to create a test that will write the ORC file with encryption conf set and make sure DataWritingCommandExec falls back to the CPU but only if the provider list isn't empty.
fixes #5733
Signed-off-by: Raza Jafri<EMAIL_ADDRESS>

please put a description of changes made and why

build

Build failure is due to #5744

build

we need another issue filed to add a working test back

#5722

build


Update Set-SPOSiteDesign.md

Added required parameter -Identity.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOSiteDesign.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

thx Aaron, appreciated.


pull request for e2e test at 01/20/2017 09:15:12

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Bugfix: Crome crashes inside of docker

Describe the bug
PDF and Screenshot generation failing.  (It seems like some of them complete eventually on subsequent attempts)
400MB+  "core" files are left in directories when those failures happen.
Steps to reproduce
This is a new install of ArchiveBox, (First time trying it) using the dockerHub image. (nikisweeting/archivebox)
The default capture in the docker-compose fails as well:  (command: bash -c 'echo "https://github.com/pirate/ArchiveBox" | /bin/archive; tail -f /dev/null')
  Archivebox:
    image: nikisweeting/archivebox
    container_name: archivebox
    restart: ${RESTART_MODE}
    command: bash -c 'echo "https://github.com/pirate/ArchiveBox" | /bin/archive; tail -f /dev/null'
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /mnt/data/Archive/ArchiveBox:/data
    environment:
      - USE_COLOR=False
      - SHOW_PROGRESS=False

Screenshots or log output
First entry succeeds (at least for pdf+screenshot)  second does not:
[*] [2020-07-21 14:09:23] "Opinion: The unspoken truth about managing geeks | Computerworld"
    https://www.computerworld.com/article/2527153/opinion-the-unspoken-truth-about-managing-geeks.html
    √ /data/archive/1595363993
      > archive_org
        Failed: Failed to find "content-location" URL header in Archive.org response.
        Run to see full output:
            cd /data/archive/1595363993;
            curl --location --head --user-agent "ArchiveBox/6c4c6862e (+https://github.com/pirate/ArchiveBox/)" --max-time 60 https://web.archive.org/save/https://www.computerworld.com/article/2527153/opinion-the-unspoken-truth-about-managing-geeks.html

[*] [2020-07-21 14:10:17] "GitHub - pirate/ArchiveBox: 🗃 The open source self-hosted web archive. Takes browser history/bookmarks/Pocket/Pinboard/etc., saves HTML, JS, PDFs, media, and more..."
    https://github.com/pirate/ArchiveBox
    √ /data/archive/1595353459
      > pdf
        Failed:Exception Failed to chmod: output.pdf does not exist (did the previous step fail?)
        Run to see full output:
            cd /data/archive/1595353459;
            google-chrome-unstable --headless --no-sandbox --disable-gpu "--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36" --window-size=1440,2000 --timeout=60000 --print-to-pdf https://github.com/pirate/ArchiveBox
      > screenshot
        Failed:Exception Failed to chmod: screenshot.png does not exist (did the previous step fail?)
        Run to see full output:
            cd /data/archive/1595353459;
            google-chrome-unstable --headless --no-sandbox --disable-gpu "--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36" --window-size=1440,2000 --timeout=60000 --screenshot https://github.com/pirate/ArchiveBox
      > archive_org
        Failed: Failed to find "content-location" URL header in Archive.org response.
        Run to see full output:
            cd /data/archive/1595353459;
            curl --location --head --user-agent "ArchiveBox/6c4c6862e (+https://github.com/pirate/ArchiveBox/)" --max-time 60 https://web.archive.org/save/https://github.com/pirate/ArchiveBox
[√] [2020-07-21 14:11:09] Update of 3 pages complete (3.00 min)
    - 0 links skipped
    - 0 links updated
    - 3 links had errors
    To view your archive, open: /data/index.html

Software versions

OS:                        Linux 5.7
Docker:                  Docker version 19.03.12, build 48a66213fe
ArchiveBox version:        10799e4
Python version:            Python 3.5.3
Chrome version:            unknown

This is sometimes due to lack of RAM on low-powered devices, or the older Chrome build in that docker image being incompatible with an unusual architecture (When Chrome crashes it core-dumps to disk, which leaves those large files).
Can you try on v0.4.3 (the next release coming out this week).
git checkout django
git pull
docker build . -t archivebox:0.4.3
docker run -v "$(pwd)/data":/data archivebox:0.4.3 update

This is on a "relatively-standard" desktop device (amd64 / Ryzen)  and should have plenty of ram.  (32GB Installed, most of that available)
The Chrome thing is somewhat likely, I will try it now.

Seems to be the same result as before:
root@CENTAUR:~/deleteme/ArchiveBox# docker run -v "/mnt/data/Archive/ArchiveBox":/data archivebox:0.4.3 init
[i] [2020-07-21 22:15:03] ArchiveBox v0.4.3: archivebox init < /dev/stdin
    > /data

[+] Initializing a new ArchiveBox collection in this folder...
    /data
------------------------------------------------------------------

[+] Building archive folder structure...
    √ /data/sources
    √ /data/archive
    √ /data/logs
    √ /data/ArchiveBox.conf

[+] Building main SQL index and running migrations...
    √ /data/index.sqlite3

    Operations to perform:
    Apply all migrations: admin, auth, contenttypes, core, sessions
    Running migrations:
    Applying contenttypes.0001_initial... OK
    Applying auth.0001_initial... OK
    Applying admin.0001_initial... OK
    Applying admin.0002_logentry_remove_auto_add... OK
    Applying admin.0003_logentry_add_action_flag_choices... OK
    Applying contenttypes.0002_remove_content_type_name... OK
    Applying auth.0002_alter_permission_name_max_length... OK
    Applying auth.0003_alter_user_email_max_length... OK
    Applying auth.0004_alter_user_username_opts... OK
    Applying auth.0005_alter_user_last_login_null... OK
    Applying auth.0006_require_contenttypes_0002... OK
    Applying auth.0007_alter_validators_add_error_messages... OK
    Applying auth.0008_alter_user_username_max_length... OK
    Applying auth.0009_alter_user_last_name_max_length... OK
    Applying auth.0010_alter_group_name_max_length... OK
    Applying auth.0011_update_proxy_permissions... OK
    Applying core.0001_initial... OK
    Applying core.0002_auto_20200625_1521... OK
    Applying core.0003_auto_20200630_1034... OK
    Applying core.0004_auto_20200713_1552... OK
    Applying sessions.0001_initial... OK

[*] Collecting links from any existing indexes and archive folders...

[*] [2020-07-21 22:15:10] Writing 0 links to main index...
    √ /data/index.sqlite3
    √ /data/index.json
    √ /data/index.html

------------------------------------------------------------------
[√] Done. A new ArchiveBox collection was initialized (0 links).

    Hint: To view your archive index, run:
        archivebox server  # then visit http://<IP_ADDRESS>:8000

    To add new links, you can run:
        archivebox add ~/some/path/or/url/to/list_of_links.txt

    For more usage and examples, run:
        archivebox help
root@CENTAUR:~/deleteme/ArchiveBox# docker run -v "/mnt/data/Archive/ArchiveBox":/data archivebox:0.4.3 add "https://github.com/pirate/ArchiveBox"
[i] [2020-07-21 22:15:17] ArchiveBox v0.4.3: archivebox add https://github.com/pirate/ArchiveBox < /dev/stdin
    > /data

[+] [2020-07-21 22:15:18] Adding 1 links to index (crawl depth=0)...
    > Saved verbatim input to sources/1595369718-import.txt
    > Parsed 1 URLs from input (Plain Text)
    > Found 1 new URLs not already in index

[*] [2020-07-21 22:15:18] Writing 1 links to main index...
    √ /data/index.sqlite3
    √ /data/index.json
    √ /data/index.html

[▶] [2020-07-21 22:15:19] Collecting content for 1 Snapshots in archive...

[+] [2020-07-21 22:15:19] "github.com/pirate/ArchiveBox"
    https://github.com/pirate/ArchiveBox
    > ./archive/1595369718
      > title
      > favicon
      > wget
      > pdf
        Failed:
            Exception Failed to chmod: output.pdf does not exist (did the previous step fail?)
        Run to see full output:
            cd /data/archive/1595369718;
            google-chrome --headless --no-sandbox --disable-gpu "--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36" --window-size=1440,2000 --timeout=60000 --print-to-pdf https://github.com/pirate/ArchiveBox

      > screenshot
        Failed:
            Exception Failed to chmod: screenshot.png does not exist (did the previous step fail?)
        Run to see full output:
            cd /data/archive/1595369718;
            google-chrome --headless --no-sandbox --disable-gpu "--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36" --window-size=1440,2000 --timeout=60000 --screenshot https://github.com/pirate/ArchiveBox

      > dom
      > git
      > media
      > archive_org
        Failed:
             Failed to find "content-location" URL header in Archive.org response.
        Run to see full output:
            cd /data/archive/1595369718;
            curl --silent --location --head --max-time 60 --user-agent "ArchiveBox/0.4.3 (+https://github.com/pirate/ArchiveBox/) curl/curl 7.64.0 (x86_64-pc-linux-gnu)" https://web.archive.org/save/https://github.com/pirate/ArchiveBox

[√] [2020-07-21 22:16:23] Update of 1 pages complete (1.07 min)
    - 0 links skipped
    - 0 links updated
    - 1 links had errors

    Hint: To view your archive index, open:
        /data/index.html
    Or run the built-in webserver:
        archivebox server

[*] [2020-07-21 22:16:23] Writing 1 links to main index...
    √ /data/index.sqlite3
    √ /data/index.json
    √ /data/index.html

root@LOCALHOST:~/deleteme/ArchiveBox# uname -a
Linux LOCALHOST 5.7.0-1-amd64 #1 SMP Debian 5.7.6-1 (2020-06-24) x86_64 GNU/Linux

Ok, I suspect it's running out of shared memory (the docker default is 64MB regardless of how much RAM you have).
Try launching it with the --shm-size 512M flag like so:
docker run -v "$(pwd)/output":/data --shm-size 512M archivebox:0.4.3 update

If that works, then it confirmed shared memory was the limitation and we can either add that to the docker setup or update chrome to no use shared memory like so --disable-software-rasterizer --disable-dev-shm-usage.

Very sorry for forgetting to set a name for the issue!
Yes, --shm-size 512M  does resolve the issue, thank you very much!
Here was my solution to configure this in docker-compose:
build:
  context: .
  shm_size: '512m'

However, it should be noted, (possibly added to documentation?) that this solution requires your docker-compose.yml file to be version: '3.5' at a minimum.  (not just '3')

Fixed in 8cb5302.

Tested on b18bbf88749984d10b04d1c7cfe0cae34257d6e4 , shm_size parameter is still needed for Chromium to work. Screenshot is okay without it, but it's still required for PDF output.


Resupport unfailable queries (v5.0.0-rc.4)

In v4.0.0, the query API returned an a:
query :: forall a. Query a -> HalogenM ... a Aff

In v5.0.0-rc.4, the query API now returns a Maybe a
query :: forall a. Query a -> HalogenM ... (Maybe a) Aff

In v4, I could have my business logic (outside of Halogen component code) run a query that was guaranteed to never fail because it always returned an a. In v5, I can no longer do this. Rather, I have to handle a possible Nothing case, even though my code guarantees that that will never happen. I could use unsafeJust, but I'd rather not use partial functions if possible.
The way I got around this was using AVars in a "nested" sort of way. I don't think this is the cleanest and most understandable code that will be easy to maintain later, especially when using components with greater complexity. Still, my solution looked something like this:
businessLogicCode :: Aff Value
businessLogicCode = do
  avar <- liftEffect AVar.empty
  -- a request is made on the root component
  void $ forkAff $ halogenIO.query $ H.request $ GetStuff prompt avar
  liftEffect $ AVar.take avar

rootComponentCode :: forall a. Query a -> Halogen ... (Maybe a) Aff
rootComponentCode = case _ of
  GetStuff prompt bizLogicAvar next -> do
    -- This comment represents code that does something with the `prompt` value...

    -- This block of code sets up the child component, which
    -- actually calculates the result the business logic requires.
    -- Since it requires "cleaning up" the child component once that result is finished,
    -- it needs to create its own AVar for control flow. This is the "nested" idea I mentioned above.
    modify_ (\oldState -> updateState)
    childAvar <- liftEffect $ AVar.empty
    void $ forkAff $ H.query $ H.request $ CalculateValueUsingChild childAvar
    childResult <- liftEffect AVar.take childAvar
    modify_ (\oldState2 -> updateState2)

    -- Now that the child has been used and cleaned up,
    -- I'll pass the value back into the bizLogicAvar to continue executing
    -- my business logic.
    liftEffect $ AVar.put childResult bizLogicAvar
    pure $ Just next

childComponentCode :: forall a. Query a -> Halogen ... (Maybe a) Aff
childComponentCode = case _ of
  CalculateValueUsingChild rootAvar next -> do
    -- does a lot of stuff in this component...
    -- but eventually the result gets calculated and passed back up
    -- into the root component.
    result <- computeResult
    void $ liftEffect $ AVar.put result rootAvar
    pure $ Just next

Is it possible to resupport queries that cannot fail in addition to those that can? Something like the following seems readable to me:
H.failable $ H.request $ SomeFailableRequest
H.unfailable $ H.request $ SomeUnfailableRequest

H.query always returned Maybe, because there's no ability to guarantee that querying a child component is going to work, since it might not exist.
The change in H5 was to support queries that can fail to eval as well, so you don't end up with a Maybe (Maybe ...) in situations where you want things to be failable (for example). This also makes proxy components more natural too, as they can directly pass a query to a child component and don't have to do things like raise a Halt if the child does not exist, etc. (in fact, Halt is gone entirely now)

Here's query in v4, as a reminder about its Maybe-ness:
https://github.com/slamdata/purescript-halogen/blob/v4.0.0/src/Halogen/Query.purs#L94-L100
🙂

I think I see what's happened here, you're talking about the query that DriverIO gives you? This did indeed used to be f ~> m, but that's only possible when the top level component cannot be destroyed/disposed of.

Thanks for the quick reply. I didn't realize you'd have to deal with the
possibility of the child component not yet existing.
I won't be able to respond to this until much later today if not tomorrow.

I think I see what's happened here, you're talking about the query that DriverIO gives you? This did indeed used to be f ~> m, but that's only possible when the top level component cannot be destroyed/disposed of.

Yeah, that is my focus. The idea is to implement the Onion Architecture. So, the business logic exists outside of the Halogen framework, so I can reuse it on different platforms (e.g. Node/C++ if I was using a terminal-based user interface, Electron/C++ if I choose to use a GUI on a desktop, Halogen/React if I was using a browser-based UI).

This did indeed used to be f ~> m, but that's only possible when the top level component cannot be destroyed/disposed of.

Can it be returned back to f ~> m?

Yeah, that's exactly it - by having the ability to dispose of the top level component, it's the same situation as occurs for child components - if the query is made, and the component has been disposed, there's nothing available to evaluate the query.

I see. Thanks for clarifying that.
It seems like this reveals a flaw in my above workaround as well. If my code should ever dispose of the Halogen component before that query gets evaluated, then the AVar.take call would produce a deadlock because it will never return. Rather my program would just hang forever until I terminated it.
If I used fromJust, then a runtime error would be produced in that situation, which is a lot easier to debug than a deadlock. If such an error did occur, then I think the principle of "let it crash" is the only approach.

Another option that avoids fromJust, but is kinda similar: if your m is Aff-ish, you could throwError instead. It might be catchable elsewhere then too, rather than just hitting the browser console, depending on the architecture.

Good point. I believe I could redesign the app so that it could recover if such a situation did arise.


Compile go proto types

Generate public API proto types in this repository so that they could be shared among client and server.
Current setup (client and server generating their own copies) does not work. When server includes go sdk, both tries to register same gogo types which results in duplicate registrations. They happen in global init() blocks.
To prevent this, it is recommended to use common go package in both of them. This repository is a good candidate to store such common generated types.
Another benefit - we automatically get regenerated types once IDLs change.

pull in the M1 fixes from https://github.com/uber/cadence/pull/4576 too please :)

I like the idea. One thing I am unclear about is breaking changes. Even though I don't think it will be an issue, will the release process stay the same as now?

I like the idea. One thing I am unclear about is breaking changes. Even though I don't think it will be an issue, will the release process stay the same as now?

Since this is just grpc and I don't believe we support grpc in the client's APIs yet (they're all Thrift-based): seems fine to me.
But if we were to switch thrift to this, yeah - it'd be a different import path, which would be significantly breaking.

I like the idea. One thing I am unclear about is breaking changes. Even though I don't think it will be an issue, will the release process stay the same as now?

Since this is just grpc and I don't believe we support grpc in the client's APIs yet (they're all Thrift-based): seems fine to me. But if we were to switch thrift to this, yeah - it'd be a different import path, which would be significantly breaking.

It is breaking for people that started using gRPC via compatibility layer. This is rather unfortunate even though fix is straightforward - updating one import path.
I would argue that we should still do it. Rather earlier that later.
Another alternative - do not move generated types here, but import generated public API types in the server instead of generating them there. This would avoid this breakage as client stays the same.
However, this would mean that every time we update IDLs, we need to update client in the server basically to latest master as well. This seems a higher maintenance option and potentially bring other issues with unreleased client.
If you have other ideas - let me know.

pull in the M1 fixes from uber/cadence#4576 too please :)
otherwise LGTM, though we lack the copyright header (does that even matter?), and I haven't checked for any other differences in the generated folder.

Added the M1 fix.
Regarding license headers - do we really need those here? Those are generated files, and we have headers on input IDLs.

tbh I have no idea.  copyright headers on files feels to me like legal cargo-culting that probably doesn't actually change anything.


Refactor - new model typography/color, folders

Thank you for the PR. Could you please rebase your code on top of dev so there won't be all those merge commits included?
I'll probably need some time to review the changes

Could you please rebase your code on top of dev so there won't be all those merge commits included?
Can u explain more what you mean? Or maybe some example

The branches history is not clean it looks

You can merge with squash and its only one commit

I reopen https://github.com/mikepenz/multiplatform-markdown-renderer/pull/54

Thank you


Added timeout

Right now the SDK has no timeout configured. If Paddle services don't respond the request on my side will hang forever depleeding my resources / processes.

Hello @chickahoona 👋 , thank you for submitting this PR to introduce a default connection timeout, please allow us to discuss it internally what might be an appropriate default value for it.

Hi  @davidgrayston-paddle Done

@chickahoona thank you for contributing this fix, we will release this shortly


correct filename

Change the file from celeb-tfr.tar to celeba-tfr.tar

Change the file from celeb-tfr.tar to celeba-tfr.tar

i want to train on imagenet dataset,but i can't load the dataset, where shoud i change the correspoding code


fix: dagent update self container id & ui updating status

DAgent now uses HOSTNAME env (as a container id then name) to try to find its own container (then tries to parse the CGroup file)
Added a loading indicator to the node update button when node is updating
Added an Update in progress text to the node connection card as well.

Codecov Report
Base: 17.55% // Head: 17.50% // Decreases project coverage by -0.05% :warning:

Coverage data is based on head (34bc4bc) compared to base (5c58259).
Patch coverage: 0.00% of modified lines in pull request are covered.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #471      +/-   ##
===========================================
- Coverage    17.55%   17.50%   -0.05%
===========================================
  Files           57       57
  Lines         6089     6106      +17
===========================================
  Hits          1069     1069
- Misses        4938     4955      +17
  Partials        82       82

Impacted Files
Coverage Δ

golang/internal/mapper/grpc.go
69.04% <0.00%> (+0.36%)
:arrow_up:

golang/pkg/dagent/update/update.go
0.00% <0.00%> (ø)

golang/pkg/dagent/utils/container.go
0.00% <0.00%> (ø)

golang/pkg/dagent/utils/docker.go
10.68% <0.00%> (-0.06%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Treat executable named pelican_plugin as an HTCondor File Transfer plugin

Pelican Service:

[ ] Client
[x] Plugin
[ ] Registry
[ ] Director
[ ] Origin
[ ] Cache
[ ] Other (please give the detail)

Right now if the pelican executable is named stash_plugin or osdf_plugin then it supports the HTCondor File Transfer plugin interface -- for example, you can call it with -classad to get the plugin information as a classad.
However, if you try to name it pelican_plugin and run pelican_plugin -classad, you just get an error of unknown shorthand flag: 'c' in -classad. For branding purposes, it might be worth also making it behave as an FT plugin if it's called pelican_plugin; alternatively, you could have it behave as a plugin if it ends in _plugin.

I believe that's because it's currently called pelican_xfer_plugin. It should be a simple fix.


Vivaldi: Add KDE's Plasma Browser Integration

Describe the bug
Vivaldi on KDE doesn't have the Plasma Browser Integration support like Firefox does.
Steps To Reproduce
Steps to reproduce the behavior:

Start up Vivaldi
Install Plasma Browser integration addon
The addon will warn that the native messaging host wasn't not found.

Expected behavior
The addon should load up and not show the error, allowing KDE to interact with it like normal.
Notify maintainers
@otwieracz
@badmutex

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
❯ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.34, NixOS, 23.05 (Stoat), 23.05.20230622.ecb441f`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.3`
 - channels(root): `"nixos-23.05"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

I just installed NixOS recently and have the same problem with the Plasma Browser Integration for Vivaldi. When I click on the extension, I see "Failed to connect to the native host." I also installed the "libsForQt5.plasma-browser-integration" package using my configuration and restarted, but I'm still getting the error.

Just tested. Still doesn't work. Is there any solution or workaround?


灰度发布API调用（如何在项目中调用Apollo灰度发布一系列接口）

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

灰度发布API调用（如何在项目中调用Apollo灰度发布一系列接口）

灰度发布API调用（如何在项目中调用Apollo灰度发布一系列接口）

灰度发布API调用（如何在项目中调用Apollo灰度发布一系列接口）

Apollo灰度发布是不是只支持potal客户端的操纵形式，可不可以通过API方式进行创建灰度，发布灰度


[v3 SVG] .MathJax path

Just a random note after trying to reduce the stylesheet generated by the SVG output. At
https://github.com/mathjax/MathJax-src/blob/fbd71f3f7ca06dc71304e8a2c03f13be233ccac5/ts/output/svg/Wrappers/TextNode.ts#L49-L53
the stylesheet sets .MathJax path { stroke-width: 3}.
I believe this has no effect (except when disabling fontCache) since it will not match the path in a use element shadow DOM.

I ran into this recently myself.  It turns out that some browsers do match it and others don't.  Firefox doesn't, but WebKit does, so it affects Safari and Chrome (and presumably Opera, and Blink-based Edge, though I didn't verify that), but doesn't affect Firefox.  I'm not sure which is correct, but because the shadow DOM created by <use> is internal, I would expect the <use> to honor the styling of the original <path> (which is not in shadowDOM).
In any case, you are right that it doesn't affect Firefox output.  Adding the same CSS for .MathJax use resolves the issue for Firefox.

I ran into this recently myself.  It turns out that some browsers do match it and others don't.  Firefox doesn't, but WebKit does, so it affects Safari and Chrome (and presumably Opera, and Blink-based Edge, though I didn't verify that), but doesn't affect Firefox.  I'm not sure which is correct, but because the shadow DOM created by <use> is internal, I would expect the <use> to honor the styling of the original <path> (which is not in shadowDOM).
In any case, you are right that it doesn't affect Firefox output.  Adding the same CSS for .MathJax use resolves the issue for Firefox.

I ran into this recently myself. It turns out that some browsers do match it and others don't.

Ah, I didn't test carefully enough. I can confirm that Chrome honors it (though it doesn't show up in the styles

I'm not sure which is correct, but because the shadow DOM created by  is internal, I would expect the  to honor the styling of the original  (which is not in shadowDOM).

I think the SVG 2 spec agrees with you, https://svgwg.org/svg2-draft/struct.html#UseStyleInheritance
So this is then really just a browser bug.
(FWIW, I can't spot a difference to the default stroke-width of 1 on any of my displays.)

I ran into this recently myself. It turns out that some browsers do match it and others don't.

Ah, I didn't test carefully enough. I can confirm that Chrome honors it (though it doesn't show up in the styles

I'm not sure which is correct, but because the shadow DOM created by  is internal, I would expect the  to honor the styling of the original  (which is not in shadowDOM).

I think the SVG 2 spec agrees with you, https://svgwg.org/svg2-draft/struct.html#UseStyleInheritance
So this is then really just a browser bug.
(FWIW, I can't spot a difference to the default stroke-width of 1 on any of my displays.)

Yes, there is almost no difference between 1 and 3 when the em-size is 1000.  The non-zero amount was to make some very thin areas (like in the italic lower-case "o") less likely to disappear, but I would get 1 would do just as well.  The idea was to have at least some stroke-width, and not just fill, since some areas get very thin.

Yes, there is almost no difference between 1 and 3 when the em-size is 1000.  The non-zero amount was to make some very thin areas (like in the italic lower-case "o") less likely to disappear, but I would get 1 would do just as well.  The idea was to have at least some stroke-width, and not just fill, since some areas get very thin.

Thanks for the pointer to the documentation.  I've had a quick look, and I think Firefox may be doing the right thing in this case.  Apparently "complex selectors" (ones that include parent elements, like our .MathJax path are not supposed to be transferred to the shadow DOM.
In any case, assigning .MathJax use as well as .MathJax path should take care of both situations.

Thanks for the pointer to the documentation.  I've had a quick look, and I think Firefox may be doing the right thing in this case.  Apparently "complex selectors" (ones that include parent elements, like our .MathJax path are not supposed to be transferred to the shadow DOM.
In any case, assigning .MathJax use as well as .MathJax path should take care of both situations.

Since I just stumbled upon this again, the naming of this rule still seems odd compared to other style rules.

I have made a PR to use better selectors that are more specific and target both path and use elements.


webhook for pokealarm and telegramm dont't work

hi guys,
hi noctem,
since the shadowbanwave killed the RM fork, i tryed Monocle and i love it.
But my webhook dont work.
i tryed to use the Moncole Telegramm Hook with this config:
NOTIFY = True # enable notifications
TELEGRAM_BOT_TOKEN = '3xxxxxxx43:AAHpuRPnf5euOTFdxxxxxxxxxxxxxxx9F1Y'
TELEGRAM_CHAT_ID = '100xxxxxx4589'

I also tryed
TELEGRAM_CHAT_ID = '-100xxxxxx4589'
It dont work, console says:
Notifications sent: 0, per hour 0.0
Next i try to use my PokeAlarm with this config:
(pokealarm is running with python 2.7, urllib3 is up-to-date,
the RM webhook works with my PokeAlarm,
so its an Monocle issue)
`### OPTIONS BELOW THIS POINT ARE ONLY NECESSARY FOR NOTIFICATIONS ###
NOTIFY = True # enable notifications

# create images with Pokémon image and optionally include IVs and moves
# requires cairo and ENCOUNTER = 'notifying' or 'all'
TWEET_IMAGES = True
# IVs and moves are now dependant on level, so this is probably not useful
IMAGE_STATS = False

# As many hashtags as can fit will be included in your tweets, these will
# be combined with landmark-specific hashtags (if applicable).
HASHTAGS = {AREA_NAME, 'Monocle', 'PokemonGO'}
#TZ_OFFSET = 0  # UTC offset in hours (if different from system time)

# the required number of seconds remaining to notify about a Pokémon
TIME_REQUIRED = 30  # 10 minutes is 600

### Only set either the NOTIFY_RANKING or NOTIFY_IDS, not both!
# The (x) rarest Pokémon will be eligible for notification. Whether a
# notification is sent or not depends on its score, as explained below.
#NOTIFY_RANKING = None

# Pokémon to potentially notify about, in order of preference.
# The first in the list will have a rarity score of 1, the last will be 0.
#NOTIFY_IDS = None

# Sightings of the top (x) will always be notified about, even if below TIME_REQUIRED
# (ignored if using NOTIFY_IDS instead of NOTIFY_RANKING)
#ALWAYS_NOTIFY = 14

# Always notify about the following Pokémon even if their time remaining or scores are not high enough
ALWAYS_NOTIFY_IDS = [12,14,16, 161, 167, 89, 130, 144, 145, 146, 150, 151]

# Never notify about the following Pokémon, even if they would otherwise be eligible
#NEVER_NOTIFY_IDS = TRASH_IDS

# Override the rarity score for particular Pokémon
# format is: {pokemon_id: rarity_score}
#RARITY_OVERRIDE = {148: 0.6, 149: 0.9}

# Ignore IV score and only base decision on rarity score (default if IVs not known)
#IGNORE_IVS = False

# Ignore rarity score and only base decision on IV score
#IGNORE_RARITY = False

# The Pokémon score required to notify goes on a sliding scale from INITIAL_SCORE
# to MINIMUM_SCORE over the course of FULL_TIME seconds following a notification
# Pokémon scores are an average of the Pokémon's rarity score and IV score (from 0 to 1)
# If NOTIFY_RANKING is 90, the 90th most common Pokémon will have a rarity of score 0, the rarest will be 1.
# IV score is the IV sum divided by 45 (perfect IVs).
FULL_TIME = 1800  # the number of seconds after a notification when only MINIMUM_SCORE will be required
INITIAL_SCORE = 0.7  # the required score immediately after a notification
MINIMUM_SCORE = 0.4  # the required score after FULL_TIME seconds have passed

### The following values are fake, replace them with your own keys to enable
### notifications, otherwise exclude them from your config
### You must provide keys for at least one service to use notifications.

#PB_API_KEY = 'o.9187cb7d5b857c97bfcaa8d63eaa8494'
#PB_CHANNEL = 0  # set to the integer of your channel, or to None to push privately

#TWITTER_CONSUMER_KEY = '53d997264eb7f6452b7bf101d'
#TWITTER_CONSUMER_SECRET = '64b9ebf618829a51f8c0535b56cebc808eb3e80d3d18bf9e00'
#TWITTER_ACCESS_KEY = '1dfb143d4f29-6b007a5917df2b23d0f6db951c4227cdf768b'
#TWITTER_ACCESS_SECRET = 'e743ed1353b6e9a45589f061f7d08374db32229ec4a61'

## Telegram bot token is the one Botfather sends to you after completing bot creation.
## Chat ID can be two different values:
## 1) '@channel_name' for channels
## 2) Your chat_id if you will use your own account. To retrieve your ID, write to your bot and check this URL:
##     https://api.telegram.org/bot<BOT_TOKEN_HERE>/getUpdates
#TELEGRAM_BOT_TOKEN = 'xxxxxxxxx'
#TELEGRAM_CHAT_ID = 'xxxxxxxxxx'

WEBHOOKS = {'http://<IP_ADDRESS>:4000'}`

and i tryed
NOTIFY_IDS = None

NOTIFY_RANKING = None

ALWAYS_NOTIFY_IDS = tuple(range(1, 152))

Nothing works :(
Any Idea how i can use PokeAlarm with Monocle?
Thanks

@madkeeper89
try IGNORE_IVS = True if you did not use encounter

Works with IGNORE_IVS = True.
Thanks.


farm bug

https://github.com/joserodpt/RealMines/assets/151243320/405464a2-51de-4df0-bd3b-87072ce98bad
I think words are unnecessary here, just watch the video

Indeed no words are needed. Thanks for reporting!

Happy to report that this issue has been fixed as of 11/01/2024 and it will be implemented in the upcoming 1.6.3 release! Thanks for Reporting!
Associated commit: https://github.com/joserodpt/RealMines/commit/eed4a4589dccc97b34de2829b87bd6ea612a0893


Is there to show response of task to UI?

Is your feature request related to a problem? Please describe.

I want to show response code or response body on to UI instead of just show final statistic.
Describe the solution you'd like

More option show on UI.
Describe alternatives you've considered

Additional context

Sorry, not sure exactly what you mean, so I'm guessing a bit here.
We can't show the responses for every request, since that would flood the UI for any test that isn't super small.
Or maybe you want to break down the statistics into different HTTP response codes, instead of just success/failure? That's also unlikely to happen since Locust should work with non HTTP stuff as well.
If you want any chance for someone to pick up and implement your feature request, you must take more care into describing it. It would also be helpful if you could describe the context in which you would like to use the feature, to help us understand the underlying problem.

Sorry, not sure exactly what you mean, so I'm guessing a bit here.
We can't show the responses for every request, since that would flood the UI for any test that isn't super small.
Or maybe you want to break down the statistics into different HTTP response codes, instead of just success/failure? That's also unlikely to happen since Locust should work with non HTTP stuff as well.
If you want any chance for someone to pick up and implement your feature request, you must take more care into describing it. It would also be helpful if you could describe the context in which you would like to use the feature, to help us understand the underlying problem.


radard: tie radard frequency to modelV2 vol. 3

This test route from Toyota Avalon Hybrid 2019 seems sketchy (https://github.com/commaai/openpilot/blob/master/selfdrive/car/tests/routes.py#L165). First 238 cans are reported as invalid. Previous implementation of radar_interface ignored can_valid, because it didn't spot msg at triggering address

Re: Avalon route - in older versions of openpilot we always kept the safety param at 0, multiplexing bus 1 to the OBD port, so we didn't get radar messages during that time. We nee to either wait a few seconds more to check validity, or detect when it stops multiplexing with something like https://github.com/commaai/openpilot/pull/29759

can you update the test to ensure it adds radar errors without the header msg?


No issues visible

When looking at "issues" I see in neither tab anything. Either I am unable to handle the app correctly or it has a bug.
ForkHub runs here on Android 4.4.2.
PS: Not even this issue added using ForkHub is visible in the app. This postscript I added using my desktop box + browser.

Is this the same as #106?

Yes. Apologies for not looking first…


Enable arm64 builds

Adds builds for arm64
Luckily snapshotEngine was the only image that had a problem and I am using TARGETARCH to grab architecture-specific kubectl and yq binaries.
Had to add a setup-qemu step as well.

See screengrab:

https://github.com/oxheadalpha/tezos-k8s/pkgs/container/tezos-k8s-utils
Why does it say unknown/unknown for ARM builds?
Also, are release containers for arm64 going to be tagged? which tag? the PR builds look like they only have a digest. If I do docker pull ghcr.io/oxheadalpha/tezos-k8s-utils:pr-579, does it pull the ARM build automatically? how does it work?

There is a UI bug with GHCR https://github.com/docker/build-push-action/issues/820#issuecomment-1486849546 that creates the unknown/unknown entry.   Upgrading the action and disabling and provenance seems to have fixed it.
This is now a "multi platform image" and can be pulled with docker pull --platform={linux/arm64|linux/amd64}, but Docker is smart enough to automatically select the platform if available in the image. https://docs.docker.com/build/building/multi-platform/
When running an image with multi-platform support, docker automatically selects the image that matches your OS and architecture.


Bringing v1 up-to-date with changes from another branch

I've been working on a branch for "Search by Tx Hash" for a while. I've made a lot of small changes there that I want to bring into v1 before the branches get too different. There's still code in here to search by tx hash but it's commented out, so it can be used as a starting point to bring that functionality back in once the indexer's ready.

Summary by CodeRabbit

New Features

Introduced a detailed view for packet information, enhancing the user's ability to inspect packet details.
Implemented search functionality for packets, allowing users to search packets by hash.
Added custom styling options for the Select component, providing more flexibility in UI design.

Enhancements

Adjusted default pagination size across various pages for improved user experience.
Improved error message display, making it easier for users to understand search errors and issues.
Updated UI elements across the app for consistency and better navigation.
Enhanced table view options and column filter UI for a more intuitive user interface.

Bug Fixes

Fixed styling issues in the Navbar component to ensure proper application of styles.

Refactor

Simplified layout and styling in several components for cleaner and more maintainable code.

Style

Added and updated CSS variables and classes for better theme consistency and customization.

Documentation

Updated client names and transaction URLs in configurations for clarity and accuracy.

This is ready for review now


How about enforcing this structure?

<todo>

   <template>

{ opts.title }

{ item }

      <form onsubmit={ add }>
         <input>
         <button>Add #{ items.length + 1 }</button>
      </form>
   </template>

</todo>

How about enforcing the above structure?

style
template
script

And changing file extension to .html instead of .tag?
Pros:

Automatic Syntax highlighting, no need of special plugins, easy to start for new comers
Almost no learning curve, as it is simple html file
Parsing of file for compiler also will be simple as every thing is identified separately

Cons:
?

Honestly I don't like how it looks. But I have to say that it also has some advantages: e.g. a single parent to work with in the html.
I would say the cons is that it is less clean & terse.

:+1:
I think that right now when html and javascript mixed together makes it a little confusing to look at so I would like to see something like your suggestion.
The problem about something looking confusing is that newcomers may take longer to get it. And that leads to worse code because they may not understand the difference between the html/javascript.

:+1: to both (the structure and the extension).

:-1:
It looks too WebComponents's template, I think...
But, it'll be fine if there's a option to use  <template> in view of the compatibility :)

Closed to WebComponents's template is good, I think, however, I prefer a free style.

I think by doing this, the author would clearly have a benefits on compiling... so +1

-1 I'd like to have it for as it is now. It's superior on every point of view: clarity, brevity. I think the best trade-off would be is: if a <template> element exists then to be able to understand it, thought.

I agree with @ivan-saorin . Not enforcement, do it as you like.

Any practical reasons I'm not aware of? I don't clearly see the benefits here. I don't like the extra verbosity.
If we want standard compliancy, it must be 100%.

@tipiirai There's two benefits as I see it.

Editors can highlight this. Calling the file .html and you get highlighting.
It's much clearer where html ends and javascript starts. It removes visual complexity.

@tipiirai Also, it's easier to write a compiler. Just pull out <template> and compile this part.

The next version supports any extension. Not just *.tag
You can currently enclose logic inside the

I don't think enforce, let people do what works for them.  I do see the advantage, less the template tag for those of us who do not use sublime with jsx extension.  Beside syntax highlight, you also get all IDE features, code completion, errors and warning highlight, auto indent etc.

I'd prefer the custom tags to be excluded from the DOM, since they can break things. IMO, that separation becomes clearer when the different roles (style, markup and code) are clearly distinguished.
Also, as mentioned, it seems like an opportunity to simplify two parsers: the Riot.js parser and the developer/designer's parser. The former can be endlessly tweaked to support edge cases, I suppose, but the human parsers tend to be harder to upgrade :-)

I've tried to address exclusion of custom tags with PR #304. As you may see it is possible even without such separation. Again I think the whole thing boils down to the personal taste of each one.
Another thing to keep in mind, as pointed out by @tipiirai, is that everything comes at a price. Support both scenarios will make the evolution of the framework harder and increase a little the file size of riot.

Let me explain why i came up with this suggestion:
On seeing riotjs on hacker news i was very much excited to try riotjs. I immediately downloaded and started experimenting with it.
First problem, i faced was .tag file doesn't have syntax highlighting. It may be a small problem, but it didn't allowed me to go beyond todo example application. Then i raised a issue for syntax highlighting #157 . Every one suggested their favourite editors plugins. But mine is vim editor.
One week is over. I was still with Todo application. Writing code without syntax highlighting was like as if i was in rock age.
Then came a news, optional script tag can be used in .tag file. Then immediately i used script tag and changed the file extension to .html while developing and change it to .tag while compiling!
Then one more news, we can have any extension, no more shuttling between html and tag file.
Two weeks over, just for lack of syntax highlighting! Of course i didn't pay full attention on this.
Why to enforce?
When working in a team, structure is very important. Otherwise every one will write in their own style.
For e.g. if you look at golang application code, every where it looks same, and every body feels familiar with the code because of common formatting styles.
I hope i made my point clear!
Thank you all for expressing your views.

:+1: for enforcing. Whatever is chosen, that is the way to go. Don't make it optional.

Why to enforce?
When working in a team, structure is very important. Otherwise every one will write in their own style. For e.g. if you look at golang application code, every where it looks same, and every body feels familiar with the code because of common formatting styles.

:+1:

I really don't get it. The framework is here and works in a well defined way. That-s to say It was already been chosen and enforced.
Then, there was a proposal for an enhancement, that BTW would break all the existing tags around here.
For the cited reasons it could remain as it is, or, it could be an optional enhancement: there is no "don't make it optional", at least, without breaking existing code.
Talking about teams and what make a framework horrible to works with in the first place, there are breaking changes within the same major version. That should be avoided at all costs in my opinion.

Riotjs 2.0 is just two weeks old. We have to make these changes now or never for the same reasons.

@ivan-saorin It's always good to have discussions about where to take a project. I'm just not a believer in having several styles at the same time.

@ekanna @freeall I don't agree. So to recap to me is :-1: for the change, :-1: to eventual enforce of the change. That's my opinion, please don't take that personally.

@ivan-saorin: maintaining the status quo -- i.e. supporting the "loose" (as opposed to "strict") parser/compiler/syntax -- isn't free either.

Yes, you are probably right as nothing comes for free. But the "loose" syntax is brilliant and one of the reason I started looking at riot. Take React for example: fantastic idea but poor execution. A dedicated DSL to produce html?
So, no, I don't think it's a big deal to have a more complex compiler for the sake of clarity and simplicity.
I bet they first wrote the syntax and then wrote the compiler: as it should be. I think top down approach is the best.
Arguing that the compiler could be simplier is not a valid point in my opinion. As, in that case, everything in riot could be stripper out so, than, there is no need for a compiler anymore: entirely.

The point is: you can't use the loose syntax for a large class of real-world use cases (and I'm sure there will be many more), so the compiler is complicated by maintaining support for it.
One of the guiding principles of Riot.js 2.0, from the blog posts and website, is simplicity of implementation (easy to understand/hack on, no need to invest in weighty tomes &c.). Ease of comprehension and tooling support follow naturally from that.
IMO, maintaining support for the loose syntax goes against the core philosophy of Riot.js.

@chocolateboy I'm sorry but here I see Minimal and they are not talking about the internal implementation, they are talking about the developer's syntax.
In the Conclusion they cite the principles as: extremely small size and full control.
But moreover we are starting to try climbing on the mirrors here. You have not to convince me. I only have a different opinion from your and cared enough to write about it.

@ivan-saorin I think these discussions are important. We are not bikeshedding here as it's a fundamental difference. And even though we may not agree something important may come from the discussion.
I agree with @chocolateboy in that I also thought that Riot lagged from the ability to be really useful because it seems hard to built larger applications with it. But it's pretty damn close which is why @ekanna, @chocolateboy, and I discuss this here.
You can easily make very short code, but if it's complex then you're doing something wrong.

Wow! Impressive thread.
It's pretty clear that syntax is utterly important. Also seems that we want the template tag to be optional. I personally prefer the "loose" syntax.
Thank you so much for the thoughts.

@chocolateboy I'm sorry but here I see Minimal and they are not talking about the internal implementation, they are talking about the developer's syntax.

It's right there on the front page :-)

Minimal size:

Fewer bugs.
Faster to parse and cheaper to download.
Less to maintain. We don’t need a big team to maintain Riot.

:+1: for enforce template tag. It separates visually html from js and css. More important it simplifies compiler what automatically fix all problems with detecting html/js. Making it optional is pointless, you make compiler more complex instead less.

I prefer .tag.htm as extension, just as .tar.gz extensions works for
compresed files
Sounds good because is a familiar structure of a file.
2015-02-07 8:16 GMT-06:00 koti<EMAIL_ADDRESS>

How about enforcing the above structure?

style
template
script

And changing file extension to .html instead of .tag?
Pros:

Automatic Syntax highlighting, no need of special plugins, easy to
start for new comers
Almost no learning curve, as it is simple html file
Parsing of file for compiler also will be simple as every thing is
identified separately

Cons:
?
—
Reply to this email directly or view it on GitHub
https://github.com/muut/riotjs/issues/313.

I suggest the .tag.html extension, just as .tar.gz extension of a compressed file. will be highlighted and compiled.

:+1: Love the idea of tag specific inline styling.

@aldomendez it is not necessary. Currently I find out that
</custom-tag>

The content of custom-tag/script is correctly hightlighted at least in Atom editor. Is it the same with other editors as well?

@ivan-saorin Vim editor is not highlighting syntax without changing file extension.

The problem with the html extension is that everyone in the world do expect that an html file can be  digested as it is from a browser.
For that reason I don't like the idea of an html that need to be compiled before being executed by a browser.
Last but not least: won't that be a sort of misleading for newcomers?

I'd rather not enforce template tag. All the initial issues with the compiler was not due to the lack of nested script or template tag, but because of early / untested implementation. It's much more solid now.
Adding optional support for template is not an issue and won't harm the design or increase complexity in significant ways. It's just another feature to the stack. And as stated Riot is against features and favors minimalism instead.
But since this seems to be highly important for some people, I'm leaning towards optional support at the moment.

@tipiirai I think optional support would be the worst idea. do/don,'t, both are fine, but I don't think accepting <template> as an optional tag does anything good.

Why?

@tipiirai Projects where you add a lot of styles/ideas because some people request them are usually a big mess. It's often better to enforce a style. Then there will be discussions about that, but it's up to the maintainer to pick what they feel is the better one. Agree?

Totally.
I should have trusted my initial instinct more.
Thanks! Closing this one.

@ekanna Sorry – I was on a phone, so I'm explaining my point here:
First: I want to write my tags in minimalistic fashion. For example, following must be a valid tag:
<hello>

Hello, World!

</hello>

A template tag there would ruin the beauty!
Secondly: I want to keep all the options down. I believe in opinionated software. Adding the template tag as an option would mean more examples, more tests, more logic... more everything. Again, Riot is all about minimalism.
Hope this makes sense.
Btw: v2.0.8 is out.

Amen.
Riot is all about minimalism. Let's stick to that.

Thank you all for participating and discussing all pros and cons.

I do think you should use the script tags in the examples in the documentation, now that this is an option - IDE support is very important for large apps and teams, I almost rejected the 2.0 release based solely on that.
These undeclared headless script blocks are sheer hocus-pocus and looks horrible in an IDE - it makes Riot appear to be a new language, and I for one did not want yet another language. For example, I would have never guessed that other languages would be supported at all. And even after realizing that, I thought, so you will have these files with code, with no indication of what language it's written in. It makes a very bad first impression...

@mindplay-dk – thanks for the feedback.
I'll highlight the possibility to wrap JS inside the the script tag more prominently on the site.


[WIP] Convert worker registration to a stream

What changes are proposed in this pull request?
Please outline the changes and how this PR fixes the issue.
Why are the changes needed?
Please clarify why the changes are needed. For instance,

If you propose a new API, clarify the use case for a new API.
If you fix a bug, describe the bug.

Does this PR introduce any user facing changes?
Please list the user-facing changes introduced by your change, including

change in user-facing APIs
addition or removal of property keys
webui

@jiacheliu3 I'm adding some features to the worker register function in this pr:  https://github.com/Alluxio/alluxio/pull/14258
I noticed that you had to do some refactoring on this function on the current pr, did I need to sync those changes in my pr now to prevent a mass conflict, or waiting this pr was merged？

alluxio-bot, merge this please


Multiple Save Slots

I used to use a mod called Save Anywhere on the Nexus until it became outdated. A feature I thought was really handy from that mod was the ability to save into multiple slots and load from there. Will this ever become a feature in your mod? If it's not planned or possible right now, that's understandable!

Things are very different now, the entire save system has been changed and the method code is no longer visible. While possible, it might not be feasible to implement at this time. Ill look into it at some point, but cant say when


New callback interface for training visualization.

Neural style transfer notebook example of (refactored) live notebook charting.
Trivial notebook to run train_cifar10 working.
notebook structure in place for live charting.
Needs module cb change.
Module callbacks almost working.  Epoch numbers NaN
Module / CNN example for notebook charts.
CIFAR10 training notebook for module works again.
Matching callback code to notebook.
Add new notebook
Small fix
Change notebook name
Clean merge

Yeah
try:
    import bokeh
except ImportError:
    bokeh = None

Is cleaner. I changed it for cv2 in nnvm branch
On Mon, Nov 14, 2016 at 2:35 PM, Leo Dirac<EMAIL_ADDRESS>wrote:

@leopd commented on this pull request.
In python/mxnet/notebook/init.py
https://github.com/dmlc/mxnet/pull/3800:

@@ -0,0 +1,4 @@
+import bokeh

For optional import, do you mean like how opencv is loaded here?
https://github.com/dmlc/mxnet/blob/master/python/mxnet/recordio.py#L18
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dmlc/mxnet/pull/3800, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAiudD3KT_2pxsPLi5_oX96IhCQFD5tDks5q-OIcgaJpZM4Kv9lg
.

Also what do you mean for moving to mx.callback?

bokeh=None is cleaner.  I like that better than having to assert that it loaded every time.  It's not super friendly to end-users though.  They'll get an error message like AttributeError: 'NoneType' object has no attribute 'figure'.
Instead you could use:
try:
    import bokeh
except ImportError:
    class Bokeh_Failed_To_Import: pass
    bokeh = Bokeh_Failed_To_Import

then customers will see a message like AttributeError: class Bokeh_Failed_To_Import has no attribute 'figure' which is much easier to figure out how to fix.

I think Eric is saying that the class LogValidationMetricsCallback should be in the file https://github.com/dmlc/mxnet/blob/master/python/mxnet/callback.py

OK. I'll fix these issues.


Unable to orchestrate start VM instance

Unable to orchestrate start VM instance {"id":5,"instanceName":"i-2-5-VM","type":"User","uuid":"56b014e0-7bea-4cf0-b04b-b62ba397b023"} due to [Template 201 could not be downloaded on pool 1, failing after trying on several hosts Details: The downloaded file is not a valid QCOW2. Ask the administrator to check the logs for more details.].

Unable to orchestrate start VM instance {"id":5,"instanceName":"i-2-5-VM","type":"User","uuid":"56b014e0-7bea-4cf0-b04b-b62ba397b023"} due to [Template 201 could not be downloaded on pool 1, failing after trying on several hosts Details: The downloaded file is not a valid QCOW2. Ask the administrator to check the logs for more details.].

it looks like the qcow2 is not accepted by cloudstack due to security concerns.
can you share the output of qemu-img info  xxx.qcow2 ?


README example doesn't work with protobuf

I tried following the example listed in README for Protobuf and even for a simple POJO. But it doesn't work. And fails with the error:
Exception in thread "main" org.projectnessie.cel.tools.ScriptCreateException: check failed: ERROR: <input>:1:4: [internal] unexpected failed resolution of 'com.example.helloworld.MyPojo'  | inp.Property1 == checkName
Here is the code:
`  ScriptHost scriptHost = ScriptHost.newBuilder().build();
    Script script = scriptHost.buildScript("inp.Property1 == checkName")
        .withDeclarations(
            Decls.newVar("inp", Decls.newObjectType(MyPojo.class.getName())),
            Decls.newVar("checkName", Decls.String))
        .build();

    MyPojo pojo = new MyPojo();
    pojo.Property1 = "test";

    String checkName = "test";

    Map<String, Object> arguments = new HashMap<>();
    arguments.put("inp", pojo);
    arguments.put("checkName", checkName);

    Boolean result = script.execute(Boolean.class, arguments);`

On a side note, are there any examples in Java that we can leverage?

It's a bit difficult to know what's going on without seeing the .proto or the actual MyPojo class. I suspect, either you have to use a lower case property name or use a .withContainer() on the builder which corresponds to org.projectnessie.cel.EnvOption#container.
 But we don't have a set of examples or tutorials.

Another note: for protobuf, CEL-Java works the same as CEL-Go. The ScriptHost is just a convenience thing around the TypeRegistry, Env, Ast, Program stuff.

I am giving your example a go with the following protobuf and I'm running into a similar problem. Here's the protobuf that I'm using:
syntax = "proto3";

message MyPojo {
  string Property1 = 1;
}

The code is identical to what @sufiand has. @snazy do you happen to know how to get something like this working? I would like to help out with updating the docs if I'm able to get this working!

The Jackson example in the README is fine though. Note that you have to configure the ScriptHost with .registry(JacksonRegistry.newRegistry()) - otherwise plain Java objects won't work (because Jackson's not used then).

Protobuf:
public class MyClass {
  public Boolean evalWIthProtobuf() {
    ScriptHost scriptHost = ScriptHost.newBuilder().build();

    Script script =
        scriptHost
            .buildScript("inp.Property1 == checkName")
            .withDeclarations(
                // protobuf types need the type's full name
                Decls.newVar("inp", Decls.newObjectType(Dummy.MyPojo.getDescriptor().getFullName())),
                Decls.newVar("checkName", Decls.String))
            // protobuf types need the default instance
            .withTypes(Dummy.MyPojo.getDefaultInstance())
            .build();

    Dummy.MyPojo pojo = Dummy.MyPojo.newBuilder().setProperty1("test").build();

    String checkName = "test";

    Map<String, Object> arguments = new HashMap<>();
    arguments.put("inp", pojo);
    arguments.put("checkName", checkName);

    Boolean result = script.execute(Boolean.class, arguments);

    return result;
  }
}

Jackson:
import org.projectnessie.cel.types.jackson.JacksonRegistry;

public class MyClass {
  public Boolean evalWithJacksonObject(MyInput input, String checkName) {
    // Build the script factory
    ScriptHost scriptHost = ScriptHost.newBuilder()
        // IMPORTANT: use the Jackson registry
        .registry(JacksonRegistry.newRegistry())
        .build();

    // Create the script, will be parsed and checked.
    // It checks whether the property `name` in the "Jackson-ized" class `MyInput` is
    // equal to the value of `checkName`.
    Script script = scriptHost.buildScript("inp.name == checkName")
        // Variable declarations - we need `inp` +  `checkName` in this example
        .withDeclarations(
            // types for Jackson need the fully qualified class name
            Decls.newVar("inp", Decls.newObjectType(MyInput.class.getName())),
            Decls.newVar("checkName", Decls.String))
        // Register our Jackson object input type (as a java.lang.Class)
        .withTypes(MyInput.class)
        .build();

    Map<String, Object> arguments = new HashMap<>();
    arguments.put("inp", input);
    arguments.put("checkName", checkName);

    Boolean result = script.execute(Boolean.class, arguments);

    return result;
  }
}

#403 should clarify that

Hey @snazy, thanks for your quick response! I'm going to give it a shot later today!

@snazy It worked! This was the line that I was missing:
.withTypes(Dummy.MyPojo.getDefaultInstance())


EditMenuPresenter

Is there any reason why this is marked 'private'?

@easiwriter the ViewModifier itself is private, the API to use it is public (see View.editMenu(isVisible:content) in the same file).


Using current location with google places autocomplete

Hey! Thanks a lot for your contribution. I wanted to ask 2 things:

Is there a way I can insert an option called "use current location - "? which shows the user current physical address as an element in the table before all other results? Of course the device would have to ask permission from the user to know his location

Is there a way the list of results received in the table could be organized by the ones that are closest to the current location of the user? (again, with location permission)

Looking forward to your reply, thanks again

No the library does not support these things, although I'm sure it could be modified to do so.  You'd have to give some thought to the user experience for showing current location since it can take a while (10+ seconds) for the iDevice to receive a GPS fix.
The Google Autocomplete API does support 'location biasing' which uses location and radius parameters to increase the rank of closer results.

Thanks for the reply!
Do you know where can I add the 'location biasing' settings in your library in order for that to work? like making the example use 'location biasing' when giving the result list?
Thanks again

Please see new location biasing facility.


feat: Add support for mongodb

Adds support for running MongoDB, based off the Redis workflow.

Thanks! Could you add some basic docs? See
https://community.flake.parts/services-flake/contributing#service-doc

This dependency seems to be broken on Darwin. If the tests run on Linux you can conditionally disable it on Darwin (linking to upstream issue, if any):
https://github.com/juspay/services-flake/blob/23e40bdae913b64ffaeb774201b5a6f868ce19ca/test/flake.nix#L50-L55

You can use python311 since the default now is 3.12 which suffers from the breakage

Btw mongodb is never built by official nix hydra due to licence but I’ve seen it in devenv’s cache (including macOS). Might have to pull it from older nixpkgs commit

I'll get on docs right now (sorry, I was at a company off-site last week when I put the PR together and haven't gotten back to it since getting home), along with setting the restriction on Darwin if it is indeed completely broken there.
As for there not being a binary cache, that was apparent the first time I fired up the test environment while I was rolling this for some dev work I was doing. On my work issued laptop (recent gen mobile Intel i7) the compile takes around 2 to 3 hours the first time it compiles Mongo, but it did go through without a hitch. After that first build, it's just as fast as anything else that you have locally cached. I know there are ways to set binary cache hints in a flake or such. But that would necessitate integrating with a binary cache, so I don't know if that's what you want to do here. Maybe I will just put a disclaimer in the docs letting people know that compiling.
From the point of view of the CI testing in this repo, though, I don't know what you might want to do.

I've updated the test to be dependent on the jaraco-path.meta.broken value. If that gets unblocked in the future by fixing jaraco-path, this test will be automatically re-enabled. If the dependency gets worked around in the future then this can be revisted.

Thanks!

Nice stuff ! Just a very quick information, mongodb-ce can be used to use pre-compiled binaries.

Nice stuff ! Just a very quick information, mongodb-ce can be used to use pre-compiled binaries.

What do you mean? They it will be built official nix hydra and available nix official binary cache?
Doesn’t looks like this to me: licence is the same as original mongodb package and there is not completed builds on hydra: https://hydra.nixos.org/job/nixos/trunk-combined/nixpkgs.mongodb-ce.x86_64-linux/latest

This is the pre compiled binories from mongodb directly.

This is the pre compiled binories from mongodb directly.

Damn! I tried replacing mongodb package with mongodb-ce and the tests pass (see: https://github.com/juspay/services-flake/pull/360).
@drupol Thanks for packaging this upstream!

I will also document this information in https://github.com/juspay/services-flake/pull/360, just in case someone doesn’t want to use pre-built binaries.

Oh dang, that's sweet. Especially because my laptop sometimes fails to build mongodb due to the OOM-killer terminating some of the link steps!

This is the pre compiled binories from mongodb directly.

Ah, cool. Should have looked more closely


deis pull fails with No Tag Found

We are trying to pull a docker image from the repository, and it fails with the message "Tag not found"
$ deis pull mvanholsteijn/paas-monitor:1.1 --app pmon
Creating build... 503 SERVICE UNAVAILABLE
Detail:
GET Image Error (404: {"error": "Tag not found"})
In the deis-builder log, the following error appears:
Feb 20 13:04:12 ip-10-21-1-78.eu-west-1.compute.internal sh:  [error] pull.go:149 Error from V2 registry: error verifying manifest: error parsing payload: error unmarshalling public key: JWK EC Public Key ID does not match: OIH7:HQFS:44FK:45VB:3B53:OIAG:TPL4:ATF5:6PNE:MGHN:NHQX:2GE4

Have a look here
https://github.com/deis/deis/issues/2916
Might be related.

Have a look here
#2916

Yes, we're hoping the "Tag not found" errors are fixed by changes which will land in Deis v1.4.0.
@mvanholsteijn Please upgrade to v1.4.0 when it releases and see if this error goes away. In the meantime, try another deis pull - this issue is hopefully sporadic.

It's worth mentioning that this happened to me when the deis-cache (redis lru cache) ran out of memory. See the IRC discussion here: https://botbot.me/freenode/deis/2015-01-15/?msg=29721039&page=4
The issue went away when I stopped deis-cache and restarted deis-registry so it would work without the cache.

Deis v1.4.0 is out. I'm going to close this issue, but please reopen if you're still seeing this after upgrading to v1.4.0.

I've just upgrade (in-place) from Deis 1.2.1 to 1.4.0 and this problem persists for me.  Any advice?
Thanks.

@synaptics could you please gist the following?
deisctl journal controller
deisctl journal registry@1
deisctl journal cache

Sure, the output is here: https://gist.github.com/synaptics/9693c194fee7ae5a46e4

Sorry, forgot that deisctl journal only shows a very small snippet. Could you please show:
fleetctl ssh deis-controller docker logs deis-controller
fleetctl ssh deis-registry@1 docker logs deis-registry
fleetctl ssh deis-cache docker logs deis-cache

You'll have to set up SSH agent forwarding in order for this to work if you're using fleetctl on one of the CoreOS nodes: https://github.com/coreos/fleet/blob/master/Documentation/using-the-client.md#exploring-the-cluster

from the logs: POST /v1/repositories/demo/tags HTTP/1.1" 500 84
It means that you need to run deis pull again (you did it twice)

It sounds like this is still an issue in v1.4.0

Following @sbuss idea I disabled the cache layer on a fresh aws instance and restarted the registry and pull started working.

Upgraded to 1.4.0 and I don't experience the issue anymore on a stack in AWS

Hi,
New gist with output from
fleetctl ssh deis-controller docker logs deis-controller
fleetctl ssh deis-registry@1 docker logs deis-registry
fleetctl ssh deis-cache docker logs deis-cache
is here -> https://gist.github.com/synaptics/d9b30f122f8422eca473
I ran deis pull a couple of times and it made no difference, I got the same issue.
I notice in the dies-registry output a large number of connections dropped to can-registry-1.docker.io for some reason.  The cluster is on AWS spun up via the Deis cloud formation, it's in eu-west-1.
Thanks again for looking at this.

@synaptics can you try disabling the cache and see how it goes (deisctl stop cache)? See https://github.com/deis/deis/issues/3116#issuecomment-77472068 and https://github.com/deis/deis/issues/2916#issuecomment-70724734

@bacongobbler Gives a very similar result with the cache off:
john:~$ deis pull gabrtv/example-go:latest -a demo
Creating build... 404 NOT FOUND
Detail:
Not found

@synaptics if you're available, I'd be happy to help you more on IRC so we can get to the bottom of this

@bacongobbler unfortunately I've run out of time to do any more this today, but am around on Monday if you're free then?

I'm off on monday for my birthday :cake:
Just ping me on IRC when you have time :)

Hi folks, I created #3218 to track this, since there are a few conversations about it split across various issues. Let's get to the bottom of things over there.

I have installed a fresh DEIS 1.5.1 cluster and I'm getting the 503 error when trying to pull from a private registry. Pulling from the docker hub works without problems.
I also noticed that DEIS doesn't install the cache anymore. Is that a wanted behavior or is it a bug?/

I also noticed that DEIS doesn't install the cache anymore. Is that a wanted behavior or is it a bug?

It is intentional, the deis team disabled it in a attempt to combat #3218.

Indeed. @fretboarder you may want to subscribe to #2870 to follow that feature request.

Something weird is happening here:
cluster 1 is an DEIS installation that I have upgraded to 1.5.1 from 1.4.1
cluster 2 is a brand new 1.5.1 installation.

Deis doesn't support private repositories at the moment.
I can't confirm that. On my cluster 1 I'm definitely (still?) able to pull from a private registry.

I'm using the default registry image https://registry.hub.docker.com/_/registry/ for my private registries. The only difference is that on cluster 1 the registry is running on an Ubuntu/Docker 14.04 host whereas on cluster 2 the registry is running on CoreOS/Docker. Both have docker version 1.5.
Any ideas?

I think you two are just getting confused. @Joshua-Anderson is correct that you cannot pull from a private repository on DockerHub. You should be able to pull from a private registry.
@fretboarder could you please open a new issue for this and post your logs there? This sounds like a different issue.


feat: report error when a call is reverted

This change is

crates/papyrus_rpc/src/v0_8/api/api_impl.rs line 910 at r1 (raw file):
Previously, Yoni-Starkware (Yoni) wrote…
Didn't you want to use the nice panic format?

it is used in the formatting of EntryPointExecutionError::ExecutionFailed

crates/papyrus_rpc/Cargo.toml line 12 at r1 (raw file):

async-trait.workspace = true
base64.workspace = true
blockifier.workspace = true

not sure this is a good idea, but this was the simplest solution.
Code quote:
blockifier.workspace = true

crates/papyrus_rpc/Cargo.toml line 12 at r1 (raw file):
Previously, ilyalesokhin-starkware wrote…
not sure this is a good idea, but this was the simplest solution.

@dan-starkware Is this dependency ok?

crates/papyrus_rpc/Cargo.toml line 12 at r1 (raw file):
Previously, ilyalesokhin-starkware wrote…
@dan-starkware Is this dependency ok?

We tried to decouple these by having an execution crate that depends on the blockifier.