Add arm32v7 builder

Create a new file called arm.Dockerfile that allows you to run it on arm32v7 CPUs such as the Raspberry Pi's CPU.

Could you elaborate on what the current problem is and how this helps?

At the moment the docker image for code-server only works on x86 processors (desktop processor) and returns the following error when you try to run on an arm32v7 processor (such as the Raspberry Pi):
standard_init_linux.go:211: exec user process caused "exec format error"
This is due to the fact that the docker image is built on an x86 processor. In this case, we don't even need to change the base image thanks to the fact that node has an arm image already available. So, in theory, this adds support for running code-server on a Raspberry Pi!
One problem with this is that in order for it to work on a arm32v7 processor it needs to be built on an arm32v7 processor. Sadly github-actions and travis-ci both don't support you to run your CI on arm32 CPUs. There are a few solutions to this tough:

Run a Jenkins server on a Raspberry Pi that you or someone on the team buys. I made a docker image that comes with Jenkins and docker installed https://hub.docker.com/repository/docker/mattgleich/arm32v7jenkins-docker
Try building it on an x86 with a CPU arm emulation tool such as QEMU

I am going to work to get this working and will submit a PR once done

@nhooyr we tried building it over at Drone but it keeps OOMing, we're still investigating what we can do with the build toolchain since it should work under normal circumstances since we run with 128GB RAM in Drone Cloud

That is unfortunate news. Not sure what we can do.

https://discourse.drone.io/t/drone-cloud-arm32-ooms-when-building/6622

Ah so we need to compile for ARM32 on ARM64.

I'll see on how to compile the project using 32-bit libs but AFAIK documentation to do it for Node.js is quite scarce but I'll keep looking.

@nhooyr AFAIK we should be compiling this on a 32-bit capable container, preferrably Raspbian, in a ARM64 environment (Raspbian can run 32-bit userland against a 64 bit kernel so it shouldn't be an issue).

@sr229 I'm with linuxserver.io and we publish a code-server image.  If you point me to your specific build instructions, I'll try to build it and let you know.

I tried a build on an odroid xu4, running armbian buster (arm32v7), kernel 4.14.165.
Ran in an ubuntu bionic docker container with node 12.15.0 and yarn 1.21.1
Followed the steps from https://github.com/cdr/code-server#development
yarn watch resulted in the following error:
root@3d29582a8c4c:/tmp/vscode/src/vs/server# yarn watch
yarn run v1.21.1
$ cd ../../../ && yarn watch
$ gulp watch --max_old_space_size=4095
[15:29:46] Node flags detected: --max_old_space_size=4095
[15:29:46] Respawned to PID: 8612

<--- Last few GCs --->

[8612:0x1e47950]     2561 ms: Mark-sweep 20.7 (29.5) -> 20.7 (29.5) MB, 52.8 / 0.0 ms  (average mu = 0.606, current mu = 0.001) allocation failure GC in old space requested
[8612:0x1e47950]     2614 ms: Mark-sweep 20.7 (29.5) -> 20.7 (22.0) MB, 53.4 / 0.0 ms  (average mu = 0.437, current mu = 0.001) last resort GC in old space requested
[8612:0x1e47950]     2669 ms: Mark-sweep 20.7 (22.0) -> 20.7 (22.0) MB, 54.6 / 0.0 ms  (average mu = 0.278, current mu = 0.001) last resort GC in old space requested

<--- JS stacktrace --->

==== JS stack trace =========================================

Security context: 0x35b0e235 <JSObject>
    0: builtin exit frame: compileFunction(this=0x2b042315 <JSGlobal Object>,0x2fd0a595 <JSArray[5]>,0x2fd0a585 <JSArray[0]>,0x25340275 <undefined>,0x253403bd <false>,0x25340275 <undefined>,0,0,0x2fd1f5e9 <String[#53]: /tmp/vscode/node_modules/typescript/lib/typescript.js>,0xb0580089 <Very long string[7797825]>,0x2b042315 <JSGlobal Object>)

    1: _compile [0x4407861d] [internal/modules/cjs/loader....

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
Aborted (core dumped)
error Command failed with exit code 134.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 134.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

@aptalca yea thats the same error @sr229 was getting. We need to cross compile on 64bit arm for 32bit arm.

Oh I see now, my mistake. I hadn't read the linked thread on drone and incorrectly assumed drone was using arm64 builders for arm32 work and that cross compile was the issue. That's why I tried on native arm32.

Some discussion at https://github.com/cdr/code-server/issues/35

My process for cobbling together builds is as follows:

Build Code Server on aarch64 docker container on a X86_64 host using qemu-aarch64-static via binfmt (linking needs ~12GB of RAM;  impossible on a 32-bit arch which can address a max of 4GB per process)
Shipping the compiled directory to a native arm6 system (steps are the same for arm32v7); in my case an RPi Zero W / RPi 2
Going into code-server-*-built and running npm rebuild on everything (node arm6 unofficial build needed)

That produces something that can be run via the node arm6 unofficial build via node ./build/code-server*/out/vs/server/main.js --auth none
The packing can't be done on a RPi2(1GB), because build.ts is trying to pass the entire packed binary to fs.writeFile as a buffer which easily exceeds the 1GB; from what I've read it should be possible to use streams to reduce that footprint to something more sane (streams -> https://medium.com/dev-bits/writing-memory-efficient-software-applications-in-node-js-5575f646b67f)
I'm not sure if streams could also help with the 12GB ram footprint of the build phase; I don't even know where to start investigating that one as build has way more going on.

I'm going to assume the build script is passing the entire thing as a buffer hence the OOM errors. I think this is something @code-asher would likely be happy to investigate to optimize the builds.

The next version will be out soon and it no longer packages into a
single binary so that should simplify building a bit.

Question (and if this needs to be a new issue just let me know):
I noticed that some arm binaries are being produced as part of the official releases. Ex: https://github.com/cdr/code-server/releases/tag/2.1698
I grabbed the ARM64 versions and deployed them onto a RaspberryPi just to see if they would work. I'm getting a bad image format style error:
code-server2.1698-vsc1.41.1-linux-arm64 $ ./code-server
-bash: ./code-server: cannot execute binary file: Exec format error

This leads me to believe that the current ARM binaries aren't compiled for the version of ARM the raspberryPi I am using runs (I have access to a Pi Zero W, as well as a Pi 4). Is there any chance we can get full build instructions for ARM if we want to try to compile and run the server on a raspberry pi.

I know that running the server on a RaspberryPi device, especially the 2.x code versions, will result in an OOM error - even if I managed to get the binary to run. I also understand the experience will be substandard. That being said - I still love the idea of being able to run this on ARM devices.

Hopefully with v3 we'll be able to distribute arm64 releases that work a bit better but in the meantime check out https://github.com/cdr/code-server/blob/master/doc/CONTRIBUTING.md#build for how to build.

I tried building on my RaspberryPi 4 according to the CONTRIBUTING.md file but ran into this error.
pi@raspberrypi:~/Projects/code-server $ yarn build
yarn run v1.22.4
$ yarn runner build
$ cd ./ci && NODE_OPTIONS=--max_old_space_size=32384 ts-node ./build.ts build
[default] rootPath is "/home/pi/Projects/code-server"
[default] codeServerVersion is "3.0.1"
[build] cleaning up old build...took 8ms
[build] building vs code...failed
Command failed: yarn gulp compile-build
/usr/bin/node[16083]: ../src/node_platform.cc:414:std::shared_ptr<node::PerIsolatePlatformData> node::NodePlatform::ForIsolate(v8::Isolate*): Assertion `data' failed.
Aborted
error Command failed with exit code 134.

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

That's a new one. Are you building with Node 12?

That's a new one. Are you building with Node 12?

Same problem, node 10.17.0, yarn 1.22.4, debian buster armhf

Once I switched from node 10 to 12, I get a JavaScript heap out of memory error.

Once I switched from node 10 to 12, I get a JavaScript heap out of memory error.

Same for me.
Node: v12.16.1
Yarn: 1.22.4

Gents, kindly read the entire thread before "me too" posting...  Per previous posts (https://github.com/cdr/code-server/issues/1337#issuecomment-585522283), it requires 12GB of RAM to build.

Ya'll can test the npm package: yarn global add @coder/code-server. 🎉

@nhooyr can you elaborate on this great news please? ^^

You can install node on a arm32v7 CPU and then run npm install -g @coder/code-server to install and use code-server.

Awesome! Which exact sem-ver of node is required?

There is no restriction, the native modules are recompiled against whatever version of node you have installed :)

I’ll finally be able to use my iPad as a dev device with my pi4 🎉

Works for me!
Thanks

For future reference, the installation process requires also yarn and if you don’t have libx11-dev, libxkbfile-dev and libsecret-1-dev it won’t compile.
Other than that it works great, finally we can run it on Raspberry Pi!

@dreamorosi came up to first two dependencies, thanks for the third ;)

Works great thanks !

Has anyone been able to run this version on raspberry pi via HTTPS and use it on iPadOS?
The HTTP without certificate works fine but as we know with limitations (no clipboard). If I add certificates or I use reverse proxy it works until the login screen but then it shows a blank screen.
I think the issue is localized to iPadOS because if I had some up to access thru laptop it works fine also with HTTPS.

@dreamorosi See #1541

@dreamorosi See https://github.com/cdr/code-server/issues/715

What should I look at exactly? In that thread there are mentions to an inexistent app, a paid 3rd party service and ssh access.

Sorry linked the wrong issue at first. #715 is what I meant to link. You need a certificate signed by a real CA for iPadOS, can't use a self signed certificate.

The npm package is now just code-server. https://www.npmjs.com/package/code-server
We were able to acquire it from the previous owner.

The npm PR is now official, see https://github.com/cdr/code-server#npm for docs.
Keeping this issue open until we have a armv7 builder for static releases.

@nhooyr Thanks it works great on Raspberry. Wonder if you could publish containers on Docker built for armv6 as well?
Thanks!

If anyone's still interested, the linuxserver.io image is now multi-arch, supporting amd64, arm32v7 and arm64v8.
It also has a bunch of mods you can install for things like docker&docker-compose, python2&3, nodejs, powershell, golang, etc.
https://github.com/linuxserver/docker-code-server

@aptalca That's awesome!
I'll be sure to add to the README under the docker section.
Any ideas why 3.3.1 doesn't work on ARM? The release is tested on arm64 by CI so it should be good.
And I've responded re #1704

@nhooyr Thanks. I'll open a new issue with logs from the arm image of 3.3.1

With a little bit of help from @nhooyr we fixed up the images and pushed a new build of 3.3.1 to https://github.com/linuxserver/docker-code-server
This one works on arm (passed basic gui tests)

@aptalca Congrats! Did you manually test or do you have some automated tests? I'd love to check them out if possible.

And do you guys host your own arm32 builders?

Our jenkins does automated checks, just a basic docker run, take a screenshot and get the logs and packages, but for some reason in this case I guess it took the screenshot a little too early, before the gui came up: https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/code-server/v3.3.1-ls43/index.html
Yes, we have arm32 and arm64 builders: https://ci.linuxserver.io/
It also spins up some aws slaves (x86_64 and arm64) when there is a backlog

That's awesome, we'd love to adopt that test in our CI with credit of course. Can you share the source?

Sure it's all open on github
This is the overview of our CI: https://github.com/linuxserver/pipeline-triggers
The jenkinsfiles are templated and this is the builder: https://github.com/linuxserver/docker-jenkins-builder
It takes in jenkins-vars.yml (and others) and generates the Jenkinsfile
In the Jenkinsfile, this is the part that does the test: https://github.com/linuxserver/docker-code-server/blob/master/Jenkinsfile#L483-L531
And it basically runs this tester script: https://github.com/linuxserver/docker-ci/blob/master/ci/ci.py
and that uses this image to take the screenshot: https://github.com/linuxserver/docker-tester

@aptalca Thank you so much! That will be incredibly useful. Currently our CI only installs an extension and confirms that worked but the screenshot approach is far more robust.

Sure, let us know if we can help in any way. You can pop into our discord to discuss further or if you have questions: https://discord.gg/YWrKVTn

Hi @aptalca @nhooyr trying to pull a docker image for coder to run RPi4. Where should I go for an “official image” ? Meaning one will be supported in the future? is it Linux Server io? Or something else? I saw a lot of threads around this in here but still unclear on which one to use. TIA

@Rathna-K
linuxserver.io is third party, not official.
If your pi is running a 64 bit OS, you can use either image. But if it is running a 32 bit OS like the stock raspbian image, then linuxserver one is your only choice for docker image at the moment.
The container port for the linuxserver one is 8443 because we published that image before code-server changed their default port from 8443 to 80. We didn't want to break anything for our existing users so we kept it as 8443. But you can map that port to whatever port you like on your host anyway since it's docker.
It serves http by default and we recommend a reverse proxy like this one: https://github.com/linuxserver/docker-letsencrypt it comes with a preset proxy conf that you can easily enable: https://github.com/linuxserver/reverse-proxy-confs/blob/master/code-server.subdomain.conf.sample
One cool thing about the linuxserver image is the list of mods we provide, that install popular dev packages in the container: https://mods.linuxserver.io/?mod=code-server
They are enabled by a simple env var when creating the image and thus are persistent through container recreation unlike things that are manually installed inside a running container (they disappear along with the container during update/recreation)

Yes, in terms of an arm32 docker image, your only choice at the moment is linuxserver.io.
For an officially supported solution you can use the NPM package and follow our setup guide. https://github.com/cdr/code-server/blob/master/doc/guide.md

The Pi 4 has full aarch64 support coming with Raspbian, and it already exists via Ubuntu and Gentoo, so it might be easier to just replace the hardware.

Yea but most users will still be using arm32v7 so we'll be sure to add a builder in the next few weeks.

If it helps you @nhooyr, Docker has native cross building support in Beta, so you just need to install the Edge version to use the BuildKit project.

I gave that a shot a few weeks ago @sr229
Unfortunately, qemu's user mode emulation kept erroring out when building code-server :(
Don't remember the specifics right now. I'll give it a shot again at some point.

Ya'll can test the npm package: yarn global add code-server. 🎉

Hey, apologies for the bump... not sure if I'm being a complete bozo but this has me stumped. Tried this a few times on my Pi 3B + running node v12 and all dependencies. I'm getting a successful install (success Installed<EMAIL_ADDRESS>with binaries) but code-server doesn't run. Not sure the install even did anything, even with --unsafe-perm added.

Does it give any errors? If it's something like "command not found" then you might just need to add the yarn binary directory to your PATH environment variable. I think by default it's ~/.yarn/bin.

Does it give any errors? If it's something like "command not found" then you might just need to add the yarn binary directory to your PATH environment variable. I think by default it's ~/.yarn/bin.

That worked, thanks! code-server is now running without throwing any errors in terminal but getting 'refused to connect' in the browser when loading the default address. Seems like default Raspbian install might need some firewall/port forward updating.

Are you connecting directly to code-server? If that's the case you might need to add --host <IP_ADDRESS>. By default it listens on localhost which is not accessible externally.

Are you connecting directly to code-server? If that's the case you might need to add --host <IP_ADDRESS>. By default it listens on localhost which is not accessible externally.

I'm connecting from another machine on my local network, but it was running @ <IP_ADDRESS>:8080. Also tried <IP_ADDRESS> but still refused.
If I VNC into the Pi, I can connect to code-server in that browser though - not ideal.

Hmm yeah if you're just accessing from another local machine via the ip then <IP_ADDRESS> will be necessary. But if that's still not working then it could definitely be a firewall issue.

I'm not super familiar with Raspbian but a cursor search seems to suggest it doesn't have a firewall enabled by default. Have you enabled iptables or ufw or something?

I think we should still supply prebuilt binaries and have postinstall download them (fallback to compilation if cannot find a prebuilt) to save time for them.

My process for cobbling together builds is as follows:

Build Code Server on aarch64 docker container on a X86_64 host using qemu-aarch64-static via binfmt (linking needs ~12GB of RAM;  impossible on a 32-bit arch which can address a max of 4GB per process)
Shipping the compiled directory to a native arm6 system (steps are the same for arm32v7); in my case an RPi Zero W / RPi 2
Going into code-server-*-built and running npm rebuild on everything (node arm6 unofficial build needed)

That produces something that can be run via the node arm6 unofficial build via node ./build/code-server*/out/vs/server/main.js --auth none
The packing can't be done on a RPi2(1GB), because build.ts is trying to pass the entire packed binary to fs.writeFile as a buffer which easily exceeds the 1GB; from what I've read it should be possible to use streams to reduce that footprint to something more sane (streams -> https://medium.com/dev-bits/writing-memory-efficient-software-applications-in-node-js-5575f646b67f)
I'm not sure if streams could also help with the 12GB ram footprint of the build phase; I don't even know where to start investigating that one as build has way more going on.

Thanks for your package @deftdawg! In fact it is the only one that runs on my pi zero w. However, I'd like to try the latest build of code-server but I'm totally new to docker and binfmt. I tried googling for results but cannot find the right way to go. Could you elaborate a bit more on how to "Build Code Server on aarch64 docker container on a X86_64 host using qemu-aarch64-static via binfmt"? I'm on a windows 10 64bit laptop with docker and qemu installed, but I cannot figure out what to do next :(
Thanks in advance!

@7HE-W0R1D  - Going from memory as my machine died; waiting for a NUC11 replacement to come in a few weeks hopefully.
You need a Linux machine (or VM) running X86_64 intel kernel with lots of RAM.   Trying to do this with a docker/VM on Windows is probably going to be painfully slow (though it should be possible if you are able to allocate tonnes of memory to docker).
On your linux machine/VM, you need to install qemu-user-static and possibily qemu-user-binfmt if it doesn't install as a dep.
What it does is essentially register some scripts with the binfmt kernel module that when it sees an ARM executable (by looking at the magic line of the file) it automatically emulates arm64.
Then run an ARM64 distro using qemu-aarch64-static and then follow the build steps to compile code-server.
It's not worth the effort tbqh...  Like what would you plan to do on a Pi Zero that a newer version of VS Code is going to make any difference?

Thanks for the timely reply! Well the last line is real good question, I guess I will give the VM/Docker a shot but if it fails(probably will) I'll stick to your prebuild package.

@deftdawg also I saw someone saying https://github.com/cdr/code-server/issues/1337#issuecomment-622457413 this yarn add command can do the thing. I tried it and it does build the package successfully, like for 2000 or 3000 seconds. But when I run code-server, the welcome password screen appears and then there will be a 500 error with no extra messages. Does that mean its impossible to use the yarn install (or yarn add now) on rpi or it is something that is fixable?

I've kinda just jumped into this project for beagleboard.org , we had been shipping "cloud9" for the last 5 or 6 years as our default ide.. It's been un-maintined for last few years with me just hacking on it keep it building on debian's default version of nodejs.
So i started looking at this project last week.. I've been successful on building it a Raspberry Pi 4 8GB model running in armhf mode. Currently 3.8.1/3.9.0 run great on our BeagleBone Blacks' (AM335x) Cortex-A8 with 512MB of ram..
Only 2 patches are required..
First there is an arfifcal stop in ci/lib.sh:
https://github.com/cdr/code-server/blob/v3.9.0/ci/lib.sh#L37-L50
arch() {
  case "$(uname -m)" in
  aarch64)
    echo arm64
    ;;
  x86_64 | amd64)
    echo amd64
    ;;
  *)
    echo "unknown architecture $(uname -a)"
    exit 1
    ;;
  esac
}

I just added an armhf option, it's not really used anywhere, more then likely to just stop the build with an exit 1..
From 51644af7dbe139d3f8db4170c7a6da18e2072051 Mon Sep 17 00:00:00 2001
From: Robert Nelson<EMAIL_ADDRESS>Date: Wed, 10 Feb 2021 10:20:51 -0600
Subject: [PATCH] bbb.io: ci/lib.sh lets not stop when detecting armv7l

Signed-off-by: Robert Nelson<EMAIL_ADDRESS>---
 ci/lib.sh | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/ci/lib.sh b/ci/lib.sh
index 96a413f1c..179c27688 100755
--- a/ci/lib.sh
+++ b/ci/lib.sh
@@ -42,6 +42,9 @@ arch() {
   x86_64 | amd64)
     echo amd64
     ;;
+  armv7l)
+    echo armhf
+    ;;
   *)
     echo "unknown architecture $(uname -a)"
     exit 1

Second, there is a gulp call in lib/vscode/package.json that requires 8GB of memory for JavaScript, i backed this down to 6GB which allows it to run on the 8GB Pi 4.. While watching a build in TOP, i'm really wondering what the point of this 8GB setting was..
https://github.com/cdr/code-server/blob/v3.9.0/lib/vscode/package.json#L32
"gulp": "gulp --max_old_space_size=8192",

From 00cf8a3d8a5d95183e7fd251d65cbd368e8c0c3e Mon Sep 17 00:00:00 2001
From: Robert Nelson<EMAIL_ADDRESS>Date: Wed, 10 Feb 2021 12:35:22 -0600
Subject: [PATCH] bbb.io: lib/vscode/package.json: limit memory from 8gb to 6gb

Signed-off-by: Robert Nelson<EMAIL_ADDRESS>---
 lib/vscode/package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/vscode/package.json b/lib/vscode/package.json
index d4efccba3..4e4e5060f 100644
--- a/lib/vscode/package.json
+++ b/lib/vscode/package.json
@@ -29,7 +29,7 @@
     "kill-watch-extensionsd": "deemon --kill yarn watch-extensions",
     "mocha": "mocha test/unit/node/all.js --delay",
     "precommit": "node build/hygiene.js",
-    "gulp": "gulp --max_old_space_size=8192",
+    "gulp": "gulp --max_old_space_size=6144",
     "electron": "node build/lib/electron",
     "7z": "7z",
     "update-grammars": "node build/npm/update-all-grammars.js",

anyways to build i grabbed nodejs' armv7l build from: https://nodejs.org/dist/latest-v12.x/  (as debian buster's nodejs is v10...)
Installed yarn 1.22.5 with nodejs's npm/nodejs build, then just ran (and waited about an hour..)
yarn
yarn build
yarn build:vscode
yarn release
yarn release:standalone

Here are my packaged build i'm testing for BeagleBoard.org, they do require a pure Debian userspace for armhf (ARMV7-A..)
http://repos.rcn-ee.net/debian/pool/main/b/bb-code-server/
For reference here is my full tree: https://github.com/rcn-ee/code-server/tree/v3.9.0-bbb.io (i nuked a few git calls as i'm building it in a debian sbuild with no git installed..)
Regards,

Are there still any plans to release the armhf binaries to accompany x86 and arm64 in the future?

Are there still any plans to release the armhf binaries to accompany x86 and arm64 in the future via GitHub? The linuxserver docker images are neat but I'm hoping for a bare metal installation if possible.

There isn't that large demand if you ask me, plus most of the development happens in ARM64 or x86_64 hosts, so there won't be any demand for this.

There isn't that large demand if you ask me, plus most of the development happens in ARM64 or x86_64 hosts, so there won't be any demand for this.

I can't speak beyond my own circumstances, but as I understand there many use Raspberry Pi/ODroid/etc either as standalone units or in k8'ed configuration as build servers which would suit code-server. It would be a presupposition to discount these platforms for lack of computing power/memory simply because there are small Raspberry Pis that exist.
It also looks like @RobertCNelson was able to tweak the build scripts trivially to produce viable 32-bit ARM builds, so I would hope that code-server can reproduce the builds officially.

If it's trivial to add + maintain, then we'd be happy to support this.
@eh8 we'd happily review a PR if you submitted one (same goes to you @RobertCNelson). You two probably more than we do (or me at least).
Otherwise, we can try and take a look at this in the near future.

There isn't that large demand if you ask me, plus most of the development happens in ARM64 or x86_64 hosts, so there won't be any demand for this.

I can't speak beyond my own circumstances, but as I understand there many use Raspberry Pi/ODroid/etc either as standalone units or in k8'ed configuration as build servers which would suit code-server. It would be a presupposition to discount these platforms for lack of computing power/memory simply because there are small Raspberry Pis that exist.
It also looks like @RobertCNelson was able to tweak the build scripts trivially to produce viable 32-bit ARM builds, so I would hope that code-server can reproduce the builds officially.

This is a valid reason though it's pretty hard to compile for ARMv32 considering there aren't any more public builders offering this, and the fact it's a little hard to configure the CI to do the compile steps for it (only for it to break really horribly).

Now that we have arm64-on-x64 cross compile, it should be fairly simple to also do armv7-on-x64 builds; if there's no PRs for this, I'll look into it in the future, but there are currently other issues that are higher priority.


updated screen shots

Hi,
How often are the screenshots here updated, and are they updated by language also?
Is there a possibility to update these screenshots as MFA is updated also, so that they can be used for adoption materials?
thanks

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

ID: 3d8550bf-6f13-14a9-2c11-ddf6048ecf07
Version Independent ID: 6230f8ad-a434-a6bb-e913-11ae265a2f41
Content: Set up a mobile device as your two-factor verification method - Azure Active Directory
Content Source: articles/active-directory/user-help/multi-factor-authentication-setup-phone-number.md
Service: active-directory
Sub-service: user-help
GitHub Login: @curtand
Microsoft Alias: curtand

@sorosgaa Thanks for the feedback !  I have assigned this issue to content author to investigate and update the document as appropriate.

Hey @sorosgaa
Thanks for providing feedback that helps improve our documentation. Unfortunately, at this time we have been unable to review your issue in a timely manner and we sincerely apologize for the delayed response.  We are currently updating all the end-user content and will be migrating to the Microsoft Support site. We are closing the issue as we are migrating the content to a new site. #please-close


Variable rnn/lstm_cell/weights/Adam/ does not exist, or was not created with tf.get_variable(). Did you mean to set reuse=None in VarScope?

I want to retrain the model,but this error happens,please tell me how to solve it~

I have the same issue when I try to train the model. Is there any updates ?

I have the same issue. Have you solved the problem?

referencing  http://blog.csdn.net/qq_25737169/article/details/77856961. When I tried experiment 1, I add code in red line. It worked.

when I run ROLO_network_test_all.py：
ValueError: Variable rnn/lstm_cell/kernel does not exist, or was not created with tf.get_variable(). Did you mean to set reuse=None in VarScope?
how to sovle it？

Thanks @123liluky ,
your solution worked for me.


Leaflet fixes

This fixes some issues pointed out in #454. There still is some bug in the resizing I'm tracking down.

@sccolbert - ready for review, as soon as the tests pass.

Ping @sccolbert for any other comments or merging...

:shipit:

Too quick for me! Another PR coming up which mugglifies the code :).


More high-level operations

Thank you all for putting this package together.
I am interested in seeing the operations expressed at the highest possible level. At times it feels as if we are redoing the undoing required to express everything as 1d arrays of floats.
For instance the following
    fc = freq_cis_real_row .+ freq_cis_imag_row .* im
    QQ = reshape(reinterpret(ComplexF32, s.q), (head_size ÷ 2, p.n_heads))
    KK = reshape(reinterpret(ComplexF32, s.k), (head_size ÷ 2, p.n_heads))

        # apply RoPE rotation to the q and k vectors for each head
        # rotate q and k by the freq_cis_real and freq_cis_imag
        QQ .= fc .* QQ
        KK .= fc .* KK

replaces some 20+ lines of code...
Not really an issue, but it does simplify the code. Nevertheless great job for making it all happen.

In the current code, this has changed to:
https://github.com/cafaxo/Llama2.jl/blob/b99c16ae1e0d5d7e7a54415c0380858bc7ca723f/src/inference.jl#L108-L127
Is this better?

This should be fixed now.

Indeed it is


Fix adapter pod command when user is using more than one replica

I think the command has bad formatting, if you check the rich diff you will see some + between the command


Question: KeyMajority for distributed locking

Is the KeyMajority related to number of connected instances? If I have a cluster of 3 redis servers, it needs to get a lock on at least 2 if KeyMajority is set to 2, right?
If that is the case, shouldn't the KeyMajority be set automatically depending in the  no. of connected instances? i.e. if InitAddress contains one address, the KeyMajority should automatically default to 1.

Hi @kamikazechaser,

Is the KeyMajority related to number of connected instances? If I have a cluster of 3 redis servers, it needs to get a lock on at least 2 if KeyMajority is set to 2, right?

Yes, you should set it to 2, at least.

If that is the case, shouldn't the KeyMajority be set automatically depending in the no. of connected instances? i.e. if InitAddress contains one address, the KeyMajority should automatically default to 1.

It is important to note that all your rueidislock.NewLocker should share the same KeyMajority, otherwise they will falsely believe they acquire some locks. Furthermore, redis instances, as well as your application, will come and go at any time.
So... Simply choosing the KeyMajority based on the number of connected redis instances is probably not a good idea. It will easily produce different KeyMajority setups.

Ah I see. Makes sense. So in short KeyMajority should be atleast n - 1 or 1 if n = 1.

Ah ok. Thanks! I'll mark this as closed.


cleanup install

propose to clean everything that is in share:

[x] retire build.py
[ ] ~move libs to amuse python module tree~ on second thought: any libs by derived packaged are installed in the same dir (otherwise a lot of extra configuration is necessary) so maybe leave as is
[ ] ~same for config~ config.mk is also shared between packages (and serves to detect installation type)
[ ] ~fix amuse_root_dir and amuse_data_dir (maybe retire the latter)~ for some other pr
[ ] ~check the data directory~ this merits its own issue

What's the status of this?

doesn't have high priority (needs fix)

didn't get any further than retiring build.py..

the fixes (the definitions see whether they are really necessary etc) of the various (internally) used directories is still worthwhile

@rieder I think this one is ok, but it needed a rebuild of the configure script, so if I merge this, be alert to errors here..

added: fixed some doc and makefiles


feat(forge): support multiple forks

Motivation
support multiple forks during tests

[x] hotswap state via cheatcode
[x] snapshot + revert
[x] change execution context between forks

Ref #1649 #834 #1162 #748 #939

Solution

This introduces new cheatcodes:
https://github.com/foundry-rs/foundry/blob/9088be55ad9718c7402d687bfaf6bd2fa7d19c29/testdata/cheats/Cheats.sol#L106-L118
forkBlockVariable basically addresses this #748
atm it's expected that fork related cheat codes are called in setup and snapshots from within the test.
another idea would be to add support for storing multiple RPC endpoints along with their aliases so that RPC endpoints can be used by an alias. Probably best to add this in the configuration

Can we split this PR in:

refactor of Executor
snapshot /revert cheats
mutli chain forking using cheats w/ applications in scripts + tests?

Idea lgtm as per usual

@gakonst
revamped the underlying Backend type completely
It's hard to separate because everything is related...
what's missing are some additional cheatcode tests, existing tests are passing though

Might be worth picking this up again now that scripting is pretty stable. Gonna expand the design space!

yeh, this is pretty close to being ready, have some unpushed changes and tests.
snapshots are also working now, should be able to get this ready EOW.

@mattsse one thing i found in multi-chain deployments is that some long-tail networks have very unreliable RPC endpoints.
That means that forge script might need to be resumed multiple times so that the script executes in its entirety. Due to the difference between networks, some networks needed lots of resumes, and others executed with the first try. This has the gotcha on how to treat a failing operation on a particular chain: a) you halt the entire script/test/execution or b) you log that this branch failed and continue with the rest of the chains/backends?
Not sure what the multi-chain feature will entail, but from a user perspective I would love to be able to:

Deploy in parallel between chains
Deploy in parallel or serially on a specific chain (especially long-tail ones)
Resume the script to the chains that need to be resumed

Not having a specific ask, but leaving it as feedback based on my recent experience on multi-chain deployment and chainops.

needs latest revm changes https://github.com/bluealloy/revm/pull/140
tracked here https://github.com/foundry-rs/foundry/pull/1979
otherwise this should work now

Another idea for a follow-on: Should we add a new cheatcode like vm.rollFork, only usable in Forking mode tests, which when you roll to a different block, it also changes the pinned block on the forking provider?
Just thinking of e.g. somebody wanting to run mainnet tests, I suspect they wouldn't want to edit the string each time

Another idea for a follow-on: Should we add a new cheatcode like vm.rollFork, only usable in Forking mode tests, which when you roll to a different block, it also changes the pinned block on the forking provider?
Just thinking of e.g. somebody wanting to run mainnet tests, I suspect they wouldn't want to edit the string each time

I think this is a really valuable feature.
Many projects will have a bunch of tests which all run on different chains (so different RPC urls) and different blocks. It would be really nice to just run forge test and have the various tests bounce around blocks and chains seamlessly (which I guess is the developer experience aim of this PR).
Another "nice to have" would be test fuzzing over block ranges as well as parameter inputs. I think Foundry might actually be the only framework fast enough to pull this off :)

What are we missing to get this over the line? REVM patch w/ rest of ethers crypto updates should be coming in today/tomorrow

this should be ready now @hexonaut
here are some additional example tests
https://github.com/foundry-rs/foundry/blob/36389a886a54f85bc866b5d3a70ed2de5c46c4b1/testdata/cheats/Fork2.t.sol
added cheatcodes:
https://github.com/foundry-rs/foundry/blob/36389a886a54f85bc866b5d3a70ed2de5c46c4b1/testdata/cheats/Cheats.sol#L138-L162

@mattsse Great job! Can't wait to test it :)
Question: WIll it work with forge script? Currently, my biggest use case is multi-network upgrade/deployment.

@mattsse Great job! Can't wait to test it :)
Question: WIll it work with forge script? Currently, my biggest use case is multi-network upgrade/deployment.

I'll tackle integrating this in script next, I'd appreciate if you could create an issue with current limitations and a wishlist, if this doesn't exist already?

Per @hexonaut's feedback / user testing I vote we get this merged and iterate on any bugs discovered

Per @hexonaut's feedback / user testing I vote we get this merged and iterate on any bugs discovered, wdyt?

+1 on that, writing docs for the book now

lfg


comm. guidelines

dear @MamadouSDiallo,
couldn't find the following:
Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

check other JOSS software to see what you can add to the readme.

Dear @soodoku
I added the contributing guide
Best


Disable --noImplcitAny, --noImplicitThis and --strictNullChecks in .js files

Implicit Any errors should be disabled in .js even if --noImplicitAny is set for the whole compilation.
noImplicitThis inferences should be enabled, but errors disabled
Similarly, inferences for --strictNullChecks for null and undefined types should stay, but errors like Variable is used before being assigned or Object is possibly undefined should be disabled.

This allows for users to mix and match .ts and .js files, and enable strict checks for the .ts files without having errors in the .js file

Variable is used before being assigned is definitely useful in .js files when used with const. The let case is not as easy, but will the compiler still be able to do TDZ inference?

The compiler can not get TDZ right all the time. in .ts files if the compiler misses, users can use the non-null assertion operator !, but that is not possible in a .js file, hence disabling the error.
for instance:
var x;
setx();
x++;

function setx() {
    x = 0;
}

So either we report the error, and users can not disable it, or not report the error at all.

What I'm wondering is whether TypeScript will be able to flag this specific error:
x // ReferenceError
let x // or `class x`

var doesn't create a TDZ so it's fine to just consider it undefined.

that is a different error. block scoped variables are flagged if used before they are declared in general, this is not impacted by --strictNullChecks.

It would be a huge downgrade to deactivate all these options. checkJs is here to give the power of TS type checking also in JS files, which is a great idea. And the power of TS is the strict mode. If it's just to infer types when it's possible, checkJs has no use, as good editors like VS Code already do that in JS from a long time...
I'm a JS/TS trainer, so I've played with the new checkJs in strict mode with all the cases I usually teach during courses, and except for a few issues (mainly relative to partial JSDoc support and a cast problem with DOM elements), it works very well.
I've seen no issue with noImplicitAny and the case you mention isn't affected by this option, so what's the reason to want to disable it ?
For strictNullCheck : I have no idea how to solve your case, but at first glance I would say it's weird (bad ?) code and it seems OK to me that TS raise an error so I opt for a better solution (after all, it's one goal of strict mode). If there is real situations like this, only the inconvenient errors should be disabled but not all the strictNullCheck option.
And in all cases (like in TS by the way), strict modes are options : so if a project don't want (or can't) be strict, then it just have to not activate those options (which is the default).
But that would be a very bad news to disable strict modes for those who want them.

Seems like too many folks are using --strictNullChecks and --noImplicitAny with --checkJs in the wild. closing for now.


create note: how to make a nice screenshot

What's this PR do?

[x] Add new routes for user
[x] Add instruction for using docker-compose

What are the relevant Git tickets?
// Put in link to Git Issue
Screenshots (if appropriate)
// Use Licecap to share a screencast gif.
Any background context you want to provide? (if appropriate)

Is there a blog post?
Does the knowledge base need an update?
Does this add new dependencies which need to be added to?

change in the content


Update @truffle/contract dependencies

Based on this advisory truffle updated its web3 and possibly ethers.js dependencies.

@openzeppelin/truffle-upgrades => @truffle/contract > ethers > elliptic
@openzeppelin/truffle-upgrades > @truffle/contract > web3

Thank you for reporting this @noobshow. Unfortunately there's nothing we can do about this in our package. Here's the dependency trail:
<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>  └─┬<EMAIL_ADDRESS>    └─┬<EMAIL_ADDRESS>      └──<EMAIL_ADDRESS>
Truffle depends on Ethers v4, which has a fixed dependency on<EMAIL_ADDRESS>so there is no way to update it to<EMAIL_ADDRESS>I've opened an issue in the Ethers repository to see if this can be fixed over there. https://github.com/ethers-io/ethers.js/issues/1439

I reported same to @truffle/contract already same day, the core truffle has
made those changes...
npm reports like 1500+ vulnerable dependencies and they mostly point to
this plugin on my server.
Would watch out for the updated release soonest...
Thanks.
On Fri, Apr 9, 2021, 12:27 AM Francisco Giordano @.***>
wrote:

Thank you for reporting this @noobshow https://github.com/noobshow.
Unfortunately there's nothing we can do about this in our package. Here's
the dependency trail:
@@.***
└─┬ @@.***
└─┬ @@.***
└─┬<EMAIL_ADDRESS>
  └──<EMAIL_ADDRESS>
Truffle depends on Ethers v4, which has a fixed dependency on
@., so there is no way to update it to @.
I've opened an issue in the Ethers repository to see if this can be fixed
over there. ethers-io/ethers.js#1439
https://github.com/ethers-io/ethers.js/issues/1439
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/OpenZeppelin/openzeppelin-upgrades/issues/321#issuecomment-816298481,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABZYTEAFYTXQXUXMCZZGOTDTHY3VLANCNFSM42Q7YCMA
.

This is not something Truffle can fix unless they upgrade to Ethers v5.

Thanks for the info... Switching to hardhat, seems to now suite my current style.


AttributeError: 'NoneType' object has no attribute 'file' for task.output

https://github.com/steamship-core/steamship-langchain/blame/ca61185ed6914b6695984f1723e2dcecbafc280e/src/steamship_langchain/llms/openai.py#L185
Hi! I forked "Question Answering with Sources using LangChain on Steamship" on Replit. I created a Steamship API key and saved it as a secret. But when I tried running the app I hit this error. It seems to originate at this line mentioned above.
Is this bug, or more likely, am I making a dumb mistake somewhere?
My goal: get a langchain app up and running. Then, modify prompting/fine-tuning etc for my own goals.

I'm also hitting this error on a fork of "Simple LangChain Prompting on Steamship":
Name: Zachary
Traceback (most recent call last):
  File "api.py", line 59, in <module>
    print(colored(f'{api.greet(user=name).strip()}\n', "green"))
  File "/home/runner/Simple-LangChain-Prompting-on-Steamship/venv/lib/python3.8/site-packages/steamship/invocable/invocable.py", line 61, in wrap
    return function(self, *args, **kwargs)
  File "api.py", line 34, in greet
    return llm(prompt.format(user=user))
  File "/home/runner/Simple-LangChain-Prompting-on-Steamship/venv/lib/python3.8/site-packages/langchain/llms/base.py", line 145, in __call__
    return self.generate([prompt], stop=stop).generations[0][0].text
  File "/home/runner/Simple-LangChain-Prompting-on-Steamship/venv/lib/python3.8/site-packages/langchain/llms/base.py", line 86, in generate
    raise e
  File "/home/runner/Simple-LangChain-Prompting-on-Steamship/venv/lib/python3.8/site-packages/langchain/llms/base.py", line 83, in generate
    output = self._generate(prompts, stop=stop)
  File "/home/runner/Simple-LangChain-Prompting-on-Steamship/venv/lib/python3.8/site-packages/steamship_langchain/llms/openai.py", line 71, in _generate
    sub_generations = self._batch(prompts=_prompts, stop=stop)
  File "/home/runner/Simple-LangChain-Prompting-on-Steamship/venv/lib/python3.8/site-packages/steamship_langchain/llms/openai.py", line 113, in _batch
    generation_file = task.output.file
AttributeError: 'NoneType' object has no attribute 'file'

@thomzi12 Unfortunately, I'm not able to duplicate this issue. What happens if you try running it again?
If the task fails, I suppose we could see this issue. PR sent to help tease it out.


Adds optional keyFile config option

Resolves https://github.com/alessiodionisi/homebridge-lgtv2/issues/3 .
Depending on the user homebridge is being executed with, you may not have permissions to write to the default file location for the LGTV key, required by the LGTV2 dependency.
This change introduces a new keyFile config option to provide an alternative location that the user has access to read/write to.

Thank you!


inline disabling SpaceBetweenParens doesn't work

Related to my previous issue #552, I'm unable to work around this as there's no way to disable SpaceBetweenParens inline. I've done this fine with other linters, but this one gets ignored and the errors still occur.
// scss-lint:disable SpaceBetweenParens

@mixin o-blox-offset( $size: null ) {
  @if $size {
    margin-top: o-blox-offset-get( $size );
  } @else {
    margin-top: o-blox-offset-get();
  }
}

// scss-lint:enable SpaceBetweenParens

The line with o-blox-offset-get() still has the error:
assets/scss/base/global/_mixins.scss:392 [W] SpaceBetweenParens: Expected 1 space between parentheses instead of 0
assets/scss/base/global/_mixins.scss:392 [W] SpaceBetweenParens: Expected 1 space between parentheses instead of 0

Hey @montchr, I'm not able to reproduce this with the latest master branch of scss-lint (running Ruby 2.2.2 with sass 3.4.16).
Feel free to reopen if this is still a problem on the latest master (e19a4b8be9ccbf47e33815c617355602553b48ac at time of writing).


stop hard-coding trustDomain

This breaks new quickstarts < v1.1.9

This breaks new quickstarts < v1.1.9

I don't think that statement is entirely accurate fwiw. but this pr seems fine to me :)


[Feature] Bar marker line

What problem does this feature solve?
There is no way to create marker lines for each bar with an appropriate width. There is a workaround with marker pointers, but the width has to be hardcoded, which means that it doesn't respond to changes in number of bars, redimension, etc.
The workaround:
option = {
  title: {
    text: 'Rainfall vs Evaporation',
    subtext: 'Fake Data'
  },
  tooltip: {
    trigger: 'axis'
  },
  legend: {
    data: ['Rainfall', 'Evaporation']
  },
  toolbox: {
    show: true,
    feature: {
      dataView: { show: true, readOnly: false },
      magicType: { show: true, type: ['line', 'bar'] },
      restore: { show: true },
      saveAsImage: { show: true }
    }
  },
  calculable: true,
  xAxis: [
    {
      type: 'category',
      // prettier-ignore
      data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    }
  ],
  yAxis: [
    {
      type: 'value'
    }
  ],
  series: [
    {
      name: 'Rainfall',
      type: 'bar',
      data: [
        2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3
      ],
      markPoint: {
        data: [
          { type: 'max', name: 'Max' },
          { type: 'min', name: 'Min', coord: [10,10]  }
        ],
        symbol: "rect",
        silent: true,
        symbolSize: [40,3],
        itemStyle: {color: "black"},
        label: {show: false },
      },
    },
    {
      name: 'Evaporation',
      type: 'bar',
      data: [
        2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3
      ],

    }
  ]
};

Result:

This issue was already created: https://github.com/apache/echarts/issues/17210
What does the proposed API look like?
Add a new option for the bar series barMarker, which would have a data property with the ordered value of the markers. It could also just have a reference to a dataset with datasetIndex.  Another option would be to have a list of objects with the dimension name and the value to assign (this way you would be able to omit columns).
It should have styling options similar to the ones offered by markPoint:

Specify symbol (it could be a circle, line, dotted line, etc.)
Label
Color
Etc.

This would allow us to create things like this (photo from apexcharts):

Another way of doing this would be with the markPointer like the workaround but allow to set a custom string for the size (something like ['barWidth', 3])

This can be done with a scatter series apart from a bar series. See the demo.

Perfect, thank you!


how to exprot apidocs to postman or like a json file

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

Hi @lifetea,
You already have an option to get the JSON result of your endpoints. 👍 You can check out this example.
In that example, if you define one variable you can subscribe to some events like finish. That event exposes the JSON OpenAPI result.
Therefore, you can do this:
// Define variable
const listener = expressJSDocSwagger(app)(options);

listener.on('finish', swaggerObject => {
  console.log(JSON.stringify(swaggerObject, null, 2)); // This will print JSON OpenAPI result
});

Then you will get the OpenAPI JSON output and that result you can use it to upload in postman.
I hope this helps you. You can find more info on our docs page.

Hi, @lifetea did my last comment solve your issue? 😄

I'm closing this because of inactivity. Please feel free to open if there is something we need to fix.


"Target" in Roll Results is not localizable

"Target" word is hardcoded and not available for i18n

Including this literal in the next release. It'll still say Target until someone updates the various translations though, but it will now at least be available to anyone to lodge a pull request for.


irc: disconnected

I am creating a private server for my currency and am getting this error.
The connection to my Coinomi wallet happens (or at least shows my IP in Electrum debug), but there is no update in the app.
[02/11/2019-23:59:40] irc: disconnected
[02/11/2019-23:59:40] irc
Traceback (most recent call last):
  File "build/bdist.linux-x86_64/egg/electrumserver/ircthread.py", line 172, in run
    client.process_forever()
  File "build/bdist.linux-x86_64/egg/irc/client.py", line 278, in process_forever
    self.process_once(timeout)
  File "build/bdist.linux-x86_64/egg/irc/client.py", line 259, in process_once
    self.process_data(i)
  File "build/bdist.linux-x86_64/egg/irc/client.py", line 216, in process_data
    c.process_data()
  File "build/bdist.linux-x86_64/egg/irc/client.py", line 573, in process_data
    self.disconnect("Connection reset by peer")
  File "build/bdist.linux-x86_64/egg/irc/client.py", line 779, in disconnect
    self._handle_event(Event("disconnect", self.server, "", [message]))
  File "build/bdist.linux-x86_64/egg/irc/client.py", line 673, in _handle_event
    self.reactor._handle_event(self, event)
  File "build/bdist.linux-x86_64/egg/irc/client.py", line 398, in _handle_event
    result = handler.callback(connection, event)
  File "build/bdist.linux-x86_64/egg/electrumserver/ircthread.py", line 107, in on_disconnect
    raise BaseException("disconnected")
BaseException: disconnected
[02/11/2019-23:59:40] ERROR: cannot parse 56a619a4f56b47592bfe5258b49c7b8e0e92afb14fba3f303555d29c363f5995
[02/11/2019-23:59:40] block 389986 (0 0.04s) 9c293dce39703da3bd4b90e225568be5a81fef9278f689120f3b8c2552b01dc5 (0.00tx/s, 0.90s/block)
[02/11/2019-23:58:08] cannot start TCP session[Errno 2] No such file or directory ('MYIP', 49618)
[02/11/2019-23:58:18] TCP   MYIP:44956   26 unknown

https://github.com/spesmilo/electrum-server#note

This code is now unmaintained. The replacement code for electrum server is ElectrumX: https://github.com/kyuupichan/electrumx


Support for new deployment options

As per GitHub's blog and documentation, there are now new options for deployments (transient, production, auto_inactive). This PR implements support for those options.
Note that although the samples in config_file.md don't show entries such as heroku_test_name, those are still carried over in the payload. They would now better fit in the provider_env_name entry.

@atmos bumppppp. Any thought about getting this in?

Can you merge my env_type branch into yours?

How are people with older configs supposed to upgrade?

BC break should be avoided IMO, so both syntaxes should be supported.

any update on this ?


Blank when using over SSH

I'm attempting to create a SSH2 server based off https://github.com/mscdex/ssh2
When setting input and output on the screen as the 'accept()' of SSH2's shell event, which is an instance of Stream with type Duplex and has stdin and stdout.
Reading input from the stream works correctly as i can destroy the screen and close the socket when pressing Q on a screen.key listener. however the screen is blank on the client's side.. It does do something, making the screen blank completely, but executing screen.render() doesn't seem to do anything..
If I disable the output property on the screen object it is correctly displaying on the server end. This indicates to me that the code does actually work, just not over the SSH2 connection.

Gist of a test case for this.
https://gist.github.com/AviiNL/4b920432024741f1e80ff9144db4f5c5

Hey @AviiNL I too am interested in using blessed with ssh2 so after some digging I noticed that there was a single character being displayed on the ssh client, in the top left corner. Then realized that the screen rows and columns was set to 1. I tried to set screen.rows etc but it never took effect and returned 1 right after setting. From the telnet example found https://github.com/chjj/node-telnet2 & https://github.com/chjj/blessed#server-side-usage I saw that the rows and columns was being set on the stream and then 'resize' was being emitted. After doing that things started working.
The 'window-change' event didn't seem to get called initially, only when things are actually resized, not to worry. So we need to resize on window change and set things one time initially. I've put together a working script, hope this helps.
https://gist.github.com/psierks/76040ccae47c9653aaa63a225cd4bdba

Hello,
Thanks to you, I successfully setup blessed with ssh2.
However, I also need to use screen.spawn or screen.exec, but these methods doesn't redirect the output to the SSH console but to the Node console.
How can I fix this ?
Thanks


[Issue-2299] Support yarn session cluster queue label quick-setting

What changes were proposed in this pull request
Issue Number: close #2299

Brief change log
Support yarn session cluster queue label quick-setting
Verifying this change

Manually verified the change by testing locally.

Does this pull request potentially affect one of the following parts

Dependencies (does it add or upgrade a dependency): (yes / no)

moved into https://github.com/apache/incubator-streampark/pull/2317


EB 4.4 fails on transparent endpoints

When attempting to log in to an SP which uses the transparent metadata, accessing the endpoint that ends in the md5sum produces warnings (or, if display_errors is off, leads to a non-functional WAYF screen).
Warning: array_keys() expects parameter 1 to be array, null given in /var/opt/openconext/OpenConext-engineblock-4.4.8/library/EngineBlock/Corto/ProxyServer.php on line 332
Warning: Invalid argument supplied for foreach() in /var/opt/openconext/OpenConext-engineblock-4.4.8/library/EngineBlock/Corto/ProxyServer.php on line 334
Warning: Invalid argument supplied for foreach() in /var/opt/openconext/OpenConext-engineblock-4.4.8/library/EngineBlock/Corto/ProxyServer.php on line 343
This is most likely due to the setRemoteIdpMd5() function still trying to use the removed _entities attribute.
    public function setRemoteIdpMd5($remoteIdPMd5)
    {
        $remoteEntityIds = array_keys($this->_entities['remote']);

        foreach ($remoteEntityIds as $remoteEntityId) {
            if (md5($remoteEntityId) === $remoteIdPMd5) {

The code that triggers the warning on line 343 should probably be removed instead of fixed (tracked in #168).


Polymerase

Polymerase as a general enzyme type (with at least 4
children DNA-dependent RNA, RNA-dependent RNA,
DNA-dependent DNA, RNA-dependent DNA) -  this then
leads to a  new Interaction Type being need
"elongation" or something similar, which could be
generic enoough to also cover protein synthesis should
we ever need to.
Sandra
Reported by: orchard

thanks www.movied.org


Idempotency.get doesn't seem to work

Hi,
I have multiple issues with Idempotency.get. I can not make it work on the sandbox environment.
Idempotency.get("")
When the string is empty we have this weird error instead of a 404 I suppose.
{"Message":"No HTTP resource was found that matches the request URI 'https://api.sandbox.mangopay.com/v2.01/XXXXX/responses/'."} (MangoPayApi.scala:160)
Idempotency.get("77nurmc5up7vl8i9rkfnggtc30")
When I try to get an existing key I have the following message:
com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:90)
com.mangopay.core.RestTool.checkResponseCode(RestTool.java:974)```

Do you know what is the problem?

Thanks for your help.

Hey @ArnaudT, I've just run the unit test and this does seem to be working correctly - have you had a quick check at this for a example?

Do I have to use a specific version of the lib?
I am using one from Mars 22th.
I have issues when I run the tests:
https://github.com/Mangopay/mangopay2-java-sdk/issues/25
Do I have to do anything special?

Nothing special, nor a particular release no - is even the unit test failing for you?

The ApiIdempotencyTest works fine.
What does mean the error java.lang.IllegalStateException: Not a JSON Object: null (JsonElement.java:90)?
The response is not valid. Even if the key was not found I do not understand with the lib crash.
Do you have more information on your side?
Thanks.

Hmm, strange - could you let me know your sandbox ClientId and the datetime of when you had the problem please?

sent to<EMAIL_ADDRESS>Thanks.

OK, thanks. Let's continue the discussion there.


Update user-submission.md

Fixed page formatting for bullets

@JohanFreelancer9 PLease copy review

Issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/4618

@JohanFreelancer9 I don't see any changes requested.

@JohanFreelancer9


KAFKA-6218 : Optimize condition in if statement to reduce the number of comparisons

Changed the condition in if statement
(schema.name() == null || !(schema.name().equals(LOGICAL_NAME))) which
requires two comparisons in worst case with
(!LOGICAL_NAME.equals(schema.name()))  which requires single comparison
in all cases and _avoids null pointer exception.

_
Committer Checklist (excluded from commit message)

[+ ] Verify design and implementation
[+ ] Verify test coverage and CI build status
[+ ] Verify documentation (including upgrade notes)

SUCCESS
8071 tests run, 5 skipped, 0 failed.
--none--

FAILURE
7963 tests run, 5 skipped, 1 failed.
--none--

SUCCESS
8071 tests run, 5 skipped, 0 failed.
--none--

Failure unrelated.
This is my first PR for kafka.
@guozhangwang @dguy @bbejeck can you please review.
Thanks.

cc @rhauch @ewencp

Thank you guys for the quick response. Look forward to work on more issues.


add danger running on circle

Fails

:no_entry_sign:

Danger failed to run dangerfile.ts.

Error undefined
undefined
undefined

Dangerfile
import { danger, warn } from 'danger' // eslint-disable-line

const LIB_REGEX = /^Source\/.*\.js$/
const TEST_REGEX = /(\/__tests__\/.*|(\\.|\/)(test|spec))\\.jsx?$/

/**
 * CHECK FOR CHANGELOG UPDATE
 */

const hasCHANGELOGChanges = danger.git.modified_files.some(
  path => path === 'CHANGELOG.json'
)
const hasLibraryChanges = danger.git.modified_files.some(path =>
  LIB_REGEX.test(path)
)

if (hasLibraryChanges && !hasCHANGELOGChanges) {
  warn('This pull request may need a CHANGELOG entry.')
}

/**
 * CHECK FOR PACKAGE.JSON UPDATE
 */
const packageChanged = danger.git.modified_files.some(
  path => path === 'package.json'
)
const lockfileChanged = danger.git.modified_files.some(
  path => path === 'package-lock.json'
)

if (packageChanged && !lockfileChanged) {
  const message =
    'Changes were made to package.json, but not to package-lock.json'
  const idea = 'Perhaps you need to run `npm run install`?'
  warn(`${message} - <i>${idea}</i>`)
}

const corePackageChanged = danger.git.modified_files.some(
  path => path === 'core-modules/package.json'
)
const coreLockfileChanged = danger.git.modified_files.some(
  path => path === 'core-modules/package-lock.json'
)

if (corePackageChanged && !coreLockfileChanged) {
  const message =
    'Changes were made to core-modules/package.json, but not to core-modules/package-lock.json'
  const idea = 'Perhaps you need to run `cd core-modules && npm run install`?'
  warn(`${message} - <i>${idea}</i>`)
}

/**
 * CHECK FOR TESTS
 */

const hasTestChanges = danger.git.modified_files.filter(path =>
  TEST_REGEX.test(path)
)

// Warn if there are library changes, but not tests
if (hasLibraryChanges && !hasTestChanges) {
  warn(
    "There are library changes, but not tests. That's OK as long as you're refactoring existing code"
  )
}

  Generated by :no_entry_sign: dangerJS


Updated input list for MIDI and F operators in README to match actual inputs and outputs

The : operator's inputs were in a different order in README.MD and the code itself
The F operator's ouputs were listed as 1 and 0 instead of * and .

These are generated from npm run docs.
I've updated the docs for the individual operators.
You can see f.js for next time :)
Thanks for the head's up!


We can merge what we have for now

We currently can do this because:

It'll show the current twitter previews within discord which will make the website a tad bit better
The website just looks better this way
We have nothing sensitive on the website (just an unfinished admin dashboard that's pretty secure)

It'll also mean that all our commits will be added to our profiles which is also good (commits in other branches don't count for some reason on git)


ChOma does not support injecting signatures into apps that are in Chinese

Hello,
I have a question regarding the ChOma. It seems that ChOma does not support injecting signatures into apps that are in Chinese. Is there any plan to support Chinese apps in the future?
Thank you!

This sounds like either an edge-case issue with Chinese characters, or not a ChOma issue at all. What is the file name of the binary you’re trying to use?

No, it's that all Chinese apps I encounter are like this, without exception.
You can download an iOS version of the app from https://weixin.qq.com/. Alternatively, you can try downloading any app from the Chinese Apple Store.

No, it's that all Chinese apps I encounter are like this, without exception.
You can download an iOS version of the app from https://weixin.qq.com/. Alternatively, you can try downloading any app from the Chinese Apple Store.

This sounds like either an edge-case issue with Chinese characters, or not a ChOma issue at all. What is the file name of the binary you’re trying to use?

Downloading straight from the App Store means that the apps will be encrypted. Are you decrypting the main app before you re-sign?

Downloading straight from the App Store means that the apps will be encrypted. Are you decrypting the main app before you re-sign?

Isn't the exploit utilized here one that allows you to sign an already installed app directly without needing to decrypt it? First, I use https://github.com/tyilo/insert_dylib to insert the dylib file into the Mach-O binary, and then copy the dylib to the app's Frameworks directory. After that, I use ct_bypass to re-sign both the binary and the dylib.


rdoc2.2 file not found error during make

Hi All,
I'm trying to compile openwsman 2.4.12 (and 2.4.10) on a CentOS 7 system and am running into the error below. I've also duplicated the error on a RHEL 7 system as well and don't know what to make of it. It seems to be erroring on rdoc and trying to reference version 2.2, but I'm running 4.2.0 of rdoc. I am however running ruby 2.2.0, so not sure it its thinking it should be looking for 2.2 of rdoc because of the version of ruby I have, though both are the latest versions available. Any ideas would be greatly appreciated.
Creating rdoc documentation .../bin/sh: ./rdoc2.2: No such file or directory
make[2]: *** [bindings/ruby/html] Error 127
make[1]: *** [bindings/ruby/CMakeFiles/ruby_gem.dir/all] Error 2
make: *** [all] Error 2
These are the results of the cmake command I ran.
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
-- Check for working C compiler: /bin/cc
-- Check for working C compiler: /bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /bin/c++
-- Check for working CXX compiler: /bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Version 2.4.12
-- Package Version "2.4"
-- Plugin API Version "2.2"
-- Package build timestamp<PHONE_NUMBER>47
-- Building for x86_64
-- Libraries will be installed in /usr/lib64
-- Configuration will be installed in /etc/openwsman
-- building PAM authentication
-- Found OpenSSL: /usr/lib64/libssl.so;/usr/lib64/libcrypto.so (found version "1.0.1e")
-- Building Ruby bindings
-- Building Python bindings
-- Found PythonLibs: /usr/lib64/libpython2.7.so (found version "2.7.5")
-- Found PythonInterp: /bin/python (found version "2.7.5")
-- Found PythonLibs...
-- Building Python...
-- Found Perl: /bin/perl (found version "5.16.3")
-- Building Perl bindings
-- Found Java: /bin/java (found version "<IP_ADDRESS>")
-- Found JNI: /usr/lib/jvm/jre/lib/amd64/libjawt.so
-- Building Java bindings
-- Found SWIG: /usr/local/bin/swig (found version "3.0.3")
-- SWIG 3.0.3 found at /usr/local/bin/swig
-- Python executable: /bin/python
-- Python lib dir: /usr/lib64/python2.7/site-packages
-- Ruby executable: /usr/local/bin/ruby
-- Ruby version: 2.2.0
-- Ruby dir: /usr/local/lib/ruby/vendor_ruby/2.2.0
-- Ruby arch dir: /usr/local/lib/ruby/vendor_ruby/2.2.0/x86_64-linux
-- Ruby include path: /usr/local/include/ruby-2.2.0
-- Java compiler: /bin/javac
-- Java runtime: /bin/java
-- Java archiver: /bin/jar
-- Java archive name: openwsman-x86_64-2.4.12.jar
-- Perl executable: /bin/perl
-- Perl core dir: /usr/lib64/perl5/CORE
-- Perl vendor arch dir: /usr/lib64/perl5/vendor_perl
-- Perl vendor lib dir: /usr/share/perl5/vendor_perl
-- Found CURL: /usr/lib64/libcurl.so (found version "7.29.0")
-- Found LibXml2: /usr/lib64/libxml2.so (found version "2.9.1")
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Looking for crypt.h
-- Looking for crypt.h - found
-- Looking for ctype.h
-- Looking for ctype.h - found
-- Looking for CUnit/Basic.h
-- Looking for CUnit/Basic.h - not found
-- Looking for dirent.h
-- Looking for dirent.h - found
-- Looking for dlfcn.h
-- Looking for dlfcn.h - found
-- Looking for ifaddrs.h
-- Looking for ifaddrs.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for memory.h
-- Looking for memory.h - found
-- Looking for netinet/in.h
-- Looking for netinet/in.h - found
-- Looking for net/if_dl.h
-- Looking for net/if_dl.h - not found
-- Looking for net/if.h
-- Looking for net/if.h - found
-- Looking for pam/pam_appl.h
-- Looking for pam/pam_appl.h - not found
-- Looking for pam/pam_misc.h
-- Looking for pam/pam_misc.h - not found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for security/pam_appl.h
-- Looking for security/pam_appl.h - found
-- Looking for security/pam_misc.h
-- Looking for security/pam_misc.h - found
-- Looking for stdarg.h
-- Looking for stdarg.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stdlib.h
-- Looking for stdlib.h - found
-- Looking for strings.h
-- Looking for strings.h - found
-- Looking for string.h
-- Looking for string.h - found
-- Looking for sys/ioctl.h
-- Looking for sys/ioctl.h - found
-- Looking for sys/resource.h
-- Looking for sys/resource.h - found
-- Looking for sys/select.h
-- Looking for sys/select.h - found
-- Looking for sys/sendfile.h
-- Looking for sys/sendfile.h - found
-- Looking for sys/signal.h
-- Looking for sys/signal.h - found
-- Looking for sys/socket.h
-- Looking for sys/socket.h - found
-- Looking for sys/sockio.h
-- Looking for sys/sockio.h - not found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for vararg.h
-- Looking for vararg.h - not found
-- Looking for sys/time.h
-- Looking for sys/time.h - found
-- Looking for getifaddrs
-- Looking for getifaddrs - found
-- Looking for alloca
-- Looking for alloca - not found
-- Looking for alloca.h
-- Looking for alloca.h - found
-- Looking for bcopy
-- Looking for bcopy - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of in_addr_t
-- Check size of in_addr_t - failed
-- Check type in_addr_t as HAVE_IN_ADDR_T
-- Check type in_port_t as HAVE_IN_PORT_T
-- Check type sa_family_t as HAVE_SA_FAMILY_T
-- Check type int as HAVE_INT
-- Check type long as HAVE_LONG
-- Check type long long as HAVE_LONG_LONG
-- Check type short as HAVE_SHORT
-- Performing Test HAVE_SA_LEN
-- Performing Test HAVE_SA_LEN - Failed
-- Performing Test HAVE_IPV6
-- Performing Test HAVE_IPV6 - Success
-- SSL_LIB is at >libssl.so.1.0.1e<
-- Package file openwsman-2.4.12
-- Configuring done
-- Generating done
-- Build files have been written to: /root/openwsman-2.4.12/build
And these are the results of the make command I ran afterwards.
Scanning dependencies of target wsman_curl_client_transport
[  1%] Building C object src/lib/CMakeFiles/wsman_curl_client_transport.dir/wsman-client-transport.o
[  2%] Building C object src/lib/CMakeFiles/wsman_curl_client_transport.dir/wsman-curl-client-transport.o
Linking C shared library libwsman_curl_client_transport.so
[  2%] Built target wsman_curl_client_transport
Scanning dependencies of target wsman_client
[  2%] Building C object src/lib/CMakeFiles/wsman_client.dir/wsman-client.o
Linking C shared library libwsman_client.so
[  2%] Built target wsman_client
Scanning dependencies of target wsman
[  2%] Building C object src/lib/CMakeFiles/wsman.dir/u/buf.o
[  3%] Building C object src/lib/CMakeFiles/wsman.dir/u/log.o
[  4%] Building C object src/lib/CMakeFiles/wsman.dir/u/memory.o
[  5%] Building C object src/lib/CMakeFiles/wsman.dir/u/misc.o
[  6%] Building C object src/lib/CMakeFiles/wsman.dir/u/uri.o
[  7%] Building C object src/lib/CMakeFiles/wsman.dir/u/uuid.o
[  8%] Building C object src/lib/CMakeFiles/wsman.dir/u/lock.o
[  9%] Building C object src/lib/CMakeFiles/wsman.dir/u/md5.o
[ 10%] Building C object src/lib/CMakeFiles/wsman.dir/u/strings.o
[ 10%] Building C object src/lib/CMakeFiles/wsman.dir/u/list.o
[ 11%] Building C object src/lib/CMakeFiles/wsman.dir/u/hash.o
[ 12%] Building C object src/lib/CMakeFiles/wsman.dir/u/base64.o
[ 13%] Building C object src/lib/CMakeFiles/wsman.dir/u/iniparser.o
[ 14%] Building C object src/lib/CMakeFiles/wsman.dir/u/debug.o
[ 15%] Building C object src/lib/CMakeFiles/wsman.dir/u/uerr.o
[ 16%] Building C object src/lib/CMakeFiles/wsman.dir/u/uoption.o
[ 17%] Building C object src/lib/CMakeFiles/wsman.dir/u/gettimeofday.o
[ 18%] Building C object src/lib/CMakeFiles/wsman.dir/u/syslog.o
[ 18%] Building C object src/lib/CMakeFiles/wsman.dir/u/pthreadx_win32.o
[ 19%] Building C object src/lib/CMakeFiles/wsman.dir/u/os.o
[ 20%] Building C object src/lib/CMakeFiles/wsman.dir/wsman-libxml2-binding.o
[ 21%] Building C object src/lib/CMakeFiles/wsman.dir/wsman-xml.o
[ 22%] Building C object src/lib/CMakeFiles/wsman.dir/wsman-epr.o
[ 23%] Building C object src/lib/CMakeFiles/wsman.dir/wsman-filter.o
[ 24%] Building C object src/lib/CMakeFiles/wsman.dir/wsman-dispatcher.o
[ 25%] Building C object src/lib/CMakeFiles/wsman.dir/wsman-soap.o
[ 26%] Building C object src/lib/CMakeFiles/wsman.dir/wsman-faults.o
[ 27%] Building C object src/lib/CMakeFiles/wsman.dir/wsman-xml-serialize.o
[ 27%] Building C object src/lib/CMakeFiles/wsman.dir/wsman-soap-envelope.o
[ 28%] Building C object src/lib/CMakeFiles/wsman.dir/wsman-debug.o
[ 29%] Building C object src/lib/CMakeFiles/wsman.dir/wsman-soap-message.o
[ 30%] Building C object src/lib/CMakeFiles/wsman.dir/wsman-subscription-repository.o
[ 31%] Building C object src/lib/CMakeFiles/wsman.dir/wsman-event-pool.o
[ 32%] Building C object src/lib/CMakeFiles/wsman.dir/wsman-cimindication-processor.o
Linking C shared library libwsman.so
[ 32%] Built target wsman
[ 33%] Generating openwsman_wrap.c
Creating wrapper code for Python ...Done.
Scanning dependencies of target pywsman
[ 34%] Building C object bindings/python/CMakeFiles/pywsman.dir/openwsman_wrap.o
[ 34%] Building C object bindings/python/CMakeFiles/pywsman.dir//openwsman.o
Linking C shared library _pywsman.so
[ 34%] Built target pywsman
[ 35%] Generating openwsman_wrap.c
Creating wrapper code for Ruby...Done.
Scanning dependencies of target rbwsman
[ 36%] Building C object bindings/ruby/CMakeFiles/rbwsman.dir/openwsman_wrap.o
[ 37%] Building C object bindings/ruby/CMakeFiles/rbwsman.dir//openwsman.o
Linking C shared library _openwsman.so
[ 37%] Built target rbwsman
Scanning dependencies of target ruby_gem
[ 38%] Generating ext
[ 39%] Generating html
Creating rdoc documentation .../bin/sh: ./rdoc2.2: No such file or directory
make[2]: *** [bindings/ruby/html] Error 127
make[1]: *** [bindings/ruby/CMakeFiles/ruby_gem.dir/all] Error 2
make: *** [all] Error 2

This is no plain CentOS / RHEL system you're running on, right ?
Apparently you have Ruby 2.2 installed which was just released ~2 weeks ago.

fixed in 886fcfeec942c0411520d7eb700a389e3d87c1c9

Thanks a lot. Tested and it works on ruby 2.2.

Great, thanks for the feedback !


Songs don't change immediately after manually changing

The same song keeps playing, even though the thumbnail and the title being changed.
It takes time to change, and suddenly all the previous clicks are recorded and songs go way ahead than the very next one.

Thanks for the report. I'll see if I can test/debug this.
Is this something you can reproduce every time or is it just sometimes?


Add Device Tracker

Add code for a Device Tracker (Enhancement request https://github.com/mitch-dc/volkswagen_we_connect_id/issues/34)
Code concept merged from https://github.com/robinostlund/homeassistant-volkswagencarnet into currnet code.

Thanks for all the improvements!

Great work @ColinRobbins , i can verify that it is working :) only thing i can see is that the state for the device tracker updates every 30 second which could make an impact if you would like to have an automation that triggers a notification when location changes.


Add except option to config

It allows you to exclude certain keys from both the exported JS translations file and from the file generated for the Rails' assests pipeline.
Example:
  translations:
    - except: ['active_admin', 'ransack']

This will make it so that the generated/exported JS file including all translations will skip any phrases which are listed under the active_admin or ransack keys (which makes sense as you don't need translations from those gems in the frontend; they only unnecessarily make your translations file bigger).
This configuration is valid for each "segment" in the config file, so you can have various exception rules for each segment.
PS: We needed that option to slim down our exported JS file (it has become too big).
Closes #125

Will let people review for this weekend and merge next week.
Then release another version

Awesome! Looking forward for any feedback :)

If no one object to this change (including option name, how it works, etc.) today.
I will merge this tomorrow and release a new version.

Since no one objects to this PR, merging :)

Will release a new version today or tomorrow
Got an issue #313 not sure if need fixing

Thank you!


Store color data to prevent opengl embed lag

Overview: What does this pull request change?

Motivation and Explanation: Why and how do your changes improve the library?

The current OpenGLSurface, when input a colorscale and axes, lag when rotating and moving the camera. This is because the surface recalculates the colors to each point on every frame. This PR stores the color data to be reused every frame.
This was the test Scene used:
from manim import *
from manim.opengl import *

class Test(Scene):
    def construct(self):
        s = OpenGLSurface(
            lambda u, v: np.array([u, v, u * v]),
            [-2, 2],
            [-2, 2],
            colorscale=(PURE_BLUE, PURE_RED),
            axes=ThreeDAxes(),
        )
        self.add(s)
        self.interactive_embed()

Links to added or changed documentation pages

Further Information and Comments

Reviewer Checklist

[x] The PR title is descriptive enough for the changelog, and the PR is labeled correctly
[ ] If applicable: newly added non-private functions and classes have a docstring including a short summary and a PARAMETERS section
[ ] If applicable: newly added functions and classes are tested

Does this accomplish the same thing as #3119?

@alembcke I have tested and no, the pr does not fix this problem.


boards: Remove Kconfig I2C_[0-9] usage

The Kconfig I2C_[0-9] sybmols don't have any meaning for the majority of
SoCs.  The drivers doesn't utilize them and no sample or test code does
either so we can remove setting them in board Kconfig.defconfig files.
Signed-off-by: Kumar Gala<EMAIL_ADDRESS>

passing CI, but timing out.  Will merge by hand.


waylyrics: 0.3.12 -> 0.3.13

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/waylyrics/waylyrics/releases.
meta.description for waylyrics is: Desktop lyrics with QQ and NetEase Music source
meta.homepage for waylyrics is: https://github.com/waylyrics/waylyrics
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.3.13 with grep in /nix/store/89y5pn2imb0jd4f0sb1m9ddjv9z9zlh5-waylyrics-0.3.13
found 0.3.13 in filename of file in /nix/store/89y5pn2imb0jd4f0sb1m9ddjv9z9zlh5-waylyrics-0.3.13

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

waylyrics

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/89y5pn2imb0jd4f0sb1m9ddjv9z9zlh5-waylyrics-0.3.13 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A waylyrics https://github.com/r-ryantm/nixpkgs/archive/aeea356ac61fe9ecd06db0085996e17a3924c3c6.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/aeea356ac61fe9ecd06db0085996e17a3924c3c6#waylyrics

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/89y5pn2imb0jd4f0sb1m9ddjv9z9zlh5-waylyrics-0.3.13
ls -la /nix/store/89y5pn2imb0jd4f0sb1m9ddjv9z9zlh5-waylyrics-0.3.13/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

waylyrics

Maintainer pings
cc @ShadowRZ @Aleksanaa for testing.


Added CREATE and DELETE playlist APIs

#8 + added a CREATE API + added LiveApi UTs

This also targets #3 , missing the in memory tests, will add them soon

@Insire I would like this to count towards my Hacktober fest PRs, didn’t know that it had to be merged between 1-31 October. If possible, let’s not merge this until October 1st 😊

Sure thing

Force pushed change to the author email, forgot to switch away from my work email :)

Thanks for your contribution :)


Comparing enums sent through redirecting const constructors marked as throwing

Reproduced in both 2.3.0 and 2.3.1. Only affects the Analyzer, CFE runs this fine.
enum Bar {
  qux,
}

class Foo {
  final int bar;
  const Foo._(int bar, Bar b) : bar = bar | (b == Bar.qux ? 2 : 1);
  const Foo({int bar: 8, Bar b: Bar.qux}) : this._(bar, b);
}

const foo = const Foo(bar: 5); // Error here, "Evaluation of this constant expression throws an exception."

Using identical instead of operator== seems to fix the issue in the analyzer.

This is the current expected behavior: == in constant expressions is restricted to basic types, and enums are not included in those.
You have to use identical.

Thanks for the report! Closing as working as intended. @stereotype441 to confirm and re-open if we believe this is an issue


Azure pipeline that uses the CodeExporterApp to convert samples & make PRs to destination git repos

@turbobobbytraykov see my comment above


The window has crashed (reason: 'crashed', code '-2147483645')

Issue Type: Bug
Having the same issue as #131714 with crashes (though I've never seen the crash at start up like mentioned there, just while working). I've manage to reproduce this with extensions disabled and within a relatively short time frame. I've only noticed this since the latest version, but it may just be down to what I was doing rather than any possible regression.
Repro summary
I was skimming quite quickly through all the files of my TS codebase searching for stuff that I'd want to add to sideEffects in package.json, so possibly related to a lot of file switching quite quickly? Closest I can give to repro steps:

Launch VSCode (optionally with extensions disabled)
Start tasks for a local webserver and a webpack task in watch mode (not sure if these have any relevance but mentioning just in case)
Start clicking through files in the explorer (I was using the single click which opens the sort of 'preview' tab that's temporary and replaced if you single click another file).
Spend a few seconds skim reading that file, maybe folding some code blocks too
Move on to the next file
Repeat ad nauseam, when trying to repro I've generally had success in about 5-10 minutes.


Incorrect default per_page on GET /api/devices

Description
Like the title says. The default value for per_page for the API route /api/devices is, according to your documentation, 10.
Currently, as of 0.14.1, it's 1
Please update the documentation or the code to reflect the change
Edition
Community
Version
0.14.1

Thank you very much, and no worries, thanks for the reactivity.

Can confirm this has been fixed as of 0.14.3-rc1

This bug also exist in v0.16.0.
request url: http://{restApiUrl}/api/devices?page=1&per_page=2
it dosn't work. and return all devices.


add openshift apiserver config types

This is the external representation of https://github.com/openshift/origin/blob/master/pkg/cmd/server/apis/config/types.go#L1675
/assign @sttts @mfojtik
I'm going to inspect this to find resources that need to be exposed via a configmap from the kube-apiserver

fix the lowercase, LGTM otherwise


Random.range(p) consumes more bits of entropy than needed

range(2) always consumes 8 bits, where 2 would be sufficient (I think). @ggreif am I mistaken here?

(see dfinity/examples/motoko/random_maze for a possible alternative for discrete, bounded draws)


Password Expiration Notifications Retired per MC219002

This doc should be updated to reflect the fact that Password Expiration Notifications are no longer supported in Office Portal or any Office apps. See Message Center MC219002: Retirement of notifications functionality in all Office 365 web apps except Outlook.  Email notifications do not seem to be functional any longer either.  It's not clear in this article's "Set password expiration policy" section that step 6 for choosing notification window in days has no effect any longer.

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

ID: d322ca91-2125-7486-887f-7c313f2fbcf9
Version Independent ID: a139620d-3330-a687-709a-35bb270101e4
Content: Set the password expiration policy for your organization - Microsoft 365 admin
Content Source: microsoft-365/admin/manage/set-password-expiration-policy.md
Service: o365-administration
GitHub Login: @KwekuA
Microsoft Alias: kwekua

@jasonfritts Thank you for your feedback. We have made changes to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/5781
Once the author approves the PR the document will be live.
Thanks
Sri

@msbemba Thank you very much for the contribution and updating the documentation with PR. @jasonfritts Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Remove -Z install-upgrade for cargo-audit

This is now the default since https://github.com/rust-lang/cargo/pull/7560, still need to use nightly for -Z minimal-versions though.

bors r+


Import path bug.

Describe the bug
error conditions
After investigation, when all the following conditions are met:

Version number ">=0.16.0" of unplugin-auto-import.
{ } is included in the auto-imported module path.
The generated auto-imports.d.ts will have an error at line 13.

Reproduction
https://github.com/peerless-hero/auto-import-error-demo
System Info
System:
    OS: Windows 10 10.0.19045
    CPU: (16) x64 AMD Ryzen 7 5800H with Radeon Graphics
    Memory: 18.70 GB / 31.86 GB
  Binaries:
    Node: 16.19.0 - d:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 9.6.7 - d:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.19041.1266.0), Chromium (114.0.1823.37)
    Internet Explorer: 11.0.19041.1566

Used Package Manager
pnpm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

is reg match error, i see your file name is {id}, Did you have another custom file, like {   id   }?


maxWitnessItemsPerInput wrong?

https://github.com/Roasbeef/btcd/blob/a03db407e40d3b66ea29984263bbc8bf4d2f04c4/wire/msgtx.go#L97-L103
I think this entry is wrong? If you're limited to bip141 or bip342 tapscript, then the number of witness entries is constrained by the stack size limit (1000 entries, plus 3 for the tapscript itself, control block and annex); but if you're not using tapscript, or the tapscript has an OP_SUCCESS opcode, that doesn't apply, and you could have almost 4M 0-byte witness entries (encoded as 5-byte varint counting the witnesses, 3.9M 0 bytes to say each witness has length zero, then the script, then the control block).
Such a transaction would be non-standard in two ways though: 500k entries is more than 400k witness bytes, and 100kvb=400kb is the standardness limit; and using an OP_SUCCESS or non-tapscript script in a taproot output would also be non-standard anyway. So violating this assumption would require a miner's cooperation.

Here's a signet blockchain that demonstrates the bug; signetchallenge=00143098516d466b4bd3166ad5259bc8ca8f7682b8a2, should be able to use zcat DEMO-btcd-34.gz | while read a; do echo "$a" | bitcoin-cli -signet -stdin submitblock; done and a connected btcd will then error with [ERR] PEER: Can't read message from X.X.X.X:XXXXX (outbound): MsgTx.BtcDecode: too many witness items to fit into max message size [count 1000005, max 500000].
DEMO-btcd-34.gz


Email signup form

Adds a form to the footer of the page for visitors to become a subscriber with their email
Adds a few new iframe issues introduced by domain changes (icp0.io as new default, raw.ic0.app redirects to there now which still causes open issues)
Merge after https://github.com/Bebb-Protocol-and-Apps/PWS/pull/27

For some reason the signing up didn't seem to work. Here is the candid backend:

It says it successfully submitted but then when I retrieved all of them, I didn't see any? Is it somehow linked to the account I am logged in with?

I tried to delete the email and it still didn't seem to work? Seems like it didn't save correctly:

Also the PR is a little hard to read since it has a bunch of other changes in it. I will wait to review again until the web portals is merged in and my PR with the testing uploading/downloading is merged so the diff is much smaller

Thanks, the functions getEmailSubscribers and deleteEmailSubscriber check that the caller is a custodian. We can add your Principal as a custodian, then it should work.
Yes, I think it makes sense to get the other changes merged first

I won't have time to test until Saturday but I will approve in case you want to merge it. Seems like the email changes are pretty straight forward though there are a lot of other changes included


[nginx-ingress-controller] improve nginx performance

Changing container /proc values with a privileged sidecar.
NGINX reads net.core.somaxconn to increase the size of backlog queue of pending connections

ping @bprashanth

LGTM


table虚拟滚动设置tr样式问题

Reproduction link
https://stackblitz.com/edit/angular-ygfa7r?file=src%2Fapp%2Fapp.component.ts
Steps to reproduce
click tr to set style, pull down the scroll bar
What is expected?
only set the style where I click tr
What is actually happening?
when I pull down thie scroll bar,  other tr has no style

Environment
Info

ng-zorro-antd
8.5.2

Browser
chrome   85.0.4183.121（正式版本） （64 位）

What is actually happening?
when I pull down thie scroll bar, other tr has the same style

the virtual scroll reuse the DOM
you should not manipulate DOM in angular applications


Integration of Breadcrumbs and MOC Concepts for Enhanced File Organization

Hello FileOrganizer 2000 Team,
I've been exploring the capabilities of the FileOrganizer 2000 plugin and I'm impressed with its AI-driven approach to file management within the Obsidian environment. However, I believe there's an opportunity to further enhance the organizational structure by integrating concepts from the Breadcrumbs plugin and the Map of Content (MOC) methodology.
The current system of tags and folders, while functional, has limitations. Tags lack hierarchical structure, and folders enforce exclusivity, meaning a file resides in one folder and not in others. This can lead to challenges when trying to organize content that naturally fits into multiple categories or levels of hierarchy.
The Breadcrumbs plugin introduces a more flexible system by allowing the creation of directed links between notes, effectively forming a non-exclusive hierarchy that can represent complex relationships. This system uses categories such as 'up', 'down', and 'same' to define the structure.
Additionally, the concept of a Map of Content (MOC) takes this idea further by serving as a meta-note that links to other notes, providing a powerful way to index and navigate through related content. MOCs can be thought of as dynamic, non-exclusive folders that offer a bird's-eye view of related notes, allowing for a more organic and interconnected knowledge base. I use MOCs as top father notes, even I can have MOCs above other MOCs.
I propose that FileOrganizer 2000 could benefit from adopting a similar approach. Instead of solely suggesting folders and tags for file organization, the plugin could also suggest 'up', 'down', 'same', etc., notes as potential categorizations, drawing inspiration from the Breadcrumbs plugin. This would allow users to organize their files in a more interconnected and flexible manner, aligning with the principles of MOCs.
By integrating these concepts, FileOrganizer 2000 could offer a more nuanced and powerful system for managing files within Obsidian, providing users with the best of both worlds: the structure of folders and the flexibility of tags, all while maintaining the interconnectedness of a knowledge graph.
Thank you for considering this suggestion. I believe it could significantly enhance the user experience and file management capabilities of FileOrganizer 2000.
Best regards,

hey @AMGMNPLK
first thanks for your support.
that sounds cool i don't use breadrumbs. i will start using it today to learn a bit more how that would look like.
since it's AI our current plan is to let people define their own custom way of working.
v0 will probably look like this:

question:

would you be open to share a few of your documents in your vault that have some of these relations? that would allow me to just add them in my test vault and to make sure i develop things in the right direction.
do you feel that (assuming it works well) that the define workflow above would be able to solve your use case?

Hi @ashgansh,
I recommend using the Breadcrumbs plugin in conjunction with the ExcaliBrain plugin for an optimal setup.
Here are the workflow instructions I could define as a first draft:
See the whole hierarchy of documents (in mermaid, but maybe it is to much for the current LLMs) or at least the rest of the documents,. Then, identify documents that are closely related to the content of the current note and suggest appropriate hierarchies.

For notes that are more general or have a higher level, categorize them as "parent" notes. If they are related at the same level, label them as "sibling" notes. For notes that follow a sequence, mark them as "next" or "prev" (previous). If they are at a lower level, define the relationship as a "child" note. Implement these relationships in the frontmatter as follows:
---
up:
  - [[parent notes]]
same:
  - [[sibling notes]]
prev:
  - [[previous notes]]
next:
  - [[next notes]]
down:
  - [[child notes]]
---

If there are no related notes, consider creating new MOCs (Maps Of Content).

To get sample of notes you can create fake notes for each member of a family or about content of animals with chatGPT. Then we can see how far they can go with more complex notes that I can share..

That would be great, I'm wondering how the process work iteratively or recursively, if it has to be trained first with the whole vault to know where each note fits better...

@AMGMNPLK  Could you please explain a bit more? It is recommended to use the Breadcrumbs plugin in conjunction with the ExcaliBrain plugin for an optimal setup. What makes sense?  I would really appreciate it if you would take the time to explain this again. Thank you.

Well, what I said below is a process the AI can follow to set the hierarchies.

Know all notes
Set hierarchical relations with breadcrumbs

What I said at the end about the family notes is because you asked me about my notes as a sample. Well, you can generate 5 notes of Grandma, Father, Mother, Son, Daughter and see its relationships.
Does this make more sense?