Markdown: make a pass over languages that depend on markdown

Extracted from https://github.com/microsoft/vscode/issues/77990 there are other languages that - when opened - will drag in all of our languages via the markdown dependency.

Known built-in grammars that include text.html.markdown:

[ ] F#
[ ] shellscript

I think also:

[ ] PHP
[ ] Perl

Show more loading activity than other languages.

//cc @alexr00

@bpasero Do the php and perl grammars pull in the markdown grammar too? I see that the references a few other languages but not markdown

@mjbvz I basically just printed which grammars are being loaded here:
https://github.com/microsoft/vscode/blob/593c968f12833348e96eddbef9b81e2c5233bd68/src/vs/workbench/services/textMate/browser/abstractTextMateService.ts#L194

Root cause of all of this is https://github.com/microsoft/vscode-textmate/issues/106
We should investigate just how painful fixing the root cause of this issue would be. A few reasons why:

Markdown files will still have this issue. MD files are found in a large number of repos.
Many grammars are effected by the same issue. Markdown is just an extreme case of the problem

@mjbvz what needs to be done for this?

Moving to December. Let's first test to see if these languages trigger the slow loading in the first place. If a language is effected, we can investigate how complicated a fix would be and if it would introduce significant regressions in the grammar

Closing this snowplow issue as I'm not sure what action to take. If we see performance issues again, I suggest we look into microsoft/vscode-textmate#106 to address this


Getting ptr from handle for interacting with other libraries

I'm trying to make use of Vulkan Memory Allocator, which asks me to give it the inner pointers of the Device and PhysicalDevice handles. However with ash's current API I can't seem to access these.

Can you show me an example where this is needed?

Here's an example:
https://gpuopen-librariesandsdks.github.io/VulkanMemoryAllocator/html/quick_start.html#quick_start_initialization

I assume your problem is that you used something like bindgen and now VkDevice/VkInstance are typdefs to a pointer? A transmute to the types should work, or you can just use the ash types in the generated code. Everything should map 1:1.

Ah, didn't know they could just be transmuted. I did use bindgen yea as that seemed like the best approach to quickly get bindings to the library.


[Feature] MaxCompute(ODPS) Catalog BE parts

Why I'm doing:
The integration between StarRocks and MaxCompute (originally known as ODPS) is crucial for users who need to access their data stored in MaxCompute without the hassle of data migration or duplication. To enhance our users' experience and provide more flexibility in data management, I'm introducing the ODPS Catalog feature to StarRocks.
What I'm doing:
I'm adding a new feature to StarRocks that allows users to connect to ODPS data sources directly. This feature, named ODPS Catalog, acts as a bridge between StarRocks and MaxCompute, giving users the ability to perform queries on MaxCompute datasets from within the StarRocks environment. This integration not only simplifies the data workflow but also ensures that users can leverage the full power of StarRocks's analytics capabilities on their existing data in MaxCompute.
Fixes #issue
#32719
What type of PR is this:

[ ] BugFix
[x] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[x] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[x] This pr needs user documentation (for new or modified features or behaviors)
[x] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: zdx19981006:x: zhangdingxin484You have signed the CLA already but the status is still pending? Let us recheck it.


Cannot deploy apps, can't fix because I can't see the logs either

Apps are getting stucked while deployed and no logs are shown, so it is virtually impossible to fix any (possible) errors.
After trying to add https://github.com/berzniz/now-logs the app couldn't deploy so I blindfolded here and can't use the service.
Please help.
https://zeit.co/nriesco/legal-bot/kgthjywkey?redirect=1

I also can't seem to successfully deploy a docker app. https://last-end-yjorwewqww.now.sh
Source: https://github.com/jacobmischka/last-end
It's using tiangolo/uwsgi-nginx-flask:flask-python3.5-index-upload which is mostly just a wrapper over tiangolo/uwsgi-nginx-docker.

Looks like the last-end exports multiple ports; we pick the first port reported by docker -- which in this case seems not to be the intended one - as it just returns an "empty response"

That other deployment doesn't anymore exist and hence I can't look into it. logs support will eventually come - but for now we are suggesting use of third party logging solutions: like papertrail...

Ah, I thought that was the problem, but I thought my EXPOSE was supposed to override the parent Dockerfile EXPOSE. I see now that that's not how that works.
Thanks for your help!

Confirming that that was it. A bit of a pain that docker doesn't provide any way to override EXPOSE from a child container, but forking the upstream containers to only expose 80 worked.
Thanks again!

Great to hear you got it working. Indeed that behavior from docker is unexpected...


Some libc++abi symbols are missing with LLVM12+'s stdenv on Darwin

Problem
When using stdenvs (or even just libc++ versions, really) from llvmPackages corresponding to LLVM 12 and newer on macOS, symbols related to exceptions (such as __cxa_allocate_exception) are not found by the linker.
This can be reproduced by compiling and linking any C++ program that makes use of exceptions, i.e.:
clang++ -xc++ - <<<"int main() { throw 0; return 5; }" -o /tmp/foo

Results in:
Undefined symbols for architecture arm64:
  "___cxa_allocate_exception", referenced from:
      _main in --bbc70b.o
  "___cxa_throw", referenced from:
      _main in --bbc70b.o
ld: symbol(s) not found for architecture arm64
clang-13: error: linker command failed with exit code 1 (use -v to see invocation)

Comparing the libc++ dylibs used by the wrapped clang++ in the LLVM 12 and 13 stdenvs (i.e. llvmPackages_12.libcxxStdenv) to that used in the LLVM 11 stdenv reveals that while LLVM 11's libc++.dylib reexports such symbols, newer libc++.dylibs do not.
When run through llvm-nm -C and grepped for __cxa_allocate_exception, here is the output for LLVM 11's libc++ dylib:
                 U ___cxa_allocate_exception
                 I ___cxa_allocate_exception (indirect for ___cxa_allocate_exception)

And LLVM 13's:
                 U ___cxa_allocate_exception

Both of these libc++ dylibs have a dynamic dependency on libc++abi which actually provides a definition for this symbol (this can be observed with otool -L <dylib path> which shows the libc++abi.dylib dep and then llvm-nm -C <libc++abi.dylib path> which shows that the symbol is defined in the libc++abi dylib) however only libc++ versions prior to LLVM 12's reexport the symbol.
This is consistent with the libc++ source code. These symbols were initially removed from the main list of symbols reexported and gated on libc++ exception support. However later this logic and the special list of symbols was removed.
Open Questions
I am not certain I understand the changes in the commit linked above; it's not clear to me why libcxxabi was changed to reexport these symbols.
This seems like an ABI break but there is no mention of this being potentially problematic on the CL and the comments added to the changelog in this commit seem to insist that it only adds some reexports to libc++.
Potential Solutions
I am not sure what the "right" solution is but anecdotally it seems like it's common to pass in -lc++abi as a linkopt on macOS.
cc-wrapper already does this on Linux.
To Reproduce
Here's a flake:
{
  inputs = {
    # nixpkgs.url = github:nixos/nixpkgs?ref=1a8754caf8eb8831b904daaf34b2ee737053b383; # commit for the 13.0.1 LLVM bump
    nixpkgs.url = github:nixos/nixpkgs/nixpkgs-unstable; # LLVM 13 is broken on Darwin on 21.11; using < instead of ^ so we get caching
    flake-utils.url = github:numtide/flake-utils;
  };

  # The issue only affects Darwin. Both because symbol rexport is only a thing
  # on mach-o platforms
  # (https://github.com/llvm/llvm-project/blob/4f13b999297140486b2faa1b5d8d7c768fb40dfb/libcxx/src/CMakeLists.txt#L202-L215)
  # and because `-lc++abi` is always added to the cc wrapper for Linux:
  # https://github.com/NixOS/nixpkgs/blob/a785ec661fadba2ded58467f951b51c34631c269/pkgs/build-support/cc-wrapper/default.nix#L382
  outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachSystem [ "aarch64-darwin" "x86_64-darwin" ] (system:
    let
      normal = import nixpkgs { inherit system; };
      imp = func: import nixpkgs { inherit system; config.replaceStdenv = { pkgs }: (func pkgs).libcxxStdenv; };
      l_11 = imp (n: n.llvmPackages_11);
      l_12 = imp (n: n.llvmPackages_12);
      l_13 = imp (n: n.llvmPackages_13);
      l_13' = import nixpkgs {
        inherit system;
        # config.replaceStdenv = { pkgs }: pkgs.llvmPackages_13.libcxxStdenv.overrideAttrs (old: {
        #   postFixup = old.postFixup + ''
        #     echo "-lc++abi" >> $out/nix-support/libcxx-ldflags
        #   '';
        # });
        config.replaceStdenv = { pkgs }:
          let
            clang' = pkgs.llvmPackages_13.libcxxClang.overrideAttrs (old: {
              # We _should_ use an overlay or something similar here but they allegedly don't interact well with `replaceStdenv`.
              #
              # We're essentially adding this: https://github.com/NixOS/nixpkgs/blob/3491c5ea290bca5437845b6348919fcb23950af9/pkgs/build-support/cc-wrapper/default.nix#L382
              postFixup = old.postFixup + ''
                echo "-lc++abi" >> $out/nix-support/libcxx-ldflags
              '';
            });

            # https://github.com/NixOS/nixpkgs/blob/904ed45698338365f086c22ab5af167adf8bee9a/pkgs/development/compilers/llvm/13/default.nix#L241
            stdenv' = pkgs.overrideCC pkgs.stdenv clang';
          in
            stdenv';
      };

      cmd = ''clang++ -xc++ - <<<"int main() { throw 4; return 0; }" -v'';
      test = np: np.runCommandCC "test-cxx" {} ''
        ${cmd} -o $out
      '';
      hook = ''
        cd "$(mktemp -d)"
        libcxx_dir="$(${cmd} -o out -Wl,-v |& tee /dev/stderr | grep -P '\t/nix/store/.*-libcxx-.*/lib' | tail -1)"
        libcxx=$(echo "$libcxx_dir/libc++.dylib" | xargs)

        echo -e "\nlibcxx: $libcxx"
        echo "contains:"
        ${normal.llvmPackages.llvm}/bin/llvm-nm -C "$libcxx" | grep __cxa_allocate_exception
      '';
    in {

    # `nix flake check` shows the error
    checks.l11 = test l_11; # Works fine
    checks.l12 = test l_12; # Fails
    checks.l13 = test l_13; # Fails
    checks.l13' = test l_13'; # A workaround

    devShells = {
      llvm11 = l_11.mkShell { shellHook = hook; };
      llvm12 = l_12.mkShell { shellHook = hook; };
      llvm13 = l_13.mkShell { shellHook = hook; };
    };
  });
}

Running nix flake check shows the error when compiling with the LLVM 12 and 13 stdenvs; entering the dev shells with nix develop prints the path of the libc++ dylib that's used and greps it for __cxa_allocate_exception (one of the missing symbols).
The above also contains an example of a workaround that adds -lc++abi to the wrapper used in the LLVM 13 stdenv.
I think this is reproducible with any nixpkgs version after the LLVM 12.0.0 package was added but just in case, here's my flake.lock file:
Click to expand
{
  "nodes": {
    "flake-utils": {
      "locked": {
        "lastModified":<PHONE_NUMBER>,
        "narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=",
        "owner": "numtide",
        "repo": "flake-utils",
        "rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade",
        "type": "github"
      },
      "original": {
        "owner": "numtide",
        "repo": "flake-utils",
        "type": "github"
      }
    },
    "nixpkgs": {
      "locked": {
        "lastModified":<PHONE_NUMBER>,
        "narHash": "sha256-Ctij+dOi0ZZIfX5eMhgwugfvB+WZSrvVNAyAuANOsnQ=",
        "owner": "nixos",
        "repo": "nixpkgs",
        "rev": "30d3d79b7d3607d56546dd2a6b49e156ba0ec634",
        "type": "github"
      },
      "original": {
        "owner": "nixos",
        "ref": "nixpkgs-unstable",
        "repo": "nixpkgs",
        "type": "github"
      }
    },
    "root": {
      "inputs": {
        "flake-utils": "flake-utils",
        "nixpkgs": "nixpkgs"
      }
    }
  },
  "root": "root",
  "version": 7
}

I looked more into this specifically for #269340 and it turns out that the cc-wrapper script will indeed pass in -lc++abi, but only if it detects that it attempts to link C++ code. And Postgis invokes its C compiler:
cc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Werror=unguarded-availability-new -Wendif-labels -Wmissing-format-attribute -Wcast-function-type -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -Wno-deprecated-non-prototype -g -O2  -bundle -o postgis-3.so postgis_module.o lwgeom_accum.o lwgeom_union.o lwgeom_spheroid.o lwgeom_ogc.o lwgeom_functions_analytic.o lwgeom_inout.o lwgeom_functions_basic.o lwgeom_btree.o lwgeom_box.o lwgeom_box3d.o lwgeom_geos.o lwgeom_geos_prepared.o lwgeom_geos_clean.o lwgeom_geos_relatematch.o lwgeom_generate_grid.o lwgeom_export.o lwgeom_in_gml.o lwgeom_in_kml.o lwgeom_in_marc21.o lwgeom_out_marc21.o lwgeom_in_geohash.o lwgeom_in_geojson.o lwgeom_in_encoded_polyline.o lwgeom_triggers.o lwgeom_dump.o lwgeom_dumppoints.o lwgeom_functions_lrs.o lwgeom_functions_temporal.o lwgeom_rectree.o long_xact.o lwgeom_sqlmm.o lwgeom_rtree.o lwgeom_transform.o lwgeom_window.o gserialized_typmod.o gserialized_gist_2d.o gserialized_gist_nd.o gserialized_supportfn.o gserialized_spgist_2d.o gserialized_spgist_3d.o gserialized_spgist_nd.o brin_2d.o brin_nd.o brin_common.o gserialized_estimate.o geography_inout.o geography_btree.o geography_centroid.o geography_measurement.o geography_measurement_trees.o geometry_inout.o postgis_libprotobuf.o vector_tile.pb-c.o geobuf.pb-c.o mvt.o lwgeom_out_mvt.o geobuf.o lwgeom_out_geobuf.o lwgeom_out_geojson.o flatgeobuf.o lwgeom_in_flatgeobuf.o lwgeom_out_flatgeobuf.o postgis_legacy.o -lm  ../deps/wagyu/libwagyu.la -lc++ ../deps/flatgeobuf/libflatgeobuf.la -lc++ ../libpgcommon/libpgcommon.a ../liblwgeom/.libs/liblwgeom.a  -L/nix/store/r3ci57b9h44dm8bzgddj2s33gmzf0k9d-geos-3.11.2/lib -lgeos_c -L/nix/store/crykfdf8mmkll3a524l34cd80cxczqrm-proj-9.3.0/lib -lproj -L/nix/store/h55yv2msyvgggbxb093za5was5yxfi47-json-c-0.16-dev/lib -ljson-c -L/nix/store/phw2l0iwb43pd3j1hlaml46asziw7vw0-protobuf-c-unstable-2023-07-08/lib -lprotobuf-c -L/nix/store/al2fcmdcsxlx9zv5nsr4464dmrypf2bk-libxml2-2.11.5/lib -lxml2 -L/nix/store/a377d66g1rgsd4vkzxdhkza5g55fkmky-zlib-1.3/lib -lz    -lm -bundle_loader /nix/store/2364df0zry22gjqgsbdz41ypabbvsbm9-postgis-3.4.0/bin/postgres

Changing cc to clang++ will cause this to compile correctly.
Alternatively, applying the following patch also causes the cc-wrapper to detect that this is indeed a C++ linking happening:
diff --git i/pkgs/build-support/cc-wrapper/cc-wrapper.sh w/pkgs/build-support/cc-wrapper/cc-wrapper.sh
index b8d170df01..62075b2e3f 100644
--- i/pkgs/build-support/cc-wrapper/cc-wrapper.sh
+++ w/pkgs/build-support/cc-wrapper/cc-wrapper.sh
@@ -48,6 +48,7 @@ while (( "$n" < "$nParams" )); do
         -nostdlib) cxxLibrary=0 ;;
         -x*-header) dontLink=1 ;; # both `-x c-header` and `-xc-header` are accepted by clang
         -xc++*) isCxx=1 ;;        # both `-xc++` and `-x c++` are accepted by clang
+        -lc++)  isCxx=1 ;;
         -x)
             case "$p2" in
                 *-header) dontLink=1 ;;

Hey it looks like somebody spammed nixpkgs with 33 copy-and-pastes of this code:
$ rg 'https://github.com/NixOS/nixpkgs/issues/166205' | wc -l
33

This is really obnoxious; it means that when there's a bug in the copy-and-pasted code (which there is -- it fails if stdenv.cc.cc.libcxx exists but lacks the cxxabi subattribute) we need 33 separate fixes!
One of the great powers of Nix is that it provides abstraction, so we can refactor instead of copying and pasting.  Please do that next time, so we can fix ONE bug in ONE place instead of THIRTY-THREE separate copies of the same bug.

https://github.com/NixOS/nixpkgs/blob/c79898ec62912f8ffe7ecf5edc610342649d2a8d/pkgs/servers/sql/postgresql/ext/postgis.nix#L38-L40
Hey it looks like we wound up with 33 copy-and-pastes of this code:
$ rg 'https://github.com/NixOS/nixpkgs/issues/166205' | wc -l
33

This means that when there's a bug in the copy-and-pasted code (which there is -- it breaks CI if stdenv.cc.libcxx exists but lacks a cxxabi subattribute) we need 33 separate fixes.
One of Nix's superpowers is that it provides abstraction, so we can refactor instead of copying and pasting. Please use those superpowers next time -- probably by changing ld-wrapper to add -l${stdenv.cc.libcxx.cxxabi.libName} automatically. That way, if there's a bug it can be fixed in one place instead of having to make thirty-three different changes, like these:
* [34c3989](https://github.com/NixOS/nixpkgs/commit/34c3989a0e8ce395a6b28397848ee07eade3509e)

* [895dbe8](https://github.com/NixOS/nixpkgs/commit/895dbe8aa68b373c2c033a4c627d4f5b13da7e24)

* [9d96656](https://github.com/NixOS/nixpkgs/commit/9d966564329d31c23301d2517dc999858a704b04)

* [caab415](https://github.com/NixOS/nixpkgs/commit/caab4159953f2bb254602cca50fc89f28703fed1)

* [1bb69e8](https://github.com/NixOS/nixpkgs/commit/1bb69e8dfd520cf5b513699b5043dccc35ed09f4)

* [8670f50](https://github.com/NixOS/nixpkgs/commit/8670f502d0d19b68c617dd42539df1b9605e2486)

* [ad34020](https://github.com/NixOS/nixpkgs/commit/ad340203577eb36090b1afce7ec9c4fc15dff41d)

* [eca13b3](https://github.com/NixOS/nixpkgs/commit/eca13b37fd12f76a9f261427415fbc222423f4f5)

* [0917ca9](https://github.com/NixOS/nixpkgs/commit/0917ca9988103ef0abef67c1715360b1c368d4dd)

* [587ee6e](https://github.com/NixOS/nixpkgs/commit/587ee6e31b0a0c14d8da07d516f0bb9cfe792ddf)

* ... and on, and on ...

thats a very good find ! we should fix it, is it darwin specific ?

@amjoseph-nixpkgs there is one potential workaround https://github.com/NixOS/nixpkgs/pull/269694 looks like you already commented on it though.

Hi! This hits internal users where I work about once a week, as they add a native library and have to add this override. By and large, they are unfamiliar with the peculiarities of the linker, and the errors we get are strange.
Is there some path to a default fix for this problem? From the above, there are a lot of workarounds being exported (which we apply internally), but there's no direct proposal for an override fix (adding the same override to ld-wrapper?).

Is there some path to a default fix for this problem? From the above, there are a lot of workarounds being exported (which we apply internally), but there's no direct proposal for an override fix (adding the same override to ld-wrapper?).

https://github.com/NixOS/nixpkgs/pull/292043 updates the build to fix this for llvm15,16,17,etc. the fix is merge libcxx & libcxxabi and build together as the standalone build is not supported. https://github.com/NixOS/nixpkgs/pull/282624 also fixes the issue by patching the llvm build, but since the patches were not going to be accepted upstream that change was abandoned.


Remove hard dependency on es6-promise

It would be beneficial for npm users if you could remove es6-promise from the dist bundle. This would give us freedom to include it ourselves if we really need it.
A side-effect of including es6-promise in the dist bundle is that it causes view rendering in Angular 2 to malfunction. The underlying problem is that zone.js - a dependency of Angular 2 - hooks into all kinds of events and hooks in the browser, among them Promises. When oidc-client and its accompanying es6-promise loads, it overwrites the global Promise object, which messes with zone.js and causes ramifications in Angular 2.

I'm happy for you to propose an approach to solve this.

One approach would be to remove es6-promise from the build process entirely, and include it as a peerDependency in npm (https://docs.npmjs.com/files/package.json#peerdependencies). This will allow npm users to download and use es6-promise in their own build process if they want to.
Bower doesn't have the same concept, it only has the concept of dependencies. So a solution for bower users would be to add es6-promise as a dependency in the bower.json-file, and instruct them to include es6-promise before oidc-client in their build own process.
Does this sound like an acceptable solution? If it is, I can submit a PR for it.

Sure, go for it. Thanks.

I have the same issue, the promise stuff in oidc client and token manager prevent an Angular 2 page from loading. The proposed patch referenced above hasn't been merged, so I guess for now I will manually remove the promise stuff from oidc client and oidc token manager and use these locally edited versions rather than the ones from npm.

Though I can see that getJSON inside the DefaultHttpRequest class relies on _promiseFactory, so I'm not sure whether the _promiseFactory can just be deleted as it is in the proposed PR?

Or, actually, maybe the PR just needs to replace
return _promiseFactory.create(..
)

with
return new DefaultPromise(new Promise(..
))

I've just noticed the lengthy discussion at https://github.com/IdentityModel/oidc-client/issues/2 and https://github.com/IdentityModel/oidc-token-manager/issues/44 so it seems maybe everything is about to undergo a big refactor anyway...

Yep... work in progress: https://github.com/IdentityModel/oidc-client/issues/2

I removed the remains of promiseFactory from the PR, and also updated the dist-files.

Hi @larrifax -- mind taking a look at what's been done here and provide feedback on what works and (I guess more importantly) what doesn't work for you with these recent changes: https://github.com/IdentityModel/oidc-client-js/issues/2

@brockallen: The dev-branch looks really good! Looks like it will solve my problems as soon as it's usable with oidc-token-manager.

Ok, excellent -- thanks for looking. I plan to work on the token manager this week. Also, I think I want to merge it into the oidc-client-js library (either as its own module or part of the OidcClient class). Not sure which one will be best yet... thanks again!

Oh, and so I'll close this issue now. If you have more feedback on the new approach, feel free to open a new issue. Feedback always welcome.


Responsive issues

The about page, blog page and portfolio page arentt responsive on Samsung Galaxy M51 (Samsung Galaxy S8+/S9).

Hello @IJustDev
Can you share any screenshots?


Add command to edit an account

It would be nice to have an edit command to modify an already existing account, e.g. to:

[ ] generate / set a new password — We need to have an password-history, so your old passwords are not lost
[ ] rename the account
[ ] rename the username

I'd like to flush out the usage for this one before implementing it; here's my first thought:
pick edit <name> <username|password>

Examples
# Edit a username

pick edit github username
Enter a new username for github
>

# Edit a password (generate a new one)

pick edit github password
Generate a new password for github (Y/n)?
>

# Edit a password (manual)

pick edit github password
Generate a new password for github (Y/n)?
> n
Enter a password for github
>

Thoughts?

I think if we want to rename an account, e.g. github -> github/bndw, we should consider adding a mv command.
I'd prefer to stick to using built-in command names whenever possible. This keeps usage intuitive and familiar.

pick mv github password This is not intuitive.
# Rename an account

$ pick mv github github-new

# Change an account's username / password

$ pick edit github
Do you want to change the username (y/N)?
..
Do you want to change the password (y/N)?

$ pick edit github [user/name/username]
Enter a new username..

$ pick edit github [pswd/pass/password]
Enter a new username..
Generate a new password for github (Y/n)?

pick mv github password This is not intuitive.

Agreed, scratch that one.
mv command
I'm happy with adding a mv command for renaming accounts.
edit command
An interactive edit command sounds good, however I am not a fan of the variable argument naming,  [user/name/username] and [pswd/pass/password].
I see no benefit in having the user make a cognitive decision about which variety to use. I'd much prefer to offer a single way to do a task.
$ pick edit github
Do you want to change the username (y/N)?
..

$ pick edit github [username]
Enter a new username..

$ pick edit github [password]
Generate a new password for github (Y/n)?

We need to have an password-history, so your old passwords are not lost

I'm not sure I see the value of this; could you explain the use case?

Imagine this scenario:

Add new account with a custom / pick-generated password
You now want to change the password with $ pick edit github password (or similar)
Let pick generate you the new password and copy it to your clipboard
Now I would go to Github and change the password there, but I somehow need to access the old password

IMO it's too risky not to store a complete history of an account's passwords (or at least the last two or so).

Thanks, that makes sense. I wonder if we should consider the same for any other fields on safe.Account, for example username.

Personally, I don't need a history for an account's username. A history of the passwords is sufficient.

SGTM. I think adding a []string to safe.Account to hold previous passwords may be sufficient.

This is now in develop and will be available in the next release. Thanks @leonklingele!


fix(deps): update terraform-module

This PR contains the following updates:

Package
Type
Update
Change

github.com/terraform-ibm-modules/terraform-ibm-landing-zone-vpc
module
patch
v2.2.0 -> v2.2.1

github.com/terraform-ibm-modules/terraform-ibm-landing-zone-vsi
module
patch
v1.1.1 -> v1.1.2

Release Notes

terraform-ibm-modules/terraform-ibm-landing-zone-vpc
v2.2.1
Compare Source
Bug Fixes

deps: update terraform ibm to v1.44.3 (#84) (12276f0)

terraform-ibm-modules/terraform-ibm-landing-zone-vsi
v1.1.2
Compare Source
Bug Fixes

deps: update terraform ibm to v1.44.3 (#73) (3f2200a)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

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

GitHub release
v1.6.1

Your semantic-release bot :package::rocket:


xs and ys are required to have the same length

Hi,
It seems that xs and ys are required to have the same length according to _check_input_compatibility() in methods.py.
Do you know why that is the case? I try to run deepExplain for a graph convolutional network where the adjacency matrix of the graph is passed as additional input (so the model has multiple inputs) but it performs a simple binary classification task.
Therefore, I thought ys has shape (batch x 1) and xs is quite independent of that and has different inputs.
I ran the method in the past using masking of the target T but now wanted to switch to the explainer API since I have to run it for a lot of different data points.
As far as I understood, the input placeholders have to remain the same in order to re-use the same computational graph.
Can I therefore just remove the check that requires the length of xs and ys to be the same? Why is that required in the first place?
Thank you and best,
Roman

Hello,
That check is intended to verify that the batch size is the same.  If you have multiple inputs than the len() does not verify the batch size indeed, but rather the number of inputs. So this is a problem in the code, yes. You can try removing this.


Fix dtype parsing

This fixes the issue noted in #94 , as well as other --dtype arguments that may not have been parsed correctly.

Ignore dtype model arg if 8bit specified as --dtype argument (only set load_in_8bit instead)
Use getattr to parse string value (turning "float16" into torch.float16 etc.)

I also added support for the load_in_4bit argument introduced recently: https://github.com/huggingface/transformers/pull/23479

Awesome, thanks a lot.


remove unused file

@SummerSun,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Adding support for federated urls in modals

Adds support for federated URLs in modals to centralize content for the region selector.

Resolves: https://jira.corp.adobe.com/browse/MWPW-130787
Test URLs:

Before: https://main--milo--adobecom.hlx.page/drafts/blaishram/document?martech=off#langnav
After: https://MWPW-130787--milo--bandana147.hlx.page/drafts/blaishram/document?martech=off#langnav

I'm not super familiar with the details of this ticket, so lmk if any of my implicit assumptions are incorrect.
Is it wise to federate all urls going into getPathModal? Should there be some choice given to the caller of the function, or is there some way to defer the decision of whether a given fragment url should be federated or not further downstream (so that any url given to getPathModal has already been federated should it need to be)?

I'm not super familiar with the details of this ticket, so lmk if any of my implicit assumptions are incorrect.
Is it wise to federate all urls going into getPathModal? Should there be some choice given to the caller of the function, or is there some way to defer the decision of whether a given fragment url should be federated or not further upstream (so that any url given to getPathModal has already been federated should it need to be)?

Currently, modals work only with same-domain URLs. With content centralization, we need the ability to load URLs from the federal folder. What getFederatedContentRoot does is check if the provided path contains "federal". If it does, then only it adds the content root of "federal", which would fetch the fragment from the federal repository.
The same approach has been used for rendering fragments. - here

Closing this as this is failing a test whose fix would require the merge of this PR. Will open another PR after it is merged.


Fix propTypes in the frontend codebase

In the frontend codebase we rely on PropTypes to check parameters passed to React components.
We have an eslint rule setup to warn us when we're missing PropTypes. However, there is still plenty of warnings. For this bounty to be solved, they all need to be fixed (only the react/prop-types of course). Check npm run lint.
Finally, when running jesttest and e2ethere is is still some PropTypes warning (generated by the runtime, not eslint). They also need to be fixed. To confirm that, you can just check the output of tests at CircleCI.
This bounty has a simple complexity and is beginner friendly.

[ ] fix all react/prop-types eslint warnings when running npm run lint
[ ] fix all "Failed prop type" warnings surfaced when running npm run test:e2e

@znarf Can I assign to myself this issue?

@leonardohof Sounds good. Looks like you already accomplished the first part!

@leonardohof Sounds good. Looks like you already accomplished the first part!

I'm having problems to fix the withFallbackImage.js file.
Could you give me some help?
I tried to change to this:
`import React from 'react';
import PropTypes from 'prop-types';
import { defaultImage } from '../constants/collectives';
import { getDomain, imagePreview } from './utils';
function withFallbackImage(ChildComponent) {
return class extends React.Component {
static displayName = withFallbackImage(${ChildComponent.displayName});
static propTypes = {
src: PropTypes.string,
type: PropTypes.string,
radius: PropTypes.number,
height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
website: PropTypes.string,
name: PropTypes.string,
};
constructor(props) {
  super(props);
}

render() {
  const { radius, height, website, name } = this.props;
  let { type = 'USER', src } = this.props;

  if (name === 'anonymous') {
    type = name.toUpperCase();
  }

  const fallback = defaultImage[type];

  if (!src && website && type === 'ORGANIZATION') {
    src = `https://logo.clearbit.com/${getDomain(website)}`;
  }

  let image;
  if (!src) {
    image = fallback;
  } else {
    image = imagePreview(src, fallback, {
      width: radius,
      height,
    });
  }

  if (image && image !== fallback) {
    if (process.browser) {
      const img = new Image();
      img.src = image;
      img.addEventListener('error', () => {
        src = fallback;
      });
    }
  }

  const childProps = {
    ...this.props,
    src: image,
    height,
    radius,
    type,
    name,
  };

  return <ChildComponent {...childProps} />;
}

};
}
export default withFallbackImage;
`

Thank you @leonardohof ! It's merged.
To claim the bounty, you can:
a) submit an invoice to https://opencollective.com/engineering
b) or ask for an Open Collective gift card of the same value (to donate to other collectives)


[Godot4 a2] App crashed when some await situation

Godot version
v4.0.alpha2.official [79077e6c1]
System information
Windows 10
Issue description
I want a delay_func as a function's parameter, but it crashed when running.

Steps to reproduce
Please run the reproduction project
Minimal reproduction project
AwaitTest.zip

That's weird, today I run the reproduction project in Godot4 alpha3, it's ok, and I try it alpha2, it's ok too!!!

Duplicate of #57126


Make overview composable

This PR modifies overview dashboard to only includes included dashboards' overview.
cc @metalmatze @squat

I'd rather have all the different components add/merge their row onto the overview dashboard.
We'll discuss offline and update this PR :slightly_smiling_face:

@metalmatze Ready for another round!

@metalmatze You should definitely show me how!


How to specify a root directory for $ref resolution?

Prerequisite
I have a bundle of json schema files on local file system as below:
/path/to/base/dir/
└── schema/
    └── v2/
        ├── named_api_resource.json
        └── pokemon/
            └── $id/
                └── index.json

In schema/v2/pokemon/$id/index.json , There is a $ref to /schema/v2/pokemon/$id/index.json:
{
    "$schema": "http://json-schema.org/schema#",
    "properties": {
        "abilities": {
            "items": {
                "properties": {
                    "ability": {
                        "$ref": "/schema/v2/named_api_resource.json"
                    }
                },
                "required": [
                    "ability"
                ],
                "type": "object"
            },
            "type": "array"
        }
    },
    "required": [
        "abilities"
    ],
    "type": "object"
}

What did you expect to happen?
I want /schema/v2/named_api_resource.json can be correctly resolved to /path/to/base/dir/schema/v2/named_api_resource.json .
These schemas are downloaded from internet and I prefer not to modify these schemas.
What happened?
I tried to generate these schemas using command below:
go-jsonschema -p schema ./schema/v2/pokemon/\$id/index.json ./schema/v2/named_api_resource.json

And of course it failed, with follow message:
go-jsonschema: Failed: could not generate type for field "abilities": could not generate type for field "ability": could not follow $ref "/schema/v2/named_api_resource.json" to file "/schema/v2/named_api_resource.json": error resolving symlinks in : lstat /schema: no such file or directory

Possible Reason
And I think the reason is /schema/v2/named_api_resource.json was resolved as the absolute path to my file system:
https://github.com/omissis/go-jsonschema/blob/fda3a0146eb7f7607f7bd92817fa62337eeb7109/pkg/generator/generate.go#L187-L206
Question
Is there any way to specify a root directory for reference resolution? If not, may I contribute to this feature?

Hi @RyoJerryYu , thanks for opening this issue. File resolution is a fairly complex topic in json schema, and one I only recently started to investigate (see https://json-schema.slack.com/archives/CT8QRGTK5/p1696579815116399 and https://json-schema.slack.com/archives/CT8QRGTK5/p1696613711695749).
It'll probably take a long time for me to get to the point I discussed on slack, so I guess that if you want to work on a --schemas-root-dir PR, we could make use of it for the time being, and solve your issue, so please have a go at it :)


Cms/events/2024 02 07 kubecon cloudnativecon europe 2024

Description
KubeCon / CloudNativecon 2024 Community calendar entry
Check List

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the BSD-3-Clause License.

Sorry about the weird branch name. The filename used for the event is correct.


Typo Fix on Item View "Quantity Per Indivudual"

Summary
Fix a typo in Item view and make the capitalization of the labels consistent
Details
To see the current
Log in as<EMAIL_ADDRESS>Click "Inventory" , then "Items and Inventory"
Click "View" beside any item
"Quantity Per Indivudual" should be "Quantity per Individual"

Criteria for completion

[ ] typo fixed
[ ] please provide a screenshot with your pull request

Please assign this to me


Migrate to null safety

I currently use this fork with flutter_form_builder in my Flutter 2.0 app. Please consider merging this PR asap.

#222  merged


Error: Native SQLite3 library not found, try installing SQLite3

After upgrade to 0.6.0 from 0.5.2 (OSX 12.6)
Download https://github.com/denodrivers/sqlite3/releases/download/v0.6.0/libsqlite3_aarch64.dylib
error: Uncaught (in promise) Error: Native SQLite3 library not found, try installing SQLite3. If you have an existing installation, either add it to path or set the `DENO_SQLITE_PATH` environment variable.
  const error = new Error(
                ^
    at https://deno.land/x/sqlite3@0.6.0/src/ffi.ts:450:17
Caused by: CacheError: Not Found
    at protocolHttp (https://deno.land/x/cache@0.2.13/file_fetcher.ts:23:11)
    at async fetchFile (https://deno.land/x/cache@0.2.13/file_fetcher.ts:45:14)
    at async FileWrapper.fetch (https://deno.land/x/cache@0.2.13/file.ts:95:18)
    at async FileWrapper.get (https://deno.land/x/cache@0.2.13/file.ts:113:12)
    at async cache (https://deno.land/x/cache@0.2.13/cache.ts:67:10)
    at async Wrapper.cache (https://deno.land/x/cache@0.2.13/cache.ts:21:12)
    at async download (https://deno.land/x/plug@0.5.2/plug.ts:107:16)
    at async prepare (https://deno.land/x/plug@0.5.2/plug.ts:116:16)
    at async https://deno.land/x/sqlite3@0.6.0/src/ffi.ts:434:12

I installed it with brew:
which sqlite3
/usr/bin/sqlite3

And added it to profiles:
echo 'export PATH="/opt/homebrew/opt/sqlite/bin:$PATH"' >> ~/.zshrc

But error is the same. 0.5.2 worked ok without even sqlite3 installed with brew.
Please, can someone give a hint how to fix it.

Looks like there's a typo in code where it looks up version with v instead of without it... I'll release 0.6.1 patch soon

Try 0.6.1 @korywka

@DjDeveloperr yep, now it works. Thanks for such quick help.


Update memory-integrity.md

https://github.com/MicrosoftDocs/windows-itpro-docs/issues/4042
Added note.

@nenonix and @JohanFreelancer9 for copy review please. Than you.

Hi @levinec this pull request has been copy edited and is ready for your final review and approval. Please let us know if there are outstanding issues to be resolved prior to merge. Thank you. See: commits and changes.

Hi again @levinec, kindly review this PR when time permits. Thank you.

Thank you @levinec for merging this PR. Really appreciate it!


Ecto schema based model

Reimplement the generable elements model with ecto schemas to allow for persistency and validation

Elements/Fields left for another iteration:

Schema: config


Fix closing of connection, address various minor issues and code smells, improve options and overall usability

This PR addresses various (mostly minor) issues and code smells I stumbled accross while using this package. Most notably, it resolves #24.
Update (2023-09-22): I have now updated this PR to also close #28.
I have kept my commits nice and small, so it should be easy to verify that they all make sense :)

Do you have any release plans?

Do you have any release plans?

@wojciechkrol Are you still maintaining this project? If you are looking for a new maintainer, I would be willing to help. I am an experienced JavaScript developer and deal a lot with SSE connections for my work.

Up +1

Do you have any release plans?

@wojciechkrol Are you still maintaining this project? If you are looking for a new maintainer, I would be willing to help. I am an experienced JavaScript developer and deal a lot with SSE connections for my work.

Maybe you can create a fork and release a new library

Maybe you can create a fork and release a new library

I would prefer not to create unnecessarily fragmentation for users. Why make a new library when this one already exists and is used by thousands of people. All I'm asking for is that the maintainers of this repository do their job. And if they have lost interest in this project, they can simply pass it on to new maintainers. Happens all the time. No big deal.

Maybe you can create a fork and release a new library

I would prefer not to create unnecessarily fragmentation for users. Why make a new library when this one already exists and is used by thousands of people. All I'm asking for is that the maintainers of this repository do their job. And if they have lost interest in this project, they can simply pass it on to new maintainers. Happens all the time. No big deal.

Yes, I have the same thought as you, I'm just worried that some maintainers take months to respond, sometimes they don't even respond, but I'm happy that there are people trying to keep the project alive. Good job!

Hello Everyone,
I'm sorry I didn't respond to your submissions. Thank you all for your suggestions and concern for the library's development. Of course, I intend to continue developing it, but due to time spent on other projects, I've been unable to make progress in this area.
Today, I will review your pull requests and submissions, and will strive to implement the necessary changes.
Thank you for being so patient!


[BUG] Terraform Apply fails during Deploy the Workload Zone

Describe the bug
When we run install_workloadzone.sh script specified in the Deploy the Workload Zone section Step 3. The command errors out with below:
To reproduce
Steps to reproduce the behavior:

Go to Deploy the Workload Zone
Execute step 3 'Start deployment of the workload zone:'
See error

Errors:
!Errors during the apply phase!                              #
#                            creating Vault: (Name "DEVUKSOSAP01userA77" / Resource Group "DEV-UKSO-SAP01-INFRASTRUCTURE"): keyvault.VaultsClient#CreateOrUpdate: Failure sending request: StatusCode=400 -- Original Error: Code="VirtualNetworkNotValid" Message="Operation on Virtual Network could not be performed. StatusCode: 400 (BadRequest). Error Code: SubnetsHaveNoServiceEndpointsConfigured. Error Message: Subnets mgmt-ukso-dep00_deployment-subnet of virtual network /subscriptions/XXXXXXXXXXXXXXXXXXX/resourceGroups/MGMT-UKSO-DEP00-INFRASTRUCTURE/providers/Microsoft.Network/virtualNetworks/MGMT-UKSO-DEP00-vnet do not have ServiceEndpoints for Microsoft.KeyVault resources configured. Add Microsoft.KeyVault to subnet's ServiceEndpoints collection before trying to ACL Microsoft.KeyVault resources to these subnets.."
#                            updating Azure Storage Account Network Rules "devuksosap01witnessa77" (Resource Group "DEV-UKSO-SAP01-INFRASTRUCTURE"): storage.AccountsClient#Update: Failure responding to request: StatusCode=400 -- Original Error: autorest/azure: Service returned an error. Status=400 Code="NetworkAclsValidationFailure" Message="Validation of network acls failure: SubnetsHaveNoServiceEndpointsConfigured:Subnets mgmt-ukso-dep00_deployment-subnet of virtual network /subscriptions/XXXXXXXXXXXXXXXXXXX/resourceGroups/MGMT-UKSO-DEP00-INFRASTRUCTURE/providers/Microsoft.Network/virtualNetworks/MGMT-UKSO-DEP00-vnet do not have ServiceEndpoints for Microsoft.Storage resources configured. Add Microsoft.Storage to subnet's ServiceEndpoints collection before trying to ACL Microsoft.Storage resources to these subnets..

Expected behavior
The Workload Zone should get provisioned without error.
Additional context
We fixed it by manually adding the Service Endpoints in the subnet for the "Microsoft.KeyVault" and "Microsoft.Storage" in the portal.
Ideally, this should have been created in the terraform during subnet provisioning.

Please note that this will be fixed in the upcoming release. And we would like to know if you're deploying to an existing subnet?

Hi @nnoaman, Thanks for the update. We are doing a fresh installation as specified in the documentation.
We were getting another issue while doing the "SAP Application Installation" while running the below command:
~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/configuration_menu.sh

as specified here :
https://learn.microsoft.com/en-us/azure/virtual-machines/workloads/sap/automation-tutorial#sap-application-installation
Error:
TASK [roles-os/1.3-repository : 1.3 Repository - Check that zypper repos are registered] ***
fatal: [x00dhdb00l0e8]: FAILED! => {"changed": false, "cmd": ["zypper", "lr"], "delta": "0:00:00.021434", "end": "2022-11-10 14:29:17.994958", "msg": "non-zero return code", "rc": 6, "start": "2022-11-10 14:29:17.973524", "stderr": "", "stderr_lines": [], "stdout": "Warning: No repositories defined.\nUse the 'zypper addrepo' command to add one or more repositories.", "stdout_lines": ["Warning: No repositories defined.", "Use the 'zypper addrepo' command to add one or more repositories."]}
fatal: [x00scs00le86]: FAILED! => {"changed": false, "cmd": ["zypper", "lr"], "delta": "0:00:00.025339", "end": "2022-11-10 14:29:18.104338", "msg": "non-zero return code", "rc": 6, "start": "2022-11-10 14:29:18.078999", "stderr": "", "stderr_lines": [], "stdout": "Warning: No repositories defined.\nUse the 'zypper addrepo' command to add one or more repositories.", "stdout_lines": ["Warning: No repositories defined.", "Use the 'zypper addrepo' command to add one or more repositories."]}
ok: [x00app01le86]

Fix:
Update the deploy/ansible/roles-os/1.3-repository/tasks/main.yml line number 44.
Replace zypper lr with zypper ar http://download.opensuse.org/update/15.4/ update.
Initially i tried zypper ar http://download.opensuse.org/update/15.4/ update && zypper lr but was getting some other errors.


Feature: elm package docs a-package

This is meant to go in the batch of work for the "packaging story". It would be a useful feature if running elm package docs elm-test pulled up the package.elm-lang.org webpage with the docs for that package, based on the version and repo installed in elm-package.json.

This is related to elm-lang/elm-make#28
@evancz proposed a solution that I consider is the best way to go. elm-package would download documentation.json from the packages.elm-lang.org site and place them inside the module folder. Then some tool can read it and turn it into more useful data like Markdown, HTML or other documentation format.
I'm also working on an Elm page that allows you to open a documentation.json and render it like in packages.elm-lang.org which should work offline. This is a project from elm-lang/project (added at elm-lang/project@85babf645782864323bb)
In addition to this I have created a script in JavaScript that searches the elm-stuff folder and downloads documentation.json files for each of the installed modules. (I have yet to release this since it's WIP)
In the future I would like to create an application (probably Electron + Elm) that searches elm-stuff to find documentation.json files for each module (download them if not found), and also find/create documentation.json files for all private modules in the project and display them in a tidy neat way


TypeError: devices is not iterable

Describe Your Problem:
*Edit: Sorry just saw someone posted this issue earlier today, forgot to check again before I posted. Feel free to delete.
After running into issue #208 and having to reset my password my Wyze cameras are not showing up in HomeKit and I am seeing this error in the logs.
[Wyze] Error getting devices: TypeError: devices is not iterable
A little detail of events, I got an email from Wyze like many others that I had to reset my password, which I did. I realized yesterday, duh that's why my cameras weren't showing up correctly (showing off when they were on) in HomeKit. So I updated the Wyze plugin in Homebridge and updated the password. But it still wasn't working. That's when I noticed this error in the log. I've tried deleting and getting a new Wyze API key, as well as uninstalling and reinstalling/reconfiguring the Wyze plugin in Homebridge with no luck. Once I uninstalled the plugin I was able to add the Wyze bridge back into HomeKit but none of the cameras show up now.
Any other tips or help in getting this fixed is greatly appreciated!
Logs:
[2/10/2024, 9:58:00 AM] [Wyze] Initializing WyzeSmartHome platform...
Setup Payload:
X-HM://0024Y1EI2BVQG
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:
┌────────────┐
└────────────┘
[2/10/2024, 9:58:00 AM] Homebridge v1.7.0 (HAP v0.11.1) (Homebridge A7FC) is running on port 51722.
[2/10/2024, 9:58:00 AM] [Wyze] Error getting devices: TypeError: devices is not iterable
[2/10/2024, 9:59:00 AM] [Wyze] Error getting devices: TypeError: devices is not iterable
Plugin Config:
        "name": "Wyze",
        "username": "******",
        "password": "******",
        "keyId": "******",
        "apiKey": "******",
        "refreshInterval": 60000,
        "hms": false,
        "showAdvancedOptions": false,
        "apiLogEnabled": false,
        "logLevel": "none",
        "lowBatteryPercentage": 30,
        "excludeMacAddress": false,
        "excludedeviceType": false,
        "platform": "WyzeSmartHome"

Screenshots:

Environment:

Plugin Version: v0.5.42
Homebridge Version: v1.7.0
Node.js Version: v20.10.0
NPM Version: 10.2.3
Operating System: Ubuntu Focal Fossa (20.04.5 LTS)

I'm getting the same error.

dup: https://github.com/jfarmer08/homebridge-wyze-smart-home/issues/216

Can you try version https://github.com/jfarmer08/homebridge-wyze-smart-home/releases/tag/v0.5.43

hopefully this helps https://github.com/jfarmer08/homebridge-wyze-smart-home/releases/tag/v0.5.44

Closing in favor of #216


Markdown instead of HTML

Describe the Issue
I was reviewing the Technical Documentation project and noticed that the steps only use HTML.  I think it would be more beneficial for the user stories to encourage Markdown instead. As someone who has been doing more docs-based open source contributions, this language is used more to create documentation for software.
Affected Page
https://www.freecodecamp.org/learn/2022/responsive-web-design/build-a-technical-documentation-page-project/build-a-technical-documentation-page
Your code
N/A
Expected behavior
N/A
Screenshots

System

Device: Mac
OS: macOS
Browser: Chrome
Version: 114

Additional context
No response

What do you mean? That project should be done with markdown, instead of HTML + CSS?

HI @CBID2 !

As someone who has been doing more docs-based open source contributions, this language is used more to create documentation for software.

Yes, while it is true that a lot of open source projects will use markdown for their documentation, in the case of this certification project it wouldn't be the best choice.
The goal of the certification projects for the Responsive Web Design course is for campers to have the opportunity to practice and build projects based on what they learned in the course.
Since this course focuses on HTML and CSS, all of the certification projects focus on those two languages.
Campers will be introduced to markdown later on in the Frontend libraries section with the Markdown Previewer project
Hope that helps 👍

HI @CBID2 !

As someone who has been doing more docs-based open source contributions, this language is used more to create documentation for software.

Yes, while it is true that a lot of open source projects will use markdown for their documentation, in the case of this certification project it wouldn't be the best choice.
The goal of the certification projects for the Responsive Web Design course is for campers to have the opportunity to practice and build projects based on what they learned in the course.
Since this course focuses on HTML and CSS, all of the certification projects focus on those two languages.
Campers will be introduced to markdown later on in the Frontend libraries section with the Markdown Previewer project
Hope that helps 👍

Thanks @jdwilkin4! Will that one need updates? If so, I'd love to help with that. Lol, I've been wanting to contribute to the curriculum for a while now, but I can't seem to find an issue that I can solve with my skillset. :(

What do you mean? That project should be done with markdown, instead of HTML + CSS?

Yeah @gikf. I'm pretty much suggesting a change to the lesson


Update keycloak to run it using HTTPS

Add maven plugins to generate Keys
Run the bash script to create the secret and import the keystore & password
Add a SSL profile
Use a docker-entrypoint.Sh to launch keycloak using SSL

Tested sucessfully with Openshift Origin & Apiman/Apiman-Gateway

ok to test

FYI : Tested sucessfully with Openshift Origin & Apiman/Apiman-Gateway

[merge]


iPhone 15 Pro, Apple Log

Hi!
Just a question, does this framework support Apple Log? I can't get it to work with MetalPetal, so I hope it works in this framework =)
Not sure exactly why it doesn't work. Maybe x422? Pixel format? Not sure.

Anyone know?


Support multi-branch pipeline build and fetching build

What this PR dose

Support multi-branch pipeline build and fetching build
Refactor arguments of method GetBuild

Why we need it
In the real scene, we have many multi-branch pipeline to be built.
/kind feature

hi @LinuxSuRen , I've simplified the API building, please have a check.


[trivial] Reorder imports according to our style guide

https://github.com/bpfkorea/agora/blob/v0.x.x/doc/Style.md#modules

Our style wizard <3


"Free" / price icon does not scale with other components

The Issue
When making the LBRY window size smaller, all components scale well except for the price.
See below.
https://www.screencast.com/t/lcQeNXU4VrW
System Configuration

LBRY Daemon version:
LBRY App version:
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

Closing as per new path forward with free content - no tag will be shown unless the content has a fee. cc: @seanyesmunt


not all properties are configuration ... fix workflow labels

This should fix #1645

Pull Request Test Coverage Report for Build 3590

0 of 0   changed or added relevant lines in 0 files are covered.
4 unchanged lines in 3 files lost coverage.
Overall coverage remained the same at 43.814%

Files with Coverage Reduction
New Missed Lines
%

bundle/src/main/java/com/adobe/acs/commons/workflow/process/impl/ParameterizedDeactivatePageProcess.java
1
0.0%

bundle/src/main/java/com/adobe/acs/commons/workflow/process/impl/ParameterizedActivatePageProcess.java
1
0.0%

bundle/src/main/java/com/adobe/acs/commons/workflow/process/impl/SyntheticWrapperWorkflowProcess.java
2
0.0%

Totals

Change from base Build 3563:
0.0%

Covered Lines:
10076

Relevant Lines:
22997

💛  - Coveralls


[move-to-yul] JSON-ABI generation

Motivation
This PR adds support for generating the file abi_output.abi.json that includes the JSON ABI for the constructor, events and callable functions when compiling the move contract. Users can also specify the name of the output file by using the command option: --abi-output abi-filename. For the hardhat examples, abi.json file can be automatically generated.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
./compile_all_and_test.sh

/land


Indonesian

I have translated the chunk_by/2 change. I'm sorry for the late reply

Thank you @rezaprima!  No need to apologize, I know you're busy and we appreciate your contribution!


altibase for query plan.

Is your feature request related to a problem? Please describe.
The company is required to submit an associated query execution plan when adding columns and creating tables.
Altibase has the hassle of entering the server directly and performing it, and I hope this tool shows it through the plan window.
Describe the solution you'd like
When running like an orange tool, I hope that the plan window will also appear on the tab next to the result window.
Additional context
thank you for everything.

@davidoff2500 Sorry, i'm not sure I unerstood this right.
Correct me if i'm wrong here. You want an option to execute a query and execution plan at the same time with one click?

@davidoff2500 Sorry, i'm not sure I unerstood this right.
Correct me if i'm wrong here. You want an option to execute a query and execution plan at the same time with one click?

similar...
display query plan next to query result tab.
so when i execute query, it show result and plan( plan can be located next to result tab...)
Please understand that misunderstanding can occur due to poor English.
thank you.

Altibase, with support of the execution plan, was added in the latest DBeaver version.
Please check it: https://dbeaver.io/download/

It's been a while since no update here. If the issue is still actual please let me know and provide additional information.


Strong mode: Disallow private collisions induced via mixin

We want to introduce an error in strong mode that flags all private member (field/getter/setter/method) collisions induced by a separate library applying a mixin.
The suggested name for the error is StrongMode.PRIVATE_COLLISION_IN_MIXIN_APPLICATION.

CC: @vsmenon @leafpetersen @floitschG

Is there a test case for this? (There's not a lot of detail in this issue, and nobody has volunteered to own the issue.)

Writing down the test cases for this seems like a very useful exercise. I'll see if I can find time or someone to take a stab at that.
The basic idea is that two private members (fields, getters, setters, and methods) with the same name from the same library shouldn't be allowed to be mixed together through mixin applications.

So would the following be an example?
class Mixin1 {
  void _init() {}
}
class Mixin2 {
  void _init() {}
}
class C extends Object with Mixin1, Mixin2 {} // Error because _init came from two separate mixins

If C is in a different library than Mixin1 and Mixin2 then yes, the intent is that it should be flagged. Maybe @vsmenon can confirm the intent?

Right, what @kasperl said.
In general, when a programmer is applying a mixin from a different library, the analyzer will need to check that it doesn't cause a private member collision (which must also involve a class/mixin in that other library).
The intent is to let the programmer and compiler reason about a library's private members without worrying about how downstream code may accidentally use them / override them.  The intuition is that it's unlikely that the downstream programmer intended the private member conflict.

I'm working my way toward a guess at the specification, but I should have started by asking whether there is an informal spec for this. If so, you can probably ignore this next question.
So what about indirect in-mixing? For example, if we have in lib1.dart:
class Mixin1 {
  void _init() {}
}
class Mixin2 {
  void _init() {}
}

and in lib2.dart:
class A extends Object with Mixin1 {}
class B extends A with Mixin2 {} // Error?

This thread is probably the closest thing to an informal spec right now.  :-)
Yes, the intent is that would be a collision.  lib2 is applying Mixin2 from lib1 and it's creating a collision on _init.

How does the following sound for a first cut toward an informal(-ish) spec:

Given a class C, we define the immediate mixed-in classes of C to be the set of classes in the with clause of C. We define the mixed-in classes of C to be the union of the immediate mixed-in classes of C and the mixed-in classes of the superclass of C.
Given a class C whose mixed-in classes are M1, M2, ... Mn, it is a compile-time error if there is a pair of classes Mj and Mk such that both Mj and Mk (a) are defined in the same library and (b) define a private member named n.

Does that match your expectations?

I don't think that covers this case:
lib1.dart:
class A {
  int _x;
}

class B {
  int _x;
}

lib2.dart:
class C extends A with B {} // This should be an error -> it introduces a conflict on _x

Ah. Then I take it we want to include all of the superclasses of C in the list of classes being checked.
Is it true that we can ignore interfaces (because they won't contribute private members)?

Right, I believe spec linearizes the mixins so you can consider them one at a time (and the application of any previous ones to be already be in the superclass chain).
So, if you're mixing in a class from a different library, check the superclass chain for a conflict on any private member.
Does that sound right to you?
I think you're correct on interfaces.

I'm not sure. What about this example:
lib1.dart:
class A {
  int _x;
}

class B extends A {
  int _x;
}

lib2.dart:
class C extends B {}

Should there be an error for C? Two of its superclasses define members with the same private name, but neither of them are mixed in. I suspect that it matters whether the private member is introduced by a class in the with clause or by a superclass.
Is it only an error for conflicts that are directly mixed in by the declaration of C? For example, I suspect that there should be no errors in the following:
lib1.dart
class Mixin1 {
 int _conflict;
}
class Mixin2 {
  int _conflict;
}
class Mixin3 {
  int _noConflict;
}
class B extends Object with Mixin1, Mixin2 {}

lib2.dart:
class C extends B with Mixin3 {}

I think those examples are fine (i.e., no error).  In neither case does lib2.dart trigger the conflict.
Part of the intent here is to let us look at lib1.dart in isolation and figure out what can be overridden.

... look at lib1.dart in isolation and figure out what can be overridden.

I don't understand what you mean by that. Given that the conflicting private methods are by definition from a different library, you have to look outside lib1.dart in order to determine that they exist. Can you elaborate (possibly by writing an informal spec)?

I don't understand what you mean by that. Given that the conflicting private methods are by definition from a different library, you have to look outside lib1.dart in order to determine that they exist. Can you elaborate (possibly by writing an informal spec)?

You should be able to look at lib1.dart in your second example and prove that _noConflict cannot be overridden.  You should not need to look at lib2.dart in order to reach this conclusion about lib1.dart.
Today, lib2.dart could do this:
class Trouble extends Mixin3 with Mixin3 {}

That should also trigger an error.

Ok. I have a first cut at implementing this error, but I can't commit it because it breaks the build. It breaks the build because dart2js contains a violation of this rule. The error occurs here (https://github.com/dart-lang/sdk/blob/master/pkg/compiler/lib/src/tree/nodes.dart#L2504) and is cause by the fact that StoredTreeElementMixin defines a private member named _element which conflicts with the private element named _element defined in NullTreeElementMixin (which, despite is name, is extended by Node and hence by AsyncForIn).
Do we need to rethink / redefine this error, or do we need to fix dart2js?

/cc @sigmundch @rakudrama

Thanks, Brian.  Is that the only error you're seeing the SDK?
Looks like these are the types in question:
https://github.com/dart-lang/sdk/blob/master/pkg/compiler/lib/src/resolution/secret_tree_element.dart#L48

Actually, all I saw was a build bot failure saying that the kernel snapshot couldn't be built, so I asked for help. Vyacheslav investigated and pointed out this failure. I didn't ask whether this was the only failure; I assumed he would have said so if there were more.
Yes, that's one of the types. The other is on line 33 of the same file.

/cc @johnniwinther
Regarding the dart2js code:

not sure why this is causing failures at this moment: dart2js is not strong clean, so I expect other strong failures at this moment
will we also expose a way to declare that we intentionally override a private member with a mixin? (for example, labeling a private field as @virtual?)

FWIW - here is a simplified snippet of the code you linked above:
class I {
  get _x;
  set _x(v);
}

class N implements I {
  get _x => null;
  set _x(v) => throw "";
}

class S implements I {
  Object _x;
}

// lib2.dart:

class B extends N {}
class C extends B with S {}

an alternative here might be to change our getTreeElement logic and do first a check like is TreeElementMixin or something similar and avoid the override, but there might be some associated cost to that.

last, but not least, this part of the code will no longer exist once we switch to kernel, so I'd prefer to ignore/ypass this error in dart2js in the interim if we can.

The objective is for this to only be a strong-mode error.  Brian was checking everything.  If this code is never intended to be strong mode clean, I don't think you need to do anything.
There is no immediate (1.23) plan for @virtual, but there is discussion about making mixins more explicit in the language (which might re-allow this use case).

We could apply one of these two CLs to make dart2js conform to the restrictions.
https://codereview.chromium.org/2722923002
https://codereview.chromium.org/2722043002
I think this feature (the aggregation of an implementation that has a private contract) is useful and would like it to be supported in a future version of dart.

I have updated my CL to only generate the error in strong mode. In so doing I had to update the 4 tests I had written to be run in strong mode. That turned up the interesting information that 3 of the 4 tests also produce an error with the StrongModeErrorCode.INVALID_FIELD_OVERRIDE error code. Maybe it's just the tests I came up with, but it seems like we shouldn't need two errors that are this likely to be produced together.

This change is to enable the elimination of the INVALID_FIELD_OVERRIDE error.  All fields will become virtual in strong mode, modulo the restriction from this issue.

Brian, thanks so much for working on this. How far are you with landing this?

The CL has been approved and is ready to land, but is held up by other work.

Undo the accidental close.

I have committed one of the CLs that makes dart2js 'clean' with respect to this warning.

@bwilkerson what's remaining here?

https://codereview.chromium.org/2738113002/


Fix for seq.last when given an empty sequence.

Coverage decreased (-0.006%) to 83.318% when pulling<PHONE_NUMBER>6bf5b88ffd7eabf74a547d45c7f92a on greatwolf:fix_seq_last into 0ba9c24000d3cad1d1d81a3dd233584b0bbd2950 on stevedonovan:master.

Also want to mention, the coverage metric is a bit misleading. The commits actually slightly reduces the number of lines in pl.seq so it appears as if the coverage went down but really it's unchanged.


Corrected example in Polygon docstring.

The current example does not produce a donut, but a geometry with area equal to -4.0. This commit fixes the broken example.
For reference, the correct example in the docs: https://docs.djangoproject.com/en/4.0/ref/contrib/gis/geos/#polygon

@StefanBrand Thanks for this patch :+1: Welcome aboard :boat:

We prefer 🍩 :yum:


Changes to the config and modes based on today's rehearsal

Why is this change being made:

Found out today that a more recent push of data from Nathans work corrupted the search and was causing the wrong csv to be used when only main was available to search. (foreign gitpod env)
Also found out today that in option 8, when you pushed a number greater than 3, the praam didn't follow the instructions.
Ran into the self cannot find the blah blah blah

What has changed to address the problem:

Updated the Config to no longer search since that was causing the error and is mostly no longer required.
Updated the logic to follow the instructions in the modes script.
Changed everything in Config to be a class member instead of a function member self.

How was this tested:

Tested in gitpod on main branch,
All pytests pass

Any problems or concerns?

Need to test run it again on a clean GitPod env.
Changing the config this close to the final deadline is risky but necessary
No other concerns at this time

Any documentation:

Yes, see my readme and changelog

Crossing fingers on this one, might want to revert if things break


Fix redundant statements

Type of changes

[ ] Bug fix
[ ] New feature
[ ] Documentation / docstrings
[ ] Tests
[x] Other (cleanup)

Checklist

[x] I've run the latest black with default args on new code.
[x] I've updated CHANGELOG.md and CONTRIBUTORS.md where appropriate.

[x] CONTRIBUTORS.md is updated.
[ ] There is no new feature or bugfix, so no need to update CHANGELOG.md.

[ ] I've added tests for new code.
[x] I accept that @willmcgugan may be pedantic in the code review.

Description
I found some generally duplicated functional snippets.
I thought in rich/console.py, line 662-664, line 676-687 and line 986-999(size property) seem have exactly same effects. I checked other places to find related invokes, no more special case, so I have removed one of them in this PR.
Please review and confirm it actually redundant.
Thanks!

Codecov Report

Merging #2268 (19349e3) into master (14d47c9) will decrease coverage by 3.03%.
The diff coverage is 96.49%.

@@            Coverage Diff             @@
##           master    #2268      +/-   ##
==========================================
- Coverage   98.88%   95.85%   -3.04%
==========================================
  Files          73       73
  Lines        7629     7666      +37
==========================================
- Hits         7544     7348     -196
- Misses         85      318     +233

Flag
Coverage Δ

unittests
95.85% <96.49%> (-3.04%)
:arrow_down:

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

Impacted Files
Coverage Δ

rich/_export_format.py
100.00% <ø> (ø)

rich/console.py
96.67% <95.91%> (-2.12%)
:arrow_down:

rich/syntax.py
99.30% <100.00%> (+0.02%)
:arrow_up:

rich/terminal_theme.py
100.00% <100.00%> (ø)

rich/_windows_renderer.py
0.00% <0.00%> (-100.00%)
:arrow_down:

rich/_win32_console.py
3.19% <0.00%> (-88.30%)
:arrow_down:

rich/traceback.py
98.68% <0.00%> (-0.88%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1772458...19349e3. Read the comment docs.

Thanks


Add cumsum to the standard

This RFC requests to include a new API in the array API specification for the purpose of computing the cumulative sum.
Overview
Based on array comparison data, the API is available in all the libraries in the PyData ecosystem.
Prior art

NumPy: https://numpy.org/doc/stable/reference/generated/numpy.cumsum.html
PyTorch: https://pytorch.org/docs/stable/generated/torch.cumsum.html
MXNet: https://mxnet.apache.org/versions/1.6/api/r/docs/api/mx.nd.cumsum.html
TensorFlow: https://www.tensorflow.org/api_docs/python/tf/math/cumsum

Proposal:
def cumsum(x: array, /, *, axis: Optional[Union[int, Tuple[int, ...]]] = None, dtype: Optional[dtype] = None) -> array

dtype kwarg is for consistency with sum et al

cc @oleksandr-pavlyk

There's also np.add.accumulate which may be relevant when looking at the comparison data.

Based on previous experience with complaints about bad naming (see, e.g., https://github.com/scipy/scipy/issues/12924 and https://www.reddit.com/r/programminghorror/comments/j6sd61/i_was_just_looking_at_the_documentation_for/) I would very much prefer not to enshrine cumsum and cumprod (as proposed in gh-598) names in this API standard.
This is pretty niche functionality and arguably not "core" enough to implementing an array library for it to be in this standard at all, so I'd vote for leaving it out completely. In a compat layer it could perhaps be named cumulative_* like SciPy did with a few methods, if it's desired for these functions to be there.

Niche it may be, I still think cumsum is pretty useful, as many indexing tricks depend on it. This is especially true when one works with statically-shaped system like JAX where such tricks are more or less required. For instance, its usages in the implementation of jax.numpy.nonzero and jax.numpy.repeat are pretty typical.

This is especially true when one works with statically-shaped system like JAX where these tricks are more or less required.

@soraros it seems like all that usage of cumsum in JAX is just a cumbersome way of working around not having boolean indexing support for in-place ops? And JAX should instead add some other primitive that's more suitable, rather than letting all users manually construct expanded integer index arrays to then use with .at[idx_cumsum].xxx?
# For an array `xs` and a boolean index `conds` of the same space
# example JAX expression for `jax_filter`:
>>> cumsum = jnp.cumsum(conds)
>>> jnp.zeros_like(xs).at[cumsum - 1].add(jnp.where(conds, xs, 0))

# NumPy:
>>> xs = np.arange(5)
>>> conds = np.array([True, False, True, False, True])
>>> ys = np.zeros_like(xs)
>>> ys += np.where(conds, xs, 0)
>>> ys
array([0, 0, 2, 0, 4])
>>> xs[conda]
array([0, 2, 4])

That kind of JAX code looks very bad, and as a motivator for writing portable code based on a standard I don't think it's a positive. JAX could add support for x[ix_bool] += 1 tomorrow, and imho they should rather than make users write x.at[cumsum(ix_bool)].add(1). It's 100% equivalent. And for the "expanded boolean indexing" where the desired result is [0, 0, 2, 0, 4] as an output, it needs a new builtin function like jnp.bool_index(xs, conds). It has little to do with cumulative sums for data/statistical purposes, it's a type of indexing.
There's a known blocker (brought up by the JAX team before) for adding more in-place operator support beyond what they have now, which is that this standard should be able to better guarantee that += doesn't modify views in NumPy et al. But if we can make that guarantee at some point, then we have what we want here.

@soraros it seems like all that usage of cumsum in JAX is just a cumbersome way of working around not having boolean indexing support for in-place ops?

@rgommers Yes and no. It is a cumbersome workaround, but I also think the problem is more fundamental than that. JAX is essentially a front-end for XLA, and the primitives provided by XLA (for now) require static shape. So the line that actually go wrong is
>>> xs[ix_bool]
array([0, 2, 4])

Note this code does work in JAX, though not jittable, for we don't know its output shape. Let's pretend x[ix_bool] += 1 is syntax sugar for x = x + where(ix_bool, 1, 0) (which works in JAX) for a moment. The same problem appears when we want x[ix_bool] += [1, 3, 5]. Again, we somehow need to know the shape of the rhs, which is equivalent to know the shape of xs[ix_bool] as in the last example.
So what we really work around is the static shape requirement (recall the need of a size parameter for nonzero), which is not exclusively JAX.

Now, for something a bit off-topic.
I think the JAX style functional syntax a = a.at[...].set(...) for in-place operation looks (and arguably works) better than numpy, and I'd really like to have it for array api. Some pros:

Looks familiar, and simulates the feel of in-place operation just fine.
Made it clear nothing is modified. This restricted access pattern would work with any accelerator-backed system. I think it would aid static analysis in system like Numba as well.
More concise, can be chained, and sometimes express our intention better.

a = zeros(m)       # initialing a
a[I] += arange(n)  # semantically, still initialing a

# VS

# being concise here is not the important point
# this line becomes a "semantical block" for initialisation
a = zeros(m).at[I].add(arange(n))  # initialing a

Can specify indexing mode, (more) easily.

# I think these are fairly cumbersome to represent in `numpy`, as we don't have kwargs for __getitem__
b = a.at[I].add(val, unique_indices=True)     # important info for accelerators
c = b.at[J].get(mode='fill', fill_value=nan)  # sure, we have `take`, but this is uniform and cool

@soraros thanks for all this detail, it's very interesting actually. I think there's something to be said indeed for .at - especially if JAX can make a new cleaner API for it that doesn't rely on things like explicit use of cumsum. This discussion is effectively a follow-up to gh-84. What do you think about opening a new issue to continue this discussion, especially your "for something a bit off-topic" part?

@rgommers Glad you find the exchange interesting!
gh-84 is indeed interesting, I will read that throughly later.
I'm not sure how to proceed regarding opening a new issue to continue the discussion though (not sure about the exact topic and/or scope you have in mind). If it's not too much trouble, could you open a new issue and I can move my "off-topic" part there? Thanks in advance!

How do you implement cumulative sum using only array API functions (and without using a Python loop)?

If use of linear algebra is allowed:
In [4]: def cumsum(x):
   ...:     assert x.ndim == 1
   ...:     n = x.shape[0]
   ...:     return tril(ones((n,n,))) @ x
   ...:

In [5]: cumsum(np.array([1,2,3,4,5]))
Out[5]: array([ 1.,  3.,  6., 10., 15.])

I'm not sure how to proceed regarding opening a new issue to continue the discussion though (not sure about the exact topic and/or scope you have in mind). If it's not too much trouble, could you open a new issue so I (or maybe you) can move the relevant part there? Thanks in advance!

Done now in gh-609 - sorry for the delay! I spent a lot of time refreshing my memory and trying to put together something more coherent. But it's tricky; the need for new API in JAX to avoid cumsum seems clear, but if it was easy to exactly define how it'd look, the JAX devs would have done that by now I guess:)

I think cumulative sum is a rather fundamental array operation and we should include it in the standard. None of the typical reasons for omitting a function from the API standard apply here:

It has well defined behavior (aside from NumPy's funny flattening behavior if axis is omitted)
It is not particularly hard to implement in a distributed fashion or on accelerators, as evidenced by how it can be found in Dask and JAX.
It is not easy to implement in terms of other fundamental operations.

To give a few other examples of how I've used it:

Calculating integrals
Calculating moving window averages
Calculating cumulative probabilities

As a reference point on popularity, I see about twice as many uses of np.cumsum in Google's codebase as for np.roll or np.var.
I'll also second Ralf's point on calling it cumulative_sum rather than cumsum.

It has well defined behavior...

Before locking in the specification, it would be worthwhile taking a look at https://github.com/numpy/numpy/issues/6044, and https://github.com/numpy/numpy/pull/14542 that is referenced from https://github.com/numpy/numpy/issues/6044.  My comment in https://github.com/numpy/numpy/pull/14542 provides some evidence for the usefulness of allowing the result to include a prepended 0.  (More generally, for other cumulative operations such as cumprod, the identity of the operation would be prepended.)

Before locking in the specification, it would be worthwhile taking a look at numpy/numpy#6044, and numpy/numpy#14542 that is referenced from numpy/numpy#6044. My comment in numpy/numpy#14542 provides some evidence for the usefulness of allowing the result to include a prepended 0. (More generally, for other cumulative operations such as cumprod, the identity of the operation would be prepended.)

I agree, starting with zero (and excluding the last value) is quite useful, and I would definitely support adding an optional argument.
Is it clear that this is a better default behavior? My inclination is that it would not be worth the trouble to break existing code.

Is it clear that this is a better default behavior? My inclination is that it would not be worth the trouble to break existing code.

I agree, starting with zero is not a better default behavior, if only because of the long history of the existing behavior in numpy.  The links to those previous discussions are more for increasing awareness of the interest and usefulness of this option.  That is, don't lock in an API that can't be enhanced with an option later. I don't think that is a problem here, but I don't know how hard it will be to add options to a function in the array API specification later. Also, maybe the reminder will inspire someone to push forward with the enhancement in numpy 🤞 or in other libraries.

Just opinion:

cumsum in my experience is very common, and I'd even vote for cumulative logsumexp (but not cumprod)
Prepending zero - had a number of cases when this would be a desired behavior.

Looks like there's enough thumbs-ups for cumulative sum at least, and we should add it now. @kgryte just volunteered to open a PR for it.

On the PR there is currently startpoint= and endpoint=, so I am wondering if anyone here has opinions on naming?  (Above was start_with_zero= also).
I don't want to include it here, but in principle it makes sense to have initial=value (distinct or included in a start_with_initial=True/include_initial).  I am wondering if there is a clearer name for startpoint=True?

On the NumPy issue https://github.com/numpy/numpy/issues/6044 include_identity and include_final were brought up.  I think I lean towards those names being nicer, include_initial would pair better with an initial= argument for reductions, but not sure it is as clear.

I've updated the PR to use include_initial.


Readme

Reference Issues/PRs
What does this implement/fix? Explain your changes.
Any other comments?

@AHReccese Everything seems good here 💯
But. now that README.md  is ready we need to add version_check.py script and add it to CI.
Take a look at this link
We can leave it for another PR or handle it here. @sadrasabouri

@AHReccese Everything seems good here 100 But, now that README.md  is ready we need to add version_check.py script and add it to CI. Take a look at this link We can leave it for another PR or handle it here. @sadrasabouri

I will handle it here ASAP.

I updated test.yml and add version_chek.py + meta.yaml.
Please review it again guys @sepandhaghighi @AHReccese


Some import errors in examples/train.py

Hi,
Thanks for your great work!
I think there are some typos in the imports in examples/train.py
In line 15,
https://github.com/yzqin/dexmv-sim/blob/a7508f07de07f3643719e9c42b9cb5eac2e5802d/examples/train.py#L15
is the file supposed to be mjrl.algos.behavior_cloning instead of mjrl.algos.behavior_cloning_2?
in line 17,
from mjrl.algos.density_onpg, the file doesn't exist.
Is the dexmv-learn repo out of sync?
Thanks!

Hi @mars747,
Thanks for pointing that out! I apologize for the version mismatch between these two repos.
This issue should be fixed in the recent commit ed32fc872b44ae925e4bbb19638bf3767230479d of dexmv-sim repo and commit yzqin/dexmv-learn@272d907f318983bb72ed29a0e06bdfec17b07266 of dexmv-learn repo.
Regards!

That's great. Thanks!


Refine build() functions signature

This would make it easy for the compiler to infer the parameters' type.

:ship:


2021-01-03 07:27:05.0959 #3112 [Warn] SyncTrayzor.Syncthing.Folders.FolderStateTransformer: Unknown folder sync state scan-waiting. Defaulting to Idle
2021-01-03 07:27:05.0959 #3112 [Warn] SyncTrayzor.Syncthing.Folders.FolderStateTransformer: Unknown folder sync state scan-waiting. Defaulting to Idle
2021-01-03 07:27:08.1906 #3112 [Info] SyncTrayzor.Services.MemoryUsageLogger: Working Set: 69MiB. Private Memory Size: 54MiB. GC Total Memory: 7MiB
2021-01-03 07:31:43.2403 #3112 [Warn] SyncTrayzor.Syncthing.Folders.FolderStateTransformer: Unknown folder sync state scan-waiting. Defaulting to Idle
2021-01-03 07:31:43.2403 #3112 [Warn] SyncTrayzor.Syncthing.Folders.FolderStateTransformer: Unknown folder sync state scan-waiting. Defaulting to Idle
2021-01-03 07:32:08.1894 #3112 [Info] SyncTrayzor.Services.MemoryUsageLogger: Working Set: 69MiB. Private Memory Size: 54MiB. GC Total Memory: 7MiB
2021-01-03 07:33:02.3624 #3112 [Warn] SyncTrayzor.Syncthing.Folders.FolderStateTransformer: Unknown folder sync state scan-waiting. Defaulting to Idle
2021-01-03 07:33:02.3624 #3112 [Warn] SyncTrayzor.Syncthing.Folders.FolderStateTransformer: Unknown folder sync state scan-waiting. Defaulting to Idle
2021-01-03 07:34:33.6859 #3112 [Warn] SyncTrayzor.Syncthing.Folders.FolderStateTransformer: Unknown folder sync state scan-waiting. Defaulting to Idle
2021-01-03 07:34:33.6859 #3112 [Warn] SyncTrayzor.Syncthing.Folders.FolderStateTransformer: Unknown folder sync state scan-waiting. Defaulting to Idle
2021-01-03 07:37:08.2055 #3112 [Info] SyncTrayzor.Services.MemoryUsageLogger: Working Set: 69MiB. Private Memory Size: 54MiB. GC Total Memory: 7MiB
2021-01-03 07:42:08.2057 #3112 [Info] SyncTrayzor.Services.MemoryUsageLogger: Working Set: 69MiB. Private Memory Size: 54MiB. GC Total Memory: 7MiB
2021-01-03 07:43:56.6894 #3112 [Warn] SyncTrayzor.Syncthing.Folders.FolderStateTransformer: Unknown folder syn

That log doesn't contain any errors, and has nothing to do with 'does not meet requirements of >NET framework'.
I can't spend all of my time asking you the same questions I'm afraid. Please provide the information I have asked for, otherwise I'm sorry but I cannot help you.
I'll leave this issue open for now.

That log doesn't contain any errors, and has nothing to do with 'does not meet requirements of >NET framework'.
I can't spend all of my time asking you the same questions I'm afraid. Please provide the information I have asked for, otherwise I'm sorry but I cannot help you.
I'll leave this issue open for now.

https://tcsd.com/synctrayzor/R935_error.mp4
I did a screen shot video so you can see what's happening.
My 64 bit win 7 pro gave me the update prompt and it installed.
thanks

https://tcsd.com/synctrayzor/R935_error.mp4
I did a screen shot video so you can see what's happening.
My 64 bit win 7 pro gave me the update prompt and it installed.
thanks

Aha, that's the information I was asking for, thank you. A screenshot of that when I asked for it would have saved a lot of time!
Let me look into that...

Aha, that's the information I was asking for, thank you. A screenshot of that when I asked for it would have saved a lot of time!
Let me look into that...

https://user-images.githubusercontent.com/568104/103489196-8997d280-4e0a-11eb-9b12-b122f0b7a82c.mp4
Uploading here again in case the source is removed

https://user-images.githubusercontent.com/568104/103489196-8997d280-4e0a-11eb-9b12-b122f0b7a82c.mp4
Uploading here again in case the source is removed

My previous email had that windows error attached, I guess it didn't
get sent, sorry.
This happens on 2 of the 5 PCs I updated, no common thread I can see,
other that it's me.
Quoting Antony Male<EMAIL_ADDRESS>
Aha, that's the information I was asking for, thank you. A
screenshot of that when I asked for it would have saved a lot of time!
Let me look into that...
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/canton7/SyncTrayzor/issues/603#issuecomment-753678615

My previous email had that windows error attached, I guess it didn't
get sent, sorry.
This happens on 2 of the 5 PCs I updated, no common thread I can see,
other that it's me.
Quoting Antony Male<EMAIL_ADDRESS>
Aha, that's the information I was asking for, thank you. A
screenshot of that when I asked for it would have saved a lot of time!
Let me look into that...
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/canton7/SyncTrayzor/issues/603#issuecomment-753678615

That message is caused by the .NET installer returning code 5100. There are plenty of suggested causes online, but the most obvious one is: try rebooting?
It also looks like it can be caused by running Windows 8, rather than Windows 8.1. Support for Windows 8 ended 5 years ago.

That message is caused by the .NET installer returning code 5100. There are plenty of suggested causes online, but the most obvious one is: try rebooting?
It also looks like it can be caused by running Windows 8, rather than Windows 8.1. Support for Windows 8 ended 5 years ago.

That message is caused by the .NET installer returning code 5100. There are plenty of suggested causes online, but the most obvious one is: try rebooting?
It also looks like it can be caused by running Windows 8, rather than Windows 8.1. Support for Windows 8 ended 5 years ago.

That message is caused by the .NET installer returning code 5100. There are plenty of suggested causes online, but the most obvious one is: try rebooting?
It also looks like it can be caused by running Windows 8, rather than Windows 8.1. Support for Windows 8 ended 5 years ago.

I've rebooted about 10 times hoping to get the update to 8.1 prompt.
My searching shows the option to upgrade from the windows store
expired. I get the prompt at random times, I looked in the registry to
see about changing the next prompt date after finding an article but
regedit would not let me make the change.
That date was earlier today so it must not have been for 8.1.
1.1.24 is working on this PC so I won't try again until I move to 8.1.
I had 2 programs fail to run under 8.1 so I left this PC at 8, now I
run those in a VM so it doesn't matter.
It took me a long time to figure out how to expand the message window
at the bottom. I was trying to drag the line I marked with the arrow,
since it's darker than the one I need to use I kept trying it. Not
sure if that's in your FAQs.

I've rebooted about 10 times hoping to get the update to 8.1 prompt.
My searching shows the option to upgrade from the windows store
expired. I get the prompt at random times, I looked in the registry to
see about changing the next prompt date after finding an article but
regedit would not let me make the change.
That date was earlier today so it must not have been for 8.1.
1.1.24 is working on this PC so I won't try again until I move to 8.1.
I had 2 programs fail to run under 8.1 so I left this PC at 8, now I
run those in a VM so it doesn't matter.
It took me a long time to figure out how to expand the message window
at the bottom. I was trying to drag the line I marked with the arrow,
since it's darker than the one I need to use I kept trying it. Not
sure if that's in your FAQs.

Which line did you mark with an arrow? Did you attach a file to an email again?

Which line did you mark with an arrow? Did you attach a file to an email again?

https://tcsd.com/synctrayzor/line_1.jpg

https://tcsd.com/synctrayzor/line_1.jpg

Attaching properly to this isuse.

Attaching properly to this isuse.

If you have change suggestions, please make them in a separate issue, and don't piggy-back them on unrelated issues. Thanks!

If you have change suggestions, please make them in a separate issue, and don't piggy-back them on unrelated issues. Thanks!

Is the error "System.BadImageFormatException: Could not load file or assembly 'CefSharp.Core.dll' or one of its dependencies. is not a valid Win32 application. (Exception from HRESULT: 0x800700C1)" still relevant?

Is the error "System.BadImageFormatException: Could not load file or assembly 'CefSharp.Core.dll' or one of its dependencies. is not a valid Win32 application. (Exception from HRESULT: 0x800700C1)" still relevant?

I might have used the 64 bit version of 1.1.26 to get that error on a
32 bit PC, it's the only 32 bit PC I have.
I just installed 1.1.27 and it's working fine.
Quoting Antony Male<EMAIL_ADDRESS>
Is the error "System.BadImageFormatException: Could not load file or
assembly 'CefSharp.Core.dll' or one of its dependencies. is not a
valid Win32 application. (Exception from HRESULT: 0x800700C1)" still
relevant?
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/canton7/SyncTrayzor/issues/603#issuecomment-754092576

I might have used the 64 bit version of 1.1.26 to get that error on a
32 bit PC, it's the only 32 bit PC I have.
I just installed 1.1.27 and it's working fine.
Quoting Antony Male<EMAIL_ADDRESS>
Is the error "System.BadImageFormatException: Could not load file or
assembly 'CefSharp.Core.dll' or one of its dependencies. is not a
valid Win32 application. (Exception from HRESULT: 0x800700C1)" still
relevant?
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/canton7/SyncTrayzor/issues/603#issuecomment-754092576

OK, I think original problem this issue was raised for is resolved, in that case.

OK, I think original problem this issue was raised for is resolved, in that case.


AddPlugin changes; make version optional and add filePattern

What's changed?

version is now optional, this is useful for example when inheriting it from a parent.
Added filePattern , this is useful in many cases but for me when working with a multi module maven project.

What's your motivation?

See section above.
Anything in particular you'd like reviewers to focus on?

Anyone you would like to review specifically?

Authors of addPlugin.
@jkschneider
@sambsnyd
@BoykoAlex
Have you considered any alternatives or workarounds?

Any additional context

Checklist

[x] I've added unit tests to cover both positive and negative cases
[x] I've added the license header to any new files through ./gradlew licenseFormat
[x] I've used the IntelliJ IDEA auto-formatter on affected files
[x] I've updated the documentation (if applicable)

https://github.com/openrewrite/rewrite-docs/pull/232

Thanks for getting this started @Wallman ! I agree with making the version optional, provided there's a parent pom.xml, such as not to run afoul of

https://github.com/openrewrite/rewrite/issues/2735

Not entirely sure about the filePattern, and if that generalizes well; is your intention to only add the plugin to a specific sub project? Would it then make sense to run only against that subproject instead?
We tend to write recipes such that they can run against a large collection of projects in parallel; having a filePattern parameter that matches a particular sub module can make that slightly awkward, unless your project structure is highly standardized across an organization. Could you give us a bit more detail about the usages you see?

Thanks for getting this started @Wallman ! I agree with making the version optional, provided there's a parent pom.xml, such as not to run afoul of

Maven - Explicitly define version of a plugin when the version is not set #2735

Not entirely sure about the filePattern, and if that generalizes well; is your intention to only add the plugin to a specific sub project? Would it then make sense to run only against that subproject instead?
We tend to write recipes such that they can run against a large collection of projects in parallel; having a filePattern parameter that matches a particular sub module can make that slightly awkward, unless your project structure is highly standardized across an organization. Could you give us a bit more detail about the usages you see?

We have a "highly standardized" project structure like so;
car-parent
├── car-service
│   ├── pom.xml
├── grpc-car
│   ├── pom.xml
├── message-definitions-car
│   ├── pom.xml
├── pom.xml

Where we wanted to add the plugin only to car-parent/car-service/pom.xml. We usually have one declarative recipe for a whole "refactoring" ie we want to run the recipe on the whole project. See example below.
type: specs.openrewrite.org/v1beta/recipe
name: sh.vcm.XRecipe
recipeList:
  - org.openrewrite.maven.AddPlugin:
      groupId: org.apache.maven.plugins
      artifactId: maven-dependency-plugin
      fileMatcher: '**/*-parent/*-service/pom.xml'
  - org.openrewrite.maven.AddPlugin:
      groupId: org.xolstice.maven.plugins
      artifactId: protobuf-maven-plugin
      fileMatcher: '**/*-parent/grpc-*/pom.xml'

What do you think?


Error importing esbuild (npm run dev)

Describe the bug
npm run dev throws the following error:
Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'esbuild.js' imported from /home/.../.obsidian/plugins/time-ruler/esbuild.config.mjs
To Reproduce
Steps to reproduce the behavior:

clone the repository
npm install
npm run dev
See error

Expected behavior
npm run dev should be able to run without error (as described in the CONTRIBUTING guide) or missing dev setup steps should be documented.
Obsidian Version:

[ ] Mobile
[x] Desktop 1.4.16

Additional context
As far as I know imports need to include the file extensions (e. g. import from 'index.js' instead of import from 'index') but I haven't figured it out yet to make it start.
It would be great if you can have a look into this :pray:
Very promising plugin by the way! :wink:

Actually with Typescript you can't include file extensions in imports. Possibly the file is missing from the repo? I will see if I can reproduce the error.

This is fixed in the repo now, just some missing packages.