LUFS for fg events computed prior to trim (on original source file)

LUFS computed from complete source file, but if fg event taken from short segment, LUFS might be different. Proposed solution: apply all transformations (except for adding silence), save into temp file, compute LUFS (might need to concatenate to get at least 1s of audio), and then continue generation process.

Same for background...

Fixed by #28


Don't close editor when user cancels save dialog.

When the user tries to close an editor with unsaved changes, he is presented with a dialog asking whether to save the files. Clicking Yes opens the save dialog. If the save dialog is cancelled, the editor closes. This is imo unexpected and non-standard behavior. This change makes it so that only the dialog is closed on cancel.
When pop-ups are disabled, cancelling the dialog closes the editor like before.

Thanks for sending that in!


Packaging request: Daedalus wallet

Wallet for Cardano crypto: https://daedaluswallet.io/
Repository: https://github.com/input-output-hk/daedalus
I'll add this here so if anyone starts working on this, they can mention it here in order to avoid multiple people accidentally working on it at the same time. I might do it myself at some point.

Related issue on their tracker: https://github.com/input-output-hk/daedalus/issues/492

Initial nix package version is currently a PR: https://github.com/input-output-hk/daedalus/pull/578 !

You could do this with elf patching, which is something I'm doing right now. I can put up a pull request tonight. Similar to the Signal Desktop app.
Building Daedalus entirely with Nix is probably a non-trivial project, I tried with a first-pass using nixfromnpm but it failed on some dependency version bounds that it couldn't find in the public NPM registry.

I can confirm that after producing the standalone electron node app for Daedalus and patching the elf binary that the wallet app runs.
Something to be aware of though: Daedalus is not the whole wallet. It is only the frontend app and it needs the cardano-sl backend server running. The macapp and the windows app handle this in one bundle.
So we have two hurdles that make this tough to package in Nix right now:

No pre-built binaries for the Daedalus front-end application for Linux that we can, say, fetchurl or fetchFromGitHub; it must be produced by hand
Daedalus is only a front-end application and needs the backend which is provided by cardano-sl - this does have Nix build instructions and can be packaged but might be better added as a NixOS module with a systemd unit, at least that's what I've done on my own machine

@jluttine building the cardano-sl node from source is definitely possible. In fact that is how I did it on my NixOS laptop.
Building the Daedalus wallet from source is going to be a significant effort because it will require tooling improvements to whatever method is used to build the node project. I've built node projects with nixfromnpm successfully but it required a significant amount of hand-editing of the generated code. The generated package set is also not defined as a fixpoint so overriding a package means overriding any package that depends on it and replacing the dependency with the overridden one.
In short: building cardano-sl from source is no problem and packaging the Daedalus app as a binary package will be just fine.

I tried something like this but it didn't quite work, not sure why:
git clone https://github.com/input-output-hk/daedalus
cd daedalus
git checkout 0.8.0
nix-shell -p nodePackages.node2nix
node2nix
nix-build -A package

Without checking out the 0.8.0 tag, I got some version bound errors. WIth 0.8.0 I got the error messages shown below.

Error tail
/nix/store/xfgjfjcq34fwfbfi1idp2nh81kpigch7-patch-shebangs.sh: line 22: warning: command substitution: ignored null byte in input
/nix/store/xfgjfjcq34fwfbfi1idp2nh81kpigch7-patch-shebangs.sh: line 22: warning: command substitution: ignored null byte in input
./daedalus/installers/data/scripts/dockutil: interpreter directive changed from "/usr/bin/python" to "/nix/store/9n2npaz7xy8b4q0a8k28nr3sjzfy625i-python-2.7.14/bin/python"
./daedalus/installers/data/scripts/postinstall: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/ski5znw2b8bj5qnsncrcq6128hkrwgvq-bash-4.4-p12/bin/bash"
npm WARN prefer global<EMAIL_ADDRESS>should be installed with -g

><EMAIL_ADDRESS>postinstall /nix/store/c1yshx3lcwdp8654kvnlg7va1rbaj8d1-node-daedalus-0.8.0/lib/node_modules/daedalus/node_modules/react-polymorph
> postinstall-build lib --only-as-dependency

><EMAIL_ADDRESS>postinstall /nix/store/c1yshx3lcwdp8654kvnlg7va1rbaj8d1-node-daedalus-0.8.0/lib/node_modules/daedalus/node_modules/cucumber-expressions
> node scripts/postinstall.js

><EMAIL_ADDRESS>install /nix/store/c1yshx3lcwdp8654kvnlg7va1rbaj8d1-node-daedalus-0.8.0/lib/node_modules/daedalus/node_modules/sha3
> node-gyp rebuild

make: Entering directory '/nix/store/c1yshx3lcwdp8654kvnlg7va1rbaj8d1-node-daedalus-0.8.0/lib/node_modules/daedalus/node_modules/sha3/build'
  CXX(target) Release/obj.target/sha3/src/addon.o
  CXX(target) Release/obj.target/sha3/src/displayIntermediateValues.o
  CXX(target) Release/obj.target/sha3/src/KeccakF-1600-reference.o
  CXX(target) Release/obj.target/sha3/src/KeccakNISTInterface.o
  CXX(target) Release/obj.target/sha3/src/KeccakSponge.o
  SOLINK_MODULE(target) Release/obj.target/sha3.node
  COPY Release/sha3.node
make: Leaving directory '/nix/store/c1yshx3lcwdp8654kvnlg7va1rbaj8d1-node-daedalus-0.8.0/lib/node_modules/daedalus/node_modules/sha3/build'

><EMAIL_ADDRESS>preinstall /nix/store/c1yshx3lcwdp8654kvnlg7va1rbaj8d1-node-daedalus-0.8.0/lib/node_modules/daedalus/node_modules/scrypt
> node node-scrypt-preinstall.js

Error: Error: Command failed: ./configure
sed: can't read conftest.err: No such file or directory
cat: conftest.er1: No such file or directory
configure: error: in `/nix/store/c1yshx3lcwdp8654kvnlg7va1rbaj8d1-node-daedalus-0.8.0/lib/node_modules/daedalus/node_modules/scrypt/scrypt/scrypt-1.2.0':
configure: error: C compiler cannot create executables
See `config.log' for more details

><EMAIL_ADDRESS>install /nix/store/c1yshx3lcwdp8654kvnlg7va1rbaj8d1-node-daedalus-0.8.0/lib/node_modules/daedalus/node_modules/scrypt
> node-gyp rebuild

make: Entering directory '/nix/store/c1yshx3lcwdp8654kvnlg7va1rbaj8d1-node-daedalus-0.8.0/lib/node_modules/daedalus/node_modules/scrypt/build'
  SOLINK_MODULE(target) Release/obj.target/copied_files.node
  COPY Release/copied_files.node
  CC(target) Release/obj.target/scrypt_wrapper/src/util/memlimit.o
  CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/keyderivation.o
  CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/pickparams.o
  CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/hash.o
  AR(target) Release/obj.target/scrypt_wrapper.a
  COPY Release/scrypt_wrapper.a
  CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/lib/crypto/crypto_scrypt.o
  CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/lib/crypto/crypto_scrypt_smix.o
  CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/libcperciva/util/warnp.o
  CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/libcperciva/alg/sha256.o
  CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/libcperciva/util/insecure_memzero.o
  CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/lib/scryptenc/scryptenc_cpuperf.o
  AR(target) Release/obj.target/scrypt_lib.a
  COPY Release/scrypt_lib.a
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_common.o
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_params_async.o
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_params_sync.o
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_kdf_async.o
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_kdf_sync.o
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_kdf-verify_sync.o
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_kdf-verify_async.o
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_hash_sync.o
  CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_hash_async.o
  CXX(target) Release/obj.target/scrypt/scrypt_node.o
  SOLINK_MODULE(target) Release/obj.target/scrypt.node
  COPY Release/scrypt.node
make: Leaving directory '/nix/store/c1yshx3lcwdp8654kvnlg7va1rbaj8d1-node-daedalus-0.8.0/lib/node_modules/daedalus/node_modules/scrypt/build'

><EMAIL_ADDRESS>install /nix/store/c1yshx3lcwdp8654kvnlg7va1rbaj8d1-node-daedalus-0.8.0/lib/node_modules/daedalus/node_modules/websocket
> (node-gyp rebuild 2> builderror.log) || (exit 0)

make: Entering directory '/nix/store/c1yshx3lcwdp8654kvnlg7va1rbaj8d1-node-daedalus-0.8.0/lib/node_modules/daedalus/node_modules/websocket/build'
  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
  SOLINK_MODULE(target) Release/obj.target/bufferutil.node
  COPY Release/bufferutil.node
  CXX(target) Release/obj.target/validation/src/validation.o
  SOLINK_MODULE(target) Release/obj.target/validation.node
  COPY Release/validation.node
make: Leaving directory '/nix/store/c1yshx3lcwdp8654kvnlg7va1rbaj8d1-node-daedalus-0.8.0/lib/node_modules/daedalus/node_modules/websocket/build'

><EMAIL_ADDRESS>postinstall /nix/store/c1yshx3lcwdp8654kvnlg7va1rbaj8d1-node-daedalus-0.8.0/lib/node_modules/daedalus/node_modules/electron
> node install.js

><EMAIL_ADDRESS>install /nix/store/c1yshx3lcwdp8654kvnlg7va1rbaj8d1-node-daedalus-0.8.0/lib/node_modules/daedalus/node_modules/electron-chromedriver
> node ./download-chromedriver.js

/nix/store/c1yshx3lcwdp8654kvnlg7va1rbaj8d1-node-daedalus-0.8.0/lib/node_modules/daedalus/node_modules/electron-chromedriver/download-chromedriver.js:16
  if (error != null) throw error
                     ^

Error: getaddrinfo ENOTFOUND github.com github.com:443
    at errnoException (dns.js:27:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:78:26)

npm ERR! Linux 4.9.66
npm ERR! argv "/nix/store/47h9pg6gkss3xh1vk0i1sq1nc8idf9xb-nodejs-4.8.5/bin/node" "/nix/store/47h9pg6gkss3xh1vk0i1sq1nc8idf9xb-nodejs-4.8.5/bin/npm" "--registry" "http://www.example.com" "--nodedir=/nix/store/bdy38g97h606sf5dk7h850bq7xmcs5l4-node-sources" "--production" "rebuild"
npm ERR! node v4.8.5
npm ERR! npm  v2.15.11
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>install: `node ./download-chromedriver.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node ./download-chromedriver.js'.
npm ERR! This is most likely a problem with the electron-chromedriver package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node ./download-chromedriver.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs electron-chromedriver
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR!     npm owner ls electron-chromedriver
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /nix/store/c1yshx3lcwdp8654kvnlg7va1rbaj8d1-node-daedalus-0.8.0/lib/node_modules/daedalus/npm-debug.log
builder for ‘/nix/store/a7s0d3hjb2ig9pf5qpic3y0nmhjfhr6d-node-daedalus-0.8.0.drv’ failed with exit code 1
error: build of ‘/nix/store/a7s0d3hjb2ig9pf5qpic3y0nmhjfhr6d-node-daedalus-0.8.0.drv’ failed

@jluttine oh, yeah, I don't use node2nix for packaging npm projects anymore because its generated Nix code can't be overridden (unlike that from nixfromnpm) and there are a few other nodejs isolation issues I ran into (that I cannot remember). Also the version of node node2nix is selecting for you there is old, I don't think Daedalus will build with Node 4.x.

I also tried with yarn2nix. I modified the yarn.lock file a little bit. The derivation expression:
{lib, pkgs, ...}:
with (import /home/jluttine/Workspace/yarn2nix { inherit pkgs; });
mkYarnPackage rec {
  name = "${pname}-${version}";
  pname = "daedalus";
  version = "0.8.0";
  src = /home/jluttine/Workspace/daedalus;
  packageJson = /home/jluttine/Workspace/daedalus/package.json;
  yarnLock = /home/jluttine/Workspace/daedalus/yarn.lock;
}

Modified yarn.lock file: https://gist.github.com/jluttine/a577e815d17fc2ae71344c820986fb32
However, I get the following error:
[1/4] Resolving packages...
error Couldn't find any versions for "aes-js" that matches "2.1.1" in our cache (possible versions are ""). This is usually caused by a missing entry in the lockfile, running Yarn without the --offline flag may help fix this issue.

It seems that the packages aren't found for some reason. I also asked on yarn2nix repo about this: https://github.com/moretea/yarn2nix/issues/49

I'm quite lost with this whole Cardano stuff because I haven't used it at all and it seems to consist of a bunch of pieces whose purpose I don't know. Anyway, I guessed that cardano-sl is something quite essential. I wrote the following derivation for it, perhaps this is a good place to ask for comments about it:
{lib, pkgs, stdenv, config, ...}:

let
  pname = "cardano-sl";
  version = "1.0.3";
  gitrev = "v${version}";
  source = pkgs.srcOnly {
    stdenv = stdenv;
    name = "${pname}-${version}";
    src = pkgs.fetchFromGitHub {
      owner = "input-output-hk";
      repo = pname;
      rev = gitrev;
      sha256 = "1z2yjkm0qwhf588qnxcbz2d5mxvhqdxawwl8dczfnl47rb48jm52";
    };
  };
in (
  (import "${source}/default.nix") {
    inherit pkgs config gitrev;
  }
).cardano-sl

This builds cardano-node-simple executable. There's also cardano-node in cardano-sl-wallet, not sure if I should've built that instead.
I could make a pull request about that if you think it's ok and useful. Not sure what else I need to get some kind of working wallet (possibility to at least receive and maybe send Ada).

I accidentally gave an incorrect error tail for nix-build -A package after node2nix. The real error tail is:
><EMAIL_ADDRESS>postinstall /nix/store/d3i3agpd09x5abvpic2l8b68d7wi8mc1-node-dependencies-daedalus-0.8.0/daedalus/node_modules/react-polymorph
> postinstall-build lib --only-as-dependency

sh: postinstall-build: command not found

I wasn't able to try nixfromnpm because it didn't compile on my NixOS. It raised an error:
In-place registering parsers-0.12.7...
Preprocessing test suite 'doctests' for parsers-0.12.7...

tests/doctests.hs:16:8:
    Could not find module ‘Build_doctests’
    Use -v to see a list of the files searched for.
builder for ‘/nix/store/ba1j04lj41qwn19ghdkvgnqhccc9ds65-parsers-0.12.7.drv’ failed with exit code 1
cannot build derivation ‘/nix/store/3g8lc26nh7ryyjw5wcd3w5ap4sms6xc3-ghc-7.10.2-with-packages.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/3g8lc26nh7ryyjw5wcd3w5ap4sms6xc3-ghc-7.10.2-with-packages.drv’ failed
/run/current-system/sw/bin/nix-shell: failed to build all dependencies

Maybe some package that nixfromnpm depends on is broken on NixOS at the moment?

@jluttine they already have a derivation that builds cardano-sl. cardano-sl is the "backend" of the wallet, it is the node.
The Daedalus wallet is really two components: a node with a rest API and a "front-end" JS app (named Daedalus).

I used this, to get a node I could run:
nix-build --attr connect.mainnetWallet -o connect-to-mainnet release.nix

Note though that script has a bug in it that is fixed by my pull request here: https://github.com/input-output-hk/cardano-sl/pull/2083

@ixmatus Yes, that derivation I wrote uses their derivation. If there is simpler or better method to add cardano-sl to nixpkgs using their derivation, I'd be happy to learn.

Use the connect.mainnetWallet example.

You should be able to then ./connect-to-mainnet to run the node; you will then need to run the Daedalus electron app separately, which will connect to it. I was able to build a Linux release of the daedalus front-end application and then patchelf it so it would run on my NixOS; @cleverca22 had a simpler approach which was to get the pre-built Javascript from the MacOS application, then run it with a NixOS electron executable.

@jluttine this will probably be very helpful too: https://github.com/input-output-hk/daedalus/blob/devops-13/linux.nix#L32-L42

I haven't had any time to help with packaging, when I have some free-time I'll try to get most of what I've done in a more easily consumable form.

@ixmatus Ok. Packaging of that connect.mainnetWallet wasn't as simple because release.nix fixes nixpkgs version. Gotta look some other time or if someone more familiar with Cardano and nixpkgs can do the packaging, that'd be great too.

I'm confused, what's wrong with the pinned nixpkgs? What error did you get running:
nix-build --attr connect.mainnetWallet -o connect-to-mainnet release.nix

@ixmatus I've thought that packages in nixpkgs shouldn't use a pinned version of nixpkgs but use packages from that same nixpkgs. Or are there some packages in nixpkgs that use dependencies from a pinned version of nixpkgs? Could you provide an example? To me, that would sound a bit weird.
I didn't yet try that command you provided, I'd expect it to run successfully. But I'm trying to package Daedalus for nixpkgs, so it's a slightly different matter, as far as I understand.

@jluttine I thought you were just trying to build the node. You are correct that packaging the cardano-sl node for nixpkgs means we should not use the pinned nixpkgs from the cardano-sl repository.
cardano-sl is just a Haskell project and you can see its Nix build instructions in cardano-sl/pkgs/default.nix. Then there's a script for running the node with some pre-defined configurations which is in this Nix file: ./scripts/launch/connect-to-cluster/default.nix.
What you will want to do if you want to package the node for nixpkgs is get the Nix build instructions for the haskell project isolated. Then, the script can be isolated and added to the ecosystem (really, that mainnet script should be a systemd unit definition).
There is some work involved and I can show you a few examples. However, I do not think an import from derivation is the right thing to do here.

I want to get my own systemd node up so I'm going to package this real quickly and show you what I'm thinking.

Current efforts are tracked in https://github.com/input-output-hk/daedalus/issues/492

Does the recent official release of daedalus for linux change the way we should integrate it in nixos? What is your recommendation @domenkozar?

it could potentially be done, but it wont support the auto-update that the main binary supports
also, due to nixpkgs not allowing import-from-derivation, i would have to add nearly 2mb of nix expressions to nixpkgs

FWIW, Daedalus build is now fully "nixified": https://github.com/input-output-hk/daedalus/issues/492
Not sure if that makes adding it to nixpkgs any easier.
I wonder why and how is Daedalus so different from all other crypto software like bitcoin, monero etc, so that its addition to nixpkgs is so much more difficult. Feels weird.

Still would love to see Daedalus in nixpkgs similarly as many other crypto wallets..

Still relevant.

Hi @Fresheyeball, maybe because the packaging is done by persons like you and me on our free time, so someone has to do it. I’m also very interesting in this, and looking into it is somewhere on my TODO list (as it may be on someone elses’ also), but I do other things because there are also other things on my TODO list that make me more happy or are more urgent to do at the time.
If it seems so strange that it has not been done, whether because it is extremely important for you or you think it is really easy to do, maybe you could open a PR with the packaging? I’m sure you’ll make people happy :)

@ejpcmac https://github.com/NixOS/nixpkgs/pull/148354
I was really just shocked it hasn't been done yet. Happy to help here.

Still relevant to me. (Re: stale status by the bot)


[Bug] build.rs files can cause confounding build failures

Describe the bug
When modifying this code base, it's possible for the build to be successful, but for the output of the codegen to be incorrect. When running cargo build, frb_example/pure_dart/rust/build.rs and frb_example/pure_dart_multi/rust/build.rs will each cause code generation to occur in their respective example projects, thereby corrupting the projects, and making them rebuildable. Because cargo build then goes on to try building pure_dart and pure_dart_multi with corruption, those projects will fail to build. As a result cargo build will also fail. As a Rust newbie, and a newbie to this project, it took me literal hours to figure out why build was failing.
The official rust-analyzer plugin for VS Code will see this failure whenever an attempt to run or test is requested, and will cancel the run or test, making it impossible to investigate the issue in the workflow. You're stuck in a catch-22.  It's possible to run cargo build from the command line and trap the build.rs run, attaching it to a debugger. However, this workflow is also clumsy and inconvenient.
A possible path to address this is to replicate the build.rs files as Rust tests in the frb_codegen module. If problems arise, the build.rs files can be renamed in the working directory to temporarily disable them, and the tests used to carry out investigation.
Codegen logs with RUST_LOG=debug environment variable
N/A

To Reproduce
Alter the code generation so that the output is invalid and pure_dart no longer builds. Pretend that you've forgotten why, and try to investigate why cargo build fails. Observe that the workflow is suboptimal.
Expected behavior
Debugging test code is well supported
Generated binding code
No response
OS
Ubuntu 20 LTS
Version of flutter_rust_bridge_codegen
1.68.0
Flutter info
No response
Version of clang++
No response
Version of ffigen
No response
Additional context
No response

(good job! see my comments in the PR)


Can't download first video that matches filter, with --max-downloads set to 1

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.04.03. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[ x] I've verified and I assure that I'm running youtube-dl 2018.04.03

Before submitting an issue make sure you have:

[x ] At least skimmed through the README, most notably the FAQ and BUGS sections
[x ] Searched the bugtracker for similar issues including closed ones
[x ] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[ x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[x ] Question
[ ] Other

Description of your issue, suggested solution and other information

I'm writing a movie trailer downloader tool, using youtube-dl for downloading. I want to download the first video result (which matches a set of filters) for a given YouTube search string. So far, I'm using this:
youtube-dl ytsearch:"180° South: Conquerors of the Useless 2010 trailer" --match-filter "duration <= 360" --max-downloads 1

This gives me:
[youtube:search] query "180° South: Conquerors of the Useless 2010 trailer": Downloading page 1
[download] Downloading playlist: 180° South: Conquerors of the Useless 2010 trailer
[youtube:search] playlist 180° South: Conquerors of the Useless 2010 trailer: Collected 1 video ids (downloading 1 of them)
[download] Downloading video 1 of 1
[youtube] mqhh7c1SUHY: Downloading webpage
[youtube] mqhh7c1SUHY: Downloading video info webpage
[youtube] mqhh7c1SUHY: Extracting video information
[download] 180° South does not pass filter duration <= 360, skipping ..
[download] Finished downloading playlist: 180° South: Conquerors of the Useless 2010 trailer

...Which does not actually download anything, since the first result does not match the filter (video too long), and once the video info page has been downloaded, it seems to count as a download, and, since I have max-downloads set to 1, it does not go on to try the next video in the search results.
Is there a way to make this work ?
If there isn't, I think it might be worthwhile to make --max-downloads track the videos that were actually downloaded, and not include the ones that failed the filters. (?)

Nevermind, I didn't realize you had to put a count after ytsearch, using ytsearch10: now and it works.


Error updating status of gateway resource in NFR Scale test HTTPSListeners

In this pipeline run of the NFR test results on edge: https://github.com/nginxinc/nginx-gateway-fabric/actions/runs/10872403318, the scale test for HTTPSListeners encountered an error when ran on OSS.
Shown Error:
{
  "level": "debug",
  "ts": "2024-09-15T17:08:33Z",
  "logger": "statusUpdater",
  "msg": "Encountered error updating status",
  "error": "Operation cannot be fulfilled on gateways.gateway.networking.k8s.io \"gateway\": the object has been modified; please apply your changes to the latest version and try again",
  "namespace": "scale",
  "name": "gateway",
  "kind": "Gateway"
}

The full NFR test results can be found in this PR: https://github.com/nginxinc/nginx-gateway-fabric/pull/2554

After some investigation, this does not appear to be a product bug. We retry on status update failures because the object may be modified between fetching the object and writing its status. On each retry, we fetch the latest version of the object. If multiple retries fail, we will log an error message saying, "Failed to update status." Since the logs do not contain that error message, we can assume that the status update eventually succeeded.
If this error persists in our NFR tests, we should look into the test code and see if we can prevent this situation from occurring. Perhaps we can wait for an object's status to update before modifying the object's spec.


chore: rollup project in release

The dist was missing from the release workflow, so I added a step to build the project using npm run rollup.
This will ensure that the project is built before the publish.

:tada: This PR is included in version 1.1.4 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Possible data structure corruption

We saw a crash that seems to happen when pausing the NetKvm adapter. We recovered the following 2 stacks from the dump.
00 fffff802`4a6a3c08 fffff802`4903c1c2 nt!KeBugCheckEx
01 fffff802`4a6a3c10 fffff802`49232e4d hal!HalBugCheckSystem+0x7e
02 fffff802`4a6a3c50 fffff802`4903cfa1 nt!WheaReportHwError+0x22d
03 fffff802`4a6a3cb0 fffff802`49256c20 hal!HalHandleNMI+0xfe
04 fffff802`4a6a3ce0 fffff802`491cc7c2 nt!KiProcessNMI+0x150
05 fffff802`4a6a3d30 fffff802`491cc636 nt!KxNmiInterrupt+0x82
06 fffff802`4a6a3e70 fffff802`49101d6e nt!KiNmiInterrupt+0x176
07 fffff802`4a698950 fffff800`57bdd768 nt!KxWaitForSpinLockAndAcquire+0x22
08 fffff802`4a698980 fffff800`57bde585 netkvm!CNdisList<CNBL,CRawAccess,CNonCountingObject>::ForEachPrepareIf<<lambda_6e3a6aeb098631fcc79aaecc43ea142b>,<lambda_0fb1256e1da6df1a035ab89e05289ff7>,<lambda_2e9bd86eeab3a657911ddcd0e23da5de> >+0x4
09 fffff802`4a6989c0 fffff800`57bd8061 netkvm!CNBL::ParseBuffers+0xbd
0a fffff802`4a698a70 fffff800`57be351c netkvm!ParaNdis_CleanupContext+0x71
0b fffff802`4a698aa0 fffff800`55ea8e12 netkvm!ParaNdis6_SendPauseRestart+0x50
0c fffff802`4a698b00 fffff802`490b2f10 NDIS!ndisInterruptDpc+0x1a3
0d fffff802`4a698be0 fffff802`490b2257 nt!KiExecuteAllDpcs+0x1b0
0e fffff802`4a698d30 fffff802`491c63d5 nt!KiRetireDpcList+0xd7

00 ffffd001`5abf8fe0 fffff802`49101d32 nt!KxWaitForSpinLockAndAcquire+0x1f
01 ffffd001`5abf9010 fffff800`57bde711 nt!KeAcquireSpinLockRaiseToDpc+0x32
02 ffffd001`5abf9040 fffff800`57bdeecc netkvm!CNBL::ParseOffloads+0xc5
03 ffffd001`5abf9070 fffff802`4900ba37 netkvm!CParaNdisTX::SendMapped+0x3c
04 ffffd001`5abf90a0 fffff800`55eade82 hal!HalBuildScatterGatherListV2+0x207
05 ffffd001`5abf9140 fffff800`57bdf09a NDIS!NdisMAllocateNetBufferSGList+0x1a2
06 (Inline Function) --------`-------- netkvm!RtlFailFast+0x2
07 (Inline Function) --------`-------- netkvm!FatalListEntryError+0x2
08 (Inline Function) --------`-------- netkvm!InsertHeadList+0x10c
09 (Inline Function) --------`-------- netkvm!CNdisList<CNBL,CRawAccess,CNonCountingObject>::Push+0x120
0a ffffd001`5abf9200 fffff800`57bdda02 netkvm!CParaNdisTX::SendMapped+0x20a
0b (Inline Function) --------`-------- netkvm!CNBL::ParseOffloads::__l39::<lambda_45c6048e0eee80e44000724f00745ebe>::operator()+0x18
0c ffffd001`5abf9240 fffff800`57bdf58f netkvm!CNBL::ParseCSO<<lambda_07bb9e4d8a255eab68dc9a6db8158716>,<lambda_8edd56c1927263d1d00c45709877ef5c>,<lambda_45c6048e0eee80e44000724f00745ebe> >+0x2a
0d ffffd001`5abf9270 fffff800`57bdf1a5 netkvm!CTXVirtQueue::Create+0x43
0e ffffd001`5abf92a0 fffff800`57be2dce netkvm!CNB::SetupLSO+0xc1

I think the cause is that m_SendList uses the CRawAccess strategy and there's a race between Remove_LockLess in RemoveAllNonWaitingNBLs and Push in PushMappedNBL. This causes the FatalListEntryError I believe. Using RemoveHeadList instead of RemoveEntryList may be threadsafe. Otherwise I was thinking the m_SendList may need a new barrier to prevent adding new entries when pausing the adapter.

Thank you for the report and analysis. We are reworking the "Pause" behaviour right now and will address all the issues related to it.

By any chance do you have an estimate of when you'll rework the pause behavior? Alternately can you provide a description of what the fix may look like? I want to try a fix ahead of time if possible to see if it makes our repro go away. :-) Thanks!

We are testing the code now with HCK (MS certification tool). I think
during next week we will have a stable code for sharing.
Best regards,
Yan.
On Tue, May 24, 2016 at 9:56 PM, pturschmid<EMAIL_ADDRESS>wrote:

By any chance do you have an estimate of when you'll rework the pause
behavior? Alternately can you provide a description of what the fix may
look like? I want to try a fix ahead of time if possible to see if it makes
our repro go away. :-) Thanks!
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/YanVugenfirer/kvm-guest-drivers-windows/issues/65#issuecomment-221364484

--
Daynix Computing LTD
Yan Vugenfirer, CEO
Email<EMAIL_ADDRESS>Phone (Israel): +972-54-4758084
Phone (USA): +1-7204776716
Phone (UK): +44-2070482938
Web: www.daynix.com

Thanks Yan for the super quick turnaround! :-)

Please try the following build: https://dl.dropboxusercontent.com/u/97739133/virtio-win-prewhql-0.1-118.zip

Thanks Yan. Will try it out ASAP! :-)

Good news! Fixed the bug perfectly! Thanks!

Thank you for the feedback!

On 10 ביוני 2016, at 21:33, pturschmid<EMAIL_ADDRESS>wrote:
Good news! Fixed the bug perfectly! Thanks!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

There were two patch sets that addressed the issue: bacc1c242cfc747832b5211ccfcb317a7904c509-911bad680ee29619fa521e0d87b3e1b6c7f2dd3f and e1de11fd364a662d097970301976a92efb715740-7ef084b8f739e524bc690bda876c58ba955646c7


Added NFluent checks

Fixes #27 .

Just a few more changes needed:
-[ ] API docs
-[ ] Enable nullable
-[ ] make order of test more consistent


feat(ad-api): add vehicle information api

Signed-off-by: Takagi, Isamu<EMAIL_ADDRESS>Description
Add the document of vehicle information API.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The Reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

This PR is mergerd to https://github.com/autowarefoundation/autoware-documentation/pull/381.


fix(RHTAPWATCH-1042): Remove mentions of private repos (git, quay) from all namespace files (e.g. ns1)

Remove private git repositories
fix #53

Can you add a "fix #53" to the PR description, so the issue will be linked to the PR?

There are still other mentions of gbenhaim in the repo. Those should be actually easier to change than the one you did.
Please go through the flow in the README (it's uses user2) and once you have it working, make the changes (to user2 manifests) and repeat the process to see it's still working.
If you get stuck in the process of deploying, let us know (slack messages or open new GitHub issues) so we can make the documentation better.

I was not sure what to replace the below one one with and that's why I didn't replace that
repository: "quay.io/gbenhaim0/managed/sample-component"

There are still other mentions of gbenhaim in the repo. Those should be actually easier to change than the one you did.
Please go through the flow in the README (it's uses user2) and once you have it working, make the changes (to user2 manifests) and repeat the process to see it's still working.
If you get stuck in the process of deploying, let us know (slack messages or open new GitHub issues) so we can make the documentation better.

Should I replace the below quay link
repository: "quay.io/gbenhaim0/managed/sample-component" with this https://quay.io/repository/redhat-user-workloads/konflux-int-gitlab-tenant/sample-component/sample-component ??

Were you able to run the flow as is?

There are still other mentions of gbenhaim in the repo. Those should be actually easier to change than the one you did.
Please go through the flow in the README (it's uses user2) and once you have it working, make the changes (to user2 manifests) and repeat the process to see it's still working.
If you get stuck in the process of deploying, let us know (slack messages or open new GitHub issues) so we can make the documentation better.

Should I replace the below quay link
repository: "quay.io/gbenhaim0/managed/sample-component" with this https://quay.io/repository/redhat-user-workloads/konflux-int-gitlab-tenant/sample-component/sample-component ??

Were you able to run the flow as is?

Yes, but I'm still seeing the same error. I verified this with Homaja, and she's experiencing a different error. I'm following the steps in the documentation and can't figure out what I might be missing.

@avi-biton  As we discussed yesterday in the standup, should I get rid of the ns1 stuff? Are there any updates from your end?
If yes, should I undo all the changes I made to managed-ns1/ns1 files?

@avi-biton As we discussed yesterday in the standup, should I get rid of the ns1 stuff? Are there any updates from your end?
If yes, should I undo all the changes I made to managed-ns1/ns1 files?

After discussing it with Gal, we will keep the ns1 in place.
However, when I search for gbenhaim in the repository, I see there are other unchanged references.
Can you please remove them all.

@avi-biton As we discussed yesterday in the standup, should I get rid of the ns1 stuff? Are there any updates from your end?
If yes, should I undo all the changes I made to managed-ns1/ns1 files?

After discussing it with Gal, we will keep the ns1 in place. However, when I search for gbenhaim in the repository, I see there are other unchanged references. Can you please remove them all?

Should I replace them with something? I dont see a public repository for sample-component.

/retest

/retest

There are still other mentions of gbenhaim in the repo. Those should be actually easier to change than the one you did.
Please go through the flow in the README (it's uses user2) and once you have it working, make the changes (to user2 manifests) and repeat the process to see it's still working.
If you get stuck in the process of deploying, let us know (slack messages or open new GitHub issues) so we can make the documentation better.

I updated the PR pointing to the right branch. Now all the integration tests pass


[.load] handle max query chunk of 1MB

Paginating the Results
LastEvaluatedKey > ExclusiveStartKey
DynamoDB paginates the results from Query and Scan operations. With pagination, Query and Scan results are divided into distinct pieces; an application can process the first page of results, then the second page, and so on. The data returned from a Query or Scan operation is limited to 1 MB; this means that if the result set exceeds 1 MB of data, you'll need to perform another Query or Scan operation to retrieve the next 1 MB of data.
If you query or scan for specific attributes that match values that amount to more than 1 MB of data, you'll need to perform another Query or Scan request for the next 1 MB of data. To do this, take the LastEvaluatedKey value from the previous request, and use that value as the ExclusiveStartKey in the next request. This approach will let you progressively query or scan for new data in 1 MB increments.
When the entire result set from a Query or Scan has been processed, LastEvaluatedKey is null. This indicates that the result set is complete (that is, the operation processed the “last page” of data).
If LastEvaluatedKey is anything other than null, this does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when LastEvaluatedKey is null.

fixed in https://github.com/vigour-io/blend-state-dynamo/tree/feature/timeline


Elasticsearch Chart with rbac does not work with Flux/HelmController

Chart version:
7.16.3
Kubernetes version:
1.21
Kubernetes provider: E.g. GKE (Google Kubernetes Engine)
bare metal
Helm Version:
helm get release output

Output of helm get release
NAME: es-cluster
LAST DEPLOYED: Fri Mar 11 10:04:09 2022
NAMESPACE: default
STATUS: failed
REVISION: 6
USER-SUPPLIED VALUES:
nonce: f

COMPUTED VALUES:
antiAffinity: hard
antiAffinityTopologyKey: kubernetes.io/hostname
clusterDeprecationIndexing: "false"
clusterHealthCheckParams: wait_for_status=green&timeout=1s
clusterName: elasticsearch
enableServiceLinks: true
envFrom: []
esConfig: {}
esJavaOpts: ""
esJvmOptions: {}
esMajorVersion: ""
extraContainers: []
extraEnvs: []
extraInitContainers: []
extraVolumeMounts: []
extraVolumes: []
fsGroup: ""
fullnameOverride: ""
healthNameOverride: ""
hostAliases: []
httpPort: 9200
image: docker.elastic.co/elasticsearch/elasticsearch
imagePullPolicy: IfNotPresent
imagePullSecrets: []
imageTag: 7.16.3
ingress:
  annotations: {}
  className: nginx
  enabled: false
  hosts:
  - host: chart-example.local
    paths:
    - path: /
  pathtype: ImplementationSpecific
  tls: []
initResources: {}
keystore: []
labels: {}
lifecycle: {}
masterService: ""
maxUnavailable: 1
minimumMasterNodes: 2
nameOverride: ""
networkHost: <IP_ADDRESS>
networkPolicy:
  http:
    enabled: false
  transport:
    enabled: false
nodeAffinity: {}
nodeGroup: master
nodeSelector: {}
nonce: f
persistence:
  annotations: {}
  enabled: true
  labels:
    enabled: false
podAnnotations: {}
podManagementPolicy: Parallel
podSecurityContext:
  fsGroup: 1000
  runAsUser: 1000
podSecurityPolicy:
  create: false
  name: ""
  spec:
    fsGroup:
      rule: RunAsAny
    privileged: true
    runAsUser:
      rule: RunAsAny
    seLinux:
      rule: RunAsAny
    supplementalGroups:
      rule: RunAsAny
    volumes:
    - secret
    - configMap
    - persistentVolumeClaim
    - emptyDir
priorityClassName: ""
protocol: http
rbac:
  automountToken: true
  create: true
  serviceAccountAnnotations: {}
  serviceAccountName: ""
readinessProbe:
  failureThreshold: 3
  initialDelaySeconds: 10
  periodSeconds: 10
  successThreshold: 3
  timeoutSeconds: 5
replicas: 3
resources:
  limits:
    cpu: 1000m
    memory: 2Gi
  requests:
    cpu: 1000m
    memory: 2Gi
roles:
  data: "true"
  ingest: "true"
  master: "true"
  ml: "true"
  remote_cluster_client: "true"
schedulerName: ""
secretMounts: []
securityContext:
  capabilities:
    drop:
    - ALL
  runAsNonRoot: true
  runAsUser: 1000
service:
  annotations: {}
  enabled: true
  externalTrafficPolicy: ""
  httpPortName: http
  labels: {}
  labelsHeadless: {}
  loadBalancerIP: ""
  loadBalancerSourceRanges: []
  nodePort: ""
  transportPortName: transport
  type: ClusterIP
sysctlInitContainer:
  enabled: true
sysctlVmMaxMapCount: 262144
terminationGracePeriod: 120
tests:
  enabled: true
tolerations: []
transportPort: 9300
updateStrategy: RollingUpdate
volumeClaimTemplate:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 30Gi

HOOKS:
---
# Source: elasticsearch/templates/test/test-elasticsearch-health.yaml
apiVersion: v1
kind: Pod
metadata:
  name: "es-cluster-cgezs-test"
  annotations:
    "helm.sh/hook": test
    "helm.sh/hook-delete-policy": hook-succeeded
spec:
  securityContext:
    fsGroup: 1000
    runAsUser: 1000
  containers:
  - name: "es-cluster-hdppq-test"
    image: "docker.elastic.co/elasticsearch/elasticsearch:7.16.3"
    imagePullPolicy: "IfNotPresent"
    command:
      - "sh"
      - "-c"
      - |
        #!/usr/bin/env bash -e
        curl -XGET --fail 'elasticsearch-master:9200/_cluster/health?wait_for_status=green&timeout=1s'
  restartPolicy: Never
MANIFEST:
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  labels:
    helm.toolkit.fluxcd.io/name: es-cluster
    helm.toolkit.fluxcd.io/namespace: flux-system
  name: elasticsearch-master-pdb
spec:
  maxUnavailable: 1
  selector:
    matchLabels:
      app: elasticsearch-master
---
apiVersion: v1
kind: ServiceAccount
metadata:
  annotations: null
  labels:
    app: elasticsearch-master
    chart: elasticsearch-7.16.3+1
    helm.toolkit.fluxcd.io/name: es-cluster
    helm.toolkit.fluxcd.io/namespace: flux-system
    heritage: Helm
    release: es-cluster
  name: elasticsearch-master
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  labels:
    app: elasticsearch-master
    chart: elasticsearch-7.16.3+1
    helm.toolkit.fluxcd.io/name: es-cluster
    helm.toolkit.fluxcd.io/namespace: flux-system
    heritage: Helm
    release: es-cluster
  name: elasticsearch-master
rules:
- apiGroups:
  - extensions
  resourceNames:
  - elasticsearch-master
  resources:
  - podsecuritypolicies
  verbs:
  - use
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  labels:
    app: elasticsearch-master
    chart: elasticsearch-7.16.3+1
    helm.toolkit.fluxcd.io/name: es-cluster
    helm.toolkit.fluxcd.io/namespace: flux-system
    heritage: Helm
    release: es-cluster
  name: elasticsearch-master
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: elasticsearch-master
subjects:
- kind: ServiceAccount
  name: elasticsearch-master
  namespace: tooling
---
apiVersion: v1
kind: Service
metadata:
  annotations: {}
  labels:
    app: elasticsearch-master
    chart: elasticsearch
    helm.toolkit.fluxcd.io/name: es-cluster
    helm.toolkit.fluxcd.io/namespace: flux-system
    heritage: Helm
    release: es-cluster
  name: elasticsearch-master
spec:
  ports:
  - name: http
    port: 9200
    protocol: TCP
  - name: transport
    port: 9300
    protocol: TCP
  selector:
    app: elasticsearch-master
    chart: elasticsearch
    release: es-cluster
  type: ClusterIP
---
apiVersion: v1
kind: Service
metadata:
  annotations:
    service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
  labels:
    app: elasticsearch-master
    chart: elasticsearch
    helm.toolkit.fluxcd.io/name: es-cluster
    helm.toolkit.fluxcd.io/namespace: flux-system
    heritage: Helm
    release: es-cluster
  name: elasticsearch-master-headless
spec:
  clusterIP: None
  ports:
  - name: http
    port: 9200
  - name: transport
    port: 9300
  publishNotReadyAddresses: true
  selector:
    app: elasticsearch-master
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  annotations:
    esMajorVersion: "7"
  labels:
    app: elasticsearch-master
    chart: elasticsearch
    helm.toolkit.fluxcd.io/name: es-cluster
    helm.toolkit.fluxcd.io/namespace: flux-system
    heritage: Helm
    release: es-cluster
  name: elasticsearch-master
spec:
  podManagementPolicy: Parallel
  replicas: 3
  selector:
    matchLabels:
      app: elasticsearch-master
  serviceName: elasticsearch-master-headless
  template:
    metadata:
      annotations: null
      labels:
        app: elasticsearch-master
        chart: elasticsearch
        release: es-cluster
      name: elasticsearch-master
    spec:
      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: app
                operator: In
                values:
                - elasticsearch-master
            topologyKey: kubernetes.io/hostname
      automountServiceAccountToken: true
      containers:
      - env:
        - name: node.name
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: cluster.initial_master_nodes
          value: elasticsearch-master-0,elasticsearch-master-1,elasticsearch-master-2,
        - name: discovery.seed_hosts
          value: elasticsearch-master-headless
        - name: cluster.name
          value: elasticsearch
        - name: network.host
          value: <IP_ADDRESS>
        - name: cluster.deprecation_indexing.enabled
          value: "false"
        - name: node.data
          value: "true"
        - name: node.ingest
          value: "true"
        - name: node.master
          value: "true"
        - name: node.ml
          value: "true"
        - name: node.remote_cluster_client
          value: "true"
        image: docker.elastic.co/elasticsearch/elasticsearch:7.16.3
        imagePullPolicy: IfNotPresent
        name: elasticsearch
        ports:
        - containerPort: 9200
          name: http
        - containerPort: 9300
          name: transport
        readinessProbe:
          exec:
            command:
            - bash
            - -c
            - |
              set -e
              # If the node is starting up wait for the cluster to be ready (request params: "wait_for_status=green&timeout=1s" )
              # Once it has started only check that the node itself is responding
              START_FILE=/tmp/.es_start_file

              # Disable nss cache to avoid filling dentry cache when calling curl
              # This is required with Elasticsearch Docker using nss < 3.52
              export NSS_SDB_USE_CACHE=no

              http () {
                local path="${1}"
                local args="${2}"
                set -- -XGET -s

                if [ "$args" != "" ]; then
                  set -- "$@" $args
                fi

                if [ -n "${ELASTIC_PASSWORD}" ]; then
                  set -- "$@" -u "elastic:${ELASTIC_PASSWORD}"
                fi

                curl --output /dev/null -k "$@" "http://<IP_ADDRESS>:9200${path}"
              }

              if [ -f "${START_FILE}" ]; then
                echo 'Elasticsearch is already running, lets check the node is healthy'
                HTTP_CODE=$(http "/" "-w %{http_code}")
                RC=$?
                if [[ ${RC} -ne 0 ]]; then
                  echo "curl --output /dev/null -k -XGET -s -w '%{http_code}' \${BASIC_AUTH} http://<IP_ADDRESS>:9200/ failed with RC ${RC}"
                  exit ${RC}
                fi
                # ready if HTTP code 200, 503 is tolerable if ES version is 6.x
                if [[ ${HTTP_CODE} == "200" ]]; then
                  exit 0
                elif [[ ${HTTP_CODE} == "503" && "7" == "6" ]]; then
                  exit 0
                else
                  echo "curl --output /dev/null -k -XGET -s -w '%{http_code}' \${BASIC_AUTH} http://<IP_ADDRESS>:9200/ failed with HTTP code ${HTTP_CODE}"
                  exit 1
                fi

              else
                echo 'Waiting for elasticsearch cluster to become ready (request params: "wait_for_status=green&timeout=1s" )'
                if http "/_cluster/health?wait_for_status=green&timeout=1s" "--fail" ; then
                  touch ${START_FILE}
                  exit 0
                else
                  echo 'Cluster is not yet ready (request params: "wait_for_status=green&timeout=1s" )'
                  exit 1
                fi
              fi
          failureThreshold: 3
          initialDelaySeconds: 10
          periodSeconds: 10
          successThreshold: 3
          timeoutSeconds: 5
        resources:
          limits:
            cpu: 1000m
            memory: 2Gi
          requests:
            cpu: 1000m
            memory: 2Gi
        securityContext:
          capabilities:
            drop:
            - ALL
          runAsNonRoot: true
          runAsUser: 1000
        volumeMounts:
        - mountPath: /usr/share/elasticsearch/data
          name: elasticsearch-master
      enableServiceLinks: true
      initContainers:
      - command:
        - sysctl
        - -w
        - vm.max_map_count=262144
        image: docker.elastic.co/elasticsearch/elasticsearch:7.16.3
        imagePullPolicy: IfNotPresent
        name: configure-sysctl
        resources: {}
        securityContext:
          privileged: true
          runAsUser: 0
      securityContext:
        fsGroup: 1000
        runAsUser: 1000
      serviceAccountName: elasticsearch-master
      terminationGracePeriodSeconds: 120
      volumes: null
  updateStrategy:
    type: RollingUpdate
  volumeClaimTemplates:
  - metadata:
      name: elasticsearch-master
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 30Gi

Describe the bug:
Not possible to deploy the helm chart using Flux/HelmController.
Seems Flux/HelmController rewrites .Chart.Version variable by adding +$number to the original value. Most probably, it represents release or reconciliation number.
It makes ServiceAccount, Role and RoleBinding templates labels invalid:
Helm labels:
labels:
  chart: elasticsearch-7.16.3

Flux/HelmController labels:
labels:
  chart: elasticsearch-7.16.3+1

This affects only ServiceAccount, Role and RoleBinding templates, because the corresponding label is defined there as:
labels:
  chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"

all other templates are using other definition of a similar label:
labels:
  chart: "{{ .Chart.Name }}"

So, a possible fix and the current workaround is to change Role, ServiceAccount and RoleBinding tempaltes, and define the label in the same way as in other templates by removing -{{ .Chart.Version }}"
Steps to reproduce:

use the helm chart with flux/helmrelease (git source controller)
enable rbac.create: true in values.yml
see the error: metadata.labels: Invalid value: "elasticsearch-7.16.3+1". See the full error below

Expected behavior:
The helm chart is deployed succesfully using flux helmcontroller AND rbac enabled.
Provide logs and/or server output (if relevant):
Be careful to obfuscate every secrets (credentials, token, public IP, ...) that could be visible in the output before copy-pasting
Upgrade "es-cluster" failed: failed to create resource: ServiceAccount "elasticsearch-master" is invalid: metadata.labels: Invalid value: "elasticsearch-7.16.3+1": a valid label must be an empty string or consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyValue',  or 'my_value',  or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?')

Any additional context:

agree, this is bug.
According https://docs.bitnami.com/kubernetes/faq/administration/understand-helm-chart/:
must be: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
I am doing a PR right now.

still valid...

still valid

still valid

still valid


[BUG] Flatten on projected fragment yields incorrected result in GAE

Describe the bug
import graphscope
from graphscope.dataset import load_ldbc

graph = load_ldbc()

pg = graph.project(vertices={"post": [], "tag":[]}, edges={"hasTag": []})

pr_context = graphscope.pagerank_nx(pg, alpha=0.85, max_iter=100, tol=1e-06)
print(pr_context.to_dataframe(
    selector={"id": "v.id", "dist": "r"}
).sort_values(by="id"))

pg = graph.project(vertices={"post": [], "tag":[]}, edges={"hasTag": []})
c = graphscope.hits(pg)
print(c.schema)
c.to_dataframe(
    selector={"id": "v.id", "auth": "r.auth", "hub": "r.hub"}
).sort_values(by="id")

The result contains vertex not in "post" and "tag", and the result set size is wrong.
Additional context
Reported by @hanjf12

See also: https://github.com/v6d-io/v6d/issues/1223


Subcommands --output enhancement for plain text

Description
Part of enhancements for issue #87. It only adds support for text output format to subcommands that already support --output flag. This provides a plain text output that's easier for scripting/parsing.
Subcommands Enhanced

tenant list/get
instance list/get
customer-managed-key list/get
data-api graphql commands list/get (if enabled)

I think there are few requirements that needs to be hashed out before proceeding further. So, closing this PR for now.

What is the expected format for plain text output?

Right now I've implemented tab separated values
Should it be consistent across all commands or command-specific?
and should it include all fields from JSON output or a subset?

Appreciate any guidance/clarification on these points to make sure the implementation meets the intended requirement.


search for dack

Please add the option to search for dack or the feature to put the duck in files because I can't find it. Thank you.

Because I have a lot of them

Duplicate of #97


Service Runtime and Generation engine - Paggination support

Add pagination support for service and runtime engines as part of the runtime package. Currently, runtime layer is not offering a way to retrieve partial data.
We need to add additional methods to the interface to retrieve paginated data.
Pagination should be supported only for the find and findAll method.
Possible tasks

Introduce directive for pagination
Introduce paggination config
Generate resolvers with paggination calls
Add paggination to runtime

How
We need to create a separate method in the interface that supports pagination:
https://github.com/aerogear/graphback/blob/master/packages/graphback-runtime/src/data/GraphbackDataProvider.ts#L67
This interface needs to be extended by adding additional method that will support the pagination container.
Getting started
Add pagination methods to https://github.com/aerogear/graphback/blob/master/packages/graphback-runtime/src/data/GraphbackDataProvider.ts#L67
Implement a new method in every subclass.
Extend existing unit tests

@binayakbehera999 That can be something to look at. Good way to start will be to provide pagination support in data layer.
If you prefer you can also take look into filtering.

So should we start by adding an interface named paginate containing two properties start and index to the params of findAll function? @wtrocki

That could be one way to get this done

So should we add a new method with a paginate params to the existing interface?

@binayakbehera999 Feel free to address the issue the way you want it. There are no limitations or wrong approaches. Let's create PR and we can chat about possible solutions there.

Unfinished PR: https://github.com/aerogear/graphback/pull/622

We have filtering by limits and offset but we do not return wrapping type containing the page info

A good example of pagination in production:
https://anilist.gitbook.io/anilist-apiv2-docs/overview/graphql/pagination


code cleanup in the jaxrs module

I did some code cleanup in the jaxrs module.

Hi thank you for this--the changes look good, but please see the one comment around the scan method.

Hi @fehguy. I've brought back the parameter.


Adding XenForo forum software

The forum software XenForo has added a built in 2FA support to [it's latest version 1.5] (https://xenforo.com/community/threads/two-step-verification-and-security-improvements.99881/).
As it's a forum software so it's a bit difficult to decide whether it's a provider or a website which provides 2FA.
But as you removed the provider list anyway what do you think about adding XenForo? And if you think adding it would be good what do you think which category would it fit best?

Since not every site will have it enabled, I think it's better if we list sites that do use it.

And since we don't add self-hosting software.

What about #1190?

Maybe we should add an area of the site that helps developers enable 2FA on local infrastructure?
Been wanting to do that for awhile.

meh, it's rather vague. Most 2FA solutions for self-hosted site software are often addons/plugins. It's much harder to know whether they work and are up to date.

Well why don't we show things that natively support it, link to various plugins for the ones that don't, and encourage the ones that don't natively support it (even if they have plugins) to support it?

Well, maybe. Let's bring it up on gitter or slack.

Since not every site will have it enabled, I think it's better if we list sites that do use it.

It's enabled by default. :smile:
It's even not easy to disable it (and there were enough complains about this)

@Carlgo11
Any explanation why you're closing this issue?

I think I've already explained that. We don't list self-hosting services.


Implement a way to add global interceptors

Perhaps something that would be used like
(re-frame.core/swap-global-interceptors! conj check-db-spec)

It will allow having global interceptors that span not only the code that you control (where you can just use your own version of reg-event-*) but in any code that you use.
Some good usages for it:

Checking the DB spec
Logging
Adding effects that must be used whenever some DB value changes - no matter where the changes is coming from

Note that is should be discouraged for any library to change the global interceptors set. Only the application itself should do that, while libraries can provide some implementation of the desired interceptors.

The last usage of reacting to a specific DB change made from an arbitrary place (but still via re-frame events and not via a direct swap! of the app-db atom) is of special interest. It will allow for simpler and more robust code reusability where you need to react to something.
Right now, if I need to emit event :e in response to any change of the value under key :x in DB, I have to:

Create an event handler that changes :x, e.g. :set-x. Apart from changing :x, it will also dispatch :e
In every single place that wants to change :x, I now must use :set-x instead. I can no longer use reg-event-db, I must use reg-event-fx. I cannot skip any single event handler that changes :x - a maintenance hell, because it also means that I must somehow make sure that such event handlers don't appear in the future.
Make sure that I don't use any re-frame library that can change :x or can be told to change :x but cannot do it via emitting the :set-x.

With the proposed change, I will have to:

Add a global interceptor that checks if :x was changed and emits :e if so.

That's it. No hassle whatsoever.

There is a doodle by Mike Thompson that describes an alternative approach.
I think that it doesn't really help us in any way except for removing the point 1 above. With that solution, I will have to:

In every single place that wants to change :x, use :db-crud instead of :db. It will become much more cumbersome (try to express merge in CRUD terms; or some multi-step iterative operation that relies on its previous steps). Every other issue from the point 2 above applies as well.
Same as point 3 above. I will not be able to use any library that doesn't use :db-crud.

So the interesting questions are:

Where in the interceptor chain should he global interceptor be added? Immediately next to the handler?  Or instead next to the interceptor whose :after  looks after effects?
Need to cater for two or more of these global interceptors being added
How about if new global interceptors are added AFTER all event handlers are already registered. Remember, when you register an event handler you create the interceptor chain at that time.  Not later when the event is handled.
Can global interceptors be unregistered?

Awesome!

I'd say at the very beginning. This would allow using the path and similar interceptors without interfering with the global ones
It would be good to have, yes
Not sure. Some events can be registered long after the code in main is executed - e.g. because of code splitting into multiple modules that are loaded because of user actions. IMO global interceptors should be treated in a special way, without altering the interceptor vector. So, as soon as you register a global interceptor, it should be automatically used both for the already registered events and for the ones that may be registered in the future. Otherwise, there will be ordering issues.
I'd say it would be good to have as well

Our proposal is:

re-frame provides an API to register a "global interceptor" reg-global-interceptor
This API call can be called many times to add many global interceptors
This API call, internally, conj's each global interceptor onto a global interceptor chain; i.e. adds at the end
There will be a new interceptor run-global-interceptors
This interceptor will be placed into all event interceptor chains at the time of registration, next to the effects interceptor (far left of the interceptor chain)
The :before of run-global-interceptors will run through all currently registered global interceptors and run their :before, thus effectively folding them in the interceptor chain. Same for :after.
There is no ordering guarantee for the running on global interceptors.
re-frame provides an API to unregister global interceptors by id

We also considered an alternative API of giving the user full control over the global interceptor chain vector; e.g. (re-frame.core/swap-global-interceptors! conj check-db-spec). We ruled this out as:

There is no real guarantee of control; e.g. over ordering, what global interceptors exist etc. If you are not the last to call the swap! fn then someone else could reposition your global interceptor in the chain. So its a fake guarantee.
There are not clear use cases for maintaining full user control over the global interceptor chain.
Its easier to add it later as an additional API if someone has a requirement than take it away if we release it now.

There is no ordering guarantee for the running on global interceptors.

Can you please share the reasoning behind not providing such guarantee?
I realize that I cannot possibly expect a newly registered interceptor to be The Last One because there may be some third-party code that also registers them. But I would definitely like to see my global interceptors to run in the order I myself call reg-global-interceptor.

We're seeking to expose the least possible amount of API to get the job done.  Which is why we said "no ordering".
But the API can obviously be expanded to provide more guarantees if there are good usecases.  Can you share yours? Just so we understand where you are coming from.

From the top of my head - anything (for example, on-change) + tracing. It's OK if I can't trace thirdparty code, because I cannot fathom how anyone could guarantee anything here without creating a very convoluted API. But I would prefer to trace at least my own code.

@p-himik in #593 we've got a solution that maintains the order in which reg-global-interceptor was called by putting it in a PersistentQueue (i.e. FIFO). I think that meets your suggested requirements re ordering ?

Absolutely, thank you!

Fixed in f817bc9 and released in 1.0.0-rc1. 1.0.0 will be out shortly.


Update Commands

Hi, Can you please thoroughly check and then send a pull request ? Please confirm when I should merge this.

apologies, my local was not updated. I thought it was not successfull.


Res-centric dunbrack

A rework of dunbrack to the res-centric scheme.
This still uses the DunbrackParamResolver, though portions of it to annotate the block types.
In the C++, it compresses everything down into a single kernel launch per residue.

I've cleaned up most of the code and added some of the requests from the cartbonded PR to this one as well.
... which actually let me find a bug on the jagged test in cuda:
E       RuntimeError: CUDA error: an illegal memory access was encountered
E       CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
E       For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

I'll be working on debugging this next. Hopefully something obvious.


<US 05.01.01> As a player, I want to search for other players by username.

Goal: a player is searchable by their username

This issue related to these wiki pages:
Backlog
summary


feat(text-tracks): Use track label instead of lang

Description
Use the track label once that is available.  It will be available if/when this gets merged in: https://github.com/Dash-Industry-Forum/dash.js/pull/2929 and released.
The Label is useful for adding human readable values in the audio/captions menus instead of language codes.
Specific Changes proposed
Please list the specific changes involved in this pull request.
Requirements Checklist

[x] Feature implemented / Bug fixed
[ ] If necessary, more likely in a feature request than a bug fix

[ ] Unit Tests updated or fixed
[ ] Docs/guides updated

[ ] Reviewed by Two Core Contributors

Retested with latest code, everything seems good :+1:


feat(pool): add password to fetched scratch org from pool

This came as a proposal after getting stuck with this: (posted on the Slack channel)
Is there a reason why sfp doesn't persist the password in sf cli auth config after fetching a scratch org from the pool?
The reason I why I ask this is because Provar does generate a new password when it runs thus overriding the password as filled in the prod org Password__c field.
Reference to Provar source code: https://github.com/ProvarTesting/provardx/blob/development/src/utilities/ProvarDXUtility.ts#L112
I am thinking of figuring this out myself and providing a PR to sfp, what are your thoughts on this change?

@thvd thank you for your contribution!


[Feature] Admin Node and User Info

Replaces #4959
Proposal
Add basic info for users and nodes

Pass done @Ghalko. @cwisecarver for questions or comments.

Not going to work without upgrading API to 1.9 as well.

@Ghalko Done. Let me know if there are questions.

Is https://github.com/CenterForOpenScience/osf.io/pull/4960#issuecomment-178747193 still true? Does this rely on upgrading Django versions?

Pass finished.

Also, can you please link to the JIRA ticket for this if there is one?

Jira tickets mentioned: ADM-3 and ADM-56

@sloria ^^

Looks good!


VIDEO HOW THIS PROJECT WORKS

https://github.com/user-attachments/assets/f21ee53c-73dd-444a-9a09-ef67aa718025

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

https://github.com/user-attachments/assets/79bf3dae-c237-4fba-b2f8-e9ca809bec96


⚠ Bofrost.be has degraded performance

In 3f44fe6, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1297 ms

Resolved: Bofrost.be performance has improved in f3e967c.


Feature Request: On driver updates - add option to auto check for updates on drivers

I upgraded dbeaver and noticed that there was a upgrade of mssql driver version. However when I checked the connection it still was set to be 6.2.2 in the installed driver.
Then I tried to run update/install inside driver settings but it still showed 6.2.2 driver version to be updated/installed.
To get around all of this I had to readd a connection after removing 6.2.2 driver completely and reinstall dbeaver.
Having some sort of interface where all driver updates are available would be good. Therefore chosing to upgrade driver or not depending on need.

It is already implemented


Test pull request, please ignore.

I'm just issuing this to test a theory related to the E2E tests, will close in a bit.

Tests concluded, the e2e tests are failing even without any code changes.


NGiNX should reject X-Forwarded-Proto headers sent over HTTP from external clients

cc: @chrisberkhout

Resolved by #69.


why y_train need a padding here in dataset.py row144

paddings = [[0, 100 - tf.shape(y_train)[0]], [0, 0]]
y_train = tf.pad(y_train, paddings)

i cant figure out what the padding used for

otherwise, y_train would have various dimensions.

that is correct


firedrake function plots interpolate on P1 space

Current implementation for firedrake plots of scalar and vector fields silently interpolates the field on a P1 space.
Currently this is done for simplicity, but for higher order spaces it would be desirable to plot the actual function, rather than a downsampled version of it.
This file
https://github.com/firedrakeproject/firedrake/blob/master/firedrake/paraview_reordering.py
may contain indications on how to do that, but we'll probably need someone from upstream to help/advise.

Preliminary support for high order meshes in firedrake was added in the January 2024 refactoring, which removes the need to interpolate on a P1 space.


array_unshift() has not been introduced in PHP 7.3

array_unshift() has been there since PHP 4.
It's only the possibility of calling the function with a single argument that has been introduced in PHP 7.3.

@Leneshka-jb done!


Responsive is hidding my custom template

Hi,
I'm using a custom template for showing some action buttons on the last column of each row. The problem is when the screen is not enough big and the table goes into de responsive view.
I can see and click on the + button to expand the columns, but the column with the custom template is never shown.
Any ideas?
Thank!

Can't say without a reproduction

It's hard to give a reproduction without including a (quite large) amount of code. If someone is facing this issue, I "solve" it avoiding DataTables to hide that column in responsive mode with responsivePriority, like this:
columnDefs: [
  { responsivePriority: 0, targets: -1 }
]


IPAD3 ver IOS 10.3.3

What did you do?
iPad 3
IOS 10.3 is the last version.
Apple let go of the iPad 3.
I'm running OHMYSQL on iPad 3.
Here is the phrase:
Warning: Libinfo call to mDNS Responder on mine thread
There is no problem with IOS 11.
I'm trying to develop a SQL monitoring app with version 10.3 of IOS.
IOS10.3 version is also available.
OHMySQL Environment

**OHMySQL version: 10.2.2
**Xcode version: Version 9.4.1 (9F2000)
*Swift version: 4 (if applicable, if not remove)
**Platform(s) running OHMySQL:

Demo Project
ℹ Please link to or upload a project we can download that reproduces the issue.

Hi there,
It is strange error. Could you, please, provide more details? When does exactly it appear?

Thank you for your reply.
I have iPhone x and iPad 3.
The iPhone x is iOS 11.4 version, but there is no problem using it.
But if you test it with iPad 3 (Os version 10.3),
Warning: Libinfo call to mDNS Responder on mine thread
There is an error.
You'll know when you test it.
There is an error bringing us.
I want you to hold on to this error.
details
An error occurs when the sql value is set and the retrun is received in the "let = user" part.
Error: Working: Libinfo call to mDNS Responder on mine thread
Let user = OHMySQLUser (userName: "root", password: "root", servicename: "localhost", dbName: "ohmysql", port: 3306, "rock: A:

I close the issue as it seems out-dated.
Better support is provided on newer version 3.0.0. But minimum supported version is now iOS 14.0.
Feel free to create new issue if needed.
Thanks!


fix(deps): update opentelemetry monorepo to ^0.12.0

Closing https://github.com/googleapis/nodejs-pubsub/pull/1131 as it has types issue.

Huh, no automerge.

Huh, no automerge.


Dockerfile: Remove conditional for symlinking python3 to python

This conditional was needed as there was still a gap between our CI images, which are RHEL8-based, and the ART images, which was still on RHEL7.
Now that it appears the switch has been made, we can remove the conditional and always use the alternatives command to symlink the python3 rpm to the python command.

/retitle Bug 1872080: Dockerfile: Remove conditional for symlinking python3 to python
/lgtm

/retitle Bug 1872080: Dockerfile: Remove conditional for symlinking python3 to python


Renter wallet transactions' impact on allowance

Need to write tests in order to see how the renter's allowance and contract formation is impacted by other wallet transactions.
For example:
Renter has 1000SC in wallet and sets allowance of 1000SC.  After initial contracts are formed the renter sends SC to someone else.

[WIP]
Scenarios To Check
Create Allowance Greater than Wallet Balance
Expected Behavior
The expected behavior would be that the allowance is not created as the renter does not have the funds available to see the allowance to the end of the period.
Discussion Points

Should the renter be able to create an allowance and begin trying to form contracts?  The contracts would of course fail to be created due to insufficient funds, but this would enable the renter to then add funds afterwards and add funds as they go.

Funds Transferred out of Wallet During Allowance Period
Example
If the renter starts with 5000SC in their wallet and creates an allowance of 5000SC.  Then after the initial contracts are created, the renter transfers 2500SC to another wallet.
Expected Behavior
Contracts fail to be renewed.


Finish converting to STL specified dynamics

Relevant files:

[x] blustl/game.py: need to finish the stl -> difference logic

Should remove time information: desugars temporal operators as Boolean operators
active_times generator should be useful for getting the active time variables at each level.

[ ] blustl/milp.py: remove encode_state_evolution and remove top level logic ANDs

[ ] stl_parser: support the distributive property for multiplication when parsing

convenience to make writing step changes easier

blustl.game.py now has a function game_to_sl which converts a game into a time erased encoding in what I've been calling "Signal Logic".
Treating the signals at certain times as individual propositions this is the same as the SMT theory of Linear Real Arithmetic. (mentioned in #3 as a future research direction).
Remaining to be done:

[ ] port blustl/milp.py
[ ] properly handle subtraction in stl/stl_parser.py
[ ] Convert x' to x[t - dt] (which means figuring out how to handle dt properly


ftp server cant support non-ascii

hello developer, i try folder name like chinese, japanese and find that not support by jsftpd server

Hi @zhushenwudi
I just tried to create some files and folders with chinese/japanese characters and content using WinSCP as the client. I did not phase any issue. Do you have some log files?


fix(buildParams): use brackets for arrays

What is the motivation for this pull request?
Fix a bug where passing multiple users to the user subscription lookup endpoint requires [] around the keys
https://www.braze.com/docs/api/endpoints/subscription_groups/get_list_user_subscription_groups/?tab=multiple users

This will replace #328 if we like this style better. I do, but it's only if Braze is consistent with this.
What is the current behavior?
/subscription/user/status?external_id=1&external_id=2
What is the new behavior?
/subscription/user/status?external_id[]=1&external_id=2
Checklist:

[x] Conventional Commits
[x] Tests
[ ] Documentation

Release:

https://github.com/remarkablemark/braze-api/pull/331#issuecomment-1662922246


Docs: Decorators for class decorator needs to either be explicit about the type or note that new interface isn't inferred

Page URL: https://www.typescriptlang.org/docs/handbook/decorators.html
Issue:
function classDecorator<T extends { new(...args: any[] ) : {} }>(constructor: T) {
    return class extends constructor {
        newProperty = "new property";
        hello = "override";
    }
}

@classDecorator
class Greeter {
    property = "property";
    hello: string;
    constructor(m: string) {
        this.hello = m;
    }
}

const a = new Greeter("world")
a.newProperty

a.newProperty errors because a isn't inferred to have newProperty from the classDecorator.
Recommended Fix: Either explicitly add the type in the code sample, or state in the docs
re https://github.com/microsoft/TypeScript/issues/4881

I wound up here because I encountered this issue IRL - the example on the website led me to misunderstand the capabilities of the class decorator. Agree this example should be corrected so that it doesn't imply that decorators can define new properties on the object since that is not exactly the case right now (at least not in a way that typescript's compiler is happy about).

Bumping this issue, as the docs continue to suggest that class decorators can reshape the target in a TypeScript-aware way. Given the number of related GitHub issues / StackOverflow questions, there seems to be a lot of avoidable wheel-spinning if the documentation were clearer on this point.
I would suggest a new "NOTE" along the lines of:

NOTE   TypeScript supports the runtime semantics of the decorator proposal, but does not currently track changes to the shape of the target. Adding or removing methods and properties, for example, will not be tracked by the type system.


Fix typo

Github -> GitHub

@changeworld : Thanks for your contribution! The author, @nitinme, has been notified to review your proposed change.

Merging typo fixes


Fun with vectors and paths

having a vector type opens up some neat diagrams potential. This example draws cubes to illustrate tensor broadcasting. This is hard to do with the diagram object directly since bounding boxes are squares. However with paths can compose smaller cubes and then compose the whole diagram.

Very cool example! 👍
I believe that the cube could also be drawn as follows (I've added the shear_{x,y} and scale_{x,y} transformations to the PR):
face_m = rectangle(1, 1)
face_t = rectangle(1, 1).scale_y(0.5).shear_x(-1)
face_r = rectangle(1, 1).scale_x(0.5).shear_y(-1)

It might be also worthwhile augmenting the concatenation functions (hcat, vcat) with an additional sep parameter (as in diagrams), which would specify how much white space to insert between the adjacent diagrams.

Oh shear is so cool. was thinking there was a better way, but I couldn't figure it out.

Some major changes:

Switch to shear.
Add a Spacer class and struts to init
Add a spacer argument to hcat and vcat
Implement a Transformable class for all the objects that can be transformed with the same API.

Thanks a lot! Very nice contributions!


Don't complain when reflecting a table with no primary key

After finding and solving the problem I see that I have done nothing more than reinvent the previous pull request by Robert Conde. But since I have signed your CLA I'm hoping you will be able to accept this one.
Cheers, Jonathan

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Jonathan Schultz seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.


Add links to ranking pages from place overview table

Removed support for multiple stat var (since it's not used at the moment)
Fully specify params in the url path (changed the URL pattern as well)
Cleaned up some unused functions
Added error handling
Move some static page rendering to the client

It's currently in the same ranking.py handler - I didn't want to add
another module just for one API call, but I can move it if needed for
consistency.

moved the handler, ptal!


setBadgeFont invaild

When I setBadgeFont for the badge,it always show me the default font.

set the badgeFont after showBadge could work

@litt1e-p  That`s right, because bage instance has not yet alloced before calling setBadgeFont:. This is a bug but it has will be fixed in version 1.2.6. Sorry to bother u.

@new-soul

glad to that🎉


State dict support

This PR adds state_dict()/load_state_dict() methods to allow saving and later restoring the state of an EMA object. (This is useful, for example, when restarting training — especially at high decay, maintaining the shadow weights through a restart is important for avoiding artifacts in the validation loss as well has having the best final model.)
Based somewhat on state_dict()/load_state_dict() for torch.optim.Optimizer:  https://pytorch.org/docs/stable/_modules/torch/optim/optimizer.html#Optimizer

Thanks again!


Automated tests for functionality in DemARKs

The DemARKs take a long time to execute.
But smaller tests of their functionality could be set up as automated tests in HARK.
That would increase test coverage in a meaningful way (i.e., we could catch more errors that might break DemARKs before they are committed.)

These are all the DemARKs:

[ ] Alternative-Combos-Of-Parameter-Values.py
[ ] ChangeLiqConstr.py
[ ] Chinese-Growth.py
[ ] ConsPortfolioModelDoc.py
[ ] DCEGM-Upper-Envelope.py
[ ] DiamondOLG.py
[ ] FisherTwoPeriod.py
[ ] GenIncProcessModel.py
[ ] Gentle-Intro-To-HARK-Buffer-Stock-Model.py
[ ] Gentle-Intro-To-HARK-PerfForesightCRRA.py
[ ] HoweWeSolveIndShockConsumerType.py
[ ] IncExpectationExample.py
[ ] IndShockConsumerType.py
[ ] KeynesFriedmanModigliani.py
[ ] KinkedRconsumerType.py
[ ] KrusellSmith.py
[ ] LifecycleModelExample.py
[ ] Micro-and-Macro-Implications-of-Very-Impatient-HHs.py
[ ] MPC-Out-of-Credit-vs-MPC-Out-of-Income.py
[ ] Nondurables-During-Great-Recession.py
[ ] PerfForesightConsumerType.py
[ ] Structural-Estimates-From-Empirical-MPCs-Fagereng-et-al.py
[ ] TractableBufferStock-Interactive.py
[ ] Uncertainty-and-the-Saving-Rate.py

Oh, whoops--several of these have been moved to examples/ already.
However, this is all the more reason to have automated tests for them--it's functionality explicitly supported by HARK.

There is already a test based on BufferStock.

A first step would be to write a script that just goes through them all and
executes them one by one and records how long each one takes.
We could then incorporate those that run quickly (in a couple of minutes or
less, say) into the automated tests, and mark the others as ones with a
"to-do" item of writing tests that run quickly.
On Mon, Feb 24, 2020 at 10:52 PM Sebastian Benthall <
<EMAIL_ADDRESS>wrote:

The DemARKs take a long time to execute.
But smaller tests of their functionality could be set up as automated
tests in HARK.
That would increase test coverage in a meaningful way (i.e., we could
catch more errors that might break DemARKs before they are committed.)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/issues/543?email_source=notifications&email_token=AAKCK72GLSDLGDIB6LVVXTTREQ6TVA5CNFSM4K2TNTU2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IP4DN2A,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKCK73JSDRGVEG7L7CNN73REQ6TVANCNFSM4K2TNTUQ
.

--

Chris Carroll

Had a script which did the timing.
[notebook, time in seconds]
Structural-Estimates-From-Empirical-MPCs-Fagereng-et-al.py<PHONE_NUMBER>4267273
Nondurables-During-Great-Recession.py 82.00251603126526
DCEGM-Upper-Envelope.py 4.082727909088135
IndShockConsumerType.py 3.7925097942352295
TractableBufferStock-Interactive.py 1.7823729515075684
GenIncProcessModel.py 97.28985691070557
DiamondOLG.py 3.757750988006592
KeynesFriedmanModigliani.py 6.499566078186035
Micro-and-Macro-Implications-of-Very-Impatient-HHs.py 44.61026406288147
IncExpectationExample.py<PHONE_NUMBER>0361633
Gentle-Intro-To-HARK-Buffer-Stock-Model.py 4.099589824676514
KinkedRconsumerType.py 4.050242900848389
KrusellSmith.py<PHONE_NUMBER>496948
ConsPortfolioModelDoc.py 5.891296148300171
ChangeLiqConstr.py 1.9524343013763428
PerfForesightConsumerType.py 2.528262138366699
Gentle-Intro-To-HARK-PerfForesightCRRA.py 2.402021884918213
Chinese-Growth.py<PHONE_NUMBER>0628662
Alternative-Combos-Of-Parameter-Values.py 8.333052158355713
LifecycleModelExample.py 4.598069906234741
HoweWeSolveIndShockConsumerType.py 1.5691490173339844
Uncertainty-and-the-Saving-Rate.py<PHONE_NUMBER>3588257
FisherTwoPeriod.py 1.9162158966064453
MPC-Out-of-Credit-vs-MPC-Out-of-Income.py 1.6958949565887451

Thanks @MridulS that's super helpful

So maybe we should just do the ones that take < 10 seconds?
PS.  I believe the "master" version of some of these has been moved to
Seb's excellent new documentation "examples" location.  Like
ConsPortfolioModelDoc.py
On Thu, Feb 27, 2020 at 11:37 AM Mridul Seth<EMAIL_ADDRESS>wrote:

Had a script which did the timing.
[notebook, time in seconds]
Structural-Estimates-From-Empirical-MPCs-Fagereng-et-al.py<PHONE_NUMBER>4267273
Nondurables-During-Great-Recession.py 82.00251603126526
DCEGM-Upper-Envelope.py 4.082727909088135
IndShockConsumerType.py 3.7925097942352295
TractableBufferStock-Interactive.py 1.7823729515075684
GenIncProcessModel.py 97.28985691070557
DiamondOLG.py 3.757750988006592
KeynesFriedmanModigliani.py 6.499566078186035
Micro-and-Macro-Implications-of-Very-Impatient-HHs.py 44.61026406288147
IncExpectationExample.py<PHONE_NUMBER>0361633
Gentle-Intro-To-HARK-Buffer-Stock-Model.py 4.099589824676514
KinkedRconsumerType.py 4.050242900848389
KrusellSmith.py<PHONE_NUMBER>496948
ConsPortfolioModelDoc.py 5.891296148300171
ChangeLiqConstr.py 1.9524343013763428
PerfForesightConsumerType.py 2.528262138366699
Gentle-Intro-To-HARK-PerfForesightCRRA.py 2.402021884918213
Chinese-Growth.py<PHONE_NUMBER>0628662
Alternative-Combos-Of-Parameter-Values.py 8.333052158355713
LifecycleModelExample.py 4.598069906234741
HoweWeSolveIndShockConsumerType.py 1.5691490173339844
Uncertainty-and-the-Saving-Rate.py<PHONE_NUMBER>3588257
FisherTwoPeriod.py 1.9162158966064453
MPC-Out-of-Credit-vs-MPC-Out-of-Income.py 1.6958949565887451
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/issues/543?email_source=notifications&email_token=AAKCK75AU5IARNLKJJPMCDTRE6JWRA5CNFSM4K2TNTU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEND25HY#issuecomment-591900319,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKCK74YQL7O5WEWDMK3YQTRE6JWRANCNFSM4K2TNTUQ
.

--

Chris Carroll

I am going to make tests based on the DemARKs on a case by case basis, in roughly [ascending in execution time, ascending alphabetically] order.
Writing an automated test suite is not just a matter of copy-and-paste.
I'm going to try to design them as high quality tests. That involves:

separate different functionality into different tests
checking a variety of test cases for a unit of functionality
trying to get good overall coverage of the functionality
reducing the amount of time it takes to run the test, while maintaining the functional coverage

As there are a lot of DemARKs, I expect to make progress on this gradually over time.
But my goal here is to put in place a high quality test suite that covers the functionality of the code without taking an excessive amount of time.

On 27-Feb-2020, at 2:27 PM, Sebastian Benthall<EMAIL_ADDRESS>wrote:
I am going to make tests based on the DemARKs on a case by case basis, in roughly [ascending in execution time, ascending alphabetically] order.
Writing an automated test suite is not just a matter of copy-and-paste.
I'm going to try to design them as high quality tests. That involves:
separate different functionality into different tests
checking a variety of test cases for a unit of functionality
trying to get good overall coverage of the functionality
reducing the amount of time it takes to run the test, while maintaining the functional coverage
+1 on all.
Do have a look at https://github.com/econ-ark/HARK/blob/master/HARK/ConsumptionSaving/tests/test_ConsMarkovModel.py#L53 https://github.com/econ-ark/HARK/blob/master/HARK/ConsumptionSaving/tests/test_ConsMarkovModel.py#L53 where I started building “unit” tests for ConsumptionSaving checkMarkovInputs. Overall functional tests are definitely a better/faster way of getting coverage but unit tests are my favourite, found a couple of bugs just by writing that one unit test.

As there are a lot of DemARKs, I expect to make progress on this gradually over time.
But my goal here is to put in place a high quality test suite that covers the functionality of the code without taking an excessive amount of time.

We can always have two tests suites, one working with smaller functional and unit testing. Other doing simulation testing and testing models which have compute intensive work.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/econ-ark/HARK/issues/543?email_source=notifications&email_token=ABI5RFB5BYEUEVLDOIXYPHTRE65UBA5CNFSM4K2TNTU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENEL5JY#issuecomment-591969959, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABI5RFBDBPLZ3Q6L27PMTCDRE65UBANCNFSM4K2TNTUQ.

Hmmm, my sense is that many of the DemARKs are not worthy of such an
in-depth treatment; and it would probably be redundant in that many of the
DemARKs use the same functionalities in the same way as each other, so the
added value from having handcrafted tools for each of them is probably much
less than the added value of that time spent elsewhere.
PS.  The KrusellSmith DemARK should really be a REMARK.  Mridul, why don't
you make an issue of that for yourself and we can make it the second thing
on which we test the "reproduce" tool for REMARKs.
On Thu, Feb 27, 2020 at 2:27 PM Sebastian Benthall<EMAIL_ADDRESS>wrote:

I am going to make tests based on the DemARKs on a case by case basis, in
roughly [ascending in execution time, ascending alphabetically] order.
Writing an automated test suite is not just a matter of copy-and-paste.
I'm going to try to design them as high quality tests. That involves:

separate different functionality into different tests
checking a variety of test cases for a unit of functionality
trying to get good overall coverage of the functionality
reducing the amount of time it takes to run the test, while
maintaining the functional coverage

As there are a lot of DemARKs, I expect to make progress on this gradually
over time.
But my goal here is to put in place a high quality test suite that covers
the functionality of the code without taking an excessive amount of time.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/issues/543?email_source=notifications&email_token=AAKCK7265RMB6X6BSDK24RTRE65UBA5CNFSM4K2TNTU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENEL5JY#issuecomment-591969959,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKCK7ZPOUA7V7I447EU373RE65UBANCNFSM4K2TNTUQ
.

--

Chris Carroll

One other part of my approach that I didn't mention, @llorracc , is that if I see that a DemARK is using functionality that is already tested, I won't make that test.
Basically, I'm just aiming to apply common sense and software engineering best practices here.
@MridulS I see what you are saying about unit, functional, and more advanced test suites, and thanks for pointing towards that example you wrote. I think your point about how writing good tests can lead to bug discovery is right on. We don't know what bugs may be in the existing code because we don't have tests covering all the functionality!

 FisherTwoPeriod is a cool demo of Jupyter widgets but does not appear to use any currently uncovered HARK library features. I'll check it off.

As an example of how to speed up the tests:

GenIncProcessModel.py, with runtime of 97 seconds, has a simulation with T_sim = 500
Lowering this number to something smaller reduces the test time dramatically while covering the same functionality.

DemARKs that depend on a lot of custom code are not appropriate for being turned into automated tests for the core libraries.
I'm going to check off some of these. Current example: Chinese Growth, Ind Expectation Example.

Uncertainty-and-the-Saving-Rate looks to be a demonstration of cstwMPC functionality.
The cstwMPC is slated for some heavy refactoring soon, and parts of is may be removed from the HARK library. See #334 #449 #522
As @llorracc has ownership over that code at the moment, I'll remove automated testing it from the scope of this issue.

The KrusellSmith case is complicated by the fact that the core classes don't yet have functioning default behavior: #557
Checking it off from the list for now. That means all DemARKs have either been ticketed, test in #547, or exempted.

Awesome!  Thanks.
On Fri, Mar 6, 2020 at 5:23 PM Sebastian Benthall<EMAIL_ADDRESS>wrote:

The KrusellSmith case is complicated by the fact that the core classes
don't yet have functioning default behavior: #557
https://github.com/econ-ark/HARK/issues/557
Checking it off from the list for now. That means all DemARKs have either
been ticketed, test in #547 https://github.com/econ-ark/HARK/pull/547,
or exempted.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/issues/543?email_source=notifications&email_token=AAKCK76GSVIOQJPH5EBZH23RGEPOZA5CNFSM4K2TNTU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOB6DYY#issuecomment-595845603,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKCK75KCVG6B6OQKG57QZDRGEPOZANCNFSM4K2TNTUQ
.

--

Chris Carroll

 FisherTwoPeriod is a cool demo of Jupyter widgets but does not appear to use any currently uncovered HARK library features. I'll check it off.

Yes.  A few of the items in DemARK are basically just lecture notes for my first year course.  Almost all of them could in principle be modified to use HARK, and I hope eventually to do that, but for the moment several of them are just straight jupyter/python.  So, you are right to exclude them.


Still problems with creating local instance of the kendo plugin

Completely obliterated the npm, jspm caches and instances.
Reinstalled the jspm, jspm-git and bower "globally"
Made a fresh clone of the plugin and verified that package.json has references to Aurelia Beta 1
Then:

cd C:\work\aurelia-ui-toolkits\aurelia-kendoui-plugin
npm install

These went fine - and at this point (before you started this jspm-git trick) I would run

jspm install

and that would install all aurelia.

Now I get this:

λ jspm install

err  TypeError: must start with number, buffer, array or string
         at fromObject (buffer.js:158:9)
         at new Buffer (buffer.js:57:10)
         at decodeCredentials (C:\work\aurelia-ui-toolkits\aurelia-kendoui-plugin\node_module
s\jspm-git\git.js:56:14)
         at Object.GitLocation (C:\work\aurelia-ui-toolkits\aurelia-kendoui-plugin\node_modul
es\jspm-git\git.js:239:17)
         at Object.exports.load (C:\work\aurelia-ui-toolkits\aurelia-kendoui-plugin\node_modu
les\jspm\lib\registry.js:73:56)
         at new RegistryPath (C:\work\aurelia-ui-toolkits\aurelia-kendoui-plugin\node_modules
\jspm\lib\config\loader.js:261:33)
         at Config.read (C:\work\aurelia-ui-toolkits\aurelia-kendoui-plugin\node_modules\jspm
\lib\config\loader.js:126:26)
         at C:\work\aurelia-ui-toolkits\aurelia-kendoui-plugin\node_modules\jspm\lib\config.j
s:100:26
         at process._tickCallback (node.js:356:9)
         at Function.Module.runMain (module.js:477:11)

err  Unable to load registry kendo

warn Installation changes not saved.

WOW

As I learned the hard way, steps I took to start from a clean slate, trying to remove the use of jspm-git - are incomplete. In addition to clearing all of the caches, and proper editing the package.json file to remove the references to jspm-git as well as references to bower endpoints that require the use of jspm-git, there is still a place where old "settings" remain persistent - config.js (both at the root and sample levels)
This in a sense should not be a surprise - as it is a perfect example of the dangers of keeping redundant information in the system. I believed that config.js file, produced by jspm by reading the package.json file will always represent the state of package.json file.
Lesson learned: after changing the package.json file, delete the config.js file, have jspm regenerate the it, and then remember to manually add the aurelia specific babelOptions:
babelOptions: {
    "optional": [
      "es7.decorators",
      "es7.classProperties"
    ]
  },

See https://github.com/aurelia-ui-toolkits/aurelia-kendoui-plugin/issues/71


PyLXD support for "lxc export"  (exporting container to .tar.xz )

Hi
Just wondering if there could be support for the LXC export blah --optimized-storage .tar.zx command in pylxd?
Cheers, 👍
Jon.

I've checked the API documents here and there doesn't appear to be an option for that, sadly.

So, I asked upstream, and there is a way of doing it on the JSON API.  Essentially:

The API is at https://lxd.readthedocs.io/en/latest/rest-api/#10containersnamebackups
You create the backup using the POST.
Then fetch it using the .../export endpoint

Unfortunately, the pylxd API doesn't support the '.../backups' endpoint yet.  It was introduced relatively recently and pylxd is lagging slightly behind.

ok thats fine I will use that for now, thanks
On Thu, 2 Aug 2018 at 16:24 Alex Kavanagh<EMAIL_ADDRESS>wrote:

So, I asked upstream, and there is a way of doing it on the JSON API.
Essentially:

The API is at
https://lxd.readthedocs.io/en/latest/rest-api/#10containersnamebackups
You create the backup using the POST.
Then fetch it using the .../export endpoint

Unfortunately, the pylxd API doesn't support the '.../backups' endpoint
yet. It was introduced relatively recently and pylxd is lagging slightly
behind.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lxc/pylxd/issues/323#issuecomment-409965642, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAly5xxCBwV_meJEOjw9lgEtHGHItg23ks5uMxm8gaJpZM4VpfXY
.