Can't install webtorrent

I started playing with node a couple days ago and stumbled across this webtorrent thing, but I can't manage to make it work. Can you guys please help me?
Output for npm install webtorrent : http://paste.ubuntu.com/12330650/
thanks

Same problem for me.
Using Centos 7
Npm output - http://pastebin.com/aM17Dy10

I think the problem is with the videostream dep requiring mp4box which seems to have been taken down...
https://github.com/jhiesey/mp4box

Im having the same issue

You guys are all using node 0.10, which is not supported by WebTorrent.
I think node 0.10 has issues with the git dependency used by the videostream package, which WebTorrent requires.
I suggest using node v4 or node v5.


Add permissions to create events

Added missing permission to create events in case operator is being set up to manage dashboards in multiple namespaces.
Without these permissions the following error happens:
User "system:serviceaccount:epic-system:grafana-operator" cannot create resource "events" in API group "" in the namespace "default"' (will not retry!)

/lgtm


I fix: insert data_hash key into SMT

Please fix the commit message: I fix: insert data_hash key into SMT


chore: Use strict JS type checking

Enable Strict JS type checking, and fix all the code issues.

Obsoleted by PR #255


1.17.0 & phantomjs

Heads up, I'm seeing tests hang when using phantomjs as phantomjs test.js. It looks like things are getting exported correctly and the QUnit.load() is getting called. I'll know more this evening when I dig in fully.

I might be getting something similar.  My problem stemmed from the toolbarModuleFilter method in released version of qunit.js.  It looks like that method is not checking to see if "qunit-testrunner-toolbar" was created.  The other methods that get called inside QUnit.begin check to make sure the element was created before working on it.


Torchaudio-Squim processing time increases exponentially with long file

🐛 Describe the bug
This is regarding the Torchaudio-Squim (https://pytorch.org/audio/main/tutorials/squim_tutorial.html#sphx-glr-tutorials-squim-tutorial-py).
I noticed the processing time increases exponentially as the duration of the input file rises too. For example, the tutorial input file takes around 15 seconds to evaluate an input file of 3.4 seconds. If I use an input file of 60 seconds, it takes 55 seconds to evaluate it. An input of 66 seconds takes up to 335 seconds, and an input file of 86 seconds takes 2,500 seconds.
Would this kind of behavior be expected? Also, the RAM consumption gets relatively high too (it asks for 48GB for the input file of 86 seconds). Would this kind of behavior be expected? Also, the RAM consumption gets relatively high too (it asks for 48GB for the input file of 86 seconds).
Versions
Collecting environment information...
PyTorch version: 2.1.0.dev20230526+cpu
Is debug build: False
CUDA used to build PyTorch: None
ROCM used to build PyTorch: N/A
OS: Microsoft Windows 10 Pro
GCC version: Could not collect
Clang version: Could not collect
CMake version: Could not collect
Libc version: N/A
Python version: 3.10.5 (tags/v3.10.5:f377153, Jun  6 2022, 16:14:13) [MSC v.1929 64 bit (AMD64)] (64-bit runtime)
Python platform: Windows-10-10.0.19045-SP0
Is CUDA available: False
CUDA runtime version: No CUDA
CUDA_MODULE_LOADING set to: N/A
GPU models and configuration: No CUDA
Nvidia driver version: No CUDA
cuDNN version: No CUDA
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
CPU:
Architecture=9
CurrentClockSpeed=1198
DeviceID=CPU0
Family=198
L2CacheSize=5120
L2CacheSpeed=
Manufacturer=GenuineIntel
MaxClockSpeed=2995
Name=11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz
ProcessorType=3
Revision=
Versions of relevant libraries:
[pip3] numpy==1.24.3
[pip3] torch==2.1.0.dev20230526+cpu
[pip3] torchaudio==2.1.0.dev20230526+cpu
[pip3] torchvision==0.16.0.dev20230526+cpu
[conda] Could not collect
Collecting environment information...
PyTorch version: 2.1.0.dev20230526+cpu
Is debug build: False
CUDA used to build PyTorch: None
ROCM used to build PyTorch: N/A
OS: Microsoft Windows 10 Pro
GCC version: Could not collect
Clang version: Could not collect
CMake version: Could not collect
Libc version: N/A
Python version: 3.10.5 (tags/v3.10.5:f377153, Jun  6 2022, 16:14:13) [MSC v.1929 64 bit (AMD64)] (64-bit runtime)
Python platform: Windows-10-10.0.19045-SP0
Is CUDA available: False
CUDA runtime version: No CUDA
CUDA_MODULE_LOADING set to: N/A
GPU models and configuration: No CUDA
Nvidia driver version: No CUDA
cuDNN version: No CUDA
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
CPU:
Architecture=9
CurrentClockSpeed=1198
DeviceID=CPU0
Family=198
L2CacheSize=5120
L2CacheSpeed=
Manufacturer=GenuineIntel
MaxClockSpeed=2995
Name=11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz
ProcessorType=3
Revision=
Versions of relevant libraries:
[pip3] numpy==1.24.3
[pip3] torch==2.1.0.dev20230526+cpu
[pip3] torchaudio==2.1.0.dev20230526+cpu
[pip3] torchvision==0.16.0.dev20230526+cpu
[conda] Could not collect

@nateanl

Hi @Luis-117, the behavior is expected. Inside the model there is transformer layer that generates intermediate tensors with shape (batch, embed, length, length).  The T^2 space complexity will require huge portion of memory also a lot of computation resource.


spi: rename MISO/MOSI to COPI/CIPO

See https://www.oshwa.org/a-resolution-to-redefine-spi-signal-names
Let's do this for v4 since it's a breaking change.

how about not break?

I don't really see a way how to not break customers. In practice it only affects a small number of users that really care about the pin names, which is likely rare.
Ported to https://github.com/periph/conn/issues/1.


Sample 11-2 :: "sum" --> "sun"

- echo "$1		$2,000,000 miles from the sum"
+ echo "$1		$2,000,000 miles from the sun"

Thanks for pointing it out.


sst dev lambdas fail quite often

When running sst dev, any lambdas that are triggered often result in internal server error a few times before they start working. Then they randomly stop working after a few uses. Running sst dev again sometimes fixes this, but often sst remove and then sst dev is needed for it to start working again - the internal server error the first few times is always there though.
Queues with lambda handlers are also very flakey - they quite often do not trigger in sst dev.
Currently on 0.1.90

we changed the implementation recently, must have some issues under some scenarios i'll be looking into it today

@thdxr It Seems to be happening when deployed to dev staging as well.
If the lambda has to cold boot, I'm getting this randomly every now and then:

If I redeploy, it starts working for a bit but then if we come back to it later then we get the same error. Really strange, there are no modules that should be causing this as I'm lazy loading most things like DB connections, SQS connections etc. in the handler
I'm not sure on the implementation details of ion->pulumi->terraform->aws, but could this be related to loading the handler code on a fresh instance (I think it comes from S3?) or something else like this?

@thdxr It Seems to be happening when deployed to dev staging as well.
If the lambda has to cold boot, I'm getting this randomly every now and then:
If I redeploy, it starts working for a bit but then if we come back to it later then we get the same error. Really strange, there are no modules that should be causing this as I'm lazy loading most things like DB connections, SQS connections etc. in the handler
I'm not sure on the implementation details of ion->pulumi->terraform->aws, but could this be related to loading the handler code on a fresh instance (I think it comes from S3?) or something else like this?

Ok so this might be because there's a VPC on the lambda, and I had a public subnet applied to the lambda instead of just the private subnets (see discussion). Will report back to see if this was the issue!

Can confirm that this was a VPC issue as per above. Sorry!


fix parse_obj, validate method return type

fix SQLModel.parse_obj, SQLModel.validate method return type
"SQLModel" -> _TSQLModel
issues link

It was the first "pull request" so there were some mistakes.
I'll write a new one.


Support output via STDERR

I'm trying to stub a function which prints its expected output to STDERR, but it doesn't look shpy supports this. Would it be reasonable to add an -e STDERR_OUTPUT option, which would be printed in addition to output from -o?

That syntax makes sense to me 👍


Remove docker deployment actions

Description
They're no longer necessary. PyGrid Node/Network images will be updated automatically by docker hub automated builds.
Checklist

[x] I have followed the Contribution Guidelines and Code of Conduct
[x] I have commented my code following the OpenMined Styleguide
[x] I have labeled this PR with the relevant Type labels
[ ] My changes are covered by tests

@cereallarceny, @IonesioJunior , what means "PyGrid Node/Network images will be updated automatically by docker hub automated builds.". Every merge to develop?master? creates a new tag? what is the difference between "development" and "production" images?
Thanks!

We use docker hub to build our images now instead of github actions. Every merge of the dev branch makes a new development tag. Every merge of the master branch makes a new production tag.


Add command-line arguments

Adds arguments to set PCI-Device, IOMMU group, Revision, PCI IDs, and the socket.
Resolves #45

garnix is running out of diskspace right now :eyes:


FullNode connects to itself when it is behind a NAT

Scenario:
FullNode with a private IP running behind a NAT using the externalip parameter. Inbound firewall rules already set up properly and also it is doing hair-pining NAT.
Result:
When the FN learns the other peers IP from the seed DNS query, it doesn't avoid to connect to that IP that was specified in the externalip, as a result, there is an inbound connection where the origin and destination is the same node. This also happens, without the externalip parameter.

This task still need to add prevention of connecting to externalip  this can be done by adding to selfEndpointTracker


Cannot Install device update agent 1.0.3 beta version for Debian11 Arm64 on Debian 11.8 running on Raspberry Pi 4

Expected Behavior
I am given a beta release of "deviceupdate-agent_1.0.3~beta_debian11_arm64.deb" for verifying. My platform is Raspberry Pi 4 running Debian 11.8 OS. When I try to install the .deb file, I received error suggesting there were un-resolved dependencies.
I am not familiar with  Azure ADU nor Debian so I am not sure whether I have missed something. I am appreciated if you could provide some details steps on how to proceed the installation.
Steps to Reproduce
I took the following steps by following the instructions in this Microsoft site (https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-agent-provisioning) :
Provide a detailed set of steps to reproduce the bug.
•	Install Debian 11 (Bullseye) 64 bit on a SD card using Raspberry Imager
•	Apply the latest OS updates
o	sudo apt update
sudo apt -y full-upgrade
sudo apt-get autoremove
sudo apt-get clean
sudo reboot
•	Install\Update ADU agents in Debian 11 environment
Following instructions here: https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-agent-provisioning#prerequisites:
o	Prerequisites
o	Install the repository configuration that matches your device’s operating system.
curl https://packages.microsoft.com/config/debian/11/prod.list > ./microsoft-prod.list
o	Install the Microsoft GPG public key.
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
o	Copy the generated list to the source.list.d directory.
sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/
o	Install IoT packages
curl https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb > ./packages-microsoft-prod.deb
sudo apt install ./packages-microsoft-prod.deb
o	Install a container engine
sudo apt-get update; \sudo apt-get install moby-engine
o	Install the IoT Edge runtime
sudo apt-get update; \sudo apt-get install aziot-edge defender-iot-micro-agent-edge
o	Install deviceupdate agent
o	Sudo apt-get install ./ deviceupdate-agent_1.0.3~beta_debian11_arm64.deb
Device Information

Host OS: Debian 11.8
Architecture : Arm64
Provisioning Method:

Logs

Investigation ongoing


Added Entry does not go through build process?

Thanks for next.js , I think it's awesome and has enabled me to progress a universal website much quicker than I could of done trying to build it out from scratch!
I have added an entry point in my config for a component that ends up in the /static folder, this is a script that I am loading onto a script tag on componentDidMount and accessed via a Web Worker:
const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer')
const { ANALYZE } = process.env
const path = require('path');

module.exports = {
  webpack: function (config) {
    console.log(config);
    if (ANALYZE) {
      config.plugins.push(new BundleAnalyzerPlugin({
        analyzerMode: 'server',
        analyzerPort: 8888,
        openAnalyzer: true
      }))
    }

    return Object.assign({}, config, { entry: function() {
      return config.entry().then((entry) => {
        return Object.assign({}, entry, { '../static/components/canvasAnim.js': './components/CanvasAnim'})
      })
    }})

    return config;

  }
}

My script is working in dev, but when I build it does not seem to get touched. I was expecting this to end up all minified. So when I run the code in prod, React complains with: Error: Minified React error #130;

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior

I don't think I am describing a bug here, probably something I am missing around the way next.js config works!

Current Behavior

During build the entry does not seem to be touched.

Steps to Reproduce (for bugs)

Add an entry point that maps to static and then build

Your Environment

Tech
Version

next
latest

node
8.6.0

OS
macOs 10.12.6

browser
chrome 61

etc

Does anybody know how I can modify the config to make this happen?

This is most likely related to the fact we don't let webpack handle everything. So this will most likely only work when we land https://github.com/zeit/next.js/issues/1245. I'm going to close this as duplicate and refer to it in the other issue 👍


TMPDIR fails when on separate partition

On linux when TMPDIR is mounted on a different partition it fails to move the file due to it being across partitions with the error:
[anirip] Error: rename /tmp/anirip/episode.mkv $newfilename.mkv: invalid cross-device link
Altering TMPDIR to a directory on the same partition helps as a workaround for now.

Well, it also appears that this is also the architecture used by FreeNAS and Jails: a mount point back to the storage volume. So this will not work there, either.
@turtletowerz are you still game for that PR?

I could change the Rename function to move files a bit more properly, similar to the answer here, but I don't believe the issue is related to the temporary directory, as this is more related to how unix systems rename files.
I'll make a PR sometime today, but I don't have any unix-based OS to test a new change on so if the PR gets approved I would like some feedback as to whether it worked or not.

// TempDir returns the default directory to use for temporary files. // // On Unix systems, it returns $TMPDIR if non-empty, else /tmp. // On Windows, it uses GetTempPath, returning the first non-empty // value from %TMP%, %TEMP%, %USERPROFILE%, or the Windows directory. // On Plan 9, it returns /tmp. // // The directory is neither guaranteed to exist nor have accessible // permissions. func TempDir() string { 	return tempDir() }
So maybe I just define $TMPDIR. Testing.
cd path/to/dir mkdir .tmp/anirip export TMPDIR=.tmp anirip username password http://www.crunchyroll.com/miss-kobayashis-dragon-maid
This appears to resolve the issue for macOS.


Release/2.2

Summary of the changes (Less than 80 chars)

Detail 1
Detail 2

Addresses #bugnumber (in this specific format)

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: djohnsonUWSA sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@djohnsonUWSA was this an accidental PR?

I think this can be closed; it looks accidental.


Typescript message shows as red for "0 errors found" in node ^20.15.1

Describe the bug

Reproduction
https://github.com/gkiely/vite-plugin-repro
Expected behavior
Should show as white, so as not to confuse with errors
System Info
System:
    OS: macOS 12.7
    CPU: (10) arm64 Apple M1 Pro
    Memory: 1023.53 MB / 32.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 20.15.1 - ~/.volta/tools/image/node/20.15.1/bin/node
    Yarn: 1.22.18 - ~/.volta/tools/image/yarn/1.22.18/bin/yarn
    npm: 10.8.0 - ~/.volta/tools/image/npm/10.8.0/bin/npm
    bun: 1.1.25 - ~/.bun/bin/bun
    Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 127.0.6533.120
    Edge: 127.0.2651.105
    Safari: 17.5
  npmPackages:
    vite-plugin-checker: ^0.7.2 => 0.7.2

Additional context
No response
Validations

[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.

Probably this should be a different issue, but perhaps it's in a similar part of the code.
Everything gets underlined in red, regardless of whether it's a warning or an error.

Fix is to change this line: https://github.com/fi3ework/vite-plugin-checker/pull/393/files#diff-41d1c7c4522702a7fffc786aff11b20c2391952df70678d1ffe12b6f934b9a0dR111
const color = 'white';

This seems to be fixed recently.


Additional training checkpoints?

Hi, I want to try out some off-policy evaluation methods with the datasets. Are there any additional training checkpoints available, and would it be possible to get access to them?

Hi, we have the training checkpoints for the expert Lift and Push policies. We can convert them to TorchScript such that they work with the example package and upload them. What exactly would you need?

Exactly, I would need some training checkpoints for the expert Lift and Push policies along the training process (ideally at least 2-3). If you could upload these checkpoints, that would be very useful for me! Thanks for the quick reply :)

That's exactly what I needed! Thank you very much!


BlockGrad Bug

Environment info
Operating System: Windows
Compiler: Visual Studio Community 2015
Package used (Python/R/Scala/Julia): Python
MXNet commit hash (git rev-parse HEAD): https://github.com/dmlc/mxnet/commit/949300d15957299d99d7c32fedecdede5619cc26
Error Message:
MXNetError: [22:22:22] src/executor/graph_executor.cc:511: Check failed: storage_id >= 0 (-1 vs. 0) Do not support runtime shape op yet

Stack trace returned 43 entries:
[bt] (0) /home/data/xingjian/mxnet/python/mxnet/../../lib/libmxnet.so(_ZN4dmlc15LogMessageFatalD1Ev+0x29) [0x7f8ec2c30f69]
[bt] (1) /home/data/xingjian/mxnet/python/mxnet/../../lib/libmxnet.so(_ZN5mxnet4exec13GraphExecutor19InitDataEntryMemoryERKSt6vectorINS_7NDArrayESaIS3_EE+0x267b) [0x7f8ec375b82b]
[bt] (2) /home/data/xingjian/mxnet/python/mxnet/../../lib/libmxnet.so(_ZN5mxnet4exec13GraphExecutor4InitEN4nnvm6SymbolERKNS_7ContextERKSt3mapISsS4_St4lessISsESaISt4pairIKSsS4_EEERKSt6vectorINS_7NDArrayESaISI_EESM_RKSH_INS_9OpReqTypeESaISN_EESM_PNS_8ExecutorE+0x444) [0x7f8ec3760c04]
[bt] (3) /home/data/xingjian/mxnet/python/mxnet/../../lib/libmxnet.so(_ZN5mxnet8Executor4BindEN4nnvm6SymbolERKNS_7ContextERKSt3mapISsS3_St4lessISsESaISt4pairIKSsS3_EEERKSt6vectorINS_7NDArrayESaISH_EESL_RKSG_INS_9OpReqTypeESaISM_EESL_PS0_+0x4f5) [0x7f8ec3761165]
[bt] (4) /home/data/xingjian/mxnet/python/mxnet/../../lib/libmxnet.so(MXExecutorBindEX+0xf99) [0x7f8ec371dfe9]
[bt] (5) /usr/local/software/python2/lib/python2.7/lib-dynload/_ctypes.so(ffi_call_unix64+0x4c) [0x7f8f4fd9a080]
[bt] (6) /usr/local/software/python2/lib/python2.7/lib-dynload/_ctypes.so(ffi_call+0x148) [0x7f8f4fd991e8]
[bt] (7) /usr/local/software/python2/lib/python2.7/lib-dynload/_ctypes.so(_ctypes_callproc+0x292) [0x7f8f4fd90df2]
[bt] (8) /usr/local/software/python2/lib/python2.7/lib-dynload/_ctypes.so(+0x9ce4) [0x7f8f4fd87ce4]
[bt] (9) /usr/local/lib/libpython2.7.so.1.0(PyObject_Call+0x43) [0x7f8f5c04c5f3]
[bt] (10) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x3b76) [0x7f8f5c100a66]
[bt] (11) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x830) [0x7f8f5c103d20]
[bt] (12) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5907) [0x7f8f5c1027f7]
[bt] (13) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x830) [0x7f8f5c103d20]
[bt] (14) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5907) [0x7f8f5c1027f7]
[bt] (15) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x830) [0x7f8f5c103d20]
[bt] (16) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalCode+0x19) [0x7f8f5c103e49]
[bt] (17) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x58af) [0x7f8f5c10279f]
[bt] (18) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x830) [0x7f8f5c103d20]
[bt] (19) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5907) [0x7f8f5c1027f7]
[bt] (20) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x830) [0x7f8f5c103d20]
[bt] (21) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5907) [0x7f8f5c1027f7]
[bt] (22) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x830) [0x7f8f5c103d20]
[bt] (23) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5907) [0x7f8f5c1027f7]
[bt] (24) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x830) [0x7f8f5c103d20]
[bt] (25) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5907) [0x7f8f5c1027f7]
[bt] (26) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x830) [0x7f8f5c103d20]
[bt] (27) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5907) [0x7f8f5c1027f7]
[bt] (28) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x830) [0x7f8f5c103d20]
[bt] (29) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5907) [0x7f8f5c1027f7]
[bt] (30) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x830) [0x7f8f5c103d20]
[bt] (31) /usr/local/lib/libpython2.7.so.1.0(+0xc3095) [0x7f8f5c07e095]
[bt] (32) /usr/local/lib/libpython2.7.so.1.0(PyObject_Call+0x43) [0x7f8f5c04c5f3]
[bt] (33) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x11eb) [0x7f8f5c0fe0db]
[bt] (34) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x830) [0x7f8f5c103d20]
[bt] (35) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5907) [0x7f8f5c1027f7]
[bt] (36) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x830) [0x7f8f5c103d20]
[bt] (37) /usr/local/lib/libpython2.7.so.1.0(PyEval_EvalCode+0x19) [0x7f8f5c103e49]
[bt] (38) /usr/local/lib/libpython2.7.so.1.0(PyRun_FileExFlags+0x8a) [0x7f8f5c127aca]
[bt] (39) /usr/local/lib/libpython2.7.so.1.0(PyRun_SimpleFileExFlags+0xd7) [0x7f8f5c129057]
[bt] (40) /usr/local/lib/libpython2.7.so.1.0(Py_Main+0xc25) [0x7f8f5c13ef35]
[bt] (41) /lib64/libc.so.6(__libc_start_main+0xf5) [0x7f8f58f45b35]
[bt] (42) /usr/local/bin/python2() [0x4007a1]

Minimum reproducible example
import mxnet as mx
a = mx.sym.Variable('a')
b = mx.sym.BlockGrad(2*a)
exe = b.simple_bind(ctx=mx.cpu(), a=(10,10))

What have you tried to solve it?
I meet this problem when trying to refactor the code of FGradient for BlockGrad. The following code will work correctly while the code above raises an error.
import mxnet as mx
a = mx.sym.Variable('a')
b = mx.sym.BlockGrad(a+a)
exe = b.simple_bind(ctx=mx.cpu(), a=(10,10))

@tqchen

Was because the gradient is zeros and it is a lonely zeros without connection to others, so the shape inference failed.
Fixing this would be an interesting practice to hack Nnvm gradient module. Please see if you can attempt a fix
There are two ways. Make block grad always return zeros-like, which contains shape constraint.
Insert shape hint identity like in terminal leaf, to hope backward inference kicks in

zeros-like doesn't get recognized in gradient aggregation. It also doesn't work for dangling output from slice

zeros like's recognition can be added to gradient aggregation, which is not a big issue.
Dangling output is a separated issue, which zeros also suffer, so I think that is beyond the scope of this issue.

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!


Allow for DDP or non-DDP use

Currently only works with DDP

Device specification now handled by PyTorch Lightning


ASA (Ark Survival Ascended): Returns a random server from the cluster (Ignores Port)

Describe the bug
It doesn't matter the port you enter, it will just return one of the servers that is in that ip.
Steps To Reproduce
Here my code, for server EU-PVP-TheIsland2163 (ip and port corresponds to it)
`
use gamedig::games::asa;
use std::net::IpAddr;
use std::str::FromStr;
#[tokio::main]
async fn main() {
let server_ip = "<IP_ADDRESS>";
let server_port = Some(7779);
let ip: IpAddr = IpAddr::from_str(server_ip).expect("Invalid IP address");

match asa::query(&ip, server_port) {
    Ok(response) => {
        println!("Server: {:?}", response);
        println!("Server name: {}", response.name);
        println!("Players: {}/{}", response.players_online, response.players_maxmimum);
        for player in response.players {
            println!("Player: {}", player.name);
        }
    }
    Err(e) => eprintln!("Failed to query server: {}", e),
}

}
`
Expected behavior
It should return the specified server, but it returns one of the following server. Each query I do can be a different one from that list
EU-PVE-TheIsland5197, EU-PVP-TheIsland2162, EU-PVE-TheIsland5196, EU-PVP-TheIsland2164, EU-PVP-TheIsland2163

Also a typo in players_maximum

I noticed this has a v.0.5 tag, but I am on v0.5.1, and this problem still exists.

@digitalfiz I just edited the label's for it to be more clear, it should have been v0.5.X


Do you have to use a CDN?

Category

[x] Question
[ ] Typo
[ ] Bug
[ ] Additional article idea

Could you host the extension in a document library or similar?
We're using Azure Express Route single entry point, so using a CDN would not be supported for internal traffic.

According to this article seems possible, only that you won´t benefit from CDN advantages:
https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/get-started/deploy-web-part-to-cdn
"There are multiple different hosting options for your web part assets. This tutorial concentrates on showing the Azure CDN option, but you could also use the Office 365 CDN or simply host your assets from SharePoint library from your tenant. In the latter case, you would not benefit from the CDN performance improvements, but that would also work from the functionality perspective. Any location that end users can access by using HTTP would be technically suitable for hosting the assets for end users."

If you do not enable the CDN for the ClientSideAssets library, it will not get served from CDN but instead directly from the ClientSideAssets library in SharePoint Online. I would still test the performance because reading files from a document library might still be slower, even with Azure Express Route....

Like noted by @OliverZeiser, CDN is NOT required, but it will have a positive impact on the performance. If you do not have CDN enabled, assets (js files etc) are served automatically from the app catalog URLs, which would work in the scenario. This automatic hosting is available if you use 1.4 or later version and include assets in the spppkg file. Closing as answered.


Problem with ffimageloading and ObservableCollection

Hi!
I have encountered a problem using CardsView together with FFImageLoading and databinding the ItemsSource property to an ObservableCollection. My environment is xamarin.Forms(Android) with latest everything.
Setup:
My ObservableCollection initially holds a single ImageModel (this represents my image) which displays  fine on the UI. Then I try to add additional ImageModels to the end of the ObservableCollection (ItemsSource).
The problem:
After adding the ImageModels to the end of the collection, only a small subset of images are actually toggled on the display when swiping the CardsView.
The CardsView.SelectedIndex is correctly updated when cycling through the collection running from 0 to last index. The CardsView.SelectedItem.FilePath property (Url) which equals to ImageModel.FilePath and to which FFImageLoading's UrImageSource property is bound is correctly displayed on the UI (as a debug label) as the user cycles the images.
BUT the actual displayed CardsView image does not correspond to the displayed  CardsView.SelectedItem.FilePath
To gain more information, I have replaced FFImageLoading for XamarinForms.Image and then it works properly. Bug is gone.
Below is the code sniped with PanCardsView.
                        <pancardview:CardsView.ItemTemplate>
                            <DataTemplate>
                                <ContentView>
                                    <Frame
                                        HeightRequest="226"
                                        Padding="0"
                                        HasShadow="false"
                                        IsClippedToBounds="true"
                                        CornerRadius="10"
                                        BackgroundColor="WhiteSmoke"
                                    >
                                        <ffimageloading:CachedImage
                                            Aspect="AspectFit"
                                            ErrorPlaceholder="movie_backdrop_placeholder_lg"
                                            RetryCount="1">

                                            <ffimageloading:CachedImage.GestureRecognizers>
                                                <TapGestureRecognizer Command="{Binding  Path=BindingContext.TapImageCommand, Source={x:Reference movieDetailPage}}" />
                                            </ffimageloading:CachedImage.GestureRecognizers>

                                            <ffimageloading:CachedImage.Source>
                                                <UriImageSource
                                                    Uri="{Binding Path=FilePath}"
                                                />
                                            </ffimageloading:CachedImage.Source>
                                        </ffimageloading:CachedImage>
                                    </Frame>
                                </ContentView>
                            </DataTemplate>
                        </pancardview:CardsView.ItemTemplate>

                    </pancardview:CardsView>

                            <Label BindingContext="{x:Reference cardView}"
                               Text="{Binding SelectedIndex, Converter={StaticResource Key=intPlusOneToString}}"
                               FontSize="Micro"
                               HorizontalOptions="End"
                               VerticalOptions="Start"/>

                           <Label BindingContext="{x:Reference cardView}"
                               Text="{Binding SelectedItem.FilePath}"
                               FontSize="Micro"
                               HorizontalOptions="End"
                               VerticalOptions="Start"/>

Hi, does it work if you change CachedImage to Image ?

Ah, sorry, i see.
So, i don't think it's CardsView issue since it works with Image

where do we go from here?

@j4ni have you posted issue to FFimage proj yet?

Not yet.
I dont really know what to tell there and was also hoping that you know right of the bat what causes the problem. Pretty annoying as I really would like to use FFImageLoading instead of image because of the loading/error placeholders

@j4ni try IsViewReusingEnabled = false

The bug is gone!! Thanks You very much!
Will this setting have any negative side effects? I expect at max around 60images and casual swiping left and right...

Ok, I confirmed that it works!


idf V4.4, ESP32 ECO3, high level IRQs (IDFGH-6815)

We are currently running on idf V4.3 and are checking how to migrate to V4.4.
There seems to be significant changes to the usage of high level IRQs, but the documentation is not very clear.
We are using a level5 IRQ to handle the UART fifo correctly.
It seems that with V4.4, this should be changed to level4.
But also it seems that the BT is now using that level4 IRQ and there is a new lib tha enables C functions to be called from level4 context. (With limitations, clear).
Now there is some questions:
a) do we need to enable CONFIG_BTDM_CTRL_HLI with V4.4? Why was it created at all? We did not find any info on that.
b) whats the recommended way now to implement the high level IRQ?

use the new library and call C-code
squeeze our code into the .S file and conditionally call it before the code that handles these BT irqs?
disable the CONFIG_BTDM_CTRL_HLI and use the level 4 IRQ like we did with the level 5 before?
c) for these 3 options, will the CONFIG_ESP32_ECO3_CACHE_LOCK_FIX work always?

It is important to know right now, because we need to extend the functionality of our high level IRQ. We dont want to do it all again soon.
Thanks!

Hi @sicanins , for your questions.
a) CONFIG_BTDM_CTRL_HLI is used for fixing some Bluetooth bugs and improving it's performance. If you use Bluetooth in your project, suggest to enable this.
b)
* If you used Bluetooth,  suggest to use the way #2(squeeze our code into the .S file and conditionally call it before the code that handles these BT irqs) to  implement the high level IRQ. As there are many restrictions to call the C-code in level 4 interrupt, and it is not for customers.
* If you did not use Bluetooth, just disable CONFIG_BT_ENABLED and set CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL to Level 4 interrupt. Then it is same as before.
c) CONFIG_ESP32_ECO3_CACHE_LOCK_FIX will works well when using the above options.

Thanks for the clear and fast answer!

Hi @blueMoods ,
I work with @sicanins and tried to implement your suggested way#2 as we use the Bluetooth. It is clear that we will squeeze our UART code into the .S file and share the Level 4 interrupt with Bluetooth. However we have problem with registering Level 4 interrupt for UART.
What is the proper way of registering to shared high level irq?

you can  squeeze your code into the .S file and conditionally call it before the code that handles these BT irqs?, It is the same as you did, before.
Pay attention to that: Do not use C code.
You can refer to components\esp_system\port\soc\esp32\highint_hdl.S

actually my question is about how we allocate the level4 interrupt also for UART. so how we initialize it?

before we were able to allocate level5 interrupt by following call:
  ESP_ERROR_CHECK_WITHOUT_ABORT(       esp_intr_alloc(ETS_UART1_INTR_SOURCE, ESP_INTR_FLAG_LEVEL5 | ESP_INTR_FLAG_IRAM, NULL, NULL, &_irq_handle) );
Now it doesnt work for level4 interrupt. I guess this is a sharing issue.

Let me add here, that the "normal" allocation of a high level IRQ fails here. As far as we understand the timer and the BT are using the only two level IRQs available for level4. So we need to know how to "add" our IRQ to one of the slots...

I understand, now.
There are some issue in esp_intr_alloc after adding the feature to config CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL. We will fix it as soon as possible.

are there any workaround can you suggest for the time being?

Hi, I dig a bit deeper.
we are using CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y
Reading soc/esp32/include/soc/soc.h:
#if CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5
//interrupt cpu using table, Please see the core-isa.h
/*************************************************************************************************************
 *      Intr num                Level           Type                    PRO CPU usage           APP CPU uasge
 *      0                       1               extern level            WMAC                    Reserved
 *      1                       1               extern level            BT/BLE Host HCI DMA     BT/BLE Host HCI DMA
 *      2                       1               extern level
 *      3                       1               extern level
 *      4                       1               extern level            WBB
 *      5                       1               extern level
 *      6                       1               timer                   FreeRTOS Tick(L1)       FreeRTOS Tick(L1)
 *      7                       1               software                BT/BLE VHCI             BT/BLE VHCI
 *      8                       1               extern level            BT/BLE BB(RX/TX)        BT/BLE BB(RX/TX)
 *      9                       1               extern level
 *      10                      1               extern edge
 *      11                      3               profiling
 *      12                      1               extern level
 *      13                      1               extern level
 *      14                      7               nmi                     Reserved                Reserved
 *      15                      3               timer                   FreeRTOS Tick(L3)       FreeRTOS Tick(L3)
 *      16                      5               timer                   Reserved                Reserved
 *      17                      1               extern level
 *      18                      1               extern level
 *      19                      2               extern level
 *      20                      2               extern level
 *      21                      2               extern level
 *      22                      3               extern edge
 *      23                      3               extern level
 *      24                      4               extern level
 *      25                      4               extern level            BT/BLE Controller       BT/BLE Controller
 *      26                      5               extern level            TG1_WDT & CACHEERR
 *      27                      3               extern level            Reserved                Reserved
 *      28                      4               extern edge
 *      29                      3               software                BT/BLE hli              BT/BLE hli
 *      30                      4               extern edge             Reserved                Reserved
 *      31                      5               extern level            IPC_ISR                 IPC_ISR
 *************************************************************************************************************
 */

Suggests, that the file hal/esp32/interrupt_descriptor_table.c can be modified.
From
const static int_desc_t interrupt_descriptor_table [32]={
    { 1, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_RESVD } }, //0
    { 1, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_RESVD } }, //1
    { 1, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //2
    { 1, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //3
    { 1, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_NORMAL} }, //4
    { 1, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_RESVD } }, //5
    { 1, INTTP_NA,    {INT6RES,        INT6RES       } }, //6
    { 1, INTTP_NA,    {INTDESC_SPECIAL,INTDESC_SPECIAL}}, //7
    { 1, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_RESVD } }, //8
    { 1, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //9
    { 1, INTTP_EDGE , {INTDESC_NORMAL, INTDESC_NORMAL} }, //10
    { 3, INTTP_NA,    {INTDESC_SPECIAL,INTDESC_SPECIAL}}, //11
    { 1, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //12
    { 1, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //13
    { 7, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_RESVD } }, //14, NMI
    { 3, INTTP_NA,    {INT15RES,       INT15RES      } }, //15
    { 5, INTTP_NA,    {INTDESC_SPECIAL,INTDESC_SPECIAL} }, //16
    { 1, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //17
    { 1, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //18
    { 2, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //19
    { 2, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //20
    { 2, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //21
    { 3, INTTP_EDGE,  {INTDESC_RESVD,  INTDESC_NORMAL} }, //22
    { 3, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //23
    { 4, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_NORMAL} }, //24
    { 4, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_RESVD } }, //25
    { 5, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_RESVD } }, //26
    { 3, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_RESVD } }, //27
    { 4, INTTP_EDGE,  {INTDESC_NORMAL, INTDESC_NORMAL} }, //28
    { 3, INTTP_NA,    {INTDESC_SPECIAL,INTDESC_SPECIAL}}, //29
    { 4, INTTP_EDGE,  {INTDESC_RESVD,  INTDESC_RESVD } }, //30
    { 5, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_RESVD } }, //31
};

to (modifying slot 24):
const static int_desc_t interrupt_descriptor_table [32]={
    { 1, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_RESVD } }, //0
    { 1, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_RESVD } }, //1
    { 1, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //2
    { 1, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //3
    { 1, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_NORMAL} }, //4
    { 1, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_RESVD } }, //5
    { 1, INTTP_NA,    {INT6RES,        INT6RES       } }, //6
    { 1, INTTP_NA,    {INTDESC_SPECIAL,INTDESC_SPECIAL}}, //7
    { 1, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_RESVD } }, //8
    { 1, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //9
    { 1, INTTP_EDGE , {INTDESC_NORMAL, INTDESC_NORMAL} }, //10
    { 3, INTTP_NA,    {INTDESC_SPECIAL,INTDESC_SPECIAL}}, //11
    { 1, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //12
    { 1, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //13
    { 7, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_RESVD } }, //14, NMI
    { 3, INTTP_NA,    {INT15RES,       INT15RES      } }, //15
    { 5, INTTP_NA,    {INTDESC_SPECIAL,INTDESC_SPECIAL} }, //16
    { 1, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //17
    { 1, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //18
    { 2, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //19
    { 2, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //20
    { 2, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //21
    { 3, INTTP_EDGE,  {INTDESC_RESVD,  INTDESC_NORMAL} }, //22
    { 3, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_NORMAL} }, //23
    { 4, INTTP_LEVEL, {INTDESC_NORMAL,  INTDESC_NORMAL} }, //24
    { 4, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_RESVD } }, //25
    { 5, INTTP_LEVEL, {INTDESC_NORMAL, INTDESC_RESVD } }, //26
    { 3, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_RESVD } }, //27
    { 4, INTTP_EDGE,  {INTDESC_NORMAL, INTDESC_NORMAL} }, //28
    { 3, INTTP_NA,    {INTDESC_SPECIAL,INTDESC_SPECIAL}}, //29
    { 4, INTTP_EDGE,  {INTDESC_RESVD,  INTDESC_RESVD } }, //30
    { 5, INTTP_LEVEL, {INTDESC_RESVD,  INTDESC_RESVD } }, //31
};```

Can you please confirm this? I understand that this is only a hack, but we need to go on with development urgently.

Thanks!


Throws error if you uncheck all columns

It still disables search but you see a 500 error.

https://github.com/simonw/datasette-configure-fts/blob/e870f07a1295191802a7faf295216967bfa489c7/datasette_configure_fts/app.py#L99-102
That .enable_fts() should only be called if there are columns to enable.

Fixed in https://github.com/simonw/datasette-configure-fts/commit/e2f256032bb0417fa769fe2a80aaffb9bfc756af


Remove documentation from readme and instead forward to the readthedocs one

👍 https://platformdirs.readthedocs.io/en/latest/

What type of forwarding did you have in mind? Is the link in the repo description sufficient? Or should there be a minimal readme linking to the link above?

@papr a minimal (1-2 sentence) README sending someone to the docs is probably the right idea.

In the past two years README.rst became even more outdated: It mentions neither site_cache_dir(), nor user_state_dir(), or site_runtime_dir(). For Windows it shows the C:\Documents and Settings\<User>\Application Data structure from Windows XP as examples.
However, README.rst generally explains the usage better:

It includes example outputs (which makes it easier to find the right method)
It explains the different usage types ({site,user}_*_{dir,path}() methods vs. PlatformDirs class)
It better explains advanced features, like version, multipath, or switching to roaming on Windows

So, platformdirs should either keep an updated README.rst and add a link to the API docs, or should move all parts (including the descriptive parts) of README.rst to the API docs.

PR welcome for the later.

Somehow "moving" doesn't sound like the best answer?  I agree with the "readme explains more" in general, it just needs to be kept up-to-date, eg, usr_log_dir in the Linux section does not match the actual dir path.  That said, my usual approach to docs in general is to put a symlink to the readme file in the docs source directory and just use it for the main docs page like this.  Maybe that's an option?

I disagree on this, I prefer the index just link to the documentation page and that's it.

Oh, i just made the path fix and example docs PR.  It does look pretty good to my eye anyway...


Front Panel > Tools > PaneRelief

Somehow I can see the PaneRelief.vi front panel opening when I try to launch it from Tools menu of the VI front panel. 'Ctrl + Spacebar' followed by 'Ctrl + a' works fine.

I'm not able to recreate this. It works for me from the tools menu.
What LabVIEW version are you seeing this on, and are you using the most recent version of PaneRelief?

I am using 2019 SP1 and I believe PaneRelief is also updated from VIPM.

@Ferrousduke My guess is that you tried launching PaneRelief from the Project Explorer window, which doesn't work -- you have to launch it from a VI's Front Panel or Block Diagram window.
@HopeHarrison I dug into this and discovered a couple things:

Launching PaneRelief from the Project Explorer window should probably show a dialog stating that it needs to be run from a VI FP or BD.

The error that results actually causes the launcher to hang forever.

Here's a screenshot of what happens.

See if this works for you guys:
jki_lib_panerelief-<IP_ADDRESS>.zip
And if you think the solution is okay (in linked pull request).


No hot-reload

Issue type
I'm submitting a ...  (check one with "x")

[x] bug report
[ ] feature request
[ ] question about the decisions made in the repository

Issue description
Current behavior:
The hot-reload not working when I do changes in files.
Expected behavior:
Hot-reload automatically when detecting changes.
Steps to reproduce:
I don not know why this behavior is happening, this started to happen two days ago and I don not found a logic cause. Can anybody help me?
Related code:
Other information:
npm, node, OS, Browser
node : v8.11.3,
npm: v5.6.0

Angular, Nebular
Angular: 6.0.0
Nebular: 2.0.0-rc.9

Have you changed anything in your code in the past 2 days..? What happened that could have caused this? Are you able to reproduce this with the master branch of this repo?

Apologize me, this was happening because i did not use the root user for execute the command 'npm start'
Thank you for your quick response @dizco.


Start the summarizer wait early

AB#8942
Prevent some tests from hanging due to waiting for a summary op

(Copying from our offline chat)
Can we add the same fix to these other tests that seem to have the same issue?

Heuristic based summaries should pass on retry when NodeDidNotRunGC is hit (packages/test/test-end-to-end-tests/src/test/summarization/summarizeWithLocalChanges.spec.ts)
load offline with blob redirect table (packages/test/test-end-to-end-tests/src/test/stashedOps.spec.ts)
Assign multiple data stores to the same alias, first write wins, different containers from snapshot (packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts)

(Copying from our offline chat)
Can we add the same fix to these other tests that seem to have the same issue?

~Heuristic based summaries should pass on retry when NodeDidNotRunGC is hit (packages/test/test-end-to-end-tests/src/test/summarization/summarizeWithLocalChanges.spec.ts)~ (I'm working off a slightly outdated main where the test you already fixed was called like this)
load offline with blob redirect table (packages/test/test-end-to-end-tests/src/test/stashedOps.spec.ts)
Assign multiple data stores to the same alias, first write wins, different containers from snapshot (packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts)

I should have fixed the bottom one already in a different PR as I noticed it was written in a way where it could fail due to a race condition. https://github.com/microsoft/FluidFramework/pull/22223


proposal: add a goroutine leak detector to go test

Inspired by grpc-go's leak detector (example usage here) by @menghanl and co.
Leaking goroutines is a problem that's hard to spot. We can help users detect these goroutines by adding a -leak flag to go test that detects leaking goroutines. A rough outline of the lifecycle of a test in the presence of this flag is as follows:

Count non-test, non-runtime goroutines
Run the test
Wait some period of time for things to shut down (possibly configurable with a default of 100ms, for instance)
Count non-test, non-runtime goroutines
If before != after, err

Dupe https://github.com/golang/go/issues/5308

Other impls, for posterity:

https://golang.org/src/net/http/main_test.go#L60
https://godoc.org/github.com/anacrolix/missinggo/leaktest


Add nushell syntax to previewer

Is your feature request related to a problem? Please describe
Running Ubuntu 22.04 on WSL 2.
Preview of .nu files seem to have no syntax highlighting. I could not find anything related to nushell in the yazi/prebuild repo and could not find a way to add custom syntaxes in the configuration.
Will you be willing to contribute this feature?

[ ] Yes, I'll give it a shot

Describe the solution you'd like
Build nushell according from this (?) repo and add to the prebuild.
https://github.com/stevenxxiu/sublime_text_nushell
Describe alternatives you've considered
No response
Additional context

Yazi uses the syntax file from bat currently, but unfortunately, bat does not yet support nushell.
I'm thinking that maybe we can implement it as a custom previewer, like the json.lua does, is there are any external CLI tools that support highlighting for nushell?

Missed replying to this for a few days but tried again today. Since the syntax cache is built for bat locally, a copy of the json plugin that runs bat instead of jq indeed works.
It runs on all text/* files and probably has some quirks, but it works for me at the moment. Thank you!

You can use the name rule and apply it only to files with the .nu extension:
[plugin]
prepend_previewers = [
  # Plugin path: ~/.config/yazi/plugins/nushell.yazi/init.lua
  { name = "*.nu", exec = "nushell" }
]

See the docs here: https://yazi-rs.github.io/docs/configuration/yazi#previewers


Define docs outline

define a rough outline for the docs (in /lib/docNavigationItems which is commented out for now)
redesign the layout so that it's ready to have more pages

This level should be hidden unless you're on "intro to covalues" page
I need to put each of those in separate routes first @aeplay

@aeplay I moved Guide under Getting Started. And the items inside it are now on the right side.

@aeplay

I removed the empty pages from the nav so we can merge this

@aeplay

I removed the empty pages from the nav so we can merge this

@aeplay I rearranged the proposed outline to cover more of what's already in the guide. The big question mark here for me is how to show separate the react and react native guide. Maybe first version could be just for react, and we link to the react-native readme?

Let's discuss here: https://jazz-homepage-git-trishalim-jazz-388-gcmp.vercel.app/docs


gocode: removal follow ups

Description of changes
gocode was removed in https://github.com/NixOS/nixpkgs/pull/276887, but I overlooked that it was still referenced in two places. This PR removes these references.
For vim-go, gocode support was removed in in 2020, as documented in the changelog.
For ycmd, gocode was removed, too, see https://github.com/ycm-core/ycmd/blob/b34008abd3b51992a7b6342a4e4e79740417e63c/build.py#L547-L548
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

When updating the vim-go path, I've noticed that the open todos are mostly already done. I've pushed another commit to add revive and cleanup the todo comments. I've you prefer a separate PR I can cherry-pick it elsewhere...

This seems like a huge rebuild, would it be better to revert the other MR and merge them to staging instead?

Yes. I'm not sure why so many packages need to be rebuilt, but I will have to reopen against staging.


Change in RenderingDevice decode api and docs - Version 2

Hi fellow devs,
It takes me some time because of personal matters but here is the 2nd version of my closed pull request: https://github.com/godotengine/godot/pull/51378
The goal is to give some generic methods that make easier working with gpu buffer in gdscript.
I updated my modification to have an impact only on the RenderingDevice exposed API and not the 'core' of this class.
Hope you will prefer it !

I am still unconvinced about this being useful. Compute is complex and I believe the marshalling functions in PackedByteArray should suffice and be performant enough for anyone wanting to use it. Additionally, the conversion functions to and from typed packed arrays on their own should be good enough.
My rationale is as follows:

If you want performance (no copies), you can use marshalling.
If you want ease of use, you can just use any of the functions to copy + convert

This PR covers the situation where you need both, and I am not entirely sure how common this is, and how difficult it is to workaround by using marshalling.

Thanks @reduz for your time on reviewing this PR.
I agree with you, we will do as you said.


add server_only account config

sipreg/reg: add peer address to sipreg
Related:

https://github.com/baresip/baresip/pull/3080

Is this needed ?
The sip message is passed in the sip response handler from sipreg to the application.
the application can fetch paddr / source address from there

You're right, I missed that. Thank you. Closing.


Allow item() and collection() to be called without a Transformer (IDE fix)

When implementing the TransformableInterface in the model, there's no longer a need to pass a Transformer to the item() and collection() methods. This functionality is allowed by dingo, and no errors are thrown.
However, the IDE will squawk when I call $this->response->item($model) because the parameter doesn't have a default value set.

Defaulting $transformer to null fixed the IDE problem, and I can't think of a scenario where adding this will cause an error.
Let me know what you think @jasonlewis :)

Actually, when using $this->response->collection($model) without passing a Transformer, it will throw a missing argument Exception. After defaulting $transformer to null in ResponseFactory, the Transformer is loaded just fine from the one specified in the Model.

Pass the second argument as an empty model. The transformer gets passed a model instance therefore you won't be able to do $this->getAttribute, so I don't understand the real benefit but keeping this logic in the model. Single responsibility and all...
—
Sent from Mailbox
On Sun, Jan 11, 2015 at 5:40 AM, p4bloch<EMAIL_ADDRESS>wrote:

Actually, when using $this->response->collection($model) without passing a Transformer, it will throw a missing argument Exception. After defaulting $transformer to null in ResponseFactory, the Transformer is loaded just fine from the one specified in the Model.
Reply to this email directly or view it on GitHub:
https://github.com/dingo/api/pull/332#issuecomment-69484457

I just wanted to point out that the call to item() and collection(), once you define the default Transformer in the Model, makes much more sense without any second argument at all. $this->response->collection($collection) looks way cleaner in my opinion :)

You need to update the docblock for this change. object|null.

TransformableInterface has been deprecated.

Oh, I didn't notice that. I know updating the wiki must not be a top
priority task, but deprecated functionality should be updated as soon as
possible :) Is there any way we can help?
Thank you for your time!
On Mon, Jan 12, 2015 at 4:51 AM, Jason Lewis<EMAIL_ADDRESS>wrote:

TransformableInterface has been deprecated.
—
Reply to this email directly or view it on GitHub
https://github.com/dingo/api/pull/332#issuecomment-69537514.


ES6 support

This issue was imported from Closure Compiler's previous home at http://closure-compiler.googlecode.com
The link to the original issue is:
https://code.google.com/p/closure-compiler/issues/detail?id=1102

Just downloaded latest compiler and tried language_in with ECMASCRIPT6_STRICT with whitespace and simple. In both cases the process didn't finish within 20 minutes so I killed it. Looking at htop revealed it consumed CPU only a few seconds after start.
Also it warned that ECMASCRIPT6_STRICT is not supported as output language. Is this planned?
Shouldn't at least whitespace work with ECMASCRIPT6_STRICT in and out?

The whitespace-only mode will probably work if you remove the check in CompilerOptionsPreprocessor. We just added that check so that users would get a clean error instead of random crashes in passes that don't understand ES6 yet. All passes will eventually understand ES6, it's just not a priority for us until browser support is most of the way there.
The compiler sitting idle for 20 minutes sounds like it was waiting to receive some JavaScript from stdin.

Thanks. I've got 3 types of warnings/errors:
WARNING - Keywords and reserved words are not allowed as unquoted property names in older versions of JavaScript.
ERROR - this language feature is only supported in es6 mode: short function syntax
ERROR - Parse error. IE8 (and below) will parse trailing commas in array and object literals incorrectly.
Is there an option to disable them? Not sure which jscomp_error flag applies...

Can you provide the full command-line that you're using and the JS you're trying to compile?

java -jar compiler.jar --compilation_level WHITESPACE_ONLY --js hannibal.m.js --js_output_file hannibal.js
https://dl.dropboxusercontent.com/u/354885/0ad/hannibal.m.js

Switching to --language_in=ES6 (or ES6_STRICT) and --language_out=ES5 (or ES5_STRICT or ES3) should solve all of these:
Keywords as property names (foo.class) is allowed in ES5 and up.
Arrow functions (aka "short functions") are allowed in ES6 and up.
Trailing commas in object/array literals are allowed in ES5 and up.

Well, It should remain ES6. Transpiling Maps and arrow functions will probably slow down the code a lot and --language_in=ES6 and language_out=ES6  doesn't work. (ES6 is only supported for transpilation to a lower ECMAScript version...)

Right. We added the "ES6 is only supported for transpilation" check to avoid crashes, because the huge majority of passes don't support ES6. You're welcome to remove that check in your local version of the compiler, and whitespace-only mode will probably work.

You're welcome to remove that check in your local version...

Not sure I understand, I only have "compiler.jar".

You'd have to build the compiler yourself with Ant or Maven if you want to make changes to it.

I see. Is it worth to create an issue to make this internal check a command line option? It would add out-of-the-box minimal ES6 support.

Yeah, we should probably do that. We'll want it eventually anyway. If you can open a new issue that would be great.

I think we should close this in favor of:

a bug for supporting ES6 with the NTI (type check only)
a bug for supporting ES6 for whitespace only (if it doesn't currently work)
a bug for supporting ES6 in simple mode end to end
a bug for supporting ES6 in advanced mode but we need to think what that would actually look like.

https://github.com/google/closure-compiler/issues/948
It does, with the --allow_es6_out flag
https://github.com/google/closure-compiler/issues/949
https://github.com/google/closure-compiler/issues/950

And, we can get rid of that flag once 948,949,950 are fixed. We just have it there right now, so that people get an error instead of a crash.

@MatrixFrog Can the webservice UI transpile ES6? I tried with
// ==ClosureCompiler==
// @compilation_level SIMPLE_OPTIMIZATIONS
// @output_file_name default.js
// @language-in ECMASCRIPT6_STRICT
// @language-out ES5_STRICT
// ==/ClosureCompiler==

// ADD YOUR CODE HERE
"use strict";
let hello = name => {
  alert('Hello, ' + name);
}
hello('New user');

We should change the default to in as ES6 and out as ES5, but I update the wiki page to include the "language_out" option which is needed:
https://github.com/google/closure-compiler/wiki/Additional-Webservice-Options
Here is an example, with "language" and "language_out":
http://closure-compiler.appspot.com/home#code%3D%252F%252F%2520%253D%253DClosureCompiler%253D%253D%250A%252F%252F%2520%2540compilation_level%2520SIMPLE_OPTIMIZATIONS%250A%252F%252F%2520%2540output_file_name%2520default.js%250A%252F%252F%2520%2540language%2520ECMASCRIPT6_STRICT%250A%252F%252F%2520%2540language_out%2520ES5_STRICT%250A%252F%252F%2520%253D%253D%252FClosureCompiler%253D%253D%250A%250A%252F%252F%2520ADD%2520YOUR%2520CODE%2520HERE%250A%2522use%2520strict%2522%253B%250Alet%2520hello%2520%253D%2520name%2520%253D%253E%2520%257B%250A%2520%2520alert('Hello%252C%2520'%2520%252B%2520name)%253B%250A%257D%250Ahello('New%2520user')%253B

@concavelenz thanks!


Export CSS custom properties

Adding the ability to generate/export CSS custom properties, using Style Dictionary.

@EllyLoel I've resolved the merge conflicts from my commit on #352 👍


Facing issue on connection in Android App.

I have set up the openvidu server locally in windows. I followed the all steps and I found the wss link at my command prompt. I put that link into the Android app but facing the issue. I am posting the screenshots below:
https://firebasestorage.googleapis.com/v0/b/gotravels-b42e2.appspot.com/o/device3.png?alt=media&token=87f786b6-4586-4a38-a88c-8b00487820ca
https://firebasestorage.googleapis.com/v0/b/gotravels-b42e2.appspot.com/o/device_ss1.png?alt=media&token=55d3effd-18cf-45ea-a369-49fbf9aeda56
I'm very new to this please guide me where I'm doing wrong. Thank you.

Replace the server.key file in the assets folder with your server's ssl certificate. This will solve the problem.

Does the server.key need to be configured in the project?where configured?

I not found assets folder and server.key in you project.I create a assets folder in main folder
why i request result is {"id":4,"result":{"value":"pong"},"jsonrpc":"2.0"}?

Why can't assets folder be recruited in this project? Thank you.


[BUG] - Hero unable to remove rounded borders

We need to add option remove rounded border on hero image or use rounded corners from wrapper

This is intentional, as the block is meant to have some spacing around, rounded corners, a shadow, and a fancy image effect to draw your eye in.


Instance paid on 2 bookplate funds got one 979

From this ticket https://github.com/sul-dlss/libsys-airflow/issues/1322 there is an instance ID that should have 2 979 for WHITEHEAD and STEINMETZ but it got 1. https://folio-test.stanford.edu/inventory/viewsource/b6e80385-3be3-4e84-a530-d89d072af46b?qindex=id&query=b6e80385-3be3-4e84-a530-d89d072af46b&sort=title
Need to find the dag run from digital_bookplate_instances that triggered digital_bookplate_979 to find out what happened.

Here is the XCOM for this one at task bookplate_fund_polines with po line ID ccee2e77-6c14-40b6-9e77-192b54576e34
https://sul-libsys-airflow-dev.stanford.edu/xcom?dag_id=digital_bookplate_instances&task_id=process-new-funds.bookplate_funds_polines&execution_date=2024-10-25T23:07:02%2B00:00&map_index=121
And here is hte XCOM for this one at the task instance_from_po_lines:
https://sul-libsys-airflow-dev.stanford.edu/dags/digital_bookplate_instances/grid?root=&execution_date=2024-10-25T23%3A07%3A02%2B00%3A00&tab=xcom&dag_run_id=manual__2024-10-25T23%3A07%3A02%2B00%3A00&task_id=process-new-funds.instances_from_po_lines&map_index=121
There might be a bug in triggering the digital_bookplate_979. The return for that tasks is just the list of dag run ids so we can't see what the data looked like that was sent. If the dag run for this one is the 121st index in the list of dag run IDs, it is dag run ID manual__2024-10-25T23:11:40.380475+00:00, then it is this one: https://sul-libsys-airflow-dev.stanford.edu/dags/digital_bookplate_979/grid?run_id=manual__2024-10-25T23%3A11%3A40.380475%2B00%3A00&execution_date=2024-10-25+23%3A11%3A40.380475%2B00%3A00&dag_run_id=manual__2024-10-25T23%3A11%3A40.380475%2B00%3A00
It shows it was triggered with the two bookplate funds and one instance ID:
{
    "druids_for_instance_id": {
        "b6e80385-3be3-4e84-a530-d89d072af46b": [
            {
                "druid": "nc092rd1979",
                "fund_name": "STEINMETZ",
                "image_filename": "nc092rd1979_00_0001.jp2",
                "title": "Verna Pace Steinmetz Endowed Book Fund in History"
            },
            {
                "druid": "ph944pq1002",
                "fund_name": "WHITEHEAD",
                "image_filename": "ph944pq1002_00_0001.jp2",
                "title": "Barry Whitehead Memorial Book Fund"
            }
        ]
    }
}

The return value for add_979_marc_tags looks correct:
{'979': [{'ind1': ' ', 'ind2': ' ', 'subfields': [{'f': 'STEINMETZ'}, {'b': 'druid:nc092rd1979'}, {'c': 'nc092rd1979_00_0001.jp2'}, {'d': 'Verna Pace Steinmetz Endowed Book Fund in History'}]}, {'ind1': ' ', 'ind2': ' ', 'subfields': [{'f': 'WHITEHEAD'}, {'b': 'druid:ph944pq1002'}, {'c': 'ph944pq1002_00_0001.jp2'}, {'d': 'Barry Whitehead Memorial Book Fund'}]}]}

Here is the log for add_marc_tags_to_record:
2024-10-25, 23:13:48 UTC] {utils.py:68} INFO - Constructing MARC tag 979
[2024-10-25, 23:13:48 UTC] {utils.py:117} INFO - Skip adding duplicated 979 field
[2024-10-25, 23:13:48 UTC] {utils.py:82} INFO - Constructing MARC record: {"leader": "00985cam a22003017  4500", "fields": [{"001": "in00000029302"}, {"008": "991209s1907    enk           000 0 eng d"}, {"005": "20231129185408.4"}, {"035": {"ind1": " ", "ind2": " ", "subfields": [{"a": "(OCoLC)ocm42964914 "}]}}, {"040": {"ind1": " ", "ind2": " ", "subfields": [{"a": "IUL"}, {"b": "eng"}, {"c": "IUL"}, {"d": "UKMGB"}, {"d": "OCLCQ"}]}}, {"016": {"ind1": "7", "ind2": " ", "subfields": [{"a": "002263097"}, {"2": "Uk"}]}}, {"035": {"ind1": " ", "ind2": " ", "subfields": [{"a": "(OCoLC)42964914"}]}}, {"050": {"ind1": " ", "ind2": "4", "subfields": [{"a": "PR6023.O7"}, {"b": "C15"}]}}, {"100": {"ind1": "1", "ind2": " ", "subfields": [{"a": "Lorrimer, Charlotte."}]}}, {"245": {"ind1": "1", "ind2": "4", "subfields": [{"a": "The call of the East."}]}}, {"260": {"ind1": " ", "ind2": " ", "subfields": [{"a": "London,"}, {"b": "Gay and Bird,"}, {"c": "1907."}]}}, {"300": {"ind1": " ", "ind2": " ", "subfields": [{"a": "265 pages"}]}}, {"336": {"ind1": " ", "ind2": " ", "subfields": [{"a": "text"}, {"b": "txt"}, {"2": "rdacontent"}]}}, {"337": {"ind1": " ", "ind2": " ", "subfields": [{"a": "unmediated"}, {"b": "n"}, {"2": "rdamedia"}]}}, {"338": {"ind1": " ", "ind2": " ", "subfields": [{"a": "volume"}, {"b": "nc"}, {"2": "rdacarrier"}]}}, {"340": {"ind1": " ", "ind2": " ", "subfields": [{"m": "8vo."}, {"2": "rdabf"}]}}, {"776": {"ind1": "0", "ind2": "8", "subfields": [{"i": "Online version:"}, {"a": "Lorrimer, Charlotte."}, {"t": "Call of the East."}, {"d": "London, Gay and Bird, 1907"}, {"w": "(OCoLC)890949848"}]}}, {"029": {"ind1": "1", "ind2": " ", "subfields": [{"a": "DEBBG"}, {"b": "BV017144610"}]}}, {"029": {"ind1": "1", "ind2": " ", "subfields": [{"a": "NZ1"}, {"b": "6760284"}]}}, {"029": {"ind1": "1", "ind2": " ", "subfields": [{"a": "UKMGB"}, {"b": "002263097"}]}}, {"979": {"ind1": " ", "ind2": " ", "subfields": [{"f": "WHITEHEAD"}, {"b": "druid:ph944pq1002"}, {"c": "ph944pq1002_00_0001.jp2"}, {"d": "Barry Whitehead Memorial Book Fund"}]}}, {"994": {"ind1": " ", "ind2": " ", "subfields": [{"a": "Z0"}, {"b": "STF"}]}}, {"948": {"ind1": " ", "ind2": " ", "subfields": [{"h": "NO HOLDINGS IN STF - 11 OTHER HOLDINGS"}]}}, {"999": {"ind1": "f", "ind2": "f", "subfields": [{"s": "63416ec0-32a1-418f-80dd-973c9028cdd3"}, {"i": "b6e80385-3be3-4e84-a530-d89d072af46b"}]}}]}
[2024-10-25, 23:13:49 UTC] {_client.py:1038} INFO - HTTP Request: PUT https://okapi-test.stanford.edu/change-manager/parsedRecords/63416ec0-32a1-418f-80dd-973c9028cdd3 "HTTP/1.1 202 Accepted"
[2024-10-25, 23:13:49 UTC] {utils.py:59} INFO - Successfully updated FOLIO Instance b6e80385-3be3-4e84-a530-d89d072af46b with SRS 63416ec0-32a1-418f-80dd-973c9028cdd3

It skipped adding a duplicated field (was there already a 979 for this record or did it interpret the STEINMETZ 979 as a duplicate?). Maybe the new_tag we are constructing isn't appending the second 979 but rather overwriting the first 979?

#1365
#1366
#1370

Woops. closed the wrong ticket!


Support callback path based on IApplicationBuilder.Map paths

Is your feature request related to a problem? Please describe.
The current callback path does not work together with path matches defined in IApplicationBuilder.Map. If adding the path match prefix from IApplicationBuilder.Map to the callback path, the callback endpoint becomes nested.
What area is it related to
BankIdAuthenticationHandler
Describe the solution you'd like
An option to add the path that I use in IApplicationBuilder.Map to the callback path. This can then be used in an override of ShouldHandleRequestAsync to handle the nested path.
Describe alternatives you've considered
URL rewriting etc.
Additional context
I have an open stack overflow question on how to work around the issue but it does not seem possible without changing the BankIdAuthenticationHandler.
https://stackoverflow.com/questions/58249177/using-remoteauthenticationhandler-callbackpath-with-iapplicationbuilder-path-mat?noredirect=1#comment102983312_58249177
I could spend the time implementing this if you think it it necessary and will make for a good addition.

Hi,
Thanks for posting such a detailed and well explained issue. I definitely think your scenario is something that we should support. Even though it might not be the most common use-case to wrap whole routing inside a map, it's certainly not an extreme edge case in my eyes.
The answer you've got in your stack overflow thread looks promising to me (https://stackoverflow.com/a/58317651/2521893). It points out that the matched path segments is added to HttpRequest.PathBase when running inside the context of a map .
From the asp.net core docs (https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware/?view=aspnetcore-3.0#use-run-and-map):

When Map is used, the matched path segments are removed from HttpRequest.Path and appended to HttpRequest.PathBase for each request.

So a possible solution could probably be to register a IHttpContextAccessor, then use that inside to RemoteAuthenticationHandler and then do something like what is suggested in the Stack overflow answer:
HttpContext context = _httpContextAccessor.HttpContext;
string returnUrl = UrlEncoder.Encode(context.Request.PathBase + Options.CallbackPath);

Nothing would make us happier than if you'd like to contribute with a pull request yourself! Either go with something like suggested above or if you have a better solution in mind feel free to try it out. I will gladly help out in discussion around this if needed!

Very nice, I will dig right into it.
I am not sure why you think I need the IHttpContextAccessor though. There is an HttpContext available in the base class RemoteAuthenticationHandler that it receives in the InitializeAsync method.
Is there any documentation that you know of that should be updated together with this change?

I am not sure why you think I need the IHttpContextAccessor though. There is an HttpContext available in the base class RemoteAuthenticationHandler that it receives in the InitializeAsync method.

Even better! 🙌🎉 Didn't know that from the top of my head 😳

Is there any documentation that you know of that should be updated together with this change?

Not sure that is needed tbh.
If I understand correctly (haven't had time to look into this closely) this change would be transparent to the end-user, wouldn't it? If you are inside of a map, then PathBase would be assigned the value of that path. If you're not inside a map, I would assume that the PathBase is just empty.
So the change would "just work" for everyone, without any extra configuration needed I guess. Please enlighten me if I'm not understanding this correctly 😄

Hi @span!
Thanks for a great Issue, done "by the book" :)
Your solution seems good! It would be great, as @fredrik-lundin said, if you can write two tests. One verifying the setup with map and one without. We have one or two samples of test for this flow already.
Btw, not that we are joining "Hacktober" and you'll recevie a free t-shirt if you get your PR merged in October :) #124
/Peter

Wow! I'm struggling a bit with the tests at the moment but hope to have a PR today.

Here is a first suggestion.
The implementation is simple enough. I just get the path base and add it to the login url and the callback url. Adding it to login url seems like the correct thing to do since they will probably match most of the time.
The tests took some more work. I have added a test that sets up a pipeline with the path base. I could not figure out a way to do this without refactoring the app configuration for the tests first.
The default case, where path base is not defined, is already covered by the existing test Challenge_Redirects_To_BankIdAuthentication_Login.
I would love to hear your thoughts before submitting a PR.

I would love to hear your thoughts before submitting a PR.

Had a look at your commit now, looks great from what I can see! You can make a PR so we can see that all tests are green etc. Also easier to comment if we were to find anything before merging :)
Btw, GitHub has Draft PR:s nowdays. They are great for early feedback, but can't be merged until the author (you in this case) says it's ready to do so :)

Ahh, my fault, I've tried upgrading to core 3. Will fix this. You still get your t-shirt :)

I think I've found a bug with this implementation in combination with the absolute URI resolving in BankIdApiController.
In the controller the following method is used to create an absolute redirect URI:
private string GetAbsoluteUrl(string returnUrl)
        {
            var absoluteUri = $"{Request.Scheme}://{Request.Host.ToUriComponent()}{Request.PathBase.ToUriComponent()}";
            return absoluteUri + returnUrl;
        }

As you see, it uses the PathBase to create the url. This probably means that we will get nested paths in this redirect URI. I ran across it when working on #119 and trying to redirect the user back to login page after cancellation.
I think it will be enough to remove the pathbase from the method GetAbsoluteUrl since the path base is now being resolved in the BankIdAuthenticationHandler.

Will close this once #128 is merged.

It seems the pipeline perhaps got bitten by this: microsoft/azure-pipelines-tasks#11569

YTes, it was that one :=) I fixed it during the weekend. Thank you for the link!

@span: With your PR (#128) now merged, would you agree this is now resolved so I can close it?

@PeterOrneholm yes 👯♂ 🎉 ☕


HTML Renderer: ability to control max number of cached elements on a column level

@skalkin is this enhancement still of current interest?

This issue has been mirrored in Jira: https://reddata.atlassian.net/browse/GROK-14602

This issue has been mirrored in Jira: https://reddata.atlassian.net/browse/GROK-16045

looks too old and no longer relevant


Force KLEE to generate unique values for test parameters

Description
In many cases UTBot generates test data which contains identical values. While formally it leads to required coverage it is less useful than could be with different values.
For instance here is swap function:
void swap(int *a, int *b) {
  int t = *a;
  *a = *b;
  *b = t;
}

UTBot generates following test:
TEST(regression, swap_test_1)
{
    int a = 0;
    int b = 0;
    swap(&a, &b);
    int expected_a = 0;
    EXPECT_EQ(expected_a, a);
    int expected_b = 0;
    EXPECT_EQ(expected_b, b);
}

Obviously it cannot detect many potential issues in the code which could be introduced later. Should we force UTbot to generate unique values whenever it's possible, such tests would be more powerful.

We can add klee_prefer_cex for prefer unique values


Missing vtkHausdorffDistancePointSetFilter in VTK

Hi,
I'm trying to align two polydata sets using the following example:
https://lorensen.github.io/VTKExamples/site/Python/PolyData/AlignTwoPolyDatas/
But VTK is unable to import the vtkHausdorffDistancePointSetFilter. I google the issue and searched the local files and it seems like this feature isen't implemented in the current release?
I'm looking for guidance on how I can get this to work. Is there a build that can be downloaded or is there a manual way to add this filter?
Best regards,
Patrik

You are correct. This class is only available in the VTK master and will be
available in future releases.
Andrew Maclean
On Tue, 18 Feb. 2020, 20:42 patrik<EMAIL_ADDRESS>wrote:

Hi,
I'm trying to align two polydata sets using the following example:
https://lorensen.github.io/VTKExamples/site/Python/PolyData/AlignTwoPolyDatas/
But VTK is unable to import the vtkHausdorffDistancePointSetFilter. I
google the issue and searched the local files and it seems like this
feature isen't implemented in the current release?
I'm looking for guidance on how I can get this to work. Is there a build
that can be downloaded or is there a manual way to add this filter?
Best regards,
Patrik
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/lorensen/VTKExamples/issues/637?email_source=notifications&email_token=ACBHQO37H4STNMJTCJA3QC3RDOUPBA5CNFSM4KXAXJG2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IOIFHLA,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACBHQOYUR6U2BUF7DRPJZPTRDOUPBANCNFSM4KXAXJGQ
.


change to use BaseURL

Something I hadn't considered was that sites that aren't hosted off of root will not work properly with "/".
Need to find all the references to just "/" and change them to use BaseURL.
I'm not sure what this will do with the deploy previews thing on Netlify though...which isn't a problem for me, per se, but for people using the theme.

For testing, can try this:
baseurl = "/"
canonifyurls = true


DRILL-7550: Add Storage Plugin for Cassandra

DRILL-7550: Add Storage Plugin for Cassandra
Description
This storage plugin enables Drill to query Apache Cassandra.  This PR is based on the work done here:
https://confusedcoders.com/data-engineering/apache-drill/sql-on-cassandra-querying-cassandra-via-apache-drill by @yssharma .
Documentation
More documentation coming.
Config:
 "cassandra": {
      "type": "cassandra",
      "hosts": [
        "<IP_ADDRESS>"
      ],
      "port": 9042,
      "username": "<username>",
      "password": "<password>",
      "enabled": false
    }

Testing
This PR has a number of unit tests provided, however requires a functional Cassandra instance operating on <IP_ADDRESS>:9042. Tested with the latest version of Cassandra.
Current Status:
Currently the plugin can successfully query Cassandra and get back the correct data.  However, the list below represents what I would consider necessary for this to be a proper MVP.  Feedback/suggestions/comments/contributions are welcome.
What remains to be completed:

[ ] Filter Pushdown
[x] Convert reader to EVF
[x] Limit Pushdown
[ ] Aggregate Pushdown
[ ] Complete Documentation
[ ] Pass down additional configuration options
[x] Pass username/password via configuration
[ ] Code cleanup

What’s the status on this? Scylla is Cassandra and just rewritten in c++ to be faster. API/CQL is all the same - I am looking to get a Cassandra and Scylla connector if at all plausible.
Please advise on status and capability.

What’s the status on this? Scylla is Cassandra and just rewritten in c++ to be faster. API/CQL is all the same - I am looking to get a Cassandra and Scylla connector if at all plausible.
Please advise on status and capability.

@joehoeller
Cassandra connectivity has been added in https://github.com/apache/drill/pull/2152.

What’s the status on this? Scylla is Cassandra and just rewritten in c++ to be faster. API/CQL is all the same - I am looking to get a Cassandra and Scylla connector if at all plausible.
Please advise on status and capability.

@joehoeller
Cassandra connectivity has been added in https://github.com/apache/drill/pull/2152.


Switching to NORMAL mode in terminals failed

Version confirmation

[X] Confirm

Following prerequisites

[X] Confirm

Neovim version
NVIM v0.9.0-dev
Operating system/version
Archlinux
Terminal name/version
kitty 0.27.1
$TERM environment variable
xterm-kitty
Branch info
main (Default/Latest)
Fetch Preferences
SSH (use_ssh = true)
How to reproduce the issue

Open a terminal
Press jk or double ESC

Expected behavior
NORMAL mode in terminal
Actual behavior
Terminal will be closed and nvim-tree opened
Additional information

It seems that <C-\> closed the terminal and <C-n> opened nvim-tree.
And the solution is add :with_noremap() like following the image.

True, you can open a pr if want to contribute for nvimdots.

I will :D
Also, <Esc> should not be used in keybindings for exiting the terminal in TERMINAL mode but only INSERT mode.


User snippets don't work inside JSX template

VSCode Version: 1.9.1
OS Version: macOS Sierra

Steps to Reproduce:

I created following snippet to quickly generate a component tag in JSX template (in the language JavaScript and JavaScript React )

{
    "FormattedMessage": {
        "prefix": "fmsg",
        "body": [
            "<FormattedMessage id=\"${1:message-id}\"",
            "	tagName=\"${2:span}\"",
            "	defaultMessage=\"${3}\"",
            "	values={{",
            "		${0}",
            "	}}",
            "/>"
        ],
        "description": "react-intl <FormattedMessage>"
    },
}

In a React .js file, if I place my caret inside other JSX tags and type fmsg and tab, it automatically complete as <fmsg></fmsg>.
If I place my caret NOT inside any JSX tags, the prefix fmsg completes to full snippet body as expected.

I also tried to add that snippet in language files HTML and XML, but it still doesn't complete in JSX templates.

@jrieken, @alexandrudima, @aeschli This looks like #19954. What was the outcome of that discussion for snippets in general inside of jsx/tsx?

I cannot reproduce. Typing fmsg and hitting Tab expands the snippet for me. Are you running with a special emmet configuration? What does IntelliSense show when hit Cmd+Space instead of Tab after fmsg?

Hi,
I just reset VSCode to default (deleted ~/.vscode and /Users/thanh/Library/Application\ Support/Code) and try the snippet and it still won't work inside JSX template. See attached screen record.

When entering Ctrl+Space (you meant this, NOT Cmd+Space, right?), it show no suggestions (shown in the screen record as well)
BTW, my colleague who uses VSCode on Linux also experiences the same issue.

Just found out a workaround.
I turned this on:
{
   // Insert snippets when their prefix matches. Works best when 'quickSuggestions' aren't enabled.
  "editor.tabCompletion": true
}

And it works when I just hit TAB.
However, this is not obvious since the above option is off by default.

Yeah, that the unhappy conflict about the tab key. The problem is that emmet, IntelliSense, and Tab Completion both fight over that key. Especially when quickSuggestion are enabled (default, IntelliSense as you type) the tab key is bound to inserting the suggestion. That is the reason we have tab completion disabled by default.

Closing this as designed because we have decided to have give IntelliSense a higher priority then tab completion. Mostly for historical reasons as tab completion came in pretty late.


[11.x] Authorization using Ability Objects

Ever since Gates and Policies were introduced in Laravel, they've been essential for every application I've worked on. Gates in particular have proven extremely useful whenever I wanted to keep authorization logic for each possible ability separate from each other (using invokable classes) to avoid large and complex policies. The only "downside" of Gates compared to Policies (which have auto-discovery) is the need to explicitly define them (and the risk of forgetting to do so). We can use inline authorization using Gate::allowIf and Gate::denyIf to eliminate the need of manually defining gates, but then before and after authorization hooks don't get executed.
This is something I also "struggled" with with custom validation rules before Rule Objects were introduced, which led me to wonder if this could be solved in a similar fashion: authorization using Ability Objects.
I originally implemented this concept in a codebase as a before authorization hook (which has been working great), but felt like it might be a nice addition to the framework and decided to try and translate this into the core. I presume this PR may not cover everything yet or may require some extra test coverage, but I'm not really familiar with these internals. So any guidance is welcome.
Proposal
Ability objects are plain php classes that provide a granted method, e.g.:
class ViewDashboardAbility
{
    public function granted(User $user): bool
    {
        // Some authorization logic...
        return false;
    }
}

There is no interface to implement, as gates can be used to authorise different types of resources, not only users/authenticatables.
They can be passed as an instance to the Gate, which can then evaluate the ability without the need if it being explicitly defined:
use Illuminate\Auth\Access\Gate;

Gate::allows(new ViewDashboardAbility());

Benefits
Ability objects allow developers to isolate authorization of individual abilities into separate classes without having to define them explicitly in the Gate. They can therefore be evaluated "on the fly":
use Illuminate\Auth\Access\Gate;

Gate::allows(new ViewDashboard());

// vs

Gate::define('view-dashboard', function (User $user): bool {
    // Some authorization logic...
});
Gate::allows('view-dashboard');

Additionally, they also eliminate the need to lookup the ability to determine the expected arguments, as arguments can be provided to the ability's constructor rather than through Gate methods:
use Illuminate\Auth\Access\Gate;

Gate::allows(new ViewCompanyInfoAbility($company));

// vs

Gate::allows('view-company-info', $company);

Integration within the framework
Artisan generator command
This PR includes a new make:ability Artisan command with similar behaviour compared to the make:policy command.
Support in Authorization middleware
Ability objects can be used in middleware as follow:
use Illuminate\Auth\Middleware\Authorize;

Route::put('/post/{post}', function (Post $post) {
    // The current user may update the post...
})->middleware(Authorize::using(ViewPostAbility::class, 'post'));

Support in Blade directives
Ability objects can be used in Blade's authorization directives the same way they can be used through Gate directly:
@can(new ViewDashboard)
@cannot(new ViewCompanyInfo($company))
// ... and so on

Backwards compatibility
In order to try not breaking current behaviour, I implemented resolving auth callbacks for ability objects as the last possible use case. Gate will always first look for policies, string callbacks and explicitly defined ability callbacks before attempting to resolve ability objects.
The additional benefit of this sequence is that developers can still explicitly define a Gate callback for an ability class name, which is useful to fake checking abilities when running tests:
// Arrange
Gate::define(ViewDashboardAbility::class, fn (): bool => false);

// Act
$subject->performActionRequiringAuthorization();

// Assert
$this->assertBasedOnFakedAbility();

Questions

My current implementation will evaluate Gate::has(new ViewDashboardAbility) as false as ability objects are not explicitly defined. Would this be considered the correct outcome? Or is the purpose of Gate::has() to be able to determine whether an ability can be resolved?
When providing an object instance without a granted() method, this implementation would currently throw a Call to undefined method granted() error. Should it perhaps throw a custom exception instead?

There is no interface to implement, as gates can be used to authorise different types of resources, not only users/authenticatables.

However, this sounds to me like it needs an interface:

When providing an object instance without a granted() method, this implementation would currently throw a Call to undefined method granted() error. Should it perhaps throw a custom exception instead?

The original implementation I made in a codebase indeed relied on an interface. But in that specific case, we were always using the user, so the interface made perfect sense.
If there is any interest in adding this to Laravel, I leave it up to @taylorotwell to decide what the appropriate Laravel approach would be.

I've been wanting to separate my model policies into smaller 'invokable' abilities for a while. Turns out it's actually already possible to do something close to what you suggest. It requires the ability to be defined (in a service provider), and it only works if the ability accepts an (optional) user argument:
Gate::define(ViewDashboard::class, ViewDashboard::class);

class ViewDashboard
{
    public function __invoke(User $user): bool
    {
        return true;
    }
}

Gate::allows(ViewDashboard::class); // true

Laravel resolves the ability class from the container and calls the __invoke method on it.
There's even test coverage for these callables:
https://github.com/laravel/framework/blob/11.x/tests/Auth/AuthAccessGateTest.php#L485-L492
I think it would be slightly more beneficial to try and improve the DX around this existing functionality. For example, by introducing auto-discovery for these ability classes, or by making it easier to define them in a way that doesn't require the class name to be passed twice.
Let me know your thoughts!

The original implementation I made in a codebase indeed relied on an interface. But in that specific case, we were always using the user, so the interface made perfect sense.

Just because you use an interface, that interface doesn't have to be tied to a user. I don't see where you make this connection.

Turns out it's actually already possible to do something close to what you suggest. […] I think it would be slightly more beneficial to try and improve the DX around this existing functionality.

Sounds good 👍🏻

I think it would be slightly more beneficial to try and improve the DX around this existing functionality. For example, by introducing auto-discovery for these ability classes, or by making it easier to define them in a way that doesn't require the class name to be passed twice.
Let me know your thoughts!

I know we can already work with invokable classes when you explicitly define them in the gate. It's actually how I've been using gates for quite a while now. Haven't thought about improving the current functionality, though, so that sure is interesting.
However, what I personally wanted to achieve with this is to avoid passing arguments through gate methods. I like how with the setup I had in mind, we would be able to provide arguments clearly through the ability's constructor (your IDE would even suggest what types should be provided). It's basically how we work with Rule Objects as well.
If there's an option to update the current invokable class implementation this way, I'm all for it. But depending on how developers are using the current implementation, changing that with the setup I have in mind would be a breaking change.
Does that make sense?

Just because you use an interface, that interface doesn't have to be tied to a user. I don't see where you make this connection.

Correct, introducing an interface would not require it to be tied to a user. That's not what I meant. But if an interface would be used, the argument of the granted() should get a generic type definition like mixed or object in order to allow the required flexibility. Or another interface would have to be introduced to be implemented by any resource that should be authorizable through ability objects.
It's all possible and to be fair, I would also prefer to work with an interface here. That's how I originally conceptualised it. But looking across the framework, I feel like there is a tendancy not to provide interfaces for such use-cases (thinking of middleware() for queued jobs, commands which should have a handle() or __invoke() method, ...). But if this an incorrect assumption, by all means, I'm more than happy to comply🙂

@devfrey Support in middleware is handled in this PR and does work the same way as when handled directly by Gate (see the section on support in middleware in the PR description). The way it works is that when an ability object is provided using it's classname, the Gate will automatically construct the anility with the provided arguments. So the argument will not be passed to the granted() method.
But I haven't looked at AuthorizesRequest indeed. So that would have to be added.

Just for reference, this is how I originally implemented this in one of my codebases:
<?php

declare(strict_types=1);

final readonly class AuthoriseUsingAbilityObject
{
    public function __construct(
        private Gate $gate,
    ) {}

    public function __invoke(?User $user, mixed $ability): ?bool
    {
        if (! $ability instanceof Ability) {
            return null;
        }

        // If the ability class is explicitly defined in the gate, we should handle
        // the ability using the resolver defined in the gate. This allows us
        // to define a resolver to fake ability results in tests...
        if ($this->gate->has($ability::class)) {
            return $this->gate->forUser($user)->allows($ability::class, $ability);
        }

        // When the ability class in not defined in the gate, we should resolve it on the fly...
        return $ability->granted($user);
    }
}

final class ServiceProvider extends IlluminateServiceProvider
{
    public function boot(): void
    {
        Gate::before(new AuthoriseUsingAbilityObject($gate));
    }
}

Very simple, but it obviously gets a bit more complex when trying to integrate it into the framework.

On second thought, letting the Gate automatically resolve object abilities provided using their classname may not be a great solution. I did so to enable ability objects to be used in middleware like so:
use Illuminate\Auth\Middleware\Authorize;

Route::put('/post/{post}', function (Post $post) {
    // The current user may update the post...
})->middleware(Authorize::using(ViewPostAbility::class, 'post'));

// Which does the following under the hood...
Gate::authorize(ViewPostAbility::class, $this->getGateArguments($request, $models));

However, when before or after hooks are defined, they will receive the ability classname (a string) as their second argument, whereas I would expect the ability object to be passed instead:
Gate::before(function (User $user, mixed $ability): void {
    //
});

// When invoked using the instance, the ViewDashboardAbility instance will be used to
// resolve authorization and be provided as the $ability argument for the hook...
Gate::allows(new ViewDashboardAbility);

// When invoked using the classname, an instance of ViewDashboardAbility will be used to resolve
// authorization, but the classname would be provided as the $ability argument for hooks...
Gate::allows(ViewDashboardAbility::class);

That’s some rather inconsistent behaviour. So perhaps it would be better to initialise the ability object in the middleware before passing it to the Gate. That way, before and after hooks would always receive an instance of the ability object and there would be no need for the Gate to automatically resolve ability classes to instances when provided using their classname.

I personally don't think we need to introduce another authorization "concept".

All good! Thanks for taking the time to have a look at it @taylorotwell.


Go back to golang:1.17-alpine

Clean up after https://github.com/docker-library/golang/issues/383 has been resolved.

blocked by #3401