sysstat: 12.6.1 -> 12.6.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/sysstat/versions.
meta.description for sysstat is: A collection of performance monitoring tools for Linux (such as sar, iostat and pidstat)
meta.homepage for sysstat is: http://sebastien.godard.pagesperso-orange.fr/
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 12.6.2 with grep in /nix/store/38h7x7asvxsm8cxydn1mlgy1r805572n-sysstat-12.6.2
found 12.6.2 in filename of file in /nix/store/38h7x7asvxsm8cxydn1mlgy1r805572n-sysstat-12.6.2

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

169 total rebuild path(s)

169 package rebuild(s)

First fifty rebuilds by attrpath
appvm
booster
ceph
ceph-client
ceph-csi
ceph-dev
check_zfs
collectd
diffoscope
docker-machine-kvm
docker-machine-kvm2
easysnap
gnome.gnome-boxes
guestfs-tools
haskellPackages.libvirt-hs
hw-probe
i3blocks-gaps
libceph
libguestfs
libvirt
libvirt-glib
linuxKernel.packages.hardkernel_4_14.zfs
linuxKernel.packages.hardkernel_4_14.zfsStable
linuxKernel.packages.hardkernel_4_14.zfsUnstable
linuxKernel.packages.linux_4_14.zfs
linuxKernel.packages.linux_4_14.zfsStable
linuxKernel.packages.linux_4_14.zfsUnstable
linuxKernel.packages.linux_4_14_hardened.zfs
linuxKernel.packages.linux_4_14_hardened.zfsStable
linuxKernel.packages.linux_4_14_hardened.zfsUnstable
linuxKernel.packages.linux_4_19.zfs
linuxKernel.packages.linux_4_19.zfsStable
linuxKernel.packages.linux_4_19.zfsUnstable
linuxKernel.packages.linux_4_19_hardened.zfs
linuxKernel.packages.linux_4_19_hardened.zfsStable
linuxKernel.packages.linux_4_19_hardened.zfsUnstable
linuxKernel.packages.linux_5_10.zfs
linuxKernel.packages.linux_5_10.zfsStable
linuxKernel.packages.linux_5_10.zfsUnstable
linuxKernel.packages.linux_5_10_hardened.zfs
linuxKernel.packages.linux_5_10_hardened.zfsStable
linuxKernel.packages.linux_5_10_hardened.zfsUnstable
linuxKernel.packages.linux_5_15.zfs
linuxKernel.packages.linux_5_15.zfsStable
linuxKernel.packages.linux_5_15.zfsUnstable
linuxKernel.packages.linux_5_15_hardened.zfs
linuxKernel.packages.linux_5_15_hardened.zfsStable
linuxKernel.packages.linux_5_15_hardened.zfsUnstable
linuxKernel.packages.linux_5_4.zfs
linuxKernel.packages.linux_5_4.zfsStable

Instructions to test this update (click to expand)

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

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/38h7x7asvxsm8cxydn1mlgy1r805572n-sysstat-12.6.2
ls -la /nix/store/38h7x7asvxsm8cxydn1mlgy1r805572n-sysstat-12.6.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review took longer than 45m and timed out

Maintainer pings
cc @edolstra for testing.

@ofborg build i3blocks-gaps linuxPackages.zfs hw-probe

@ofborg build gnome.gnome-boxes qemu_full sambaFull virt-manager


Introduce Turbo.session.drive = false to allow users to disable Drive by default.

I have a project where customers have existing layouts and I don't want them to have to disable Turbo Drive using data-turbo="false" in their layouts, but I still want them to be able to use Turbo in an opt-in fashion. Right now I monkey patch it like this, which seems hacky:
import { Turbo } from "@hotwired/turbo-rails";
Turbo.navigator.delegate.elementIsNavigable = function(element) {
  const container = element === null || element === void 0 ? void 0 : element.closest("[data-turbo]");
  if (container) {
    return container.getAttribute("data-turbo") == "true";
  } else {
    return false;
  }
}

Turbo Drive seems to be the only part of Turbo which is not opt-in, so it seems wrong to not be able to configure it to behave that way. This PR would allow developers to disable Turbo Drive by default, and then opt-in by adding data-turbo="true" wherever they want to use Turbo Drive (including in the <html> or <body> tags). Usage after it's in turbo-rails:
import { Turbo } from "@hotwired/turbo-rails";
Turbo.disableDriveByDefault();

The name might seem a little verbose, but I thought it was good because it communicates that it's not entirely disabled, and still usable in an opt-in fashion.
Fixes #190
Related to #136
Fixes hotwired/turbo-rails#139

@seanpdoyle I noticed that you're responding to some of the issues and that you're a maintainer; could you provide me with some guidance as to whether or not you think this PR provides a useful addition to the project?

So elementIsNavigable has now been moved out of the Session, apparently because it's needed in a module that doesn't have access to the current session. So this PR will have to get refactored to account for that change. Would the maintainers of the project entertain the idea of having a coreSettings hash map where the disableDriveByDefault property would go?
Are the maintainers of this project just unwilling to consider this at all? I've gotten no feedback in the 2 months since I opened this, and it's a little frustrating when it seems like it's a (at lest somewhat) popular feature/enhancement, and it seems fairly straightforward to implement, but I haven't gotten any feedback about whether the maintainers of the project want this enhancement to go into the project or if they have better ideas about how I should implement this, or if you just don't really like the idea at all.
My current thought is to have options passable front start() (e.g., start(disableDriveByDefault: true)) which would be stored in something like a coreSettings object/hash, and then we could also expose methods if any of those settings are mutable so, for example, in turbo-rails where start is called automatically, there would be an interface to mutate those settings. This would be flexible if we ever had any other settings to add, and it would be detached from the session so elementIsNavigable would be able to function without being attached to the session.

To be clear, I would really appreciate some feedback from a maintainer because at this point I feel like even if I refactor, this PR won't get reviewed or merged so I will have wasted my time. I feel like I've been pretty patient waiting 2 months before bringing up the fact that this PR has been ignored, so I understand that people are busy but this wait time just seems a little ridiculous.

So elementIsNavigable has now been moved out of the Session, apparently because it's needed in a module that doesn't have access to the current session.

(not a maintainer) I think storing a static property on Session is still fine. Here you'd just be referencing Session.driveDisabledByDefault.

@ghiculescu Oh, I didn't know that would work. My understanding was that Session was the class and the "current" session instance would be session, so when the user calls Turbo .disableDriveByDefault() it would be an instance method call that changes the instance variable session.disableDriveByDefault = true, so the class variable Session.disableDriveByDefault would still be false. I'm not a JavaScript/TypeScript expert (more of a C/Python/Ruby guy), but if you can confirm that would work I can certainly make that change.

I'm happy to see this. I appreciate the attempt to explain the default situation in the flag, but it's imo too much. I think Turbo.drive = false is a better default. We can document that this still allows you a per-element opt-in.

Ok, I found some time to work on this again. It might be ready now. So I did move elementIsNavigable back into the session (renamed it to elementDriveEnabled to better describe it) and just imported the session in frame_controller.ts (where it was needed). AFAICT that doesn't cause any dependency issuess (circular or otherwise), so I think that is ok.
So the way to disable Drive by default is to set Turbo.session.drive = false. Lmk if you think a helper function on Turbo should be added, like Turbo.disableDrive(). I also added DriveTests to test basic Drive functionality both in the default mode and with Turbo.session.drive = false.

So the test error is: ScrollRestorationTests - landing on an anchor (0.01s). Weird, because that test actually runs successfully for me locally on both Chrome and Firefox.

Ok, I merged main into this branch (rebasing to make merging simpler), so perhaps that test is fixed. I don't think the test failure was caused by my changes.

Yeah, looks like the same error that was in main on 7.0.0-rc.1: https://github.com/hotwired/turbo/runs/3128997485?check_suite_focus=true
I think this PR is good to go from a functionality standpoint, just awaiting review from maintainers.

@gregschmit happy to see your idea merged! 🎉  I have several existing projects where it might be nice to add a little turbo, and this will make that all the easier. Thank you!


Nix flake

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Please upload report for BASE (develop@e81def3). Learn more about missing BASE report.

Additional details and impacted files
@@            Coverage Diff             @@
##             develop      #52   +/-   ##
==========================================
  Coverage           ?   92.20%
==========================================
  Files              ?       44
  Lines              ?      937
  Branches           ?      100
==========================================
  Hits               ?      864
  Misses             ?       47
  Partials           ?       26

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


calculate disp_focus if I want to focus on a point

given that I want to exactly focus on the point x, y of the image, how to calculate disp_focus to focus on that point?

You can extract the disparity of that point on the disparity map and serve that disparity as disp_focus.


[all] Support multiple distribution formats

As per Discord chat, we should look into easy-to-maintain solutions supporting distributions in different flavors.
Proposed initial solution to follow along these lines:
https://www.reddit.com/r/javascript/comments/6ngjkk/how_to_distribute_library_written_with_es6/dka3g5u/

Hi @postspectacular I've been taking a look at this today. I'm just wondering for the first pass, will I go for something like the redux approach? You can see the layout of the package that is delivered to apps here<EMAIL_ADDRESS>The one exception might be to leave the es6 module version untranspiled to es5.
It looks they include a fully self contained bundled version as well (both minified and unminified). I think this helps for tools like unpkg.com and for people who just want to include the file directly in the html page. It would also make it easier to use it with observablehq.com. You can test it here https://beta.observablehq.com/@tmcw/module-require-debugger
The bundling tool of choice for libs seems to be rollup: https://medium.com/webpack/webpack-and-rollup-the-same-but-different-a41ad427058c so I could probably use this with the rollup typescript plugin: https://github.com/rollup/rollup-plugin-typescript

Thanks for these new links! This constantly changing tool-of-the-month behavior of the JS community makes me feel like a complete beginner again. I've never used rollup and therefore can't comment on its merits, but will check it out ASAP and in the meantime I'd defer to your expertise to try it out and see if you can make it work. Maybe try it with a single module first (e.g. @thi.ng/checks - has no deps) on a new feature branch. Then I can clone it and do a test publish with version qualifier and we can test it in situ...
Ps. It seems neither unpkg.com nor that module-require-debugger seem to like scoped packages 😭

Oki, ignore my last comment about scoped packages. It works now, but didn't earlier. Likely there's a time delay for importing still unknown packages into unpkg...

Oki, I just tried out rollup with one of modules, but I already can see an a major issue with import paths:
I've configured @thi.ng/checks to use 2 separate tsconfig files, each with their own targets and building this works completely fine.

CommonJS => ./lib
ES6 => "./es6"

// package.json
{
...
"main": "./lib/index.js"
"module": "./es6/index.js"
...
}

However, I've no idea how to change all the imports in other places, neither of these works:
import { isArray } from<EMAIL_ADDRESS>import { isArray } from<EMAIL_ADDRESS>import { isArray } from<EMAIL_ADDRESS>

Would leaving the es6 files in the root of the folder help I wonder? It might be a little confusing as far as a folder layout goes but if it makes it work maybe this would be the best approach. I'm also wondering if it's necessary to use rollup for these two versions. Could it not just be compiled with typescript similarly to how it's already being done except with two tsconfigs for es6 and es5? Then rollup could be used to create a fully bundled version that could be put in the "dist" folder.

@allforabit I've tried it and I think the issue is has to do that I've switched the Typescript output module format from "commonjs" to "es2015". this alone seems to make TS not find the module anymore when referred to from other projects. I still have to try the combination where I keep the CommonJS output in the project root (as has been the case for now)...
As for rollup, yep, this wasn't part of the experiment so far - the way I understand it we would only need this for (additionally) providing UMD versions, correct?

We might need to explicitly set the [TS module resolution strategy](https://www.typescriptlang.org/docs/handbook/module-resolution.html#module-resolution-strategies says) to "node" when using "es2015" module format. Will try that tonight...

Ah I see that makes sense. Yes rollup would just be used for the UMD version. Changing to the "node" resolution strategy seems like the solution to the issue, well spotted! It seems the classic resolution strategy is just their for backwards compatibility.
Just to note, if you're trying to compile the more complex modules such as rstream there are some settings that I changed to get it working. Here's what worked for me: tsc --outdir lib --target ES5 --lib ES6,DOM --downlevelIteration. I'm not sure if polyfills would need to be added by the end users for things like Symbols. I'll check it with my react native project. It's very straightforward though to include these shims for the end user so it's probably not something that the library should include.

Hmm... I'd really prefer to avoid ES5 as default output since a lot of these polyfills will have negative impact on performance. Can people not just transpile this themselves if they really still need ES5?

It would probably bloat the packages as well so yes it definitely shouldn't be the default output. So there wouldn't be an es5 version published at all? I guess that would be the simplest option. I think I misunderstood that this issue was about making an es5 version available. I'm not sure if just changing the module style from cjs to es will help with the issues outlined on the Discord channel:

Thanks for the reply! I could transpile the code however it gets complicated. For example the Atom pkg lives under<EMAIL_ADDRESS>In my project, the tsoconfig sets target: est5 (to work with ie11) but I use exclude: "node_moduels" since I don't want to run my entire node_modules folder through the TS compiler. I make an exception in my include: "include": ["src//*"<EMAIL_ADDRESS>But now in my outDir,  I have a node_modules folder. Now I believe I need to bundle the code since I don't  want to publish that folder. I was hoping to avoid using rollup or webpack since I'm just creating a library.

Another option might be to have separate npm packages published that are identical except are compiled to es5.
My (possibly flawed) thinking on the structure was having main pointing to commonjs es5 code and module pointing to es6 es module based code. I think this would be fine for the browser because bundlers like webpack will use the module field by default. Unfortunately node will use the main field and so will end up with the non-optimal version of the code.

I don't think you misunderstood at all and I also can't really see another way than publishing separate packages/versions for all these different outputs:

Flavor
Module
Target dir
Entry point
Pkg name suffix

1
ES6
ES2015
.
"module": "./index.js"

4
ES6
UMD
./lib
"main": "./lib/index.js"

3
ES5
ES2015
.
"module": "./index.js"
-es5

4
ES5
UMD
./lib
"main": "./lib/index.js"
-es5

We would still need to test/figure out how that impacts import paths for individual files within a package. I.e. if all the UMD files are stored under /lib, then won't any consumer also need to have the lib path segment in their imports to, e.g. import { Atom } from<EMAIL_ADDRESS>The other major question is how publishing 2 different versions of each package is going to work (at all) with the current lerna workflow / publish script. I really do not want to give up on this, since it makes publishing the entire mono-repo possible. The only way I can think of is to have a publish script for the ES5 versions only and which runs after the lerna publish command is finished. This script should:

retrieve the tags from the latest commit (which incl. the names of all the packages which have been published)
create ES5 versions of the packages in question
Create a modified package.json (using same version info, but -es5 as name suffix)
Publish each of these ES5 packages individually

Instead of changing the package name via suffix, maybe using -es5 as version qualifier would be better and less intrusive? E.g<EMAIL_ADDRESS>"^1.4.2-es5" vs<EMAIL_ADDRESS>"^1.4.2" - Can you foresee any issues with that?

From a brief look, this looks to be an ideal approach. I really like the idea of adding the es5 as a suffix to the version. This would make switching over to the es6 version very easy as it would just be a simple change to the version in package.json rather than a find and replace to replace all instances of something like thi.ng/atom-es5.
WRT the table of output formats, where you have UMD do you not mean commonjs? I think UMD could be another format but would be maybe placed in the dist folder. How about the following?

Flavor
Module
Target dir
Entry point
Pkg name suffix

1
ES6
ES2015
.
module: "./index.js"

2
ES6
CJS
./lib
main: "./lib/index.js"

3
ES6
UMD
./dist
"unpkg": "dist/.js"

4
ES6
UMD minified
./dist
-
.min

5
ES5
ES2015
.
module: "./index.js"
-es5

6
ES5
CJS
./lib
main: "./lib/index.js"
-es5

7
ES5
UMD
./dist
"unpkg": "dist/.js"
-es5

8
ES5
UMD minified
./dist
-
-es5.min

I actually did mean UMD, since I was under the impression it can be consumed by both browser & Node, so as alternative to CommonJS. But I also did mean UMD as TS output module format and not as the rollup'd/bundled version. However you're right that there should also be those, both just bundled and bundled/minified versions (3, 4, 7, 8 in your table). Again, I'm not an expert in all those module malarkey, so happy to follow your lead on this...

I can't say I'm an expert on it either! Yes I see what you mean about UMD. Here's an updated table:

Flavor
Module
Target dir
Entry point
Pkg name suffix

1
ES6
ES2015
.
module: "./index.js"

2
ES6
UMD
./lib
main: "./lib/index.js"

3
ES6
Bundled UMD
./dist
"unpkg": "dist/.js"

4
ES6
Bundled minified UMD
./dist
-
.min

5
ES5
ES2015
.
module: "./index.js"
-es5

6
ES5
UMD
./lib
main: "./lib/index.js"
-es5

7
ES5
Bundled UMD
./dist
"unpkg": "dist/.js"
-es5

8
ES5
Bundled minified UMD
./dist
-
-es5.min

If that looks good, I'll make a start on putting it together. I may need some help with the publish script but I think I should be able to do all the other stuff.

Thanks for your help @allforabit! I just pushed what I've got so far to this branch:
https://github.com/thi-ng/umbrella/commit/f5bfd726783c413c2c3fc7e7aabdb16c8a913ea4
Not saying you'll have to base it on this, just for reference :) Good luck!!!!

That looks like a good basis for it, thanks. I will go for something very similar.

I've updated my fork of the repo with a slight variation on what you put together for the builds that includes es5 versions. https://github.com/allforabit/umbrella/blob/feature/rollup/packages/checks/package.json
I've named the build steps as "build:legacy" to indicate that it is only there to support older platforms and to avoid overusing "es". A change that I made and you may have issue with is I've made  the main field point to a commonjs build. I'm not sure if it's much use making these UMD modules as they are all very small files and the boilerplate is takes up more than most of the actual code. This reflects advice from here: https://medium.com/@kelin2025/so-you-wanna-use-es6-modules-714f48b3a953 and is also what redux does.
I've setup the es5 output by making a new tsconfig.es5.json file that extends the root tsconfig.es5.json as well as tsconfig.es5.json file in the root of the package. This is probably littering the directory structure a bit so I can try and find a better way of doing this (maybe just including the config in the command).

So I finally tried out your version and found a few new issues with the ES5 legacy builds:

The bundled UMD result in dist/checks.js doesn't really bundle the various files and just includes them like this:

__export(require("./exists-not-null"));
__export(require("./exists"));
__export(require("./has-crypto"));
...

Since I have zero experience with UMD (still don't understand who is still using UMD in this day and age), I'm not sure if that's supposed to be like that. However, in contrast, the ES6 UMD version does include all the functions in this bundled file...
So I did some experimenting and changed the legacy build steps to:
"build:legacy:es": "tsc -p ./tsconfig.es5.json --module es2015 && yarn bundle && tsc -p ./tsconfig.es5.json --declaration",
"build:legacy:commonjs": "tsc -p ./tsconfig.es5.json --declaration --outDir lib --module commonjs",

That means we first compile TS to ES2015 module syntax before (and only for) bundling, and then rebuild once more as UMD modules, followed by the CJS build to /lib (as before). This causes all the functions to be included properly.

Since @thi.ng/checks has no dependencies, I've tried applying the same approach to @thi.ng/atom, which depends on @thi.ng/checks and @thi.ng/errors - only to run into new issues related to ES5 and specifying dependencies for the UMD bundle.

E.g. the error types defined in @thi.ng/errors are classes extending Error. When trying to bundle this package, rollup gives me errors relating to the __extends polyfill generated by TypeScript:
$ (cd packages/errors/ && yarn build:legacy)
yarn run v1.7.0
$ yarn clean && yarn build:legacy:es && yarn build:legacy:commonjs
$ rm -rf *.js *.d.ts .nyc_output build coverage doc
$ tsc -p ./tsconfig.es5.json --module es2015 && yarn bundle && tsc -p ./tsconfig.es5.json --declaration
$ rollup index.js -f umd -o dist/errors.js -n thi.ng.errors && babel-minify -o dist/errors.min.js dist/errors.js

index.js → dist/errors.js...
(!) `this` has been rewritten to `undefined`
https://github.com/rollup/rollup/wiki/Troubleshooting#this-is-undefined
illegal-arguments.js
1: var __extends = (this && this.__extends) || (function () {
                    ^
2:     var extendStatics = Object.setPrototypeOf ||
3:         ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
...and 1 other occurrence
...

No idea why or how to fix that... :(
When attempting to bundle @thi.ng/atom (or any of the other packages which have dependencies), we will also have to specify their mappings. For that reason I've switched to using a config file like this:
export default {
    input: "index.js",
    context: "window",
    output: {
        file: "dist/atom.js",
        format: "umd",
        name: "thi.ng.atom",
        globals: {
<EMAIL_ADDRESS>"thi.ng.api.mixins",
<EMAIL_ADDRESS>"thi.ng.api.mixins",
<EMAIL_ADDRESS>"thi.ng.checks",
<EMAIL_ADDRESS>"thi.ng.checks",
<EMAIL_ADDRESS>"thi.ng.equiv",
<EMAIL_ADDRESS>"thi.ng.errors",
<EMAIL_ADDRESS>"thi.ng.errors",
<EMAIL_ADDRESS>"thi.ng.errors",
<EMAIL_ADDRESS>"thi.ng.paths",
        }
    }
};

*) This is gonna be fun to keep up-to-date in some of the other packages which have more dependencies...
**) It seems the context option solves the above "this has been rewritten to undefined" issue, but can only be specified via config file. the CLI option alternative seems to be ignored...
In summary, I'm seriously doubtful if that effort is all really worth it. That Medium article was way too verbose for me to follow without understanding the reasoning behind this nightmare of hoops to jump through and all the time wondering why, oh why... ES5 support just seems to cause a whole lot of trouble and extra effort for which I personally have zero use for and by now I'm wondering why we do need it? My main use case for these libs are modern browsers and the extensive use of ES6 features throughout all the packages makes me wonder about the performance implications they have in ES5 (with all their polyfills).
Not throwing the towel just yet, but keen to hear your thoughts...

Not sure if it contributes, but in a current typescript project, I ended using a explicit "/src/" in imports for ts source, and leaving /lib (or /dist)  /es for transpiled ES5 and ES6.
Example:
import {bar} from "@repo/package/src/foo";

and in the tsconfig.json, I use
...
"baseUrl": "./",
"paths": {
    "@repo/package/*": [
          "../package/*"
      ]
}

And for some environments (browser and node), also use webpack to generate bundles and can use babel to customize how some dependencies are transpiled or not.
I didn't see the reason for publishing under different package names - creating different target folders in the same package seems more convenient (for maintainers and consumers). Is it just to minimize package download size?

@pedroteixeira thanks for this - will try this out, but I still don't understand how we can offer all the options shown in this table with only one single package, even if we're using dist folders. grateful for any more concrete config settings/examples!
I'd really, really like to avoid requiring a bloated/prolonged build setup just get a ES5 version supported out-of-the box, something only very few people will require and which will add complications and extra work and waiting times (due to multiple build targets) for myself & anyone else working on this project...
Having learned more about the IMHO completely ridiculous situation of legacy JS bundling, and considering ES5' days are numbered, I'd personally prefer to just put a note on the READMEs stating that only modern browsers/runtimes with ES6 are supported (like various other projects do too). The libs are heavily using ES6 features and their ES5 versions will be sub-quality due to all the transpiling/polyfilling anyhow...

Many thanks.  I am using the UMD bundles with RequireJS and they work fine.
I first started using thi.ng early this year and the lack of an AMD-compatible distribution format was the only notable pain point.  I watched the repo and this the first notification I received.  It is all truly amazing work and a great gift to the community.

Thanks for letting me know @gavinpc-mindgrub - and thanks again for kind words! (plus a reminder to email you 👍 ) Since I will soon be embarking on an Amazon Lambda journey, I might have to look into ways to also provide ES5 versions too (since Lambda only seems to support Node 8), but hoping I can get away w/ bundling and only needing to transpile those artefacts.


Couldn't find Menu for Role Menu that exists

Hi,
I am attempting to update a rolemenu in my server and whenever I try to, I get the message "Couldn't find menu" from the bot.
I have two role based menus in my server. One is for Games. The other is for Streams. The streams menu can be updated with no issue. Only the Games one returns the "Couldn't find menu" message.
The message ID for the games one is<PHONE_NUMBER>70294568. The server is "VictoryPit". I'm happy to provide an invite link for any developers who need access in order to debug (if necessary).

Hello; generally speaking issues with the bot should be brought up in the support server first, as there's more people available to help there.
With that said, I suggest checking that you are running the command in the channel the target message is posted in, in addition to ensuring that the rolemenu attached to the message actually works (i.e., it has not been removed via rolemenu remove in the meantime.)

Closed because this is something related to the Bot and not YAGPDB project.


Feature/#906 ESRI ShapeFile reader + Bounds checks on drawing lines, polygons and markers

New module, ESRI Shape Reader. This converts shape file contents into polygons with the associated metadata attached to the infowindow popup. This is actually the smallest of the changes on this branch.
The large changes is optimizations to Polyline, Polygon, Marker, and Itemized Icon Overlay. As suggested by @MKergall in #770, this uses the bounding box check for those mentioned classes in the on draw method. If there is no overlap of the bounds of the overlay with the view's bounds, then skip the draw cycle.
Finally, assuming the line or polygon is within bounds, the point reduction algorithm is ran before drawing. At numerically low zoom levels, this usually reduces small scale polygons down to a triangle and it becomes more and more accurate the further in your zoom.
Impacts:

Bounds check: At numerically high zoom levels with a hundreds of geographically dispersed polygons, this has a huge performance boost (HUGE).
Point reduction: This has a noticeable impact at numerically low zoom levels
Polygons now have a "minimum zoom" level setting to prevent drawing a very low zoom levels. Default is 0 of course but it can be set to bypass drawing if needed for certain applications

Current open issues

Bounds check with info window. When the item scrolls out of view, the info window appears to cling to the edge of the screen. I did attempt to auto hide it but ran into some issues with it. I'm not sure what "right" looks like here.
When looking at the world at zoom <= 3, the bounds checks are skipped entirely due to world replication issues and no way to check if there are multiple worlds or not.

How to test

see #906, there's a download link for a shape file for country borders. Unzip it and copy the contents of the zip to somewhere on your device.
Open the app, more samples, Data, Shape File Import, hit the ... button, "Import a shape file"
then select the .shp file from the zip contents

yup forgot i used an unpublished github project and built it locally
https://github.com/iryndin/jdbf/issues/11

comparing the screen shots, looks like there are some polygons that are not rendered at the zoom level present. I'm thinking point reduction should be off by default

point reduction should be off by default

@spyhunter99 Rather than setting point reduction off by default, wouldn't that make sense to:

set it on by default
in case the point reduction doesn't display anything, use a new alternate and very stupid downgraded mode - like a Polyline between topLeft and bottomRight?

For infowindow boundingbox check:
A simple solution is to increase the  bounding box by a ratio in all directions. Maybe half the size: north += height*0.5
(More or less what is done with tiles)

This will also solve similar issues on polylines with huge width, and big marker icons.

@monsieurtanuki what i'm seeing is a complex polygon being reduced to just a very small triangle. Also point reduction is not applied to holes currently.
@MKergall good idea i'll see if i can work this in

@spyhunter99 My assumption was that users prefer a very lousy approximation (that displays something worth zooming in on) (which may look like an ink stain) than no polygon at all on some high zoom levels.
Regarding its accuracy, I agree that it's not very relevant, but we're talking about polygons to be drawn on a very small pixel rectangle, right? I can't say what's better, I'm not a regular polygon user.

more sample data https://catalog.data.gov/dataset/military-installations-ranges-and-training-areas

perhaps @monsieurtanuki can take a look at this if time allows. i think for polygons and polylines, we should run a point reducing algorithm against the points with zoom is less than 4 or so. using this branch, thew new sample and the linked shape file, draw speeds are less than 1 frame a second. there are tons of overlays and they are all hundreds of points each so naturally some performance issues are expected, however it can probably be better.
at one point, this branch had the point reducer setup built in, but since then theres been quite a bit of work has been done on polyline and polygon and this code is moot now. perhaps this would be better as a separate issue

@spyhunter99 I guess at least you should separate the ESRI Shapefile Reader code from the Polygon rendering part, and merge the ESRI part.
Then it would be time to open a new issue about Polygon rendering, which would include overlapping, point reduction, minimum zoom level, and a target (like "fast polygon rendering with those inputs data and this zoom level").

the biggest change here is that may impact other overlays and existing capabilities are the following

polygon and polyline - with setPoints and addPoint will now auto set the bounding box the overlay
folder overlay - with add/remove, the bounds of the overlay is calculated based all child overlays
marker - bounds is now set to the point of the object
itemized icon overlay - no changes
default overlay manager - the bounds is compared with the current view before calling the draw method. it will only be called if the overlay is within, consumes, or overlaps the bounds.

non-impacts

a new library for reading shape files. it can read plan shapes and metadata files. if metadata is available, all available data is appended to the title and/or description of the converted shape.
not all shape file formats are supported, such as 3d shapes.
the code in this library, and the dependency are asf/mit compatible. no gpl issues

since this branch was opened over a year ago, most of the pr is merged related
after merging, the wiki will be updated with further usage instructions


Add docs on writing controllers

Codecov Report

Merging #174 (13c9e94) into master (7187083) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master     #174     +/-   ##
=========================================
  Coverage   35.28%   35.28%
=========================================
  Files         130       26    -104
  Lines       11280     2256   -9024
  Branches     7310     1462   -5848
=========================================
- Hits         3980      796   -3184
+ Misses        660      132    -528
+ Partials     6640     1328   -5312

Flag
Coverage Δ

unittests
35.28% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...int_trajectory_controller/test/test_trajectory.cpp

...test/test_load_joint_group_velocity_controller.cpp

...ers/joint_trajectory_controller/src/trajectory.cpp

...ectory_controller/test/test_trajectory_actions.cpp

...test/test_load_joint_group_velocity_controller.cpp

...ntroller/test/test_load_joint_state_controller.cpp

...ollers/test/test_joint_group_effort_controller.cpp

...ory_controller/test/test_trajectory_controller.cpp

...include/joint_trajectory_controller/tolerances.hpp

...include/joint_trajectory_controller/tolerances.hpp

... and 146 more


How to improve leg's accuracy?

Have I written custom code (as opposed to using a stock example script provided in MediaPipe)
Yes
OS Platform and Distribution
ios 17.1
MediaPipe Tasks SDK version
0.10.8
Task name (e.g. Image classification, Gesture recognition etc.)
Pose Landmark Detection
Programming Language and version (e.g. C++, Python, Java)
swift
Describe the actual behavior
the tracking of rear leg is wonky
Describe the expected behaviour
the tracking of rear leg should be steady
Standalone code/steps you may have used to try to get what you need
I followed the link to build an iOS framework.
https://developers.google.com/mediapipe/framework/getting_started/hello_world_ios

And its performance is like the video showed.
https://drive.google.com/file/d/1VA9YBQNmhanmj1zbjZd_ilQZb29alPy1/view?usp=sharing

You can see the rear leg is wonky and unsteady, especially when I face toward the right.
How can I improve the rear-leg tracking?
Thank you!

Other info / Complete Logs
No response

Hi @schmidt-sebastian,
This pertains to our legacy pose detection and performance concerns. Currently, there are no tutorials available for our new Pose Landmaker on iOS. We would appreciate any suggestions you may have to address this matter.
Thank you

@schmidt-sebastian @kuaashish
I appreciate your help in advance.
I am curious whether the new Pose landmaker performs better than the legacy since it uses the same ML model.


Question: Rename default template folders 'modular' & 'partials'

Is it possible to rename the default folders 'partials' and 'modular'?

Simple answer to that is yes and no :)
partials is really just a recommend standard for compatibility with other plugins and themes.  Not required anywhere. So can change this.
modular is a specific folder that Grav looks to for modular page twig templates.. so can't change this.

Ah okay thanks :)


Revert "Configure cloud provider"

Reverts vikashkaruna/github-actions-continuous-delivery-azure#2

spin up environment


Missing debian release for micro-ros-agent

Issue template

Installation type: debian
Version or commit hash: humble

Additional information
I was wondering why micro_ros_agent release repository was archived. This hinders us to make Debian releases of the packages  which have dependency on micro_ros_agent. Could you please clarify what steps we could take to circumvent around this?
Thank you

micro_ros_agent is released as a Debian package in Vulcanexus: https://docs.vulcanexus.org/en/latest/rst/installation/linux_binary_installation.html

Thank you. Will check out the same and will let you know if I face any hiccups.


replace pruning cron with new script (from openshift-tools-monitoring)

and only run on primary master node

@kwoodson :+1: #547 in stg


error in compiling

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
OS Version:

Steps to Reproduce:

/needsMoreInfo


fix(api gateway lambda integration): Fix redeployment trigger

Goal

JSON encode the PocketApiGatewayProps to trigger redeployment of the API Gateway resource
Add tags to the API Gateway REST API resource

Implementation decisions

redeployment triggers are provided by the service consuming the API gateway construct. if no trigger is provided, then we use the current time as the trigger. this way, what's being set as a trigger becomes the responsibility of the consuming service

ticket: infra-188

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Spurious :::text lines in generated files

Several files have spurious :::text lines in them.
c.f.
https://www.apache.org/jcp/sunopenletterfaq.html
with
https://www.staged.apache.org/jcp/sunopenletterfaq

This is another definition list to reformat.

Fixed on c52883b

There are other such files, for example:
https://www.staged.apache.org/foundation/board/reporting.html#guidelines

Other cases were fixed with df81f79

Another:
https://www.staged.apache.org/history/timeline.html

Fixed with 3e809eb


Download files with common prefix ("folder")

I use s3 for backups, where I structure the backups using prefixes. It would be cool to be able to download a given backup.

When displaying a list of files, are you envisioning a feature like "Save recursively" that allows all files under a specific path to be downloaded together?
I agree that this feature is important for this application.
Here are some concerns that have been hindering the implementation:

Since the file size could become large, we need to ensure proper progress display and the ability to cancel the operation appropriately.
There could be many requests in a short period, so it is necessary to manage requests properly.
To prevent unintended operations, it might be better to show a confirmation dialog.

Currently, the application does not have a confirmation dialog implementation.
It might be necessary to display the number of target files and the total size beforehand.

When displaying a list of files, are you envisioning a feature like "Save recursively" that allows all files under a specific path to be downloaded together?

Yes!
I see your concerns! Ratatui probably has some confirmation dialog.

In reality, the implementation of dialog itself is not particularly difficult.
The true challenge in TUI applications lies in determining the appropriate implementation approach, as the way widgets are displayed and interacted with can vary greatly depending on the nature of the application and the developer's perspective.


Add sponsors and backers to README

Add sponsors and backers to README

@pascalberger thanks for getting this added!


Pushing artifacts and goloop / gochain images to dockerhub on release of new goloop

I am trying to setup a one-click local gochain with tracker and I am wondering if I can contribute a github workflow to build and push these artifacts / images to github / docker hub on each release? This would take a step out of the process where I would need to instruct the user to clone this repo and build the images themselves. Also would be generally more convenient for users to be able to use pre-compiled binaries / built images instead of having to go to source each time.
I did a quick PR that has the docker build / push but would need to have secrets setup for the dockerhub login and repos for the images set up by you for this to work. If this is of interest, I can also contribute the artifacts as well.

We are already managing the following docker hub for goloop-icon image.
https://hub.docker.com/r/iconloop/goloop-icon/tags

Is this the same as the output of make gochain-image? I thought that image was from icon2-docker which is slightly different. This slightly relates to https://github.com/icon-project/gochain-local/pull/8 where the instructions say to make this image. Just thought it would be nice to have all these other less used images pushed to docker hub. Also a goloop binary in release artifacts.

That is the same as the output of make goloop-icon-image, not make gochain-image.
I think you are very misunderstood about how to build the goloop image for ICON.  You should use the goloop-icon-image target for ICON platform.  (for gochain build, you should use gochain-icon-image target).
icon2-node is a special docker image for ICON PReps, which is based on the above goloop-icon-image and some additional features (like automatic mainnet/testnet DB restoration) are included.
So for the general local testnet environment, goloop-icon (or gochain-icon) would suffice.
If you want to see an example of how to use the above iconloop/goloop-icon image, you can refer to the following e2edemo config in the BTP2 repo.
https://github.com/icon-project/btp2/blob/main/e2edemo/docker/docker-compose.yml

Hi - Forgot to close this but as I mentioned in adjacent issues - the make command I was using was the culprit as you pointed out and the image that I needed was already on docker hub as seen in the btp repo you linked. I used it to make this https://github.com/sudoblockio/gochain-local-community
Thanks for help though.


[1.10.x]Do not use usleep when using newer POSIX C source.

usleep is deprecated and is optionally unavailable with uClibc-ng.
Signed-off-by: Rosen Penev<EMAIL_ADDRESS>(cherry picked from commit c91d82a7b74df3a08de2f94a1ec2a75a7803b6bd)

Hi Rosen,
1.10.x is a bad branch, we have abandoned it. But I can pull it anyway.
Thanks!

Which branches do you still maintain?

1.12.x (aka master)
1.8.x (bug fixes only)


pkg_zip lost the chmod

Hello 👋
I got issue with AWS Lambda about "permission denied".
After investigation it appears that during the copy, pkg_zip set the chmod of the binary/executable file to something like rw- (the original was rwx) and it lost the execution flag which cause trouble in AWS Lambda.
While zipping it manually it works fine.
load("@bazel_gazelle//:def.bzl", "gazelle")

# gazelle:prefix github.com/adfinitas-app/prometer-hello-world

gazelle(name = "gazelle")

load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")

go_binary(
    name = "main",
    embed = [":lib"],
    goos = "linux",
    goarch = "amd64",
    visibility = ["//visibility:public"],
)

go_library(
    name = "lib",
    srcs = ["main.go"],
    importpath = "github.com/adfinitas-app/prometer-hello-world",
    visibility = ["//visibility:private"],
    deps = [
        "@com_github_aws_aws_lambda_go//lambda:go_default_library",
        "@com_github_aws_aws_sdk_go_v2//aws:go_default_library",
        "@com_github_aws_aws_sdk_go_v2//aws/external:go_default_library",
        "@com_github_aws_aws_sdk_go_v2//service/dynamodb:go_default_library",
    ],
)

load("@rules_pkg//:pkg.bzl", "pkg_zip")

pkg_zip(
    name = "pkg",
    srcs = [":main"],
)

(Note: even without goos and goarch the issue remains)
Maybe I did that in the wrong way ? Do you have an idea ? Is it an issue ?
It's could be cool if pkg_zip has the same pkg_tar mode option.
Thanks !

Oups duplicate from #96, sorry.


Review and Update Beckn FAQ - Answer Unresolved Questions and Sync with GitHub FAQ File

Description
There are several open questions on the Confluence page that are currently unanswered. These questions were raised during community calls, meetings, etc. The goal is to review these questions, provide clear answers, and then update the existing FAQ file in the GitHub repository. The work needs to be carried out in two stages:

Stage 1: Answer the unanswered questions directly on the Confluence page.
Stage 2: Sync the Confluence FAQ content with the markdown file on the GitHub repository.

Steps to Follow:

Review Unanswered Questions:

Navigate to the Confluence page containing the open questions: Beckn FAQs on Confluence.
Identify and list down all unanswered or partially answered questions.

Answer the Questions:

Provide clear, concise, and accurate answers to each of the identified questions on the Confluence page.
Ensure that the answers are aligned with the latest information and guidelines related to the Beckn protocol.

Update the GitHub FAQ File:

Once the questions are answered on Confluence, update the corresponding markdown FAQ file located here: Beckn FAQ on GitHub.
Ensure that the markdown file reflects all the updates made on the Confluence page.
Maintain the structure and format of the markdown file for consistency.

Cross-reference:

Ensure that the FAQ content is consistent across both the Confluence page and the GitHub markdown file.
Add any new insights or clarifications that emerged during the answering process.

Documentation Requirements:
The updated FAQs need to be documented in both the Confluence page and the GitHub markdown file, ensuring consistency and completeness.
Detailed Plan / Checklist:
1. Review and Identify Open Questions:

[ ] Access the Confluence page: Beckn FAQs on Confluence.
[ ] List all unanswered or partially answered questions.
[ ] Categorize the questions, if necessary, based on their relevance to specific topics within Beckn.

2. Provide Answers on Confluence:

[ ] Research and gather necessary information to answer the questions.
[ ] Provide clear and accurate answers directly on the Confluence page.
[ ] Ensure that the answers are understandable and useful for the community.

3. Sync with GitHub FAQ File:

[ ] Update the markdown FAQ file on GitHub with the new answers provided on Confluence.
[ ] Ensure the format and structure of the FAQ markdown file is maintained for consistency.
[ ] Check that all new information is reflected accurately.

4. Review and Cross-Reference:

[ ] Double-check that the information is consistent across both Confluence and GitHub.
[ ] Address any discrepancies or additional questions that may arise during the review.
[ ] Ensure that both resources (Confluence and GitHub) are up-to-date with the latest FAQs.

Expected Outcome:
The Beckn FAQ section on both Confluence and GitHub will be fully updated, providing clear, accurate, and helpful answers to all questions raised by the community. This will ensure consistency and accessibility of information across both platforms.

I have moved and answered all the questions we had here into the FAQ document on the repository. This will be a living document. Everytime we get questions in the Open Office or in discord channels, we can keep updating this. Closing this for now.

By the way to keep single source of truth, I have requested Faiz to remove the confluence version.

The following is the link to the final deliverable for this ticket
https://github.com/beckn/missions/blob/main/docs/faq.md


Docs

Why are these changes needed?
I added some changes that better explain what to do in the case where a Sklearn style estimator doesn't have an n_jobs argument.
Related issue number
Closes #759
Checks

[x] I've used pre-commit to lint the changes in this PR, or I've made sure lint with flake8 output is two 0s.
[x] I've included any doc changes needed for https://microsoft.github.io/FLAML/. See https://microsoft.github.io/FLAML/docs/Contribute#documentation to build and test documentation locally.
[x] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[x] I've made sure all auto checks have passed.

@qingyun-wu relevant to tutorial.


The calendar breaks and disappear when switching to month-grid for the second time

Context:

Browser chrome
Browser-version 125.0.6422.142
Schedule-X version 1.45.0

Describe the bug
The calendar breaks and disappears and an error in the console appears:
To Reproduce
Steps to reproduce the behavior:

Set week as the default view
Change view to month-grid
Change to the day view
Change to the month-grid view again

Expected behavior
Should not break or disappear when changing views
Screenshots

I can't reproduce. Can you please share your config?

I can't reproduce. Can you please share your config?

Sure
import { ScheduleXCalendar } from "@schedule-x/vue";
import {
  createCalendar,
  viewDay,
  viewWeek,
  viewMonthGrid,
  viewMonthAgenda,
  type CalendarConfig,
} from "@schedule-x/calendar";
import<EMAIL_ADDRESS>import { createEventModalPlugin } from "@schedule-x/event-modal";
import { createDragAndDropPlugin } from "@schedule-x/drag-and-drop";
import { createCalendarControlsPlugin } from "@schedule-x/calendar-controls";
import { createEventsServicePlugin } from "@schedule-x/events-service";
import { CalendarViewName } from "./enums";

type Emits = {
  (e: "view", value: CalendarViewName): void;
  (e: "dateRange", range: DateRange): void;
  (e: "date", date: string): void;
};

const emit = defineEmits<Emits>();

type Props = {
  view: CalendarViewName;
  views: [CalendarViewName, ...CalendarViewName[]];
};

const props = defineProps<Props>();

// Do not use a ref here, as the calendar instance is not reactive, and doing so might cause issues
// For updating events, use the events service plugin

const calendarControls = createCalendarControlsPlugin();
const eventsServicePlugin = createEventsServicePlugin();

const views = props.views.map((view) => {
  switch (view) {
    case "day":
      return viewDay;
    case "week":
      return viewWeek;
    case "month-grid":
      return viewMonthGrid;
    case "month-agenda":
    default:
      return viewMonthAgenda;
  }
}) as CalendarConfig["views"];

const calendarApp = createCalendar({
  plugins: [
    createEventModalPlugin(),
    createDragAndDropPlugin(),
    calendarControls,
    eventsServicePlugin,
  ],
  views: views,
  defaultView: props.view,
  callbacks: {
    /**
     * Is called when:
     * 1. Selecting a date in the date picker
     * 2. Selecting a new view
     * */
    onRangeUpdate(range) {
      console.log("new calendar range start date", range.start);
      console.log("new calendar range end date", range.end);

      console.log("view", calendarControls.getView());
      emit("view", calendarControls.getView() as CalendarViewName);
      emit("date", calendarControls.getDate());
      emit("dateRange", range);
    },

    /**
     * Is called when an event is updated through drag and drop
     * */
    onEventUpdate(updatedEvent) {
      console.log("onEventUpdate", updatedEvent);
    },

    /**
     * Is called when an event is clicked
     * */
    onEventClick(calendarEvent) {
      console.log("onEventClick", calendarEvent);
    },

    /**
     * Is called when clicking a date in the month grid
     * */
    onClickDate(date) {
      console.log("onClickDate", date); // e.g. 2024-01-01
      onNewTask();
    },

    /**
     * Is called when clicking somewhere in the time grid of a week or day view
     * */
    onClickDateTime(dateTime) {
      console.log("onClickDateTime", dateTime); // e.g. 2024-01-01 12:37
    },

    /**
     * Is called when clicking the "+ N events" button of a month grid-day
     * */
    onClickPlusEvents(date) {
      console.log("onClickPlusEvents", date); // e.g. 2024-01-01
    },

    /**
     * Is called when the selected date is updated
     * */
    onSelectedDateUpdate(date) {
      console.log("onSelectedDateUpdate", date);
    },
  },
});

2 things you could try:

import views in this file directly from '@schedule-x/calendar' instead of props and add them in the views config.
comment out your defaultView property.

One suspicion of mine, is that schedule-x does not yet work well with adding configuration through Vue props or ref, since these are reactive proxies, instead of the exact objects that schedule-x expects.

@tomosterlund Well I tried your proposal and the bug persists.
I peeked into the lib code and  useEffect in this file (packages/calendar/src/views/week/components/week-wrapper.tsx) seems to fire when the month view is selected a second time.

I still can't reproduce this.
Please set up a minimal reproduction environment if you still need help with this. With many problems, that also helps spot where the error is, if the error is in the configuration.

Might have been resolved for you in the latest version. I suspect that you might have experienced the same race condition as mentioned in this issue: https://github.com/schedule-x/schedule-x/issues/503
Closing this issue, but feel free to open a new one with a repro if your problem would persist

It's fixed. Thank you

Hey @tomosterlund, I am facing this issue again in Vue.
Month-Grid default as view:

Load the page to get the range
Use range to fetch the data
After data is fetched save it to cache and use it to set it with eventsServicePlugin.set()
Change the view to the week or day
Triggers onRangeUpdate and use it to fetch new data
Same thing as 3.
Change the view back to month-grid
Same as 5.
Same thing as 3. and 6. but this time it is instant since the data is available in the cache because the range is the same as we got from 2.

So the error (undefined in TimeGridEvents) happens after step 9.
Maybe if you want to reproduce it, you could use a Tanstack query that has cache in place out of the box https://tanstack.com/query/latest/docs/framework/vue/guides/queries
Wrapping eventsServicePlugin.set() in setTimeout solves my issue, but I'd rather avoid such hackish solutions.
For the record, I am not using any reactive wrappers for calendar instances or plugins.

Thanks for the repro 💪  Now I can reproduce also on my local machine


Mup 1.0.1 deploy failed!!!!

Deploy failed with mup 1.0.1
the client node version is 4.4.7. and the server version is 4.4.7 ,too.

    -----------------------------------STDERR-----------------------------------
    stall script 'node npm-rebuild.js'.
    npm ERR! Make sure you have the latest version of node.js and npm installed.
    npm ERR! If you do, this is most likely a problem with the meteor-dev-bundle package,
    npm ERR! not with npm itself.
    npm ERR! Tell the author that this fails on your system:
    npm ERR!     node npm-rebuild.js
    npm ERR! You can get information on how to open an issue for this project with:
    npm ERR!     npm bugs meteor-dev-bundle
    npm ERR! Or if that isn't available, you can get their info via:
    npm ERR!     npm owner ls meteor-dev-bundle
    npm ERR! There is likely additional logging output above.

    npm ERR! Please include the following file with any support request:
    npm ERR!     /bundle/bundle/programs/server/npm-debug.log

    ><EMAIL_ADDRESS>install /bundle/bundle/programs/server
    > node npm-rebuild.js

    ><EMAIL_ADDRESS>install /bundle/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt/node_modules/bcrypt
    > node-gyp rebuild

    => Redeploying previous version of the app

how to solve the problem!!!!

I had successfully deployed my app with<EMAIL_ADDRESS>Also had to remove some non-compatible node 4.x.x packages.

@wwlweihai  @vedovato i had a similar issue but i didn't want do stay on v4 packages so I created a docker that could overcome this. try it out:
dockerImage:"guillim/meteord"
Now it works great !
It is bascially the docker created by abernix but where I updated node (from v4 to v6) and installed some npm packages i needed


Check for Signed Integers in Native Pixel Data

The Pixel Representation Attribute can and should be inspected to determine if the pixel data values are signed integers or not. At the moment unsigned is assumed, and we should return an error if the data is signed. We should also support pulling in signed integers as well.

Put up a quick draft in #296 to return an error, but need to check a couple more things. It might not be too hard to just go ahead and parse the signed and unsigned ints outright.

Probably the right way to handle this is to support multiple data types for PixelData, including floats. This would also help with #291 and #161 as well if we allowed the parsed values to be differently sized ints.


How to run application

Hi there
How does one run this generator within Jupyter?
I've used the generate.ipynb file within Jupyter but nothing happens. It's seems to throw some sort of error. Please if you can maybe explain in more details or upload some screenshots of what the code should look like in order to function?
Thank you.

I have the same question as well.

Do you have a specific error message? The program should work as soon as you check it out and press run all.

If you have VScode, you can just git clone the repo and open it in the VScode editor. Then just run the generate.ipynb file.

I receive the following error when running the code via Jupyter.
I did manage to run the code via VScore and that worked fine. Thank you for all the replies :)


Table: cache row/cell class/style data(#14550)

Closes #14550
Each time table rerender, getRowStyle/getRowClass/getCellStyle/getCellClass will be called.
This commit cache the data returned by these functions, and add two watchers to watch data/columns, which are dependencies of cached data.
But the memory cost may be high. I wonder if there is a better way.
Please make sure these boxes are checked before submitting your PR, thank you!

[x] Make sure you follow Element's contributing guide (中文 | English | Español | Français).
[x] Make sure you are merging your commits to dev branch.
[x] Add some descriptions and refer relative issues for you PR.

Please provide performance testing data.

Please provide performance testing data.

I used 2 array whose cost are Θ(row)  to preserve RowClass/RowStyle data returned by   getRowStyle/getCellStyle,  2 more array whose cost are Θ(row*col) to preserve data returned by  getRowStyle/getCellStyle.
While the length of rows grows to 400, the page slows down obviously.
Reproduction Link:
https://codepen.io/icecoffee/pen/zXEpNV?editors=1010#0
Besides, is there any way to measure memory accurately？


Add a trick of showing output as the test was running, while at the same time having the report.xml

Description
Problem:
Currently during running e2e tests on CI we don't have a progress, except we do have a test results:

gotestsum --junitfile results/standard.xml -- -v -tags "osusergo,netgo,sqlite_omit_load_extension,e2e," -timeout 200m -count=1 ./test/scenarios/standard -args
✓  test/scenarios/standard (58m30.583s)
DONE 195 tests in 3512.726s

After this PR:
NAME: dynatrace-operator                                                                                10:59:23 [260/674]
LAST DEPLOYED: Wed Sep 25 10:58:20 2024
NAMESPACE: dynatrace
STATUS: deployed
REVISION: 3
TEST SUITE: None
NOTES:
Thank you for installing dynatrace-operator.

Your release is named dynatrace-operator.

To find more information about the Dynatrace Operator, try:
https://github.com/Dynatrace/dynatrace-operator

To verify the current state of the deployments, try:
  $ kubectl get pods -n dynatrace
  $ kubectl logs -f deployment/dynatrace-operator -n dynatrace

=== RUN   TestStandard
    default.go:52: istio enabled: false
=== RUN   TestStandard/activegate
=== RUN   TestStandard/activegate/created_tenant_secret
=== RUN   TestStandard/activegate/'dynakube'_dynakube_created
I0925 10:59:01.992785    9488 warning_handler.go:65] "ActiveGate specification missing memory limits. Can cause excess memory usage." logger="Ku
beAPIWarningLogger"
    dynakube.go:130:
                Error Trace:    /Users/andrii.soldatenko/work/dynatrace-operator/test/helpers/components/dynakube/dynakube.go:130
                                                        /Users/andrii.soldatenko/go/pkg/mod/sigs.k8s.io/e2e-framework@v0.4.0/pkg/env/env.go:444
                                                        /Users/andrii.soldatenko/go/pkg/mod/sigs.k8s.io/e2e-framework@v0.4.0/pkg/env/env.go:483
                Error:          Received unexpected error:
                                dynakubes.dynatrace.com "dynakube" already exists
                Test:           TestStandard/activegate/'dynakube'_dynakube_created
=== RUN   TestStandard/cloudnative
=== RUN   TestStandard/cloudnative/create_sample_namespace
=== RUN   TestStandard/cloudnative/created_tenant_secret
=== RUN   TestStandard/cloudnative/'dynakube'_dynakube_created
=== RUN   TestStandard/cloudnative/oneagent_started

How can this be tested?

Install gotestsum:
go install gotest.tools/gotestsum@latest

Run any test similar to CI does:

gotestsum --format standard-verbose --junitfile results/standard.xml -- -v -tags "osusergo,netgo,sqlite_omit_load_extension,e2e," -timeout 200m -count=1 ./test/scenarios/standard -args

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 65.52%. Comparing base (9398eb6) to head (dc51c69).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3848   +/-   ##
=======================================
  Coverage   65.52%   65.52%
=======================================
  Files         404      404
  Lines       21771    21771
=======================================
  Hits        14266    14266
  Misses       6157     6157
  Partials     1348     1348

Flag
Coverage Δ

unittests
65.52% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Cannot find Argon integration

Version of the custom_component

Configuration
Describe the bug
Hi,
I cannot find the Argon integration when try to search it.
I followed your steps here.
Do I need to do something else before that?
I started a fresh HA installation on RSP PI4 (64bit) and followed the instruction here.
I don't know what else I should bring you
Do I also need to follow these instructions: https://www.home-assistant.io/hassio/enable_i2c/ ?

Hi @doronsever,
the integration currently doesn't have any UI.
If you followed the install steps correctly you should have two more services in Developer Tools > Services.

Also, did you add argon40 to configuration.yaml as listed in step 8?

Hi
I see the 2 integtration, it seems that the fan is set the always_on but I'm not sure that it actually work.
I tried to set this flag to false and didn't hear any noise reduction
How can I actually know if it works or not?

Go to developer-tools/service and select argon40.set_fan_speed.
This service is responsible for setting fan speed.

Yes, when trying to change it, nothing happens...

see the logs (config/logs).
Maybe there's something that will help.
Also when selecting a service, there is a button that allows filling with example data.
Try doing that, change speed to 0, then to 100.

@doronsever any updates?
If the problem is solved please close this issue.

It seems to be working now :)
There is no UI integration

@doronsever you are correct, there is no UI yet.
I'm waiting for https://github.com/home-assistant/core/pull/39204
With that change, I'll be able to add UI for the fan and support 0-100% speed.

If I bottle the image "https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_rpi4-64-4.15.img.gz" with ballena etcher on the stick, then I find no way to follow the installation of "https://www.home-assistant.io/hassio/enable_i2c/". There is no Hassos-boot partition ... is there any other way to activate ic2 to make the Argon: integration work?

I only used SD card before, but IMO it should behave the same.
What operating system do You use?
You can always ask on HA forum for I2C enabled problems.
Recent versions of HA have the option to restore I2C settings via backup, so you can try that, but I'm not sure if I2C will work that way. Ref: https://github.com/home-assistant/supervisor/issues/1866

I use Hassos_rpi4-64 4.15 on a SSD.

4.15 won't work on SSD. I think you need 5.4 (https://github.com/home-assistant/operating-system/releases).
I didn't have a chance to test running HA on SSD, so I can't help with that :/

Excuse me, this is the hassos_rpi4-64-5.4.


ipython installation failure in pipenv

pipenv install ipython fails in v7.5.1 with the following error:
Adding ipython to Pipfile's [packages]…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Traceback (most recent call last):
  File "/usr/local/bin/pipenv", line 11, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/pipenv/cli.py", line 1652, in install
    do_lock(system=system)
  File "/usr/local/lib/python2.7/site-packages/pipenv/cli.py", line 1024, in do_lock
    project=project
  File "/usr/local/lib/python2.7/site-packages/pipenv/utils.py", line 461, in resolve_deps
    resolved_tree.update(resolver.resolve())
  File "/usr/local/lib/python2.7/site-packages/piptools/resolver.py", line 107, in resolve
    has_changed, best_matches = self._resolve_one_round()
  File "/usr/local/lib/python2.7/site-packages/piptools/resolver.py", line 195, in _resolve_one_round
    for dep in self._iter_dependencies(best_match):
  File "/usr/local/lib/python2.7/site-packages/piptools/resolver.py", line 274, in _iter_dependencies
    dependencies = self.repository.get_dependencies(ireq)
  File "/usr/local/lib/python2.7/site-packages/piptools/repositories/pypi.py", line 145, in get_dependencies
    self._dependencies_cache[ireq] = reqset._prepare_file(self.finder, ireq)
  File "/usr/local/lib/python2.7/site-packages/pipenv/patched/pip/req/req_set.py", line 634, in _prepare_file
    abstract_dist.prep_for_dist()
  File "/usr/local/lib/python2.7/site-packages/pipenv/patched/pip/req/req_set.py", line 129, in prep_for_dist
    self.req_to_install.run_egg_info()
  File "/usr/local/lib/python2.7/site-packages/pipenv/patched/pip/req/req_install.py", line 439, in run_egg_info
    command_desc='python setup.py egg_info')
  File "/usr/local/lib/python2.7/site-packages/pipenv/patched/pip/utils/__init__.py", line 707, in call_subprocess
    % (command_desc, proc.returncode, cwd))
pip.exceptions.InstallationError: Command "python setup.py egg_info" failed with error code 1 in /var/folders/dv/7tlskz5d609bsv4hvlsyfk01qcz_g6/T/tmp4adyZmbuild/ipython/

I am seeing the same error: gist
Running pipenv, version 7.5.1 freshly installed today with pipsi.

It seems to be related to https://github.com/kennethreitz/pipenv/issues/651

this appears to be a pip issue

this is working now


Improve error reporting when drenv completes

When one of the clusters fail during start, we can get confusing output:
$ drenv start regional-dr.yaml
logs
logs
logs
logs
Traceback about cluster failing...

logs
logs
logs
logs
logs
logs
logs
logs
logs
logs
last log line

The error may be hidden behind screen full of successful logs from other clusters.
I have seen 2 developers failing to detect or understand the errors:

One thought that running again only the failed component is enough to recover

you need to run drenv start again, since when one component fails, the next components do not run

One had running drenv without rbd-mirror - this can happen if one of the clusters failed. In this case we don't run the next part, configuring rbd-mirror.

Fix:

[ ] Change error reporting so all errors are reported at the end of logs - like other errors
[ ] Add a clear message when the entire environment was started successfully
[ ] When an error occurred, explain how to recover from the error

I can see success message like:
Start completed successfully!

Status:
  hub: OK
  dr1: OK
  dr2: OK

When start failed, maybe:
Start failed!

Status:
  hub: OK
  dr1: ERROR
  dr2: OK

Errors:

  Traceback from cluster dr1...

To recover run drenv start regional-dr.yaml again.

Example of a random error - if you work with small terminal window, you may
miss the error since it was already scrolled out of the window.
$ drenv start regional-dr.yaml
2023-03-30 19:58:55,615 INFO    [rdr] Starting environment
2023-03-30 19:58:55,663 INFO    [dr1] Starting minikube cluster
2023-03-30 19:58:56,688 INFO    [dr2] Starting minikube cluster
2023-03-30 19:58:57,684 INFO    [hub] Starting minikube cluster
2023-03-30 19:59:37,266 INFO    [dr1] Cluster started in 41.60 seconds
2023-03-30 19:59:37,267 INFO    [dr1/0] Running cert-manager/start
2023-03-30 19:59:37,267 INFO    [dr1/1] Running ocm-cluster/start
2023-03-30 19:59:37,270 INFO    [dr1/2] Running csi-addons/start
2023-03-30 19:59:54,620 INFO    [dr2] Cluster started in 57.93 seconds
2023-03-30 19:59:54,621 INFO    [dr2/0] Running cert-manager/start
2023-03-30 19:59:54,622 INFO    [dr2/1] Running ocm-cluster/start
2023-03-30 19:59:54,624 INFO    [dr2/2] Running csi-addons/start
2023-03-30 20:00:20,654 INFO    [hub] Cluster started in 82.97 seconds
2023-03-30 20:00:20,655 INFO    [hub/0] Running ocm-hub/start
2023-03-30 20:00:20,912 INFO    [dr1/0] cert-manager/start completed in 43.65 seconds
2023-03-30 20:00:20,912 INFO    [dr1/0] Running rook-operator/start
2023-03-30 20:00:30,600 INFO    [dr1/2] csi-addons/start completed in 53.33 seconds
2023-03-30 20:00:30,600 INFO    [dr1/2] Running olm/start
2023-03-30 20:00:33,743 INFO    [dr2/0] cert-manager/start completed in 39.12 seconds
2023-03-30 20:00:33,743 INFO    [dr2/0] Running rook-operator/start
2023-03-30 20:00:59,000 INFO    [dr2/2] csi-addons/start completed in 64.38 seconds
2023-03-30 20:00:59,001 INFO    [dr2/2] Running olm/start
2023-03-30 20:02:39,660 INFO    [dr1/0] rook-operator/start completed in 138.75 seconds
2023-03-30 20:02:39,660 INFO    [dr1/0] Running rook-cluster/start
2023-03-30 20:03:13,937 INFO    [dr2/0] rook-operator/start completed in 160.19 seconds
2023-03-30 20:03:13,937 INFO    [dr2/0] Running rook-cluster/start
2023-03-30 20:04:43,878 INFO    [hub/0] ocm-hub/start completed in 263.22 seconds
2023-03-30 20:04:43,878 INFO    [hub/0] Running ocm-controller/start
2023-03-30 20:05:16,959 INFO    [hub/0] ocm-controller/start completed in 33.08 seconds
2023-03-30 20:05:16,959 INFO    [hub/0] Running cert-manager/start
2023-03-30 20:05:46,228 INFO    [hub/0] cert-manager/start completed in 29.27 seconds
2023-03-30 20:05:46,228 INFO    [hub/0] Running olm/start
2023-03-30 20:05:56,076 INFO    [dr1/0] rook-cluster/start completed in 196.42 seconds
2023-03-30 20:05:56,077 INFO    [dr1/0] Running rook-pool/start
2023-03-30 20:06:27,468 INFO    [dr1/0] rook-pool/start completed in 31.39 seconds
2023-03-30 20:06:27,468 INFO    [dr1/0] Running rook-toolbox/start
2023-03-30 20:06:55,054 INFO    [hub/0] olm/start completed in 68.83 seconds
2023-03-30 20:08:09,244 INFO    [dr1/2] olm/start completed in 458.64 seconds
2023-03-30 20:08:09,244 INFO    [dr1/2] Running minio/start
2023-03-30 20:08:16,433 ERROR   [dr2/0] Cluster failed
Traceback (most recent call last):
  File "/home/nsoffer/src/ramen/test/drenv/__main__.py", line 111, in execute
    f.result()
  File "/usr/lib64/python3.11/concurrent/futures/_base.py", line 449, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
  File "/usr/lib64/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/nsoffer/src/ramen/test/drenv/__main__.py", line 264, in run_worker
    run_script(script, worker["name"], hooks=hooks, allow_failure=allow_failure)
  File "/home/nsoffer/src/ramen/test/drenv/__main__.py", line 279, in run_script
    run_hook(hook, script["args"], name, allow_failure=allow_failure)
  File "/home/nsoffer/src/ramen/test/drenv/__main__.py", line 286, in run_hook
    run(hook, *args, name=name)
  File "/home/nsoffer/src/ramen/test/drenv/__main__.py", line 301, in run
    for line in commands.watch(*cmd):
  File "/home/nsoffer/src/ramen/test/drenv/commands.py", line 127, in watch
    raise Error(args, p.returncode, error)
drenv.commands.Error: Command failed:
   command: ('rook-cluster/start', 'dr2')
   exitcode: 1
   error:
      Traceback (most recent call last):
        File "/home/nsoffer/src/ramen/test/rook-cluster/start", line 50, in <module>
          wait(cluster)
        File "/home/nsoffer/src/ramen/test/rook-cluster/start", line 34, in wait
          kubectl.wait(
        File "/home/nsoffer/src/ramen/test/drenv/kubectl.py", line 79, in wait
          _watch("wait", *args, context=context)
        File "/home/nsoffer/src/ramen/test/drenv/kubectl.py", line 95, in _watch
          for line in commands.watch(*cmd, input=input):
        File "/home/nsoffer/src/ramen/test/drenv/commands.py", line 127, in watch
          raise Error(args, p.returncode, error)
      drenv.commands.Error: Command failed:
         command: ('kubectl', 'wait', '--context', 'dr2', 'cephcluster/my-cluster', '--for=jsonpath={.status.phase}=Ready', '--namespace=rook-ceph', '--timeout=300s')
         exitcode: 1
         error:
            error: timed out waiting for the condition on cephclusters/my-cluster

2023-03-30 20:08:17,306 ERROR   [dr1/1] Cluster failed
Traceback (most recent call last):
  File "/home/nsoffer/src/ramen/test/drenv/__main__.py", line 111, in execute
    f.result()
  File "/usr/lib64/python3.11/concurrent/futures/_base.py", line 449, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
  File "/usr/lib64/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/nsoffer/src/ramen/test/drenv/__main__.py", line 264, in run_worker
    run_script(script, worker["name"], hooks=hooks, allow_failure=allow_failure)
  File "/home/nsoffer/src/ramen/test/drenv/__main__.py", line 279, in run_script
    run_hook(hook, script["args"], name, allow_failure=allow_failure)
  File "/home/nsoffer/src/ramen/test/drenv/__main__.py", line 286, in run_hook
    run(hook, *args, name=name)
  File "/home/nsoffer/src/ramen/test/drenv/__main__.py", line 301, in run
    for line in commands.watch(*cmd):
  File "/home/nsoffer/src/ramen/test/drenv/commands.py", line 127, in watch
    raise Error(args, p.returncode, error)
drenv.commands.Error: Command failed:
   command: ('ocm-cluster/start', 'dr1', 'hub')
   exitcode: 1
   error:
      Traceback (most recent call last):
        File "/home/nsoffer/src/ramen/test/ocm-cluster/start", line 132, in <module>
          deploy(cluster_name, hub_name)
        File "/home/nsoffer/src/ramen/test/ocm-cluster/start", line 48, in deploy
          join_cluster(cluster, hub)
        File "/home/nsoffer/src/ramen/test/ocm-cluster/start", line 92, in join_cluster
          clusteradm.join(
        File "/home/nsoffer/src/ramen/test/drenv/clusteradm.py", line 61, in join
          _watch(*cmd)
        File "/home/nsoffer/src/ramen/test/drenv/clusteradm.py", line 95, in _watch
          for line in commands.watch(*cmd):
        File "/home/nsoffer/src/ramen/test/drenv/commands.py", line 127, in watch
          raise Error(args, p.returncode, error)
      drenv.commands.Error: Command failed:
         command: ('clusteradm', 'join', '--hub-token', 'eyJhbGciOiJSUzI1NiIsImtpZCI6ImRta3IwT3dIY0cwa0c0emxKSVZ6TFBzMEVmVlc3dTdGb1RXNHppdmZjSzQifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNjgwMTk5Mzk1LCJpYXQiOjE2ODAxOTU3OTUsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJvcGVuLWNsdXN0ZXItbWFuYWdlbWVudCIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJjbHVzdGVyLWJvb3RzdHJhcCIsInVpZCI6IjFlMjBlMmU0LTY0NTktNDdiNy1hZDU5LTMwZDM3Y2JhNGZiYiJ9fSwibmJmIjoxNjgwMTk1Nzk1LCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6b3Blbi1jbHVzdGVyLW1hbmFnZW1lbnQ6Y2x1c3Rlci1ib290c3RyYXAifQ.bi1vQBsrIPbiQ5Lgs0rzUIYoH72ikIcAfyJdWWs_Lv1VRZGEkcM7Q_d3uxOSWJVHbnIA5BM1jTHkP0S0_BzS2OfJbAJh805S-ROVRRZHynJcNcg-8um857gmg8866OPs3bYu0n6rgL2rY1FNzGda1VbIQfP7ZFocgFZyonHcrkuXBZ2SD30ST164Yzb1jhGVufvwoySXmzWXghXF9M9I1XcRJfKdjiwzvh1nkQLpisovz8FSUiW2zs40TG6zQmtxdUbs0ZarLCOB7BPko5fjG1JV7zTMrMiZ8Rx940v-pkoazlxMXWOAJ2djA5BmPg_iCCDRfapUFAj_bNFFJkYgQg', '--hub-apiserver', 'https://<IP_ADDRESS>:8443', '--cluster-name', 'dr1', '--wait', '--context', 'dr1')
         exitcode: 1
         error:
            E0330 20:03:15.319041  118898 memcache.go:196] couldn't get resource list for packages.operators.coreos.com/v1: the server is currently unable to handle the request
            E0330 20:03:15.321224  118898 memcache.go:101] couldn't get resource list for packages.operators.coreos.com/v1: the server is currently unable to handle the request
            Error: unexpected watch event received

2023-03-30 20:08:46,158 ERROR   [dr2/2] Cluster failed
Traceback (most recent call last):
  File "/home/nsoffer/src/ramen/test/drenv/__main__.py", line 111, in execute
    f.result()
  File "/usr/lib64/python3.11/concurrent/futures/_base.py", line 449, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
  File "/usr/lib64/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/nsoffer/src/ramen/test/drenv/__main__.py", line 264, in run_worker
    run_script(script, worker["name"], hooks=hooks, allow_failure=allow_failure)
  File "/home/nsoffer/src/ramen/test/drenv/__main__.py", line 279, in run_script
    run_hook(hook, script["args"], name, allow_failure=allow_failure)
  File "/home/nsoffer/src/ramen/test/drenv/__main__.py", line 286, in run_hook
    run(hook, *args, name=name)
  File "/home/nsoffer/src/ramen/test/drenv/__main__.py", line 301, in run
    for line in commands.watch(*cmd):
  File "/home/nsoffer/src/ramen/test/drenv/commands.py", line 127, in watch
    raise Error(args, p.returncode, error)
drenv.commands.Error: Command failed:
   command: ('olm/start', 'dr2')
   exitcode: 1
   error:
      Traceback (most recent call last):
        File "/home/nsoffer/src/ramen/test/olm/start", line 82, in <module>
          wait(cluster)
        File "/home/nsoffer/src/ramen/test/olm/start", line 58, in wait
          kubectl.wait(
        File "/home/nsoffer/src/ramen/test/drenv/kubectl.py", line 79, in wait
          _watch("wait", *args, context=context)
        File "/home/nsoffer/src/ramen/test/drenv/kubectl.py", line 95, in _watch
          for line in commands.watch(*cmd, input=input):
        File "/home/nsoffer/src/ramen/test/drenv/commands.py", line 127, in watch
          raise Error(args, p.returncode, error)
      drenv.commands.Error: Command failed:
         command: ('kubectl', 'wait', '--context', 'dr2', 'csv/packageserver', '--namespace=olm', '--for=jsonpath={.status.phase}=Succeeded', '--timeout=300s')
         exitcode: 1
         error:
            error: timed out waiting for the condition on clusterserviceversions/packageserver

2023-03-30 20:08:57,388 INFO    [dr1/0] rook-toolbox/start completed in 149.92 seconds
2023-03-30 20:12:19,942 INFO    [dr1/2] minio/start completed in 250.70 seconds
2023-03-30 20:12:19,943 INFO    [dr1/2] Running velero/start
2023-03-30 20:12:21,710 INFO    [dr1/2] velero/start completed in 1.77 seconds
2023-03-30 20:12:21,710 INFO    [dr1/2] Running volsync/start
2023-03-30 20:12:24,048 INFO    [dr1/2] volsync/start completed in 2.34 seconds
2023-03-30 20:14:25,810 INFO    [dr2/1] ocm-cluster/start completed in 871.19 seconds
2023-03-30 20:14:25,810 INFO    [dr2/1] Running ocm-cluster/test
2023-03-30 20:14:33,842 INFO    [dr2/1] ocm-cluster/test completed in 8.03 seconds

We can avoid this by exiting the process on the first error, but this will not clean
up properly in scripts, leaving temporary files and possibly other leftovers.
The best way is to add cancellation support - once one worker fail, set a cancel
global flag, and wait until all workers are canceled.

Fixed in #1241


Following errors happening

On Chrome 105.0.5195.127 (64bit)

I get that as well. Just Facebook not liking the DOM manipulations..
Doesn't have any apparent effects on the script and therefor not an actual problem.


Controller nonsense

When only only <properties> named element values are needed, it is pointless having to provide, at least an extra 4 lines for , a  element in the pom.xml, for each template!  The plugin should use a stub controller when there is no controller element.
Having to specify the controller compiler source/target version values is stupidly redundant, because these should be got, by default, from the pom.xml "maven.compiler.*" properties e.g.:

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

I've uploaded my changes to my fork at https://github.com/rwperrott/string-template-maven-plugin; I note that I had to silence javadoc errors when building with Java 8+.

Close, because obsolete for me now.


[CARBONDATA-1651] [Supported Boolean Type When Saving DataFrame] Provided Support For Boolean Data Type In CarbonDataFrameWriter

1.Provided Support For Boolean Data Type In CarbonDataFrameWriter
2.Test Cases are Added For Same

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1047/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/1665/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1124/

Retest this

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/1720/

retest this please

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1138/

@jackylk why build is failing i have clean build on machine and also resolved all review comments

retest this please

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1212/

retest this please

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1226/

LGTM


Shipping address validation?

Description
Hi,
I am using paypal-checkout script from https://www.paypalobjects.com/api/checkout.js and I have following config:
paypal.Button.render({
    env: 'sandbox',
    client: {
        sandbox: 'AZDxjDScFpQtjWTOUtWKbyN_bDt4OgqaF4eYXlewfBP4-8aqX3PiV8e1GWU6liB2CUXlkA59kJXE7M6R',
        production: '<insert production client id>'
    },
    commit: true,
    payment: function(data, actions) {
        var experience = {
            input_fields: {
                address_override: 1
            }
        };
        var payment = {
            transactions: [{
                amount: {
                    total: '10.00',
                    currency: 'EUR',
                },
                item_list: {
                    shipping_address: address
                }
            }]
        };
        return actions.payment.create({ payment: payment, experience: experience });
    },

    // onAuthorize() is called when the buyer approves the payment
    onAuthorize: function(data, actions) {

        // Make a call to the REST api to execute the payment
        return actions.payment.execute().then(function() {
            window.alert('Payment Complete!');
        });
    }
}, '#paypal-button-container');

When I set address object as follows, it works fine and directs to checkout where shipping address is set accordingly: Screenshot
 var address = {
 	recipient_name: 'John Maverick',
 	line1: 'Random address 1',
 	city: 'San Jose',
 	state: 'CA',
 	postal_code: '95131',
 	country_code: 'US'
 };

But when I change address variable to following, it results in: Screenshot
var address = {
	recipient_name: 'John Maverick',
	line1: 'Random address 1',
	city: 'Tallinn',
	state: 'Harjumaa',
	postal_code: '10115',
	country_code: 'EE'
};

Although second address is just as valid as the first one (city, state, postcode and country code match), it does not get the same result. I used this link for testing: https://developer.paypal.com/demo/checkout/#/pattern/client
Is this some kind of validation issue? If so, is it possible to turn off the validating function?
If I log in to shop account, I can't see any restrictions that may be blocking payments from outside of US. Here are the settings: Screenshot
Steps to reproduce
Copy the code from above to https://developer.paypal.com/demo/checkout/#/pattern/client
Affected browsers
Probably not a browser specific issue.

[x] Chrome
[x] Safari
[x] Firefox
[x] Edge
[x] IE
[ ] Chrome Mobile/Tablet
[ ] Safari Mobile/Tablet
[ ] Web View / Safari ViewController
[ ] Other

Thanks for the report. I think somewhere cross-border shipping must be disabled. Can you please raise a ticket with paypal developer support? https://developer.paypal.com/support/


Add more logs to backup-related components

Changelog entry
...
Changelog category

Not for changelog (changelog entry is not required)

Additional information
...

Merge after  ydb-platform/ydb#12267


Every type name registered with a wasm Module by djinni must be unique

Currently our wasm codegen does not support having 2 top level types with the same name even when they are from different djinni idl files.  This is because top level names are exported to the wasm Module object by just their names, without the namespaces.
We can potentially include namespaces in the export names, but we need support on Emscripten side to allow nested names. This limitation of Emscripten is reported here  https://github.com/emscripten-core/emscripten/issues/15474
A workaround is to include namespaces with underscores, eg. namespace1_InterfaceName.  But this is much less nice than having true namespaces.

Some other options we have discussed, beyond the underscores and emscripten fix mentioned above:

Reimplement all or parts of embind
Generate names with underscores and then post-process to alias them

Okay so with https://github.com/Snapchat/djinni/pull/53 closed, we no longer have consts or enums conflicting on the Module object. Djinni records aren't registered with the module, so only djinni interfaces can now conflict. So any djinni interfaces built into a single module need to have unique names.
We should take advantage of an observation. When djinni interfaces are registered with a module through embind::class, the instance functions (and destructor) are never accessed from Module, because they are accessed on the individual objects. The constructor could be accessed from the Module directly, but that goes against how djinni works. Djinni does not expose constructors for types - instead it forces you into a factory pattern, where the only way to create an instance of a djinni interface across a language boundary is to call a static function that returns the interface. So TLDR, we don't care about the constructors from Module because we don't use them.
The only part of a djinni interface registered to a Module that we care about is the class functions. This doesn't solve our problem, it just scopes it.
So let's say we had these interfaces:
// foo.djinni
interface Dog = {
  static create(): Dog;
  doSomething();
}

// bar.djinni
interface Dog = {
  static create(): Dog;
  doSomethingElse();
}

So if we did the underscores solution, the only time we'd be using the verbose syntax would be when we call the statics, like:
Module.bar_Dog.create()
Module.foo_Dog.create()

That alone isn't too bad.

I think our ideal state would be the following.
Static functions are accessed through the object hierarchy:
Module.bar.Dog.create()
Module.foo.Dog.create()

But the individual classes can be registered to the module with underscores because we never use them otherwise:
Module.this_can_be_verbose_bar_Dog
Module.this_can_be_verbose_foo_Dog

One observation is, with our usage of classes, there is no benefit to registering a class function. So what we do:
    emscripten::class_<Dog>("Dog")
        .smart_ptr<std::shared_ptr<Dog>>("Dog")
        .class_function("create", Dog::create)
        ....
        ;

Can also be achieved (with a different naming on the Module object) as:
    emscripten::function("Dog_create", &Dog::create);
    emscripten::class_<Dog>("Dog")
        .smart_ptr<std::shared_ptr<Dog>>("Dog")
        ....
        ;

This decouples the naming (and uniqueness constraints) for the object vs the statics

I explored this a bit and I think the simplest option is to take these lines https://github.com/Snapchat/djinni/blob/fa64e7566803cdd3fb4488b59ed35c25b64b7916/src/source/WasmGenerator.scala#L386-L387, and prefix them with something like this https://github.com/Snapchat/djinni/blob/fa64e7566803cdd3fb4488b59ed35c25b64b7916/src/source/WasmGenerator.scala#L163.
And then update the names for interfaces in typescript to match https://github.com/Snapchat/djinni/blob/fa64e7566803cdd3fb4488b59ed35c25b64b7916/src/source/TsGenerator.scala#L190.


Deleting all lines when patching should count as a deletion of the entire file, not just the lines

@christianguenter2
I noticed that using patch will not delete files correctly if all lines are marked for deletion. From the history it seems it was like this from the start.
https://github.com/larshp/abapGit/blob/2db46137fcf89f9c1e499822792308c22c1c6f40/src/ui/zcl_abapgit_gui_page_diff.clas.abap#L202-L205
Patch

Deleting by selecting all lines for deletion will only commit line deletions, but leave the file.

You can see the stage flag is set to add:

After committing, you are left with these differences:

Trying to commit this diff through patch again will lead to an empty commit and the files will remain. They can be removed from the staging page.
https://github.com/FreHu/abapgit-patch-delete-test/commits/delete-patch
Stage

Deleting via stage assigns the remove flag to the staged file and correctly delete it

Yeah, noticed this also a while ago. I'll try to fix it soon.


ray tune error with multiagent policy graph

My error happens in the run_experiments(), specifically
ray.tune.error.TuneError: ('Trials did not complete', [PPO_WaveAttenuationPOEnv-v0_0_lr=1e-05])
Closing connection to TraCI and stopping simulation.

My code is based on the mutliagent example "multiagent_stabilizing_the_ring" project. Bascially, I want to try multiple RL CAVs on the same ring road with a shared PPO policy. Please let me know if I understood something wrong. Different with that example, I set
env_name="WaveAttenuationPOEnv",
         scenario="LoopScenario",

policy graph part was kept the same:
def gen_policy():
        return (PPOPolicyGraph, obs_space, act_space, {})

    # Setup PG with an ensemble of `num_policies` different policy graphs
    policy_graphs = {'av': gen_policy()}

    def policy_mapping_fn(_):
        return 'av'

    config.update({
        'multiagent': {
            'policy_graphs': policy_graphs,
            'policy_mapping_fn': tune.function(policy_mapping_fn),
            'policies_to_train': ['av']
        }
    })

Additionally, it's still not clear for me that if the shared policy is defined on the single-agent states and actions or joint states and actions. Any help would be truly appreciated!!

Hi @nancyhwr, unfortunately the actual error is probably further up in the log. Could you attach the entire output? That'd be really helpful for debugging.
The shared policy is defined on the single-agent states and actions. If you want to make it otherwise, you would need to modify it. Happy to help with that if that's what you want.

I was stupid, I wen to the ray results and I saw this:

ValueError: Have multiple policy graphs {'av': <ray.rllib.agents.ppo.ppo_policy_graph.PPOPolicyGraph object at 0x1c2bf24da0>}, but the env <WaveAttenuationPOEnv> is not a subclass of MultiAgentEnv?

I used "WaveAttenuationPOEnv" under the Multiagent Scenario, that's why the ray execution threw an error. So I changed back to "MultiWaveAttenuationPOEnv" and set the num_ring = 1, I guess this is the only way that I can use single-ring with MAS, right?
Thank you @eugenevinitsky .  Could I also ask what's the 'av' mean in this
policy_graphs = {'av': gen_policy()}
Does it mean that every RL agent will share the same policy graph, so they share the parameters? Could you give me some advise if I want to define the policy on the joint states and actions? Really appreciate your quick answer, I'm quite lost here.

Should I just change the policy graph like
policy_graphs = {'shared_ppo': (PPOPolicyGraph, joint_obs_space, joint_act_space)}
and I guess I need to overload the get_state and get_action funcs. Please correct me if I'm wrong.

Hi @nancyhwr , sorry for the delay.
So, I'm going to answer your questions but just so you're not blocked by me, a really good resource is the RLlib multi-agent docs which have a bunch of examples: https://ray.readthedocs.io/en/latest/rllib-env.html#multi-agent-and-hierarchical
So there are two components to defining a multi-agent environment: defining the policy's (i.e. what are the states and actions) and defining the mapping between agents and policies (i.e. which agent gets which policy). In the current environment, every agent shares the same policy so they necessarily have to have the same action and observation space. The way them all sharing the policy is defined is by using the agent-id to policy mapping function:
def policy_mapping_fn(agent_id):         return 'av'
This says: for every agent_id, return the policy graph that has the name AV. If you wanted to have more policy graphs, you could define a policy_mapping_fn that returns a different graph for some of the agent ids.
I'm a bit confused about how it would work that the agents have a joint state and action. In this case, wouldn't this actually be a centralized controller?

Thank you so much @eugenevinitsky. I saw the article that you linked on the Bair blog too,  your explanation untangled my mind a lot. And yes, I am trying to make a centralized controller within a small range so that the joint action and space won't be too large.

Ah, glad that helped. So, for each policy graph you can just construct your desired action space as is currently done in the action_space and observation_space methods in the MultiWaveAttenuationEnv. For example, if you want to control two accelerations at once, you might make the action space Box(low=min_accel, high=max_accel, shape=(2,)) which will tell the policy graph to have two values as the output of the neural network.

I also have a question regarding shared policies, which I could not answer with the ray-docs... If I have two RL-vehicles, both mapped on the same policy. I set "policies_to_train" to the only existing policy.
From which RL-vehicle are the experiences gathered and included in the training? Do I suppose correctly that the batches are collected from the experiences of both vehicles?

That is correct; batches are collected from both RL vehicles and used for the training.

Thank you very much! (sorry for the late answer) @eugenevinitsky