VersionName

If I run this code:
package gplayapi

import (
   "fmt"
   "testing"
   "time"
)

func TestPlay(t *testing.T) {
   client, err :=<EMAIL_ADDRESS>token, Pixel3a)
   if err != nil {
      t.Fatal(err)
   }
   time.Sleep(9 * time.Second)
   app, err := client.GetAppDetails("com.google.android.youtube")
   if err != nil {
      t.Fatal(err)
   }
   fmt.Printf("%+v\n", app)
}

The resulting VersionCode and VersionName are both empty. I have been able to get these with other packages, but not here.

I think that's because it "varies with device"

I will check it later, thanks for reporting

It is possible to do this. I have a proof of concept here:
https://github.com/89z/googleplay/tree/f9e352e3/research/2021-11-03
Using my code, I get 16.43.34 for the version string. I know one issue I had, is I had to increase the delay before using a newly created GSF ID to at least 16 seconds. But even with that, the code with Juby210/gplayapi-go still fails.

Thanks, seems to be helpful, from my research - https://gitlab.com/AuroraOSS/gplayapi works with youtube by default

I solved this myself, by getting the information directly from Google API:
https://github.com/89z/googleplay/blob/v1.2.9/auth.go#L53-L79


more old misc functions and aliases

there is still some goodness left in my dotfiles-old repo from about 10 years ago that would be great to retrieve

zless/gzless/pkzless etc
editor lister functions
"emacs" wrapper for emacsclient
backup function, date function and other things

I need to finish going through my old stuff and bring in what I would like to keep, some these are gems.
also I need to think about source/50_misc.sh -- is it about bash misc config, or is it a catch-all for unsorted functionality? It would be better to sort that functionality

editor lister is replaced by automatic editor selection
emacs wrapper is complete:  commit 84fd8f0d

the less extensions and backup function belong in 50_file

backup/backout commands complete:  commit e7c2923

zless/gzless/pzless etc are met by the the GNU zmore utility which is available on all Linux and also macOS.  So this Issue can be closed.


Add xenial to CI build

ref: https://github.com/iovisor/bpftrace/issues/342#issuecomment-578800845
I struggled to get the embedded libclang object flavor to build properly, but didn't dig too deep there. I also needed to pull CMake from source to get a recent enough version. The resulting build time is quite long unfortunately (~2 hrs) since that means it's both using the vanilla LLVM sources and needs to bootstrap CMake. I'm a total CMake beginner so if there's something obvious I might've missed with libclang I'm happy to hear it 🙂
Resulting binary was 33.8 MB stripped when I checked, linked only to libc as expected. I set up a demo of a very similar pipeline here and you can check out the latest artifact: https://github.com/alexeldeib/bpftrace-static/actions/runs/31754391
(I think this should work, but I'll keep an eye on CI in case I need to make some adjustments to integrate it with how the upstream build works).

this is looking pretty good @alexeldeib is it working on github actions? I see a lot of work for vmlinuz in your actions tab

Yeah, it works The vmlinuz work is from a separate branch. I fiddled around with unpacking it but hit a lot of issues with broken pipes in github actions. I split it off to keep this PR clean 👍

https://github.com/alexeldeib/bpftrace/actions/runs/33285898 looks great

weird travis failure, but don't think its anything you touched https://travis-ci.com/alexeldeib/bpftrace/jobs/282187603

Seems like there's some kind of race in uprobe tests around executing + attaching the test process?
https://github.com/alexeldeib/bpftrace/runs/425706579?check_suite_focus=true#step:4:2069
https://github.com/alexeldeib/bpftrace/runs/425740357?check_suite_focus=true#step:4:2071
2: [  FAILED  ] uprobe."uprobes - attach to probe for executable in separate mount namespace"
2: 	Command: ../src/bpftrace -e 'uprobe:/tmp/bpftrace-unshare-mountns-test/uprobe_test:function1 { printf("here\n" ); exit(); }' -p $(pidof uprobe_test)
2: 	Expected: Attaching 1 probe...
2: 	Found: ../src/bpftrace: option requires an argument -- 'p'
2: USAGE:
2:     bpftrace [options] filename
2:     bpftrace [options] -e 'program'

2: [  FAILED  ] uprobe."uprobes - list probes by pid in separate mount namespace"
2: 	Command: ../src/bpftrace -l -p $(pidof uprobe_test) | grep -e '^uprobe'
2: 	Expected: uprobe:.*/bpftrace-unshare-mountns-test/uprobe_test:function1
2: 	Found: ../src/bpftrace: option requires an argument -- 'p'

yeah seems like there must be a race, that's bizarre : / i am surprised you're hitting it, as this never happens on my dev box. Perhaps the low-resource VMs make this more likely to happen / have a higher startup time for the test process that is just long enough to hit this problem sometimes?

@dalehamel anything you see here that still needs fixing, other than maybe some additional 👀

@alexeldeib I rebased your branch on master, CI run is here: https://github.com/dalehamel/bpftrace/actions/runs/40815014
I don't want to remove probe.kprobe_offset_fail_size from these other builds, I think we should only whitelist / exclude tests that fail for xenial.
On master these tests don't seem to fail, so I think the changes to the build process likely introduced the regression. I'm making a few changes to the branch to see if I can get the xenial build without introducing this regression in the kprobe test, which should be unrelated to xenial support.

Actually it looks like the failure for kprobe is specific to CI, it is also disabled on travis I see.
I think that the runtime tests may not have been running at all before, and your addition to add the disable tests actually activated them lol.
I found a couple of other nitpicks that I'll send to you later as a patch of suggestions @alexeldeib thanks for being patient. Once those are in i think we can get this merged.

@alexeldeib can you please rebase master and apply this patch:
From bd25e65575afa22d0e457b9729b0088b13c8a2da Mon Sep 17 00:00:00 2001
From: Dale Hamel<EMAIL_ADDRESS>Date: Mon, 17 Feb 2020 13:11:51 -0500
Subject: [PATCH] Suggestions for bpftrace#1110

---
 .github/workflows/embedded.yml | 16 ++++++++++------
 .travis.yml                    |  4 ++--
 docker/Dockerfile.ubuntu-glibc | 24 +++++++++++-------------
 3 files changed, 23 insertions(+), 21 deletions(-)

diff --git a/.github/workflows/embedded.yml b/.github/workflows/embedded.yml
index 9f2174d..93982b6 100644
--- a/.github/workflows/embedded.yml
+++ b/.github/workflows/embedded.yml
@@ -68,25 +68,29 @@ jobs:
     - uses: actions/checkout@v2
     - name: Build docker container
       run: |
-        docker build -t bpftrace-embedded-${{ matrix.env['DISTRO'] }} -f docker/Dockerfile.ubuntu-glibc --build-arg bcc_ref=${{ matrix.env['BCC_REF'] }} --build-arg DISTRO=${{ matrix.env['DISTRO'] }}  docker/
+        docker build -t bpftrace-embedded -f docker/Dockerfile.ubuntu-glibc --build-arg DISTRO=${{ matrix.env['DISTRO'] }}  docker/
     - name: bpftrace embedded build
       env: ${{ matrix.env }}
       run: |
-        docker run --privileged -v $(pwd):$(pwd) -w $(pwd) -v /sys/kernel/debug:/sys/kernel/debug:rw -v /lib/modules:/lib/modules:ro -v /usr/src:/usr/src:ro -e STATIC_LINKING=${STATIC_LINKING} -e STATIC_LIBC=${STATIC_LIBC} -e EMBED_LLVM=${EMBED_LLVM} -e EMBED_CLANG=${EMBED_CLANG} -e EMBED_BCC=${EMBED_BCC} -e EMBED_LIBELF=${EMBED_LIBELF} -e EMBED_LIBCLANG_ONLY=${EMBED_LIBCLANG_ONLY} -e EMBED_BINUTILS=${EMBED_BINUTILS} -e RUN_ALL_TESTS=${RUN_ALL_TESTS} -e CMAKE_EXTRA_FLAGS="${CMAKE_EXTRA_FLAGS}" -e RUNTIME_TEST_DISABLE="${RUNTIME_TEST_DISABLE}" bpftrace-embedded-${{ matrix.env['DISTRO'] }} $(pwd)/build-embedded ${TYPE} -j`nproc`
+        docker run --privileged -v $(pwd):$(pwd) -w $(pwd) -v /sys/kernel/debug:/sys/kernel/debug:rw -v /lib/modules:/lib/modules:ro -v /usr/src:/usr/src:ro -e STATIC_LINKING=${STATIC_LINKING} -e STATIC_LIBC=${STATIC_LIBC} -e EMBED_LLVM=${EMBED_LLVM} -e EMBED_CLANG=${EMBED_CLANG} -e EMBED_BCC=${EMBED_BCC} -e EMBED_LIBELF=${EMBED_LIBELF} -e EMBED_LIBCLANG_ONLY=${EMBED_LIBCLANG_ONLY} -e EMBED_BINUTILS=${EMBED_BINUTILS} -e CMAKE_EXTRA_FLAGS="${CMAKE_EXTRA_FLAGS}" -e RUN_ALL_TESTS=0 bpftrace-embedded $(pwd)/build-embedded ${TYPE} -j`nproc`
+    - name: run bpftrace tests
+      env: ${{ matrix.env }}
+      run: |
+        docker run --privileged -v $(pwd):$(pwd) -w $(pwd) -v /sys/kernel/debug:/sys/kernel/debug:rw -v /lib/modules:/lib/modules:ro -v /usr/src:/usr/src:ro -e STATIC_LINKING=${STATIC_LINKING} -e STATIC_LIBC=${STATIC_LIBC} -e EMBED_LLVM=${EMBED_LLVM} -e EMBED_CLANG=${EMBED_CLANG} -e EMBED_BCC=${EMBED_BCC} -e EMBED_LIBELF=${EMBED_LIBELF} -e EMBED_LIBCLANG_ONLY=${EMBED_LIBCLANG_ONLY} -e EMBED_BINUTILS=${EMBED_BINUTILS} -e CMAKE_EXTRA_FLAGS="${CMAKE_EXTRA_FLAGS}" -e RUN_ALL_TESTS=${RUN_ALL_TESTS} -e RUNTIME_TEST_DISABLE="${RUNTIME_TEST_DISABLE}" bpftrace-embedded $(pwd)/build-embedded ${TYPE} -j`nproc`
     - name: Check linked libs
       env: ${{ matrix.env }}
       run: |
-        docker run --privileged -v $(pwd):$(pwd) -w $(pwd) -v /sys/kernel/debug:/sys/kernel/debug:rw -v /lib/modules:/lib/modules:ro -v /usr/src:/usr/src:ro -e STATIC_LINKING=${STATIC_LINKING} -e STATIC_LIBC=${STATIC_LIBC} -e EMBED_LLVM=${EMBED_LLVM} -e EMBED_CLANG=${EMBED_CLANG} -e EMBED_BCC=${EMBED_BCC} -e EMBED_LIBELF=${EMBED_LIBELF} -e EMBED_LIBCLANG_ONLY=${EMBED_LIBCLANG_ONLY} -e EMBED_BINUTILS=${EMBED_BINUTILS} --entrypoint /bin/bash bpftrace-embedded-${{ matrix.env['DISTRO'] }} -c "[[ -f $(pwd)/build-embedded/src/bpftrace ]] && ! readelf --dynamic $(pwd)/build-embedded/src/bpftrace | grep NEEDED | grep -v 'libm\|libc\|ld-linux\|libpthread\|libdl'"
+        docker run --privileged -v $(pwd):$(pwd) -w $(pwd) -v /sys/kernel/debug:/sys/kernel/debug:rw -v /lib/modules:/lib/modules:ro -v /usr/src:/usr/src:ro -e STATIC_LINKING=${STATIC_LINKING} -e STATIC_LIBC=${STATIC_LIBC} -e EMBED_LLVM=${EMBED_LLVM} -e EMBED_CLANG=${EMBED_CLANG} -e EMBED_BCC=${EMBED_BCC} -e EMBED_LIBELF=${EMBED_LIBELF} -e EMBED_LIBCLANG_ONLY=${EMBED_LIBCLANG_ONLY} -e EMBED_BINUTILS=${EMBED_BINUTILS} --entrypoint /bin/bash bpftrace-embedded -c "[[ -f $(pwd)/build-embedded/src/bpftrace ]] && ! readelf --dynamic $(pwd)/build-embedded/src/bpftrace | grep NEEDED | grep -v 'libm\|libc\|ld-linux\|libpthread\|libdl'"
     - name: Strip artifacts
       env: ${{ matrix.env }}
       if: matrix.env['TYPE'] == 'Release'
       run: |
-        docker run --privileged -v $(pwd):$(pwd) -w $(pwd) -v /sys/kernel/debug:/sys/kernel/debug:rw -v /lib/modules:/lib/modules:ro -v /usr/src:/usr/src:ro -e STATIC_LINKING=${STATIC_LINKING} -e STATIC_LIBC=${STATIC_LIBC} -e EMBED_LLVM=${EMBED_LLVM} -e EMBED_CLANG=${EMBED_CLANG} -e EMBED_BCC=${EMBED_BCC} -e EMBED_LIBELF=${EMBED_LIBELF} -e EMBED_LIBCLANG_ONLY=${EMBED_LIBCLANG_ONLY} -e EMBED_BINUTILS=${EMBED_BINUTILS} --entrypoint /bin/bash bpftrace-embedded-${{ matrix.env['DISTRO'] }} -c "strip --keep-symbol BEGIN_trigger $(pwd)/build-embedded/src/bpftrace"
+        docker run --privileged -v $(pwd):$(pwd) -w $(pwd) -v /sys/kernel/debug:/sys/kernel/debug:rw -v /lib/modules:/lib/modules:ro -v /usr/src:/usr/src:ro -e STATIC_LINKING=${STATIC_LINKING} -e STATIC_LIBC=${STATIC_LIBC} -e EMBED_LLVM=${EMBED_LLVM} -e EMBED_CLANG=${EMBED_CLANG} -e EMBED_BCC=${EMBED_BCC} -e EMBED_LIBELF=${EMBED_LIBELF} -e EMBED_LIBCLANG_ONLY=${EMBED_LIBCLANG_ONLY} -e EMBED_BINUTILS=${EMBED_BINUTILS} --entrypoint /bin/bash bpftrace-embedded -c "strip --keep-symbol BEGIN_trigger $(pwd)/build-embedded/src/bpftrace"
     - uses: actions/upload-artifact@v1
       with:
-        name: bpftrace-${{ matrix.env['TYPE'] }}-${{ matrix.env['NAME'] }}
+        name: bpftrace-${{ matrix.env['TYPE'] }}-${{ matrix.env['NAME'] }}-ubuntu-${{ matrix.env['DISTRO'] }}
         path: build-embedded/src/bpftrace
     - uses: actions/upload-artifact@v1
       with:
-        name: bpftrace_test-${{ matrix.env['TYPE'] }}-${{ matrix.env['NAME'] }}
+        name: bpftrace_test-${{ matrix.env['TYPE'] }}-${{ matrix.env['NAME'] }}-ubuntu-${{ matrix.env['DISTRO'] }}
         path: build-embedded/tests/bpftrace_test
diff --git a/.travis.yml b/.travis.yml
index 3eebf99..15d1bec 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -48,9 +48,9 @@ matrix:
       env: LLVM_VERSION=8 BASE=bionic TYPE=Release RUN_ALL_TESTS=1 RUNTIME_TEST_DISABLE=builtin.cgroup,probe.kprobe_offset_fail_size

     - name: "Static+glibc-2.27 Debian-linked LLVM 8 Debug"
-      env: LLVM_VERSION=8 DISTRO=bionic BASE=ubuntu-glibc STATIC_LINKING=ON STATIC_LIBC=OFF EMBED_LLVM=OFF EMBED_CLANG=ON EMBED_LIBCLANG_ONLY=ON TYPE=Debug RUN_ALL_TESTS=1 RUNTIME_TEST_DISABLE=builtin.cgroup,probe.kprobe_offset_fail_size
+      env: LLVM_VERSION=8 BASE=ubuntu-glibc STATIC_LINKING=ON STATIC_LIBC=OFF EMBED_LLVM=OFF EMBED_CLANG=ON EMBED_LIBCLANG_ONLY=ON TYPE=Debug RUN_ALL_TESTS=1 RUNTIME_TEST_DISABLE=builtin.cgroup,probe.kprobe_offset_fail_size
     - name: "Static+glibc-2.27 Debian-linked LLVM 8 Release"
-      env: LLVM_VERSION=8 DISTRO=bionic BASE=ubuntu-glibc STATIC_LINKING=ON STATIC_LIBC=OFF EMBED_LLVM=OFF EMBED_CLANG=ON EMBED_LIBCLANG_ONLY=ON TYPE=Release RUN_ALL_TESTS=1 RUNTIME_TEST_DISABLE=builtin.cgroup,probe.kprobe_offset_fail_size
+      env: LLVM_VERSION=8 BASE=ubuntu-glibc STATIC_LINKING=ON STATIC_LIBC=OFF EMBED_LLVM=OFF EMBED_CLANG=ON EMBED_LIBCLANG_ONLY=ON TYPE=Release RUN_ALL_TESTS=1 RUNTIME_TEST_DISABLE=builtin.cgroup,probe.kprobe_offset_fail_size

 install:
   - sudo apt-get install linux-headers-$(uname -r)
diff --git a/docker/Dockerfile.ubuntu-glibc b/docker/Dockerfile.ubuntu-glibc
index 134ecad..867149f 100644
--- a/docker/Dockerfile.ubuntu-glibc
+++ b/docker/Dockerfile.ubuntu-glibc
@@ -1,21 +1,18 @@
 ARG DISTRO=bionic
-
 FROM ubuntu:${DISTRO}

-ARG DISTRO=bionic
-ARG bcc_ref="v0.12.0"
+ARG DISTRO
 ARG LLVM_VERSION="8"
 ARG CMAKE_VER="3.16"
 ARG CMAKE_BUILD="2"
+ARG bcc_ref="v0.12.0"
+ARG bcc_org="iovisor"

 ENV LLVM_VERSION=$LLVM_VERSION
 ENV CMAKE_VER=${CMAKE_VER}
 ENV CMAKE_BUILD="${CMAKE_BUILD}"
 ENV DISTRO=${DISTRO}

-# There is no need need for most of this once
-# https://github.com/iovisor/bcc/pull/2677 merges, as this is all to build
-# the bcc static dependencies. This would save ~5 minutes of CI time
 RUN apt-get update && apt-get install -y curl gnupg &&\
     llvmRepository="\n\
 deb http://apt.llvm.org/${DISTRO}/ llvm-toolchain-${DISTRO} main\n\
@@ -28,7 +25,6 @@ deb-src http://apt.llvm.org/${DISTRO}/ llvm-toolchain-${DISTRO}-${LLVM_VERSION}
 RUN apt-get update && apt-get install -y \
       bison \
       binutils-dev \
-      make \
       flex \
       g++ \
       git \
@@ -46,12 +42,13 @@ RUN apt-get update && apt-get install -y \
       llvm-${LLVM_VERSION}-runtime \
       libllvm${LLVM_VERSION} \
       systemtap-sdt-dev \
-      python \
-      quilt \
-      libssl-dev
+      python3 \
+      quilt

 # Install from source if using xenial due to incompatibility with older cmake
-RUN if [ "${DISTRO}" = "xenial" ]; then version=${CMAKE_VER} \
+RUN if [ "${DISTRO}" = "xenial" ]; then \
+    apt-get install -y make python libssl-dev \
+    && version=${CMAKE_VER} \
     && build=${CMAKE_BUILD} \
     && mkdir -p /tmp \
     && cd /tmp \
@@ -66,9 +63,10 @@ RUN if [ "${DISTRO}" = "xenial" ]; then version=${CMAKE_VER} \
     ; fi

 # Build BCC and install static libs
-RUN mkdir -p /src && git clone https://github.com/iovisor/bcc /src/bcc
+RUN mkdir -p /src && git clone https://github.com/$bcc_org/bcc /src/bcc

-RUN cd /src/bcc && git reset --hard $bcc_ref && mkdir build && cd build && \
+RUN cd /src/bcc && git checkout $bcc_ref && git submodule update && \
+    mkdir build && cd build && \
     cmake -DCMAKE_INSTALL_PREFIX=/usr/local ../ && make -j$(nproc) && \
     make install &&  mkdir -p /usr/local/lib && \
     cp src/cc/libbcc.a /usr/local/lib/libbcc.a && \
--
2.21.0

I've also slipped in a couple of other things (eg, bcc_org=iovisor) as I had them on a related branch, and they are useful for testing. I deleted a comment of mine also.

Feel free to squash those changes, I caught that DISTRO was added to the build path, but i think it should just be to the artifact output, and the build directory kept the same. This way DISTRO is an argument only for the build, not for running.
I also realized that your commit enables runtime tests (which I thought were running already), and matches the excluded tests with travis, which I think makes sense.

applied and squashed, thanks @dalehamel!

LGTM @danobi @fbs can either of you please take a look and merge if it LGYT?
I think this offers important compatibility for systems with older libc, I've already run into the case where an Ubuntu Xenial machine was running 4.15 kernel, but only had glibc 2.23

here is the github actions run: https://github.com/alexeldeib/bpftrace/actions/runs/41351358 still waiting for the last two (longer) jobs, but I expect they will pass, as my branch did.

Thanks @alexeldeib. Great to see this end up in AKS!


checkout for non blocket rules

Description
Order with nonBlocket Rules isn't possible
@see
inside of block: page_checkout_confirm_form_submit
Possible Solution
Change
{% if page.cart.errors|length > 0 %}
  disabled
{% endif %}

to
{% if page.cart.errors.blockOrder %}
  disabled
{% endif %}

Hello,
Within our company roadmap and work capacity, we try to address each bug or improvement request but admit that not each one will be resolved. To continue our culture of honesty and openness, we are closing this issue to focus on our roadmap on behalf of all Shopware users.
If you feel like this issue is still impacting you, please create a new issue and let us know.
Thank you again for your valuable feedback.


Add Binary Encoding as an Option for Server Functions

So I've been digging through the leptos code, and I think I understand how server functions are processed in Leptos.
I'd like to add MessagePack as an option to encode arguments, so that binary data payloads can be more efficiently sent from client to server. I see application for this in image processing, encryption, and other things. This would also prevent us from having to use an action or handling the client side function separately.
As I understand it, the server macro in leptos_macro is responsible for annotating the function with the ServerFn trait, which creates the fn calls from preexisting boilerplate for the client and the server.
So the way I see it, I could do this like so.

Add a toggle to the server macro to be encoded with MessagePack
Edit the call_server_fn to use the different serializer on the client
Edit the register() function to recognize the different serializer and process it differently
Create an example of handle_server_fns and an example using that structure.

Does that sound reasonable? I'm debating trying to make it generalizable, but I think MessagePack is sufficient

Yep very reasonable. I think it makes a ton of sense to do it in the macro, rather than as a feature, because then you can mix and match MessagePack for one type and a URL-encoded form for another. (The form thing is good in the default case because you can use it to create an actual <form> that just works.)
So in your steps:

Add a toggle to the server macro to be encoded with MessagePack. Perfect.
Edit the call_server_fn to use the different serializer on the client. Exactly.
Edit the register() function to recognize the different serializer and process it differently. Even better: edit leptos::call_server_fn in leptos_server to take a Content-Type header. Use the server macro to set this to application/messagepack or whatever the right mime-type would be in the line where it invokes ::leptos::call_server_fn, depending on whether you're in form or MessagePack mode. Then the server function handler on the server can just listen for a Content-Type header and decode using form encoding or MessagePack, as appropriate.
Create an example of handle_server_fns and an example using that structure. See 3.

This is a great idea. Do you want to take a crack at it with a PR?
(I'm not touching any of leptos_server or leptos_macro with this other thread-local/memory-leak thing, so there shouldn't be any conflicts)

I'll take a stab at it tomorrow. The macro is the weakest part for me, but I should figure out something

Also looks like I'll have to rework Serializable to include both

IIRC Serializable is only used in ServerFn::Output i.e., to serialize the return type to JSON. If you want to be able to serialize the return type with MessagePack too (not just the arguments) then there may be a couple more steps above. I don't know that you can actually use Serializable in that case because that's designed to work with miniserde and serde-lite as well, so only supports JSON. But could change the bound on ServerFn::Output to be serde::Serialize instead which would allow MessagePack or JSON.


Fix/list workflows version

What type of PR is this?
/kind bug
What this PR does / why we need it:

Adds workflow version on list workflows route
fix response on states routes when the state was not found

Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Additional documentation e.g., usage docs, etc.:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


No Error Checking is Implemented

Bug Description
A KeyError is thrown by the first __get_item__() call to rJSON after any request to the Modrinth API is made. This is due to the lack of error checking. When an error (i.e. a ratelimit_error) is present, the keys requested from the dictionary do not exist.
To Reproduce
Steps to reproduce the behavior:

Make more than 300 requests in a single minute.
Be ratelimited.
Observe badness.

Expected Behavior
Throw an exception.

Closing because I'm starting clean for a 1.0 release.


Plugin: lolheroes

插件名称：
lolheroes
插件功能：
获取lol英雄背景的故事
PyPI 项目名：
lolHeroes
插件 import 包名：
lolheroes
插件项目仓库/主页链接：
https://github.com/cjladmin/lolheroes

📃 Publish Check Result

Plugin: lolheroes

✅ All tests passed, you are ready to go!

Report Detail
✅ Project homepage returns 200.
✅ Package lolHeroes is available on PyPI.

💪 Powered by NoneBot2 Publish Bot


fixing the version to get the skills vc

@anton-iskryzhytskyi Updated the lock files. Requested for re-review.


Implement Path.addArc(tangent1End:...).

The addArc(tangent1End:tangent2End:radius:transform:) method was left unimplemented and added nothing to the path components. This implementation uses some vector arithmetic on CGPoint to create an arc. There are probably better approaches out there, but I think this a good starting point.

Swiftlint is complaining about using a = a + b, but there’s no reason to implement += just for these operations. I don't know how I can disable this check for the places where this is used.

I saw how other snapshot tests are written and think I understand how to write one, but I'm not sure how I can generate a snapshot to compare against.
I'll add the snapshot tests and SwiftLint comments later in the week.

I think you could just run the test and copy the image it writes in, then compare against that going forward. Layout tests compare directly against a rendered SwiftUI view.

I realized that my code doesn't really choose the start-end/clockwise combinations correctly. This means that the start of the arc may be on the second tangent and the arc's end will be on the first tangent.
So, I'll keep working on this to get everything exactly like the native implementations.

I fixed the issue and added some more tests. However, I was unable to get the project to build so I could run the snapshot tests. I run the following according to the contribution guide to no avail:
swift build --product TokamakPackageTests && `xcrun --find xctest` .build/debug/TokamakPackageTests.xctest

I’m not sure why, but there seems to be a problem with core-graphics types, such as CGLineJoin and CGPoint. @carson-katri could you add the snapshot tests?


feat/unassigned-fares

Please review before merging.

:tada: This PR is included in version 1.82.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


PyTube fails during prefetch

Some tracks (for example 'https://open.spotify.com/track/1Gkuz8ggxpZmfm7HSAc2qI' and the following ) are causing the following issue.
spotdl 'https://open.spotify.com/track/1Gkuz8ggxpZmfm7HSAc2qI' fails due to
pytube.exceptions.RegexMatchError: get_ytplayer_config: could not find match for config_patterns
The exact Stack Trace is the following

Click to Expand !

Fetching Song...
  0%|                                                                                |ETA: ?, ~min/songTraceback (most recent call last):
  File "/mnt/c/Users/bills/Desktop/Dotify/backend/.env/bin/spotdl", line 8, in
    sys.exit(console_entry_point())
  File "/mnt/c/Users/bills/Desktop/Dotify/backend/.env/lib/python3.8/site-packages/spotdl/__main__.py", line 100, in console_entry_point
    downloader.download_single_song(song)
  File "/mnt/c/Users/bills/Desktop/Dotify/backend/.env/lib/python3.8/site-packages/spotdl/download/downloader.py", line 274, in download_single_song
    download_song(songObj, self.displayManager, self.downloadTracker)
  File "/mnt/c/Users/bills/Desktop/Dotify/backend/.env/lib/python3.8/site-packages/spotdl/download/downloader.py", line 102, in download_song
    youtubeHandler = YouTube(
  File "/mnt/c/Users/bills/Desktop/Dotify/backend/.env/lib/python3.8/site-packages/pytube/__main__.py", line 91, in __init__
    self.prefetch()
  File "/mnt/c/Users/bills/Desktop/Dotify/backend/.env/lib/python3.8/site-packages/pytube/__main__.py", line 183, in prefetch
    self.js_url = extract.js_url(self.watch_html)
  File "/mnt/c/Users/bills/Desktop/Dotify/backend/.env/lib/python3.8/site-packages/pytube/extract.py", line 143, in js_url
    base_js = get_ytplayer_config(html)["assets"]["js"]
  File "/mnt/c/Users/bills/Desktop/Dotify/backend/.env/lib/python3.8/site-packages/pytube/extract.py", line 202, in get_ytplayer_config
    raise RegexMatchError(caller="get_ytplayer_config", pattern="config_patterns")
pytube.exceptions.RegexMatchError: get_ytplayer_config: could not find match for config_patterns

I was able to trace the problem back to the pytube.__main__.prefetch method, when called through the YouTube class constructor.
Attaching code snippet along with some values
def prefetch(self) -> None:
    """Eagerly download all necessary data.

    Eagerly executes all necessary network requests so all other
    operations don't does need to make calls outside of the interpreter
    which blocks for long periods of time.

    :rtype: None
    """
    self.watch_html = request.get(url=self.watch_url) # self.watch_url == 'https://youtube.com/watch?v=KerML5uHywU'
    if self.watch_html is None:
        raise VideoUnavailable(video_id=self.video_id)
    self.age_restricted = extract.is_age_restricted(self.watch_html)

    if not self.age_restricted and "This video is private" in self.watch_html:
        raise VideoUnavailable(video_id=self.video_id)

    if self.age_restricted:
        if not self.embed_html:
            self.embed_html = request.get(url=self.embed_url)
        self.vid_info_url = extract.video_info_url_age_restricted(
            self.video_id, self.watch_url
        )
    else:
        self.vid_info_url = extract.video_info_url(
            video_id=self.video_id, watch_url=self.watch_url
        ) # self.vid_info_url == 'https://youtube.com/get_video_info?video_id=KerML5uHywU&el=%24el&ps=default&eurl=https%253A%2F%2Fyoutube.com%2Fwatch%253Fv%253DKerML5uHywU&hl=en_US'

    self.vid_info_raw = request.get(self.vid_info_url) # self.vid_info_raw == 'status=fail&reason=Invalid+parameters.&errorcode=2'
        if not self.age_restricted:
            self.js_url = extract.js_url(self.watch_html)
            self.js = request.get(self.js_url)

As you can see the GET request returns an invalid response of status=fail&reason=Invalid+parameters.&errorcode=2, in this case.
P.S. After reading through other issues I have already given single and double quotes a try as well as installing pytube3 and/or force upgrading pytube and spotdl, with no result whatsoever

Having the same issue, already re-installed through AUR (cleanbuilt) and with pip without success

Can reproduce on Ubuntu 20.04 and Linux Mint 20

1
Ubuntu 20.04
 File "/usr/local/lib/python3.8/dist-packages/pytube/extract.py", line 205, in get_ytplayer_config   raise RegexMatchError( pytube.exceptions.RegexMatchError: get_ytplayer_config: could not find match for config_patterns

Try installing spotdl manually from the master branch

Try installing spotdl manually from the master branch

Directly installing from the master (pip install git+https://github.com/spotDL/spotify-downloader.git@master btw), resolved the issue on the command line level !
Any ideas, regarding why this occured in the first place, maybe ? As I'm trying to use spotdl as a library for a project of mine
Thanks in advance

I have no idea why but when installaing via pip install pytube=10.0.0 and pip install pytube, while stating the same version when I pip freeze the code is different in the packages and more specifically in pytube.__main__.
Anyways, that fixed the problem (at least for me). To be more specific, pip install pytube did !

Cool


The code for Bubble Sort algorithm was added

The code and explanation for Bubble sort algorithm along with test cases was added
Looking forward to get it merged !
fixes #3

Can you attach any terminal output for this?

For array 1 :

For array 2:


Sort doesn't support unmapped_type

Currently Sort doesn't support providing type for an unmapped field. Below are links for related reading:

https://github.com/elastic/elasticsearch/issues/3599
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-sort.html#_ignoring_unmapped_fields

Issue fixed as part of commit 1920c982359170030b0f86866338b1d5fa8b5dcc pull request #501


Buttons with Icons are changing to down chevrons on focus

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to the button component page
Tab through buttons
See that ones with icons, icons change on focus

Screenshots

 Some buttons on focus changing icon to chevron


migrate from version 2 to 3

I want to migrate from version 2 to 3
But I found many problems
I can't convert English numbers to Farsi and the Persian word is displayed in the formula as letters and separate from each other
Configuration version 2.7.9:
MathJax.Hub.Config(
      {
        showMathMenu: false,
      //   preview: "true",
      //   extensions: ["tex2jax.js","mml2jax.js","MathMenu.js","MathZoom.js","AssistiveMML.js", "a11y/accessibility-menu.js", "toMathML.js"],
        TeX: {
          // extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"],
          inlineMath: [['$', '$'], ['\\(', '\\)']]

        },
      "fast-preview": {disabled: true},
      // بقیه متن ها رو خراب میکنه  اگر علایم ریاضی داخلشون باشه
      // tex2jax: {
      //     inlineMath: [['$ ', ' $'], ["\\(", "\\)"]],
      //     displayMath: [['$$', '$$'], ["\\[", "\\]"]],
      //     processEscapes: true,
      //     preview: "none"
      // },
      jax: ["input/TeX","output/CommonHTML"],
      MatchWebFonts: {
        matchFor: {
          "HTML-CSS": true,
          NativeMML: false,
          SVG: false
        },
        // fontCheckDelay: 2000,
        // fontCheckTimeout: 30 * 1000
      },
      'HTML-CSS':
        {
            webFont: "TeX",
            preferredFont:"var(--font-r)",
            undefinedFamily: "var(--font-r) STGeneral, 'Arial Unicode MS', serif",
            availableFonts: ["var(--font-r)", "TeX", "STIX"],
            mtextFontInherit: true,
            noReflows: true,
            scale: 100,
            minScaleAdjust: 100,
            matchFontHeight: true,
            linebreaks: {automatic: true},
        },
        CommonHTML: {
          scale: 100,
          mtextFontInherit: true,
        },
        SVG: {
          mtextFontInherit: true,
        },
      }
      );
      MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready", function () {
        var REMAP = MathJax.OutputJax["HTML-CSS"].FONTDATA.REMAP;
        var ZERO = 0x6F0;     // use 0x660 for Arabic, 0x6F0 for Persian
        for (var i = 0; i < 10; i++) {REMAP[0x30+i] = ZERO+i}
      });
      MathJax.Hub.Register.StartupHook("Begin",function () {
        MathJax.Hub.Queue(
          console.log("start-render")
        )
      });
      MathJax.Hub.Register.StartupHook("End",function () {
        MathJax.Hub.Queue(
          console.log("finish-render")
        )
      });

<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

I converted this configuration to version 3:
    <script type="text/x-mathjax-config">
        window.MathJax = {
            loader: {
                load: ['[mml]/mml3'],
                source: {'[tex]/mhchem': '[persian]/mhchem.min.js'},
                paths: {persian: '.'}
            },
            options: {
              enableMenu: false,
              ignoreHtmlClass: 'tex2jax_ignore',
              processHtmlClass: 'tex2jax_process'
            },
            tex: {
                packages: {'[+]': ['mhchem']},
                digits: /^(?:[\d۰-۹]+(?:[,٬'][\d۰-۹]{3})*(?:[\.٫][\d۰-۹]*)?|[\.٫][\d۰-۹]+)/,
                tags:"ams"
            },
            "%s is now handled through direct CSS": "var(--font-r) STGeneral, 'Arial Unicode MS', serif",
            chtml: {
              mtextInheritFont: true,
              scale: 1,
              minScale: 1,
              matchFontHeight: true
            },
            svg: {
              mtextInheritFont: true
            },
            startup: {
                ready() {
                    console.log("ready!!!!!");
                    var ParseMethods = MathJax._.input.tex.ParseMethods.default;
                    var RegExpMap = MathJax._.input.tex.SymbolMap.RegExpMap;
                    new RegExpMap('digit', ParseMethods.digit, /[\d.٫۰-۹]/);
                    MathJax.startup.defaultReady();
                }
            }
          };
      </script>
     <script type="text/javascript" id="MathJax-script" async<EMAIL_ADDRESS>
ex mml code:
<math xmlns='http://www.w3.org/1998/Math/MathML'
                    display='inline-block'>
                    <mtable xmlns='http://www.w3.org/1998/Math/MathML' columnalign='left'>
                        <mtr>
                            <mtd>
                                <mo>(</mo>
                                <mi>a</mi>
                                <mo>,</mo>
                                <mn>1</mn>
                                <mo>)</mo>
                                <mover accent='false'>
                                    <mo>→</mo>
                                    <mrow>
                                        <mtext>تابع همانی</mtext>
                                    </mrow>
                                </mover>
                                <mi>a</mi>
                                <mo>=</mo>
                                <mn>1</mn>
                            </mtd>
                            <mtd />
                        </mtr>
                    </mtable>
                </math>

The main issue is that MathJax v3 doesn't use <script type="text/x-mathjax-config">, but rather just <script>, so your configuration is never being executed.  In particular, the mtextInheritFont: true options aren't taking effect, which is why the Persian letters are not being combined properly.  Once you remove type="text/x-mathjax-config", the Persian should display better.
On the other hand, there are some other problems with your configuration.  First, you are adding the mhchem package in the tex.packages list, but you have not loaded mhchem, so that will do nothing.  You probably want to add [tex]/mhchem to the loader.load list, or remove the tex.packages configuration option.
Second, the
            "%s is now handled through direct CSS": "var(--font-r) STGeneral, 'Arial Unicode MS', serif",

line should probably really be a comment.  As it stands, this is a configuration option named %s is now handled through direct CSS with value var(--font-r) STGeneral, 'Arial Unicode MS', serif.  This will be ignored, since there is not MathJax option with that name, but it is probably better as a comment.
Third, the inlineMath option was in the wrong location in your original v2 configuration, so was flagged as not having a conversion value when you used the conversion tool to translate your v2 configuration to a v3 one.  You can add inlineMath to the tex block in your v3 configuration if you want.
In order to handle the automatic translation of English to Persian numbers, you can use the following ready() function:
  startup: {
    ready() {
      const ParseMethods = MathJax._.input.tex.ParseMethods.default;
      const {RegExpMap} = MathJax._.input.tex.SymbolMap;
      new RegExpMap('digit', ParseMethods.digit, /[\d.٫۰-۹]/);

      const {CHTMLmn} = MathJax._.output.chtml.Wrappers.mn;
      CHTMLmn.prototype.remapChars = function (chars) {
        const C = [];
        for (const c of chars) {
          const text = this.font.getRemappedChar('mn', c);
          C.push(...(text ? this.unicodeChars(text, this.variant) : [c]));
        }
        return C;
      };

      const FontData = MathJax.config.chtml.font;
      const REMAP = FontData.remapChars.mn;
      var ZERO = 0x6F0;     // use 0x660 for Arabic, 0x6F0 for Persian
      for (var i = 0; i < 10; i++) {REMAP[0x30 + i] = String.fromCodePoint(ZERO + i)}

      MathJax.startup.defaultReady();
    }
  }

The CHTMLmn output wrapper needs to be modified like this to allow it to remap the digits (right now it is only set up to remap the initial minus sign from a hyphen to the math minus sign.
With those changes, I think you will get better results.

Does the configuration not work on version 4?
Every time we update to a higher version, we have to change the settings completely

Does the configuration not work on version 4?

I'm not sure which configuration you mean.

Every time we update to a higher version, we have to change the settings completely

Version 3 was a complete rewrite of MathJax from the ground up, and it did change the API in a significant way.  That is why the configuration changed so drastically.  We did provide a conversion tool to help you update your configuration from v2 to v3, which it looks like you may have used.
Version 4 is an extension of v3, not a complete rewrite, so the configuration will remain essentially the same (there are some new options).  Because v4 includes many new features, and some changes to the defaults that may not be backward compatible, we have given it a new major version number, but the v3 configurations should work largely without change in v4.  The one caveat is that if you are making changes to the internals of MathJax in your startup.ready() function, it is possible that those will need to be updated for v4.

Ok, well, for example, in startup.ready, I am changing the numbers to Farsi with the code you sent me, which did not work in version 4. This item is now supported in version 4.

Yes, that is exactly the kind of thing I mentioned as possibly needing updating for v4.  The internals of MathJax have changed, and code in startup.ready() that manipulates those internals, as the Farsi number code does, may need updating.  That is to be expected when you make those kinds of adjustments, and is one of the reasons that v4 is a major update with a higher major version number.

Ok, how can I find out that this possibility is available on v4 and switch to it?

Ok, how can I find out that this possibility is available on v4 and switch to it?

What do you mean by "this possibility"?

`
startup: {
ready() {
const {CHTMLmn} = MathJax._.output.chtml.Wrappers.mn;
CHTMLmn.prototype.remapChars = function (chars) {
const C = [];
for (const c of chars) {
const text = this.font.getRemappedChar('mn', c);
C.push(...(text ? this.unicodeChars(text, this.variant) : [c]));
}
return C;
};
  const FontData = MathJax.config.chtml.font;
  const REMAP = FontData.remapChars.mn;
  var ZERO = 0x6F0;     // use 0x660 for Arabic, 0x6F0 for Persian
  for (var i = 0; i < 10; i++) {REMAP[0x30 + i] = String.fromCodePoint(ZERO + i)}

  MathJax.startup.defaultReady();
}

}
`
Convert numbers to Farsi in starup.ready()

Since you have this code in v3, you could try it in v4.  When it doesn't work, you would look at the error messages and work from there.  You could use the GitHub comparison tools (available by starting a new pull request) to compare the 4.0.0-beta.4 tag to the current master branch (there are a lot of changes, however), and look for what may have changed in the file where the code that is causing the error occurs.
For example, the first error you will get is that there is no CHTMLmn properly in the MathJax._.output.chtml.Wrappers.mn object.  The MathJax._ object corresponds to the source tree for MathJax, so you would look at the ts/output/chtml/Wrappers/mn.ts file in the comparison and see that CHTMLmn has been renamed to ChtmlMn.  The is what lead to that change in the v4 update that I posted in one of your other issues.
You would have to continue that way until you resolved the problems.
Note that there is information in the beta.4, beta.2, and alpha.1 release notes about what changes are being made, so that may also give you some hints about what to do.
Also, since the v3 code was posted in an issue tracker, you could make a comment there asking for a v4 version.

For the record, the updated code for v4 is
       startup: {
                ready() {
                    const { CHTMLmn } = MathJax._.output.chtml.Wrappers.mn;
                    CHTMLmn.prototype.remapChars = function (chars) {
                        const C = [];
                        for (const c of chars) {
                            const text = this.font.getRemappedChar('mn', c);
                            C.push(...(text ? this.unicodeChars(text, this.variant) : [c]));
                        }
                        return C;
                    };

                    const FontData = MathJax.config.chtml.font;
                    const REMAP = FontData.remapChars.mn;
                    var ZERO = 0x6F0;     // use 0x660 for Arabic, 0x6F0 for Persian
                    for (var i = 0; i < 10; i++) { REMAP[0x30 + i] = String.fromCodePoint(ZERO + i) }

                    MathJax.startup.defaultReady();
                }
            }

For the record this is the code updated for v4:
  startup: {
    ready() {
      const ParseMethods = MathJax._.input.tex.ParseMethods.default;
      const {RegExpMap} = MathJax._.input.tex.TokenMap;
      new RegExpMap('digit', ParseMethods.digit, /[\d.٫۰-۹]/);

      const {ChtmlMn} = MathJax._.output.chtml.Wrappers.mn;
      ChtmlMn.prototype.remapChars = function (chars) {
        const C = [];
        for (const c of chars) {
          const text = this.font.getRemappedChar('mn', c);
          C.push(...(text ? this.unicodeChars(text, this.variant) : [c]));
        }
        return C;
      };

      const {FontData} = MathJax._.output.common.FontData;
      const REMAP = FontData.defaultMnMap;
      var ZERO = 0x6F0;     // use 0x660 for Arabic, 0x6F0 for Persian
      for (var i = 0; i < 10; i++) {REMAP[0x30 + i] = String.fromCodePoint(ZERO + i)}

      MathJax.startup.defaultReady();
    }
  }

For the record this is the code updated for v4:
  startup: {
    ready() {
      const ParseMethods = MathJax._.input.tex.ParseMethods.default;
      const {RegExpMap} = MathJax._.input.tex.TokenMap;
      new RegExpMap('digit', ParseMethods.digit, /[\d.٫۰-۹]/);

      const {ChtmlMn} = MathJax._.output.chtml.Wrappers.mn;
      ChtmlMn.prototype.remapChars = function (chars) {
        const C = [];
        for (const c of chars) {
          const text = this.font.getRemappedChar('mn', c);
          C.push(...(text ? this.unicodeChars(text, this.variant) : [c]));
        }
        return C;
      };

      const {FontData} = MathJax._.output.common.FontData;
      const REMAP = FontData.defaultMnMap;
      var ZERO = 0x6F0;     // use 0x660 for Arabic, 0x6F0 for Persian
      for (var i = 0; i < 10; i++) {REMAP[0x30 + i] = String.fromCodePoint(ZERO + i)}

      MathJax.startup.defaultReady();
    }
  }

very thanx

@saraOrkide: I had originally posted the v4 version here in response to another of your questions.  Perhaps you didn't see it there.


Webumenia 1899 state management pre filtre z url

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (link to Jira or GitHub issue)
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] I have updated the CHANGELOG
[ ] I have requested at least 1 reviewer for this PR
[ ] I have made corresponding changes to the documentation

@FrantisekMichalSebestyen please mark this as ready for review if you want to merge it soon (I think we're close)


Migration to Cirrus CI for FreeBSD amd64

Periodically for FreeBSD amd64 CI jobs fail
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'generic/freebsd12' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Loading metadata for box 'generic/freebsd12'
    default: URL: https://vagrantcloud.com/generic/freebsd12
==> default: Adding box 'generic/freebsd12' (v3.5.2) for provider: virtualbox
    default: Downloading: https://vagrantcloud.com/generic/boxes/freebsd12/versions/3.5.2/providers/virtualbox.box

Progress: 0% (Rate: 0*/s, Estimated time remaining: --:--:--)
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

The requested URL returned error: 429

Error: Process completed with exit code 1.

@Mizux Can we migrate to Cirrus CI?
Since it is first CI service with support FreeBSD
cirrus-ci-features
cirrus-ci-freebsd-guide

There are a bunch of CIs that could be interesting:

cirrus ci for FreeBSD
scaleway for Apple M1

Unfortunately we need to check pricing / policies and security before moving in that direction. Also more CI means more maintenance work so there's a trade off here.


Parallel coordinates plot

For https://github.com/iterative/dvc/pull/6933

[ ] Include https://github.com/iterative/dvc.org/pull/3101

FYI, we discussed in refinement today that it's probably better to make this a separate subcommand, like dvc exp plots, dvc exp report, or similar. It gives flexibility to add more to the HTML and change the options, and it promotes it more than another option in dvc exp show.
Although TBH I don't feel too strongly either way. If I'm already looking at the table and decide it would be easier to view it as a PCP, does it make sense to have to use a different command?

This is in pretty good shape but I left some specific changes that I think would be ideal. Not trying to block merge but if we have some time please address those. There's also (from the decription):

[ ] Include https://github.com/iterative/dvc.org/pull/3101

Thanks!

This is in pretty good shape @daavoo, but I left some specific suggestion that I think would be ideal (6 unresolved comments as of now, starting at #3105 (review)). Not trying to block merge but if we have some time please address those. There's also (from the description):

I think I addressed all comments. About the item in description, I think we will have to wait until it gets merged on core and then update

@jorgeorpinel any updates? can we merge this?


Move new plugin templates into Java resources not as a part of Ruby code

@sakama (Cc: @muga) Can you have a look?
This change is:

To locate the files more natural location.

embulk new and embulk migrate are now processed with Java code, not Ruby code. It is natural to locate as a Java resource, not as a part of Ruby code (in /lib).

To minimize the size of Ruby code in the Embulk package.

The files go into embulk-core, not embulk-cli, as a workaround against Shadow Gradle Plugin's bug.
https://github.com/johnrengelman/shadow/issues/111
If gradle-wrapper.jar is processed directly by Shadow Plugin in embulk-cli, gradle-wrapper.jar is unzipped unexpectedly. If the jar is once contained in embulk-core's jar, gradle-wrapper.jar is not unzipped.

Thanks!


Seems to be copied from my article!

A big chunk of the data guard article is copied from my article here.
https://oracle-base.com/articles/12c/data-guard-setup-using-broker-12cr2
This was brought to my attention by one of my readers!

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

ID: 514bcbf1-9ebb-b9f0-a12e-bfdaf7c9b06f
Version Independent ID: b13e5e51-04c9-cf3f-1196-289802fb56c7
Content: Implement Oracle Data Guard on an Azure Linux virtual machine
Content Source: articles/virtual-machines/workloads/oracle/configure-oracle-dataguard.md
Service: virtual-machines-linux
GitHub Login: @romitgirdhar
Microsoft Alias: rogirdh

Wrong link. It was this 12.1 article it was copied from.
https://oracle-base.com/articles/12c/data-guard-setup-using-broker-12cr1
Still has all the tell-tale signs of the copy... :)

@MicahMcKittrick-MSFT & @romitgirdhar Could you please look into this?

@oraclebase - Thank you for reporting this, looking into it.

Thank you again for reporting your concerns. Upon review against the cited article and other public resources on the topic, we did not find reason to modify this content. The procedures in the documentation are standard steps used to configure the technology in question. #please-close

It's clearly copied from my article. Even the unique name of the standby is a straight copy. Google it "cdb1_stby". The only places you will see it are places that have copied it from me.
Clearly your research was extensive...


Support for 'attachment' data type

Hi,
I'm trying to use haystack + elasticsearch to populate an index with documents, aka files, using the mapper-attachments elasticsearch plugin.
My files are uploaded to the index as base64 streams, I've built a SearchField that provides this functionnality. My files are visible as a string in the elasticsearch index, it has been uploaded.
My question is : How can I bind the field type 'attachment' into the mappings ?
As I saw in the haystack code, it uses a hard coded set of rules, and does not provide this kind of mappings. In elasticstack, show_mapping --detail uses the same mapping stuff, so I'm stuck.
Have you any idea on how to provide this functionality ? Thanks !

I can only give this a cursory answer at the moment, but the show_mapping management command here is used to show the search mapping you're using primarily as a debug tool for building your own. You'd do that by creating your own mapping named ELASTICSEARCH_INDEX_SETTINGS and then to enable that mapping, use the bundled backend.
Does that answer your question?

OK,
I've added my mapping :
 ELASTICSEARCH_INDEX_SETTINGS = {
        'mappings': {
            'document': {
                'properties': {'document_file': {'type': 'attachment'}}
            }
        },
        ... the rest of the default mapping provided as default ...

but when I do a :
$ ./manage.py show_mapping --detail

document file is a string.

I've tryed also to put my mapping definition to the settings section, but I 've the same result.

My default analyzer is "french" :
ELASTICSEARCH_DEFAULT_ANALYZER = 'french'

Hi, I'm back with my attachments... and I'got it !
I've MANUALY updated the FIELD_MAPPINGS in the haystack elasticsearch_bakends.py file, which work and gives the correct mapping from the server.
So I have to find a way to ovrride the build_schema method in your ConfigurableElasticBackend to use this feature :

get the default mapping from settings
build schema with this mapping

I'll give you my piece of code after...
Thanks !

OK, I've got it :

This provides a way of gettings mappings from settings :

DEFAULT_FIELD_MAPPING = {'type': 'string', 'analyzer': 'snowball'}
FIELD_MAPPINGS = {
    'edge_ngram': {'type': 'string', 'analyzer': 'edgengram_analyzer'},
    'ngram': {'type': 'string', 'analyzer': 'ngram_analyzer'},
    'date': {'type': 'date'},
    'datetime': {'type': 'date'},

    'location': {'type': 'geo_point'},
    'boolean': {'type': 'boolean'},
    'float': {'type': 'float'},
    'long': {'type': 'long'},
    'integer': {'type': 'long'},
    'attachment': {'type': 'attachment'}, # I've added as default the attachment
}

def get_default_field_mappings():

    default_field_mappings = getattr(settings, 'ELASTICSEARCH_DEFAULT_FIELD_MAPPINGS', DEFAULT_FIELD_MAPPING)
    return default_field_mappings

def get_field_mappings():
    """
    Gets the field_mappings from settings `ELASTICSEARCH_FIELD_MAPPINGS` if exists,
    otherwise returns FIELD_MAPPINGS dict.
    :return: dict of mappings from field types to properties
    """
    field_mappings = getattr(settings, 'ELASTICSEARCH_FIELD_MAPPINGS', FIELD_MAPPINGS)
    return field_mappings

And the backend class :

class ExtendedElasticsearchBackend(ConfigurableElasticBackend):
    """
    Adds `attachment` support for elasticsearch backend settings
    """

    def build_schema(self, fields):
        """
        Merge from haystack and elasticstack elasticsearch backend `build_shema` methods.
        It provides an additional feuture : custom field mappings, from settings or default FIELD_MAPPINGS dict.
        :param fields:
        :return:
        """
        content_field_name = ''
        mapping = {
            DJANGO_CT: {'type': 'string', 'index': 'not_analyzed', 'include_in_all': False},
            DJANGO_ID: {'type': 'string', 'index': 'not_analyzed', 'include_in_all': False},
        }
        field_mappings = get_field_mappings()
        default_field_mappings = get_default_field_mappings()

        for field_name, field_class in fields.items():
            field_mapping = field_mappings.get(field_class.field_type, default_field_mappings).copy()
            if field_class.boost != 1.0:
                field_mapping['boost'] = field_class.boost

            if field_class.document is True:
                content_field_name = field_class.index_fieldname

            # Do this last to override `text` fields.
            if field_mapping['type'] == 'string' and field_class.indexed:
                if not hasattr(field_class, 'facet_for') and not field_class.field_type in ('ngram', 'edge_ngram'):
                    field_mapping['analyzer'] = getattr(field_class, 'analyzer', self.DEFAULT_ANALYZER)

            mapping[field_class.index_fieldname] = field_mapping

        return content_field_name, mapping

class ExtendedElasticSearchEngine(ConfigurableElasticSearchEngine):
    backend = ExtendedElasticsearchBackend

This class can be used as a backend, it's a quick and dirty merge of the haystack and elasticstack elasticsearch backends.

my AttachmentField class. (I actualy uses Filer as file management application)

from filer.models import File as fi_File

class AttachmentField(SearchField):
    field_type = 'attachment'
    author_field = 'author'

    def __init__(self, **kwargs):
        if 'content_type_field' in kwargs:
            self.content_type_field = kwargs.pop('content_type_field')
        if 'author_field' in kwargs:
            self.author_field = kwargs.pop('author_field')

        super(AttachmentField, self).__init__(**kwargs)

    def convert(self, value):
        if isinstance(value, fi_File):
            field_file = value.file.file
            name = value.label
            content_length = len(field_file)
            content_type = get_content_type(name)
            try:
                content = base64.b64encode(field_file.read())
            except AttributeError:
                content = base64.b64encode(field_file)

        else:  # isinstance(field, dj_File):
            field_file = value
            content_length = len(field_file)
            content_type = None
            name = None
            try:
                content = base64.b64encode(field_file.read())
            except AttributeError:
                content = base64.b64encode(field_file)

        output = {'_language': 'fr',
                  '_content': content,
                  '_content_type': content_type,
                  '_name': name,
                  '_title': name,
                  '_content_length': content_length
                  }
        return output

... And it seems to work !
You can try this code, and if you can adapt it to integrate into elasticsearch. It looks ti work here...
Thanks !

My final version :
https://gist.github.com/frague59/aab071f0bdce5b010ce4
Do WTF you want with it ;)

Thanks @frague59 for sharing!


feat: support mcosu clients

Describe your changes
Added some configuration options so server owners can easily tell McOsu clients how to behave.
Defaults match how the clients behave when a server doesn't signal anything: you can connect, but not submit scores.
Related Issues / Projects
https://mcosu.kiwec.net
I'm releasing the score submission build tomorrow - code is already available on the v34.02 branch.
Checklist

[x] I've manually tested my code

before going into the debate of if we want to support this or not.
let's say we do. is the same header present on score submission? also, how can we assure that a user isn't going to just modify the source code to not pass these headers? i have a few concerns about allowing these clients to connect at all -- and regardless of if we agree to allowing them to be supported in the code, how are we going to enforce literally anything? it's an open source client without any real guarantees (lack of anticheat etc.) so we are kind of stuck in a rock between a hard place here

yeah i understand, i'm just afraid that we're opening a bit of a can of worms here...

You can't. The point of this PR is to let the clients who do pass the headers respect the admin's wishes.
Do you mean this as in that McOsu by default is fully capable of connecting to private servers, and this layer of control would provide the best it could in terms of controlling McOsu's behavior?

It will give players the freedom to play the way they want, not the way peppy wants.
saying peppy decides the direction lazer goes is kinda crazy ngl

osu!lazer is open source, osu!stable had its source code leaked also
they also enforce a client-side anticheat. this is not a fair comparison

As far as I am concerned, this is very low priority for review but I would have appreciated changes like this which introduce new behaviour to be discussed beforehand.
Keeping that in mind, I do believe that this does not fall under our responsibility and I very much disagree with the approach of introducing new client-specific checks.

"EZPPFarm was the only one to approve of score submission, but the others have approved the rest of multiplayer features (hence the default settings)."

with all due respect to you and the owner of EZPPFarm, me and probably others are geniuenly not really surprisedthat they agreed. They're i think the most outlying server out of all private servers. They already do custom clients and are overall not really a good orientation to what other servers think.
WIth this being said, while i really understand and appreciate the thought of making more clients accessable to the game and servers, i do not think it's a good fit for here because of the concerns raised during this discussion.

Me and a maintainer briefly discussed this, and figured it might make more sense to implement this kind of support via an existing endpoint, rather than dedicating the functionality in banchopy. It is supposed to be a pretty general osu! server implementation, without any special shenanigans for some custom clients.
IMO, consider using something like the lastfm.php endpoint, and send a flag for someone using McOsu with score-submission or similar in there so that it can be seemlessly blocked there, without adding a lot of fanfare.
e.g.
if flags & (LastFMFlags.MCOSU_SCORE_SUB | LastFMFlags.MCOSU_MULTI): # or maybe even a general LastFMFlags.MCOSU
    player.logout()

To me personally that'd seem like an acceptable approach, and makes private servers capable of blocking McOsu easily.
Maybe the maintainers can leave their opinion about this here.


Allow projects with multiple, heterogeneous drivers.

BP projects only support multiple drivers if the drivers differ only by device id - that means if things like width, height, or serpentine change are different, you're out of luck.
This also results in a hard-to-explain data format.
We should fix this, and then fix #263 with the new documentation.

Ah, yes... absolutely :)
On Tue, Jul 4, 2017 at 8:54 AM, Tom Swirly<EMAIL_ADDRESS>wrote:

BP projects only support multiple drivers if the drivers differ only by
device id - that means if things like width, height, or serpentine change
are different, you're out of luck.
This also results in a hard-to-explain data format.
We should fix this, and then fix #263
https://github.com/ManiacalLabs/BiblioPixel/issues/263 with the new
documentation.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/issues/264, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AA6a6uYWrrClSgFvDgBQohDU-8Q04sIyks5sKjYbgaJpZM4ONUTy
.

Regarding backwards compatibility here, my goal is to have this backward compatible with 3.0 for single driver projects that already exist, but not for multiple driver projects - since we never documented those and it's my strong belief that I'm the only one who has any multi-driver projects.  :-)

Perfectly acceptable
On Tue, Jul 4, 2017 at 9:05 AM, Tom Swirly<EMAIL_ADDRESS>wrote:

Regarding backwards compatibility here, my goal is to have this backward
compatible with 3.0 for single driver projects that already exist, but
not for multiple driver projects - since we never documented those and
it's my strong belief that I'm the only one who has any multi-driver
projects. :-)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/issues/264#issuecomment-312873229,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA6a6uBBnDLwUkrs18mPbjiovdPA4FJDks5sKjiogaJpZM4ONUTy
.


Add admin func to voters

Hey  keith, Why voters admin ? What's the reason behind it?

Hi, Dynamic.
As generic as this may sound, i am new to open-source development. And i saw that it may be a feature (i believe) that can be added. However, if it is wrong, or something may be added or altered, i am open to correction and further assistance.

Hey Keith, it's just that in our meetings the matter of having admins was in contention and we decided not to have admins. Welcome to the open-source community.

Well noted. I was not in the meeting, and I did not see any updates from
the meeting.
I shall work on something else.
Thank you.
Obando
On Sun, 14 Jul 2024, 10:40 dynamic, @.***> wrote:

Hey Keith, it's just that in our meetings the matter of having admins was
in contention and we decided not to have admins. Welcome to the open-source
community.
—
Reply to this email directly, view it on GitHub
https://github.com/Friendsofthepeople/django-recall-server/pull/32#issuecomment-2227228286,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AV6RB2CH6L5DUDMTWE3LNKDZMITOZAVCNFSM6AAAAABK2JVMW2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRXGIZDQMRYGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

Well noted. I was not in the meeting, and I did not see any updates from the meeting. I shall work on something else. Thank you. Obando
…
On Sun, 14 Jul 2024, 10:40 dynamic, @.> wrote: Hey Keith, it's just that in our meetings the matter of having admins was in contention and we decided not to have admins. Welcome to the open-source community. — Reply to this email directly, view it on GitHub <#32 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AV6RB2CH6L5DUDMTWE3LNKDZMITOZAVCNFSM6AAAAABK2JVMW2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRXGIZDQMRYGY . You are receiving this because you authored the thread.Message ID: @.>

@17Keith, so are you comfortable with me closing the pr?

@C-o-m-o-n  yes, it is all okay with me,
You can assign me something else to work on, i start from there.
I apologies for the slight mishap.


Version 1.5.4?

Dependabot just pushed a PR to our repo for version 1.5.4, which doesn't have an associated release, and there haven't been recent changes that I can see in the commit history. What is this release? It seems suspect...

I just saw that it seems to be published from branch publish-1.4.0-as-1.5.3, which has the respective commit (Readme change & version bump)

Who is in charge here? Please merge this to master asap!

Version 1.5.4 is 32 commits behind master (v1.5.3). Happened to stumble on this issue because Redux as a devDependency is missing in 1.5.4, but not on master: https://github.com/reduxjs/redux-mock-store/blob/b943c3ba0abf6d3e7f9918bd470525e85d166cff/package.json#L56-L58

For those wondering, 1.5.3 and 1.5.4 don't have much diff except for README.md: https://my.diffend.io/npm/redux-mock-store/1.5.3/1.5.4

For those wondering, 1.5.3 and 1.5.4 don't have much diff except for README.md: https://my.diffend.io/npm/redux-mock-store/1.5.3/1.5.4

Thank you. Simplifying: 1.5.4 uses the code from this repos 1.5.3 and is safe to use! No trojan horse in the code.


MAINT: splitting utils.py to submodules

utils.py had become a monster

Can one y'all explain to me plurality and duck typing like I'm a 🦆?


Add a sample broker definition to https://plexsystems.github.io/rabbit-viz/

Add some sample configuration so that new users can understand better the value of this tool.
I opened the page and could not find a sample configuration or a screenshot.

Thanks for the idea @luissantos! This is a great idea that would improve the immediate understanding of the tool and should be fairly easy to implement.

I can take this one on if nobody else is interested.

The implementation of this that I'm putting together is fairly simple, but should demonstrate the basics. The sample definition looks like this:
{
  "vhosts": [{
    "name": "logs"
  }],
  "policies": [{
    "vhost": "logs",
    "name": "logs",
    "pattern": ".*",
    "apply-to": "all",
    "definition": {
      "ha-mode": "all",
      "ha-sync-mode": "manual"
    },
    "priority": 0
  }],
  "queues": [{
    "name": "log",
    "vhost": "logs",
    "durable": true,
    "auto_delete": false,
    "arguments": {}
  }, {
    "name": "critical",
    "vhost": "logs",
    "durable": true,
    "auto_delete": false,
    "arguments": {}
  }, {
    "name": "alert",
    "vhost": "logs",
    "durable": true,
    "auto_delete": false,
    "arguments": {}
  }],
  "exchanges": [{
    "name": "logs",
    "vhost": "logs",
    "type": "topic",
    "durable": true,
    "auto_delete": false,
    "internal": false,
    "arguments": {}
  }],
  "bindings": [{
    "source": "logs",
    "vhost": "logs",
    "destination": "log",
    "destination_type": "queue",
    "routing_key": "log.*",
    "arguments": {}
  }, {
    "source": "logs",
    "vhost": "logs",
    "destination": "critical",
    "destination_type": "queue",
    "routing_key": "*.critical",
    "arguments": {}
  }, {
    "source": "logs",
    "vhost": "logs",
    "destination": "alert",
    "destination_type": "queue",
    "routing_key": "alert.*",
    "arguments": {}
  }]
}

This produces a graph like this:

This feels like a sufficient sample, without going full sample repository a la ARMVIZ, but I'm open to concerns/suggestions with this sample.

I think it's a good enough start and better than we have right now (which is nada).

Example definition has been implemented and deployed to the gh-pages site.


feat(router): stateful routes

Adds stateful routes so that route configurations can specify a module or a module in a viewport as stateful: true. A stateful module that's loaded in a viewport is never unloaded when navigating away, it's just not shown, and is displayed with the same state whenever a route places it in the same viewport again.
Depending on aurelia/router#536, aurelia/router#538, aurelia/templating#572, aurelia/templating-router#64 and aurelia/templating-router#65.
Closes aurelia/router#534.

@davismj This is a pretty highly requested feature. The PR has quite a few changes, so needs careful review.

@EisenbergEffect I thought I had replied to this one. What does this solve that a @singleton view model doesn't?

@jwx - Can I just check something? If I had a route:
person/:id/details
and I navigated through 100 people, it would have 100 hidden people waiting in the DOM(view)/in-memory(view model). Is this correct?
By 'hidden' do you mean 'display:none' in css or removed from the DOM?
Apart from increase memory demands are there any drawbacks of this feature?
Do you still get the same 'activate' etc events in the 'detail' VM?
Is there a way to clear the cache, if you so wanted?

Was this every implemented?  I am building an app that has a geographic map and I want the map to be retained in memory when I navigate away and return.

And this one too please :)
https://github.com/aurelia/router/issues/528

Bump.

@davismj @EisenbergEffect - any news on this? Any eta?

@jwx @davismj @EisenbergEffect - any news on this? Any eta?

Apologies for keeping everyone waiting on this for so long.
At the moment our priority is with getting Aurelia 2 to alpha. That is not to say that we're abandoning v1, but I strongly believe it to be in the majority of the community's best interest that we first get v2 to a state where we can comfortably recommend it for production, before adding any new features to v1.
This feature as well as almost all other requested features are in fact already implemented and well-tested in v2. The bulk of the remaining work in v2 is further improving test coverage, and maximizing backwards compatibility with v1 to ease migration.
The original plan was to get v2 done in Q1 this year. Due to various circumstances we won't make that, so we're trying to make sure it will at least be Q2 at the latest, and to maximize the odds of accomplishing that we need to focus all effort on v2 for the time being. After that, the idea is to circle back to v1 and backport some tests and features where possible, bringing v1 and v2 closer to each other to make migration even easier.

@fkleuver - many thanks for the detailed reply, Looking forward to v2! :-)


trial log integration should use JSON.

It is impossible to run the logs through eliot-tree otherwise.
It masks log messages that can't be logged as JSON. (This should probably actually result in a trial error).

Although, it might be nicer if it just wrote a log-file with everything as eliot logs.

It sounds like the initial idea here was to have a second log file apart from _trial_temp/test.log.  The second log file would have the Eliot logs in the normal Eliot JSON format.  And then the follow-up idea is that there should be a second log file that logs everything, events from the Twisted log system and native Eliot logs and that should be in the normal Eliot JSON format (or possibly this second log should just supplant _trial_temp/test.log entirely).
Did I get that right?

The first idea was just changing the log to be JSON in the normal eliot JSON but in the twisted log file, and using a post-filter (like included in https://clusterhq.atlassian.net/browse/FLOC-2097).

I do think having a new log that just supplants _trial_temp/test.log is the better option.

Agree that a new, entirely-eliot log is the better way. I also think that if we do that then the tests themselves should be treated as eliot actions. I've made https://github.com/jml/trial-eliot, which starts along these lines. (Alas, not usable).
I think logging JSON is a much easier fix which could help us almost immediately.

Workaround in the mean-time: https://github.com/jml/trial-eliot/blob/master/bin/from-trial-log
Run that on a _trial_temp/test.log and it will do its best to extract the eliot messages and convert them to JSON.

Should this be closed now since #179 is merged?

I think #179 is more of an improvement, rather than the final proposed solution.


Moved Babel and ESLint config to package.json after ejecting

Implements https://github.com/facebookincubator/create-react-app/issues/766
E2E test ran successfully on my computer.
While running it I discovered that https://github.com/facebookincubator/create-react-app/blob/master/tasks/e2e.sh#L187 does not work, the test ran in watch mode anyway.

Looks good to me, thanks!

@gaearon any ETA on releasing this? I'd love to show this in my Ejecting video, but I'm recording it today

OK, I’ll cut 0.6.1 😄

Out in 0.6.1, please verify!

works great! Thank you sooooo much ❤


Add support for errata changes to QDM 5.4

MCCB approved the following changes to QDM 5.4:

Add daysSupplied Integer 0..1 to
-- Medication, Order
-- Medication, Dispensed
-- Medication, Discharged
Add prescriberIdentifier QDM.Id 0..1 to
-- Medication, Order
-- Medication, Dispensed
Add dispenserIdentifier QDM.id 0..1 to
-- Medication, Dispensed

Add these to the QDM 5.4 model info.

Addressed in 1.3.2-SNAPSHOT release


bugfix/NETEXP-741: fix being able to deleting current user

JIRA: NETEXP-741
Description
Summary of this PR

part of other PR on CMAP side NETEXP-741

stops rendering of delete button on Users page only for the current user.

Cannot provide screen shots as I could not test this, it require changes on the cmap-ui side

Before this PR
Screenshots of what it looked like before this PR
After this PR
Screenshots of what it will look like after this PR

fix the tests


Build setting allParamsOptional is not working as expected

What are the steps to reproduce this issue?

Generate with allParamsOptional set to true.

What happens?
Not all params are optional.
What were you expecting to happen?
All params are optional.
Any logs, error output, etc?
No
Any other comments?
// orval.config.ts
import { defineConfig } from "orval";

export default defineConfig({
  petstore: {
    input: {
      target: "https://petstore.swagger.io/v2/swagger.json",
    },
    output: {
      clean: true,
      target: "./generated",
      allParamsOptional: true,
    },
  },
});

Generated output
// generated/swaggerPetstore.ts

export const deleteOrder = <TData = AxiosResponse<unknown>>(
  orderId: number | undefined | null, // ✅ orderId is optional
  options?: AxiosRequestConfig
): Promise<TData> => {
  return axios.delete(`/store/order/${orderId}`, options);
};

export const findPetsByTags = <TData = AxiosResponse<Pet[]>>(
  params: FindPetsByTagsParams, // ❌ params is not optional
  options?: AxiosRequestConfig
): Promise<TData> => {
  return axios.get(`/pet/findByTags`, {
    ...options,
    params: { ...params, ...options?.params },
  });
};

export const updateUser = <TData = AxiosResponse<unknown>>(
  username: string | undefined | null,
  user: User, // ❌ user is not optional
  options?: AxiosRequestConfig
): Promise<TData> => {
  return axios.put(`/user/${username}`, user, options);
};

My guess is that params of type Object (and Array?) are not handled correctly.
What versions are you using?
Operating System: Windows
Package Version: 6.27.1
Browser Version: n/a

@melloware I gave it a try, https://github.com/anymaniax/orval/pull/1361, what do you think?


fix(testnet): the safe contracts will not be deployed while using public blockchain.

…lic blockchain.

Codecov Report

Merging #341 (44dbbd5) into feature-nervos-to-ethereum (a68b9cb) will decrease coverage by 3.76%.
The diff coverage is n/a.

@@                      Coverage Diff                       @@
##           feature-nervos-to-ethereum     #341      +/-   ##
==============================================================
- Coverage                       42.72%   38.96%   -3.77%
==============================================================
  Files                              24       16       -8
  Lines                            1959     1699     -260
  Branches                           58        0      -58
==============================================================
- Hits                              837      662     -175
+ Misses                           1122     1037      -85

Impacted Files
Coverage Δ

...in-modules/eth-contracts/contracts/ForceBridge.sol

...th-contracts/contracts/libraries/MultisigUtils.sol

...ules/eth-contracts/contracts/libraries/Address.sol

...les/eth-contracts/contracts/libraries/SafeMath.sol

...n-modules/eth-contracts/contracts/AssetManager.sol

...ules/eth-contracts/contracts/NervosMirrorToken.sol

...ain-modules/eth-contracts/contracts/test/ERC20.sol

...es/eth-contracts/contracts/libraries/SafeERC20.sol

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 a68b9cb...44dbbd5. Read the comment docs.


Bootstrap libvirt in adoption infra playbook

When creating infra for adoption uni jobs in a freshly provision
machine, we need to make use libvirt is ready to be used by calling the
'boostrap_libvirt' tasks of the libvirt_manager role.

/approve

/cherrypick 18.0-fr1

/cherry-pick 18.0-fr1


prepare for use of jneqsim

We will start using the jneqsim package to link Java Neqsim to neqsim-python. The jneqsim package does not add extra Python functionality to Neqsim (it is just an interface to the Neqsim Java library), but it facilitates the generation of stubs.
If only Java functionality is needed in your Python application using Neqsim, then direct use of jneqsim is recommended. However, neqsim-python adds functionality and wrappers that can simplify calculations and shorten the scripts.
jneqsim is not yet updated to v3.0.0, so we need to wait for this version to be available for it to work.

I support the change but want to test a bit before approving this.
Specifically I want to verify the overload done by "import jneqsim as neqsim"

The tests are currently failing because of conflicting definitions of python module neqsim

I would await https://github.com/equinor/jneqsim/pull/15

I am not sure it is worth it to do "from jneqsim import neqsim" and overwrite the package structure that neqsim python package defines, it will have funky behaviour, but I was able to make the tests work.
I would still recommend "from jneqsim import neqsim as jneqsim" and have a clean separation between python neqsim package objects and java neqsim objects.
It is nice to get the neqsim jars from jneqsim instead of manually updating them here :)


Create the content for Lab 0

Create clear content explaining step by step what needs to be done. The reader must know exactly what needs to be done without further explanations.

Done Lab0 is ready for review.
I'll close this.

I'll consider v1 ready and open new issue if we need other stuff to be pre-installed


Validator -- advance error detection

As a user, I want to know when my submitted data errors are clearly flagged.
PDX Finder table specifications can be extended to include:

Unique combination ( For use on Model page and potentially sample)
Require Filled relation ( Use for when the one column requires a non-blank entry in another column EG Grade requires a grading system. Also Collection Event if sample is not unique)
*ElseThen Relation ( test a relation if the first relation fails to validate)

######## ACCEPTANCE CRITERIA #########

[ ] features planned
[ ] implemented, test, merged
[ ] logs cleaned

I do not think these are any longer relevant to the project @zperova

Relevant features have already been implemented. Closing this ticket as no longer needed.


[BitSail][Core] Unified stream and batch data parsing module, such as BytesParser

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

At present, the BytesParser of batch channel and stream channel are implemented separately and need to be unified


Verify Homebrew gets new Commit

Currently we assume that the Homebrew tap gets a new commit but don't verify it. It'd be nice if Homebrew Releaser could go grab the details of the homebrew tap and verify the latest commit indeed came from this tool to ensure it went through, fail otherwise.

My initial thought is we could check the remote's latest commit and assert the commit message matches as this should be unique on each run (since each run would be associated with a different version number which is included in the commit message): https://docs.github.com/en/rest/reference/repos#list-commits

This shouldn't actually be necessary since we already catch subprocess exceptions and if it couldn't push the commit for whatever reason, the workflow would fail. Closing as wontfix.


Giving the users the power of Skips

We give the clients the nicety of not flooding them with errors and
failures when they fetch the lessons, but with this, we inform them how
they can control the skip behaviors, and how they can test individually
on demand.
fixes #297

This is great!


Improvement - better handling of no premium error

Hi,
The main Flow repo gets a lot of issues when people try and use this plugin without a premium Spotify subscription (I know it's right there in the plugin name but many people just see the "Spotify" part and think it will work for all accounts). Can you look at this exception and see if it can be caught and handled in the results window instead? Thanks.

I hadn't considered that - that's something I'd like to add, thank you!

Should be addressed - closing issue and releasing version 1.1.1


Speakers information does not show session location and no link to session on tracks page

[x] Does not show session location
[x] Does not link to session information on tracks page with expanded section

@mariobehling @championswimmer Taking this

@mariobehling Solved via #686

Please ensure style as in sample style is followed:

[ ] Text below images: Align left and keep same height of both a) speaker name b) company/project
[ ] Text area on overlay: Ensure speaker description text is in standard gray color

@mariobehling @championswimmer Taking this :)

Both task done @championswimmer @mariobehling  It can be closed now via #712

Seems like color has been changed on speakers page. The company info was in a lighter gray. Let's keep that.
Expected look:


Add error if running on Android < 7

It would seem that Android < 7 is not supported by the tool
We could add in https://github.com/bamlab/android-performance-profiler/blob/main/packages/android-performance-profiler/src/commands/cppProfiler.ts in ensureCppProfilerInstalled:
const sdkVersion = parseInt(executeCommand("adb shell getprop ro.build.version.sdk"), 10);

if (sdkVersion < ...) throw new Error("...")

Closed by #40


Adding Image Field with PricePart Errors (OCC-75)

I have tried to isolate this down so here goes. If you add an Image Field (could be any field but I used an Image Field with a name of "Image" then go to add a new product (which has the PricePart and ImageField associated with the content type) it will crash as "LegacyAmountConverter" in "MoneyDataType" project is being called before the post back to the database has a chance to store the "Currency":
if (!Currency.IsKnownCurrency(currency.CurrencyIsoCode))
{
     currency = new Currency(nativename, englishname, symbol, iso, dec.GetValueOrDefault(2));
}

"currency" is null so it will crash. I can't figure out why having a Field on it is causing this to fire off BEFORE the driver is updating the data...  If I can figure out more, will let you know.
Jira issue

Here is the smallest test I came up with:
ContentType:

Let's call it SimpleProduct

Fields:

Add any text field

Parts:

Add PricePart

Then go to make a new "Simple Product" and it will render fine. But, it won't save properly (e.g. the PricePart won't save) and it won't render the PricePart going forward.

The issue is triggered off of OrchardCore.ContentManagement.ContentExtensions.Get method on line 56:
    var result = (ContentElement)elementData.ToObject(contentElementType);

I am assuming this is only called when a field is present.

I am not sure how to help on this one as I see there is a "LegacyAmountConverter" and an "AmountConverter"  Is one of these going away or are both being kept as one targets Newtonsoft.Json?  If LegacyAmountConverter is being kept, should check for "null" on currency before checking if Currency.IsKnownCurrency (i.e. change these lines around):
if (!Currency.IsKnownCurrency(currency.CurrencyIsoCode))
{
    currency = new Currency(nativename, englishname, symbol, iso, dec.GetValueOrDefault(2));
}

if (currency is null)
    throw new InvalidOperationException("Invalid amount format. Must include a currency");

to
if (currency is null)
    throw new InvalidOperationException("Invalid amount format. Must include a currency");

if (!Currency.IsKnownCurrency(currency.CurrencyIsoCode))
{
    currency = new Currency(nativename, englishname, symbol, iso, dec.GetValueOrDefault(2));
}

It seems we need to somehow control the timing (e.g. fields are added first before part is saved). Perhaps there is something that can be skipped in the LegacyAmountConverter if no data set yet, just throwing out thoughts. Off to other development, please let me know if there is a way I can help on this issue.

The one being kept is the "legacy" one, ironically. I'll be removing all the System.Tex.Json ones soon. Failed experiment.

Closing because I can't reproduce it with the instructions mentioned above. We have changed a lot of related code since this issue was opened so it's probably been fixed on the side. Feel free to reopen if you encounter it again.


Preserve data

oop-school-library: Preserve data
Hello ✋,
In this branch, we have done the following:

Created storage files like the person.json, rentals.json, books.json
Updated the rentals.rb, book.rb, student. rb, and teacher.rb files to include a method to turn the object to JSON
Updated our module files in order to read and write the storage files.
Corrected linters

Thank you @dasileker 😃  👍


No Android Auto support on M1 Mac

As we are developing a lot of apps for Android.
But there is no Emulator available

Please tell me, how can this be solved.

works perfect


Constant forwarding constructors could be supported

Currently constant forwarding constructors are not supported, which seems like an oversight.
For instance:
class S {
  final a, b;
  const S({this.a, this.b});
}
class M {}
class C extends S with M {
  const C() : super(b: 2, a: 1);
}
main() => const C();

const C() is not allowed since the super constructor (S+M) is not constant. This could be supported if the constness of the S constructor propagated to the forwarding S+M constructor where feasible.

Duplicate of #9745


--any-of not making sense

Can you please provide a better example of how to use --any-of
I'm trying to test code with these parameters and can't tell why it's failing:
--field entities.ip.address --any-of ['<IP_ADDRESS>/16']

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

ID: 6a24e89f-d91c-e713-a96a-e2ecadce5811
Version Independent ID: 5fb3861b-67d8-1421-c1a2-b335ba5b964f
Content: az security alerts-suppression-rule
Content Source: latest/docs-ref-autogen/security/alerts-suppression-rule.yml
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

route to CXP team

@ran-ten21 Thank you for reaching out, we are looking into it.


Update AICommandSettings.cs

Update AICommandSettings.cs
done with chatgpt. feel free to give it a brief digest and validate if my commitment is right. currently still getting experience on chatgpt and unity

Unfortunately, those comments are incorrect/meaningless.


fix: cache-manager require time to live in millis

The library cache-manager requires the field ttl in millis.
we are dividing seconds in 1000 but instead we need to multiply.
Please close this PR if you feel I am wrong.
PS: if you go to the doc it says this:
https://github.com/node-cache-manager/node-cache-manager/blob/a9703b100a3136713d948d85c0056cf3b0db8687/README.md?plain=1#L32
Thanks.

@stafyniaksacha gently ping.
Is this repo unmantained?

Looks like @stafyniaksacha isn't currently maintaining this but since I'm on the community org council I'll take a look and review/merge. Let me do a bit of testing with it first.

Per the node-cache-manager changelog (https://github.com/node-cache-manager/node-cache-manager/blob/master/CHANGELOG.md) this wasn't introduced until v5.0.0 for their package so it shouldn't be required for now until we upgrade that dependency. I'll close this for now but add a warning in the code we need to update that.


Fetch bstats from gradle

This makes it easier to update bstats as you can bump the version in the build script

This is great, thanks!


feat: Android version

I'd like to vote for the Android version of this app too.

Yes I agree that this would be very useful. I don't have time to work on it at the moment but anyone is welcome to pick up the work 🙂 Setting up android with tauri is actually super easy, the hardest part is to get audio streaming to work


IndexError: index 0 is out of bounds for axis 0 with size 0

I trained a Sklearn CART model (using default parameters provided by Scikit-learn) on the attached data (data.txt, where the column "Target" contains the labels to predict, the rest of the columns containing the values associated with features).
For model fitting, I used :
from sklearn.tree import DecisionTreeClassifier
from sklearn.utils.class_weight import compute_sample_weight
clf = DecisionTreeClassifier(random_state = 374564)
clf.fit(data.drop(['Target'], axis = 1).values, data['Target'].values, sample_weight = compute_sample_weight("balanced", data['Target'].values))
I launched dtreeviz with the following command :
viz = dtreeviz(clf, data.drop(['Target'], axis = 1).values, data['Target'].values, target_name='pred', feature_names=feature_names, class_names=["Class1", "Class2"])
Then I got the following error message :
Traceback (most recent call last):
File "", line 1, in
File "/home/bomane/anaconda3/lib/python3.7/site-packages/dtreeviz/trees.py", line 373, in dtreeviz
filename=f"{tmp}/leaf{node.id}_{getpid()}.svg")
File "/home/bomane/anaconda3/lib/python3.7/site-packages/dtreeviz/trees.py", line 543, in class_leaf_viz
draw_piechart(node.class_counts(), size=size, colors=colors, filename=filename, label=f"n={node.nsamples()}")
File "/home/bomane/anaconda3/lib/python3.7/site-packages/dtreeviz/trees.py", line 728, in draw_piechart
i = np.nonzero(counts)[0][0]
IndexError: index 0 is out of bounds for axis 0 with size 0
Can you please tell me what could be the problem here ?

that's weird. it appears there's a leaf with no observations.  how many labels are in your target?

2 labels : it is binary classification

any chance I could get a small dataset that exhibits this behavior?

In my first message, I provided the exact dataset (data.txt) that I'm using and which leads to the error. It contains only 57 rows and 17 columns

oh sorry. read on my phone earlier. thanks!

I'm getting different error. have you done pip install -U dtreeviz to make sure you have latest? I'm getting
  File "/Users/parrt/github/dtreeviz/dtreeviz/shadow.py", line 243, in feature_name
    return self.shadow_tree.feature_names[ self.feature()]
IndexError: list index out of range

either way...somethings wrong ;)  i'm investigating

Please pip install -U dtreeviz. Should work now. thanks!

@AlexandraBomane can you confirm it works?

Hi @parrt, it works perfectly !
Many thanks for fixing the problem so quickly.


Controller not working Windows 10 Pro

no matter what when i plug my controller into my pc it doesnt show up in ds4 windows,, ive installed the driver multiple times and no different result. My pc doesnt have bluetooth so i cant use that or i would.

Same issue for me also. When I make a new profile if I try to save it without changing anything it also throws an error and wants to close. It said something about a value equaling -1 being out of range. But I also can't get my ds4 to connect through usb does this only support bluetooth connection? If so I can simply grab a cheap adapter to solve it and move on. Using Win10 fall creators.


[AVM Question/Feedback]: Resource Naming in terraform-azurerm-avm-template

Check for previous/existing GitHub issues

[X] I have checked for previous/existing GitHub issues

Description
Not sure best way to accommodate but AVM checklist calls out the need to add "resourceType-" as a variable/local for Terraform. The example today validates the name being passed into the module to ensure all lower case and numbers...the "-" will break this.  https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr25---category-composition---resource-naming
The easy fix is to add the "-" into the validation rule. However looking to see if we should also add a TODO in variables w/ the default value corresponding to the resource name and curious if this should be accommodated for in the default testing process.

Hi @JFolberth can you point me to the code in the repo that needs to change?
Thanks


eclipse:eclipse goal has broken dependencies

From<EMAIL_ADDRESS>on February 08, 2011 03:31:14
What steps will reproduce the problem? 1. run 'mvn eclipse:eclipse' What is the expected output? What do you see instead? fails with errors:
[WARNING] Unable to get resource 'jline:jline:jar:0.9.1' from repository central ( http://repo1.maven.org/maven2 ): Specified destination directory cannot be created: /Users/matthias/.m2/repository/jline/jline/0.9.1
[WARNING] Unable to get resource 'biz.aQute:bndlib:jar:0.0.145' from repository central ( http://repo1.maven.org/maven2 ): Specified destination directory cannot be created: /Users/matthias/.m2/repository/biz/aQute/bndlib/0.0.145
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.
Missing:
----------

jline:jline:jar:0.9.1

Try downloading the file manually from the project website.
Then, install it using the command:
mvn install:install-file -DgroupId=jline -DartifactId=jline -Dversion=0.9.1 -Dpackaging=jar -Dfile=/path/to/file
Alternatively, if you host your own repository you can deploy the file there:
mvn deploy:deploy-file -DgroupId=jline -DartifactId=jline -Dversion=0.9.1 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
Path to dependency:
1) org.apache.maven.plugins:maven-eclipse-plugin:maven-plugin:2.8
2) org.codehaus.plexus:plexus-interactivity-jline:jar:1.0-alpha-5
3) jline:jline:jar:0.9.1

biz.aQute:bndlib:jar:0.0.145

Try downloading the file manually from the project website.
Then, install it using the command:
mvn install:install-file -DgroupId=biz.aQute -DartifactId=bndlib -Dversion=0.0.145 -Dpackaging=jar -Dfile=/path/to/file
Alternatively, if you host your own repository you can deploy the file there:
mvn deploy:deploy-file -DgroupId=biz.aQute -DartifactId=bndlib -Dversion=0.0.145 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
Path to dependency:
1) org.apache.maven.plugins:maven-eclipse-plugin:maven-plugin:2.8
2) biz.aQute:bndlib:jar:0.0.145
----------
2 required artifacts are missing.
for artifact:
org.apache.maven.plugins:maven-eclipse-plugin:maven-plugin:2.8
from the specified remote repositories:
apache.snapshots ( http://repository.apache.org/snapshots ),
central ( http://repo1.maven.org/maven2 )
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 28 seconds
[INFO] Finished at: Tue Feb 08 12:28:29 CET 2011
[INFO] Final Memory: 25M/81M
[INFO] ------------------------------------------------------------------------ What version of the product are you using? On what operating system? cloned from jayway blessed master on Feb 8, 2011
Original issue: http://code.google.com/p/robotium/issues/detail?id=64

From<EMAIL_ADDRESS>on February 08, 2011 03:34:56
ah for christ's sake. nevermind this, there were subfolders in my local repo being created using the root user. no idea how the f that happened.
please discard this issue.

From<EMAIL_ADDRESS>on February 08, 2011 07:45:09
Status: Invalid


[Nuxt 3.1.1] Defining runtimeConfig.public.myValue =  is  not work with NUXT_PUBLIC_MY_VALUE anymore

Environment
RootDir: /home/projects/github-qrbpqh                                                 05:30:19
Nuxt project info:                                                                    05:30:19

Operating System: Linux
Node Version:     v16.14.2
Nuxt Version:     3.1.1
Nitro Version:    2.1.1
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      runtimeConfig
Runtime Modules:  -
Build Modules:    -

Reproduction
https://stackblitz.com/edit/github-qrbpqh?file=app.vue,nuxt.config.ts
Run npm i && npm run build && npm run preview,
Describe the bug
The docs say you can write env variables like this:
https://nuxt.com/docs/guide/going-further/runtime-config#environment-variables
export default defineNuxtConfig({
  runtimeConfig: {
    apiSecret: '', // can be overridden by NUXT_API_SECRET environment variable
    public: {
      apiBase: '', // can be overridden by NUXT_PUBLIC_API_BASE environment variable
    }
  },
})

and .env
NUXT_API_SECRET=api_secret_token
NUXT_PUBLIC_API_BASE=https://nuxtjs.org

In the newest nuxt version, this does not work anymore. The string stays empty after build, so the .env variables are not injected
Additional context
No response
Logs
No response

Closed, github somehow posted this twice. See #18692 for new version