Add css declaration sorter package

See if everything works, didn't want to force push. :crossed_fingers:

Coverage increased (+0.0002%) to 99.582% when pulling f3f120c1a76380ba660e4b3cdcf203faf3585893 on Siilwyn:add-css-declaration-sorter-package into 208cde414c7cd391472b564585f8204a3c198ad2 on ben-eb:master.


Record logs from e2e tests in event of failure

This PR needs a careful look at the HUB.  I think we are transitioning
to gcr.io/istio-testing

Note, this was @howardjohn 's original work in my debug PR for the CNI.

I think we still need the istio/istio PR, as istio/istio may be broken otherwise by default...


linux_test

linux_test is implemented like the chat and the generate with OpenAI client.
Don't use TLS for simplicity, assuming it's a local server only because fine-tuned model is local.
Resolves #659
Testing: #632

Checklist:

[x] Commit Message Formatting: Commit titles and messages follow guidelines in the
conventional commits.
[x] Changelog updated with breaking and/or notable changes for the next minor release.

@makelinux is this a duplicate of https://github.com/instructlab/instructlab/pull/1314?
Adding hold until this is answer

@nathan-weinberg , no, it is another better method

@makelinux in the future, please limit changes to a single PR - if you are experimenting with implementations, you can open a draft PR and open it for review once it is ready

false ruff report:
  +        from instructlab.server import ensure_server
           import httpx
  -
  -        # First Party
  -        from instructlab.server import ensure_server

false ruff report:
  +        from instructlab.server import ensure_server
           import httpx
  -
  -        # First Party
  -        from instructlab.server import ensure_server

Related to https://github.com/instructlab/instructlab/pull/1410?

How intensive is the test command? Could we run it in the CI? Thanks!

@leseb . 100 tokens per minute.

How intensive is the test command? Could we run it in the CI? Thanks!

@leseb . 100 tokens per minute.

Do you think we could we run a minimal set as part of a CI job? Perhaps in the e2e test. Thanks

Do you think we could we run a minimal set as part of a CI job? Perhaps in the e2e test. Thanks

I suppose it is possible. What is e2e test?

Do you think we could we run a minimal set as part of a CI job? Perhaps in the e2e test. Thanks

I suppose it is possible. What is e2e test?

It runs on a GPU-enabled github actions runner. This is a Linux VM with a single Tesla T4 GPU. The test runs the following script: scripts/basic-workflow-tests.sh. Can you take a look? It'd be great to have some CI coverage.

@leseb,  @tiran, @chudegao  Can you review please?

@leseb , would you like review please?

@leseb , @russellb , @tiran , would you like review please?


Cosmos: Run a query in a BoxFuture

I have the need to run a query in context that I have to have a future that is Send + Sync but as far as I can figure out because with_database and with_collection take &'a dyn DatabaseName the resulting QueryBuilder is !Send and !Sync. This could be me missing something obvious but so far I haven't found a way future that is usable when using Cosmos DB via this crate.
I would really appreciate any guidance figuring this out.

Yes, there are no constraints right now in the traits (besides Debug).
I've created a branch (issue/241/dev) and the relative tentative PR (#245) with the added constraints.
Can you please check if it helps?
Also, if can you please provide us simple repro we will try to solve this without adding additional trait constraints.

This should be superseded (from v0.100.0 onwards the requests have been modified). I'll close it, if need be please reopen it!


Make issue, cannot find -lavdevice

I was able to run
wigwam init && wigwam install opencv ffmpeg
without any problems. However, make didn't work.

machine@computer-ubuntu:~/Downloads/mpegflow-master$ make
g++ mpegflow.cpp -o mpegflow -O3 -D__STDC_CONSTANT_MACROS -lswscale -lavdevice -lavformat -lavcodec -lswresample -lavutil -lpthread -lbz2 -lz -lc -lrt -Idependencies/include -Ldependencies/lib
/usr/bin/ld: cannot find -lavdevice
collect2: error: ld returned 1 exit status
Makefile:6: recipe for target 'mpegflow' failed
make: *** [mpegflow] Error 1

Maybe this is helpful info too:

machine@computer-ubuntu:~/Downloads/mpegflow-master/.wigwam/prefix/lib$ ls
libavcodec.a                   libopencv_ml.so
libavcodec.so                  libopencv_ml.so.3.2
libavcodec.so.57               libopencv_ml.so.3.2.0
libavcodec.so.57.48.101        libopencv_objdetect.so
libavdevice.a                  libopencv_objdetect.so.3.2
libavdevice.so                 libopencv_objdetect.so.3.2.0
libavdevice.so.57              libopencv_photo.so
libavdevice.so.57.0.101

So it looks like the make command is looking inside /usr/bin/ld when I think it should look inside .wigwam/prefix/lib
I read a little here https://stackoverflow.com/questions/16710047/usr-bin-ld-cannot-find-lnameofthelibrary, but my modifications to the make file were unsuccessful.

Please try wigwam in before launching make

Thanks. The README.md is clearer now too.


remove flag from version filter

Remove the default-disabled feature flag from the version-filter patch.
The flag was added in case the patch didn't work as expected, but
in that case, users can always just fall back to a vanilla release of
Maven.
I think there are two good reasons to just enable the patch unconditionally:

As is, having this flag makes it difficult to use, since you always
have to remember the flag, and if you forget, you're in for a couple of hours
of downloading pom files.
Just patching the binary lets us swap out the Maven binary in IDEA as well,
which means we get the benefit of this patch while resolving dependencies
in the IDE. In contrast, there's no way to supply a flag to be used with the
maven wrapper in a way that all IDE operations avoid downloading the
unnecessary older versions.

Hey @xli1996 , what do you think about removing the feature flag? My reasoning is above.
If you want to accept this patch, I think we'll also have to bump the versions in this repo, but I wanted to run it by you first.

To test this patch:
I built it:
 mvn -DdistributionTargetDir="$HOME/maven-custom/" clean package

Then, I cleaned up my env:
cd ksql
mvn clean
rm -r ~/.m2/repository
~/maven-custom/bin/mvn clean compile

I visually verified that only the latest versions get resolved, and also the build takes about 12 minutes, while it would otherwise take hours.
I also tested this in IDEA by setting Settings > Build,Execution,Deployment > Build Tools > Maven > Maven home path to /home/john/maven-custom. Then, I deleted the ksql project, cleared caches, did another mvn clean and another rm -r ~/.m2/repository. Upon importing the ksql project again, I observed that it does have to resolve all artifacts, but it only resolves the latest ones, and again the whole import takes about 12 minutes.


Opening page on  prevents color picker modal to show on mobile devices

Steps to reproduce

Setup a page on a test website that opens the Pickr homepage on an iframe. (I'm using a route on a Ruby on Rails site.)
Open the page on a mobile device browser.
Click on the Pickr button. (Expected: The color picker modal should pop up, but it does not).

Example reproduction
This url opens Pickr's homepage on an iframe:
https://pacific-temple-66916.herokuapp.com/test-color-picker <- No longer available
In my case, it works on Desktop browsers, but not on mobile versions (iOS) of Chrome, Safari & Firefox.
Test variations and other comments

I tested it with appendToBody as well with the same results.
I noticed that the class containing the visibility trigger is added when I tap the button, so that seems to be working (Although the web inspector was highlighting it on and off as if it was being added then removed then added again, idk). I wanted to keep testing but my mobile web inspector kept crashing for some reason so I could not test it any further.
Could this have something to do with my own Rails app's CSP? I might try a different framework later to see if this also occurs.

Environment
Pickr-version: master
Browser-version:
  - iOS Google Chrome (Version: 67.0.3396.87)
  - iOS Safari (Version: Latest?)
  - iOS Firefox (Version: 12.1)
Operating-system: iOS 11.4 (iPhone 7 Plus)

Thanks in advance for this awesome tool! Definitely excited to see where it goes.

Thanks for this awesome issue report, very clean :)
Uhmm, that's strange... I've opened your demo-url on my phone and tablet, both Android 7.0, with Firefox 60.0.2 and Chrome 67.0.3396.87 and everything works fine. Either it has a general problem with iOS devices, or I missing something.
I will do some investigation in the next day's! Unfortunately I didn't have any apple-device.

Thank you! I'll let you know if I figure something out.

I think I found the culprit:
https://stackoverflow.com/questions/7548833/ios-css-opacity-visibility-transition
Potential solutions:

https://stackoverflow.com/questions/7548833/ios-css-opacity-visibility-transition#comment44980835_10702958
https://stackoverflow.com/questions/7548833/ios-css-opacity-visibility-transition#comment44980835_10702958

Perfect! The second one looks like a good solution, could you override this style and try it:
.pcr-app {
    transition: opacity 0.3s !important;
}

would be awesome 'cause I cannot test it. If this works I will fix it in the master branch :)

Yes, that works perfectly. I've tested it in a couple of mobile browsers on iOS. If you haven't used up your free trails, you could try a physical device testing products like browserstack.com to be sure.


[D&D_Moldvay] Missing Images Error

The images used for AC, Current Hit Points, and Maximum Hit Points are missing. Here are replacements that are 100x100 pixels, I don't know what size the previous version were.
https://i.imgur.com/7a2cmtV.png
https://i.imgur.com/3AR0UGN.png
https://i.imgur.com/wcEOrmc.png

https://github.com/Roll20/roll20-character-sheets/pull/3194

This has been resolved as of the most recent update.


Nested Context can cause tests results to display incorrectly

Nest contexts don't appear to display results correctly in the test explorer pane.
BeforeDiscovery {
    $testCases = @(
        @{
            Name = "fizz"
        },
        @{
            Name = "buzz"
        },
        @{
            Name = "foo"
        },
        @{
            Name = "bar"
        }
    )
}

Describe "Testing Policy Definition <name>" -ForEach $testCases {
    Context 'Level 1' {
        It 'Should not be null level 1' {
            $name | should -Not -BeNullOrEmpty
        }
        Context "Level 2" {
            It 'Should be 3 characters or greater' {
                $name.length | should -BeGreaterOrEqual  3
            }
        }
    }
}

The output in the test pane does not show the expect results though

The pester output shows that the level 2 context tests are showing as "Test Moved or Changed" on each run.
2023-09-07 07:53:57.336 [info] Test Run Start: 1 test items
2023-09-07 07:53:57.642 [info] Test Discovery Start: 1 files
2023-09-07 07:53:57.756 [info] Discovery: Test Moved Or Changed - C:\USERS\<USER>\GIT\PESTER-TESTING\PESTER.TESTS.PS1>>TESTING POLICY DEFINITION <NAME>>>LEVEL 1>>LEVEL 2>>SHOULD BE 3 CHARACTERS OR GREATER
2023-09-07 07:53:57.763 [info] Discovery: Test Moved Or Changed - C:\USERS\<USER>\GIT\PESTER-TESTING\PESTER.TESTS.PS1>>TESTING POLICY DEFINITION <NAME>>>LEVEL 1>>LEVEL 2>>SHOULD BE 3 CHARACTERS OR GREATER
2023-09-07 07:53:57.775 [info] Discovery: Test Moved Or Changed - C:\USERS\<USER>\GIT\PESTER-TESTING\PESTER.TESTS.PS1>>TESTING POLICY DEFINITION <NAME>>>LEVEL 1>>LEVEL 2>>SHOULD BE 3 CHARACTERS OR GREATER
2023-09-07 07:53:57.787 [info] Discovery: Test Moved Or Changed - C:\USERS\<USER>\GIT\PESTER-TESTING\PESTER.TESTS.PS1>>TESTING POLICY DEFINITION <NAME>>>LEVEL 1>>LEVEL 2>>SHOULD BE 3 CHARACTERS OR GREATER
2023-09-07 07:53:57.797 [info] Discovery Run End (PesterInterface stream closed)
2023-09-07 07:53:58.489 [info] Test Run End: PesterInterface stream closed

In the test results pane it does show the correct number of tests was run
Starting discovery in 1 files.
Discovery found 8 tests in 47ms.
Running tests.
[+] C:\Users\<user>\git\pester-testing\pester.tests.ps1
 566ms (81ms|453ms)
Tests completed in 580ms
Tests Passed: 8,
Failed: 0,
Skipped: 0

NotRun: 0

THe  is not resolving in the test change info, maybe there's an order issue with resolving that.

THe <name> is not resolving in the test change info, maybe there's an order issue with resolving that.

Is there more info I can gather to help sort this issue? Sadly I am not any good at TypeScript or JavaScript or I would take a look at the source


Plot more metrics in real-time

It would be nice if it's able to press Ctrl-i to switch between charts.

[x] Plot 50th, 90th, 95th, and 99th percentiles #66
[ ] Bytes In and Bytes Out
[ ] Status Codes
[ ] Histogram #63
[ ] ~Workers running in concurrent~

What do you think about we clicking on each option and showing them (changing the current line chart?)?
I wish we had tabs on termdash, but it doesn't have tabs unfortunately :(

@brenol Sorry, I completely missed your message. termdash is capable of switching dynamically the layouts like this.

@nakabonne no problem. I started my work on percentiles and I think I'll be able to open a PR this weekend :)

That would help. I'm wondering if we can do that with Histogram which is commented out now.
https://github.com/nakabonne/ali/blob/ec2b6b4894b11507536cf56cf8ee3bf985482203/attacker/metrics.go#L14

I'll take a look at histogram. However, vegeta.Metrics calculating quantiles is actually okay (??).
This is how it looks (wip):

I'm not done yet, as I want to show legend like in this issue https://github.com/mum4k/termdash/pull/188
Just didn't get the time, but I'll get there soon and I'll try to make it as reusable as possible so we can support bytes in/bytes out  & status codes as well.

Closing because I opened each issue individually; label:new-chart


[bug] [BYOB] BYO uploads attestations to rng-slsa-attestations

Describe the bug
Should the delegator workflow just upload to a fixed output path?
See example run here: https://github.com/slsa-framework/example-package/actions/runs/4159805591
The outputs are signed - the only complication would be running multiple in parallel, but I wouldn't actually think it is possible to run multiple BYO in parallel (or was it?)
cc @ianlewis @laurentsimon

Did you find problems with the random value?

This is only for the user perspective - seeing XYZ-slsa-attestations for the output is a little strange, but it won't be if we document it and we cleanup the rest of the internal artifacts uploaded.
If so, we can close

I'm in favor of cleaning up the artifacts by deleting them, as you proposed; and leave the attestation artifact there.
We can re-visit later, e.g. let users specify the attestation name if they want?

We do return the the name of the attestation. What if we asked TRWs to return the name to users as one of their outputs?

Good idea! Let's keep these issues open, I'll tag this as a docs issue now.

I think this is done. Will add this in doc. Closing. Re-open if you think it is not done.


Add no-std feature

Without the no-std feature, rust-bip39 wouldn't work in no-std scenarios
because of bitcoin_hashes
Putting in the Cargo.toml of your project:
bip39 = { version = "1.0", default-features = false }

and compiling would give:
❯ cargo build
    Updating crates.io index
   Compiling bitcoin_hashes v0.9.7
error[E0463]: can't find crate for `std`
  |
  = note: the `thumbv7em-none-eabihf` target may not support the standard library
  = note: `std` is required by `bitcoin_hashes` because it does not declare `#![no_std]`

For more information about this error, try `rustc --explain E0463`.
error: could not compile `bitcoin_hashes` due to previous error

Strange, I use this script to test MSRV and feature support and it works for me:
#!/bin/sh

set -e

MSRV="1.29.0"

CMD="rustup run ${MSRV}"

rm -f Cargo.lock
$CMD cargo generate-lockfile

$CMD cargo test --no-default-features
$CMD cargo test --no-default-features --features all-languages
$CMD cargo test --features rand,all-languages

Shouldn't the --no-default-features do it?

Sorry if it wasn't clearly specified in the PR description, I am trying to build with target "thumbv7m-none-eabi", your script doesn't seem to try different targets?
With the Cargo.toml as:
[dependencies]
bip39 = { version = "1.0", default-features = false }

running cargo build --target "thumbv7m-none-eabi" gives a lot of errors because of bitcoin_hashes.
If, instead, I use:
[dependencies]
bip39 = { git = "https://github.com/danielabrozzoni/rust-bip39.git", branch = "no_std_support", default-features = false, features = ["no-std"] }

it compiles correctly :)
I'm definitely not an expert tho, so I might be missing something!
If you need a project to test this out: https://github.com/danielabrozzoni/test-bip39

I think the PR is correct but the description/discussion is a bit confusing. The problem is not with the feature combinations, your script correctly test those @stevenroose, the problem is we cannot build a no-std crate that depends on rust-bip39 with the current bitcoin_hashes dependency because bitcoin_hashes default features includes std features.
Cargo.toml that does not build, the commented out line is whats needed to build along with this PR.
[package]
name = "play"
version = "0.1.0"
edition = "2021"

[dependencies]
bip39 = { version = "1.0.1", default-features = false }
# bip39 = { path = "/home/tobin/build/github.com/tcharding/rust-bip39", default-features = false, features = ["no-std"] }
wee_alloc = "0.4.5"

[dev-dependencies]

[profile.dev]
panic = "abort"

[profile.release]
panic = "abort"

And a main.rs
#![no_std]
#![no_main]
#![feature(default_alloc_error_handler)]

use core::panic::PanicInfo;

extern crate wee_alloc;

#[global_allocator]
static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT;

#[panic_handler]
fn panic(_panic: &PanicInfo<'_>) -> ! {
    // Dummy usage of something from rust-bip39
    let _ = bip39::Language::English;

    loop {}
}

ACK 5855105c2a6bd1077fba130330b9c695dd55e1f5

Cheers mate.

Sorry for me being slow here (and in all my github stuff lately, unfortunately). I don't think we use the alloc feature of hashes, so I don't really see the need for the no-std feature enabling this. I tried to build without using no-std and it works. The only think that needs adding is to re-enable the default features in the dev-dependencies because the tests use them:
diff --git a/Cargo.toml b/Cargo.toml
index 6b7757d..28ff9fc 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -50,4 +50,5 @@ serde = { version = "1.0", default-features = false, optional = true }

 [dev-dependencies]
 rand = { version = "0.6.0", optional = false }
+bitcoin_hashes = "0.9.4" // enable default features for test

But yeah otherwise good catch that we were silently relying on std through _hashes.

Closing superseded by #25.


Avoid losing token when updating mirror settings

Fix #30416.
Before (it shows as "Unset" while there's a token):

After:

The username shows as "oauth2" because of https://github.com/go-gitea/gitea/blob/f9fdac9809335729b2ac3227b2a5f71a62fc64ad/services/migrations/dump.go#L99
I have checked that all usage of MirrorRemoteAddress has been updated.

However, it needs to be checked again when backporting.

Any test?

I was unable to create a backport for 1.21. @wolfogre, please send one manually. :tea:
go run ./contrib/backport 30429
...  // fix git conflicts if any
go run ./contrib/backport --continue


Update default Console version to v2.3.2

Maybe we can automate this, since this is going to be a common task.

NIT: We have automation already in place
https://github.com/redpanda-data/helm-charts/blob/6a59cbd1c42dc465868900d960025f2d4648340e/.github/workflows/nightly_version_checks.yaml#L28
I wonder why it didn't pick latest console.

The difference is how console represent container registry with container image.
https://github.com/redpanda-data/helm-charts/blob/6a59cbd1c42dc465868900d960025f2d4648340e/charts/console/values.yaml#L22-L26
vs
https://github.com/redpanda-data/helm-charts/blob/6a59cbd1c42dc465868900d960025f2d4648340e/charts/redpanda/values.yaml#L45-L48
Maybe docker-tag-list doesn't default to docker.redpanda.com registry and can not find v2.3.2 tag
The output of the github action job is not helpful https://github.com/redpanda-data/helm-charts/actions/runs/6091589858/job/16528414465#step:6:5


Make Error:  fatal error: openpose/core/headers.hpp: No such file or directory

When I finish cmake,and run make in build,I got this error:
PyOpenPose/PyOpenPoseLib/OpenPoseWrapper.cpp:9:37: fatal error: openpose/core/headers.hpp: No such file or directory
#include <openpose/core/headers.hpp>
^
compilation terminated.
make[2]: *** [PyOpenPoseLib/CMakeFiles/PyOpenPose.dir/OpenPoseWrapper.cpp.o] Error 1
make[1]: *** [PyOpenPoseLib/CMakeFiles/PyOpenPose.dir/all] Error 2
make: *** [all] Error 2
How can I fix this?
Is there anything I didn't finish?

Is OPENPOSE_ROOT set correctly to point to the install folder. The install folder will contain an include dir with the missing header file you see in the error.

Is OPENPOSE_ROOT set correctly to point to the install folder. The install folder will contain an include dir with the missing header file you see in the error.

I also meet this problem, I git clone the OpenPose in ~, so I "export OPENPOSE_ROOT=/home/myname/openpose”, is it right? Please help me, thanks.
this is the error:
/home/bhrgzn/PyOpenPose/PyOpenPoseLib/OpenPoseWrapper.cpp:9:37: fatal error: openpose/core/headers.hpp: 没有那个文件或目录 compilation terminated. PyOpenPoseLib/CMakeFiles/PyOpenPose.dir/build.make:62: recipe for target 'PyOpenPoseLib/CMakeFiles/PyOpenPose.dir/OpenPoseWrapper.cpp.o' failed make[2]: *** [PyOpenPoseLib/CMakeFiles/PyOpenPose.dir/OpenPoseWrapper.cpp.o] Error 1 make[2]: *** 正在等待未完成的任务.... CMakeFiles/Makefile2:117: recipe for target 'PyOpenPoseLib/CMakeFiles/PyOpenPose.dir/all' failed make[1]: *** [PyOpenPoseLib/CMakeFiles/PyOpenPose.dir/all] Error 2 Makefile:127: recipe for target 'all' failed make: *** [all] Error 2

OPENPOSE_ROOT should point to the installation directory of openpose not to the source root. When you build openpose with cmake you can define an installation directory to which the "make install" target will copy all headers and binaries.
Please note that the example scripts of PyOpenPose look into $OPENPOSE_ROOT/models for the openpose weight files so you should make sure the models are in that location or change the example scripts accordingly.

Is OPENPOSE_ROOT set correctly to point to the install folder. The install folder will contain an include dir with the missing header file you see in the error.

I also meet this problem, I git clone the OpenPose in ~, so I "export OPENPOSE_ROOT=/home/myname/openpose”, is it right? Please help me, thanks.
this is the error:
/home/bhrgzn/PyOpenPose/PyOpenPoseLib/OpenPoseWrapper.cpp:9:37: fatal error: openpose/core/headers.hpp: 没有那个文件或目录 compilation terminated. PyOpenPoseLib/CMakeFiles/PyOpenPose.dir/build.make:62: recipe for target 'PyOpenPoseLib/CMakeFiles/PyOpenPose.dir/OpenPoseWrapper.cpp.o' failed make[2]: *** [PyOpenPoseLib/CMakeFiles/PyOpenPose.dir/OpenPoseWrapper.cpp.o] Error 1 make[2]: *** 正在等待未完成的任务.... CMakeFiles/Makefile2:117: recipe for target 'PyOpenPoseLib/CMakeFiles/PyOpenPose.dir/all' failed make[1]: *** [PyOpenPoseLib/CMakeFiles/PyOpenPose.dir/all] Error 2 Makefile:127: recipe for target 'all' failed make: *** [all] Error 2

If you have handled it and could you tell me how to solve this error?Please help me!!Thanks! @switchhh@Rainweic


Feature request: use Windows 10s colors

OS: Windows 10
Is there possible to make an option for Windows 10 user that uses the colors and dark mode from the new Windows 10 theme and automaticly applies them?

The API for this would be something either provided by electron or a native module, neither which currently exist to my knowledge. Not to mention the "Dark mode" is a registry hack currently is it not? That would require reading values directly from the registry, which in some versions of windows requires elevated privileges.

In the newest Insider Preview they have made the Dark Mode a option in the Settings program

Dark mode is only for UWP (metro) apps, so this will probably not work natively.

This is tricky in the sense that reading both dark mode and the custom color will require reading the registry.  On some systems that might require admin priviledges and from a users perspective, if the turn on the dark theme and it asks for admin control, you would be super suspicious...
I'll see if there are fancy ways to do this without reading the registry but I'm not in the mood at the moment to write a native c++ module

The darkMode c++ API and the color API do not appear to have native hooks only fetching methods.  This means that detecting changes without restart will be tricky, nasty and inefficient.  Closing this as there is not a nice way to do this at the moment.


callback

@ShreyaR sorry for taking a while, this is kind of what I imagine the callback would look like, also creating an abstract class with abstractmethod would mean the user would have to define all the methods in the subclass to be able to use callbacks which is unnecessary. I also have some questions about the arguments
e.g If a user wants a customized logic for preprocessing, does this mean the prepare function for preprocessing in run.py should be skipped? In that case, what arguments should the after_prepare function take, I assume it should be the return values of before_prepare
I would love to get your thoughts on this

Created a discussion here https://github.com/guardrails-ai/guardrails/discussions/612


Tree shaking does not apply to re-exported namespace imports

Bug report

What is the current behavior?
If the current behavior is a bug, please provide the steps to reproduce.

Given:
./src/index.js:
import { other } from "./proxy";

console.log(other.foo1);

./src/proxy.js:
import * as other from "./other";
export { other };

./src/other.js:
export const foo1 = 1;
export const foo2 = 2;

./webpack.config.js:
const pathHelpers = require("path");

const ROOT_PATH = __dirname;
const TARGET_PATH = pathHelpers.join(ROOT_PATH, "./target/");
const SRC_PATH = pathHelpers.join(ROOT_PATH, "./src/");

const ENTRY_FILENAME = "index.js";
const OUTPUT_FILENAME = "index.js";

const config = {
  mode: "development",
  devtool: "source-map",
  optimization: {
    usedExports: true
  },
  entry: pathHelpers.resolve(SRC_PATH, ENTRY_FILENAME),
  output: {
    path: TARGET_PATH,
    filename: OUTPUT_FILENAME
  }
};

module.exports = config;

The resulting output tells us that the unused export foo2 will not be removed by tree shaking:
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "foo1", function() { return foo1; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "foo2", function() { return foo2; });
const foo1 = 1;
const foo2 = 2;

Repo containing the above: https://github.com/OliverJAsh/tree-shaking-test/tree/proxy
What is the expected behavior?

foo2 should be tree shakeable.
We can achieve this if we bypass the re-export and use a namespace import directly:
./index.js:
-import { other } from "./proxy";
+import * as other from "./other";

Result:
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return foo1; });
/* unused harmony export foo2 */
const foo1 = 1;
const foo2 = 2;

Diff:
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return foo1; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "foo2", function() { return foo2; });
+/* unused harmony export foo2 */
 const foo1 = 1;
 const foo2 = 2;

Other relevant information:
webpack version:  4.39.2
Node.js version: 10.16.3
Operating System: macOS
Additional tools:
This works in Rollup. Playground example.
For context, the reason you might re-export a namespace import is for dev UX—VS Code can provide import suggestions only for named exports.
This approach is used in libraries such as fp-ts.

This has been improved in the next branch (webpack 5). In most cases module concatenation plus minimizing will optimize this case too. Your example should optimize fine in production mode.

@sokra maybe we should put this as test case to ensure all ok in webpack@5?

Just for future test

I had the same issue.
One re-exported file was included in my bundle, with all its imports, even though it was not included from anywhere.
In my case, and in this example, nothing in vuex-test.js was imported from anywhere in the app - just the tests.
utilities/index.js
...
export * from './string.js'
export * from './company.js'
...
export * from './vuex-test.js'
...

components/title.vue
<template>
    ...
</template>

<script>
    import {titleCase, processCompanyData} from '../utilities/index.js'

    export default {
        ...
    }
</script>

Which resulted in my bundle containing vuex-test.js and all it imported.
I tried most things. sideEffects: false in package.json, but then the css disappeared, and my polyfills got affected as well. Tried giving sideEffects various arrays of strings, which just seemed like a bad solution.
Tried the IgnorePlugin, and it worked - sort of! The bundle did not contain vuex-test.js and all its import, but now the app did not work - it complained about missing said file.
Finally, after many shots in the dark with various regexes and strings to test, include, exclude in different webpack rules, I found it:
{

    ...

    module: {
        rules: [

            ...

            {
                test: /\.js$/,
                loader: 'babel-loader',
                exclude: /node_modules/,
                options: {
                    presets: ['@babel/preset-env']
                }
            },

            {
                test: /utilities\/vuex-test\.js/,
                sideEffects: false
            }
        ]
    },

    ...

}

and it worked. Seems like the trick was an extra rule, and not filling out more options in the main .js rules.
Hurray :tada:

Fixed in webpack 5

@sokra Any chance this could be backported to webpack 4?

@eamodio unfortunately, no, you can start to using webpack@5, most of plugins and loader already have compatibility

@evilebottnawi OK thanks -- I've tried to upgrade to webpack 5, but I haven't been able to get it to work. See: https://github.com/eamodio/vscode-gitlens/commits/feature/webpack5
https://github.com/eamodio/vscode-gitlens/blob/2bfc0360b46933f715379016aed4084ad4e75fae/webpack.config.js
It looks like webpack 5 doesn't seem to support a config that returns a function that is an array (or something), as I just get output that looks like this:
Compilation Results

 Version: 5.0.0-beta.22
 Built: Sun Jul 26 2020 00:41:05 GMT-0400 (Eastern Daylight Time)
 Compile Time: 36ms
 Output Directory: C:\Users\Eric\code\eamodio\vscode-gitlens\dist
 Hash: dbd0e35abb9cf7150b07

┌────────────┬───────────────────────────────┐
│ Entrypoint │ Bundle                        │
├────────────┼───────────────────────────────┤
│ main       │  Bundle Name       │ main.js  │
│            │  Compared For Emit │ false    │
│            │  Bundle size       │ 0.64 kb  │
│            │                               │
│            │ Modules:                      │
│            │                               │
└────────────┴───────────────────────────────┘

[webpack-cli] Module not found: Error: Can't resolve './index.js' in 'C:\Users\Eric\code\eamodio\vscode-gitlens'

@eamodio can you report a new issue with reproducible repo?

@vankop Opened https://github.com/webpack/webpack/issues/11231. Thanks!


Save button and undo state is lost when closing and reopening a gT card

Keeping these states only internally is not enough for having a consistent behavior, when re-opening a new (cached) Epitelete-html. Both undoInx and lastSaveUndoInx need to be kept externally from uw-editor.

Save, undo and Redo functions are working fine when a card is closed and reopened in v0.3.0 build cf4f0aa.

Tested with v0.9.0-rc.2 build 29a2450 QA. Everything looks good


LoadBalancerClass cannot be set on Cilium Gateway API Servicess

Is there an existing issue for this?

[X] I have searched the existing issues

Version
higher than v1.16.0-rc.1 and lower than v1.17.0
What happened?
This issue is arguably more of a feature request than a bug.
When testing the new Node IPAM feature that can set Node IPs to to a LoadBalancerService, I realized that it required the spec.loadBalancerClass to be set to a particular value.
This value cannot currently be set manually through Cilium Gateway API.
How can we reproduce the issue?
Install Cilium with the following commands:
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/v1.1.0/config/crd/standard/gateway.networking.k8s.io_gatewayclasses.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/v1.1.0/config/crd/standard/gateway.networking.k8s.io_gateways.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/v1.1.0/config/crd/standard/gateway.networking.k8s.io_httproutes.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/v1.1.0/config/crd/standard/gateway.networking.k8s.io_referencegrants.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/v1.1.0/config/crd/standard/gateway.networking.k8s.io_grpcroutes.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/v1.1.0/config/crd/experimental/gateway.networking.k8s.io_tlsroutes.yaml

cilium install \
  --version 1.16.0-rc.1 \
  --namespace kube-system \
  --set kubeProxyReplacement=true \
  --set gatewayAPI.enabled=true \
  --set nodeIPAM.enabled=true`

When creating a Gateway (simply following the Cilium docs), it is currently not possible to set at deployment nor modify the LoadBalancerClass later on:
services "cilium-gateway-cilium-gw" was not valid:
* spec.loadBalancerClass: Invalid value: "io.cilium/node": may not change once set

The expected/wanted result is that I am able to set the spec.loadBalancerClass to io.cilium/node as expected and that my Load Balancer Service can then receive an IP from the Node IPAM LB.
Cilium Version
1.16.0-rc.1
Kernel Version
6.x
Kubernetes Version
1.29
Regression
No response
Sysdump
No response
Relevant log output
No response
Anything else?
No response
Cilium Users Document

[ ] Are you a user of Cilium? Please add yourself to the Users doc

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I have the same issue.

I've also encountered this problem with k3s on a single rocky linux node. Cilium 1.16.1.

Same here. Wish there would be an option to set loadBalancerClass=io.cilium/node for loadbalancer services created by cilium gateways.

Any news? Still very much needed.


Split out IO logic from high level functions (#392)

Pull request
Adds two new functions (extract_text_from_io and extract_pages_from_io) to high_level.py, allowing you to call extract_text and extract_pages without having the file locally.
Closes #392
Notes

I've created the new functions, *_from_io to avoid breaking changes to the original functions. This is not very consistent with the extract_text_to_fp at the top of the file, perhaps. Happy to implement alternatives.
I've used inf as the new IO parameter, even though I don't really like the name. This is to be consistent with extract_text_to_fp. Other places in the code use fp. Happy to change.
I added the test in a new file, as the existing code has test_highlevel_extracttext.py. Is this correct, or should this all be in one test_high_level.py?

How Has This Been Tested?
I've added tests for extract_text_from_io, but couldn't find any existing tests for extract_pages?
Checklist

[X] I have added tests that prove my fix is effective or that my feature
works
[X] I have added docstrings to newly created methods and classes
[X] I have optimized the code at least one time after creating the initial
version
[X] I have updated the README.md or I am verified that this
is not necessary (not necessary)
[X] I have updated the readthedocs documentation or I
verified that this is not necessary (not necessary as the read the docs page on this is auto generated from docstrings)
[X] I have added a consice human-readable description of the change to
CHANGELOG.md

@pietermarsman PR updated to keep the same function name and simply allow either a string or a file-like object. I've added an open_filename context manager to help do this. I was tempted to put this in utils, but it didn't quite seem to fit...
I've essentially followed advice from here about how to do this... https://stackoverflow.com/questions/7268353/how-to-accept-both-filenames-and-file-like-objects-in-python-functions

@pietermarsman thanks. I've updated the first commit to resolve contributing being out of date, and added a new commit moving the open_filename to utils.
Please take another look when you get chance.


fix for vulnerability

jira for issue: https://devopsmx.atlassian.net/browse/OP-21526
The dependency version comes from kork
verified build is successful

Pls share testing details.
Which version is coming from kork?

Test cases failing count before and after the change is same:
clouddriver-google: 17
verified no new test cases failed because of the version change

Pls resolve conflicts

done

Pls check the commits that you want to merge as part of this PR


fixed code style errors with flake8

Added the tox.ini file for the configuration of flake8 and removed the coding style errors.
CI currently has issues, so the current status is as follow:

[ ] smallfile
[x] uperf
[ ] fio
[ ] fs-drift
[ ] hammerdb
[ ] pgbench
[ ] ycsb
[x] iperf
[x] sysbench

Results for SNAFU CI Test

Test
Result
Runtime

fio_wrapper
FAIL
00:12:25

fs_drift_wrapper
PASS
00:11:35

hammerdb
PASS
00:17:49

iperf
PASS
00:06:12

pgbench-wrapper
PASS
00:19:36

smallfile_wrapper
FAIL
00:11:37

sysbench
PASS
00:06:05

uperf-wrapper
PASS
00:08:48

ycsb-wrapper
PASS
00:29:25

CI currently has issues, so the current status is as follow:

[ ]  smallfile
[x]  uperf
[ ]  fio
[ ]  fs-drift
[ ]  hammerdb
[ ]  pgbench
[ ]  ycsb
[x]  iperf
[x]  sysbench

fio, smallfile, fs-drift seem to have issues getting the uuid, makes sense as it tries to do it after deleting the namespace... my hunch is its due to https://github.com/cloud-bulldozer/ripsaw/commit/f061f4e1abcb43c1ecfa127dce204f5980dac11d
ycsb, pgbench have the good ol' api version issue.. for which fixes are making through in ripsaw
hammerdb has the same api version issue, but also has a few other for which a fix is on its way in ripsaw.

/rerun all

Results for SNAFU CI Test

Test
Result
Runtime

fio_wrapper
FAIL
00:17:40

fs_drift_wrapper
PASS
00:16:39

hammerdb
PASS
00:20:12

iperf
PASS
00:08:50

pgbench-wrapper
PASS
00:11:25

smallfile_wrapper
FAIL
00:16:52

sysbench
PASS
00:08:43

uperf-wrapper
PASS
00:10:22

ycsb-wrapper
PASS
00:16:25

CI currently has issues, so the current status is as follow:

[ ]   smallfile
[x]   uperf
[ ]   fio
[ ]   fs-drift
[ ]   hammerdb
[ ]   pgbench
[ ]   ycsb
[x]   iperf
[x]   sysbench

fio, smallfile, fs-drift seem to have issues getting the uuid, makes sense as it tries to do it after deleting the namespace... my hunch is its due to cloud-bulldozer/ripsaw@f061f4e
ycsb, pgbench have the good ol' api version issue.. for which fixes are making through in ripsaw
hammerdb has the same api version issue, but also has a few other for which a fix is on its way in ripsaw.

pgbench and ycsb have been fixed..

/rerun all

Results for SNAFU CI Test

Test
Result
Runtime

fio_wrapper
PASS
00:17:28

fs_drift_wrapper
PASS
00:16:55

hammerdb
PASS
00:20:15

iperf
PASS
00:08:40

pgbench-wrapper
PASS
00:11:19

smallfile_wrapper
PASS
00:16:49

sysbench
PASS
00:08:36

uperf-wrapper
PASS
00:10:45

ycsb-wrapper
PASS
00:18:35

The only false positive seems to be from hammerdb, the test itself is not run as it fails on creation of the msql-server pod because of the API issue...

 We should add it to .gitignore

Agreed, cc: @amitsagtani97

Results for SNAFU CI Test

Test
Result
Runtime

fio_wrapper
PASS
00:12:56

fs_drift_wrapper
PASS
00:10:29

hammerdb
FAIL
00:16:40

iperf
PASS
00:06:09

pgbench-wrapper
PASS
00:08:23

smallfile_wrapper
PASS
00:11:32

sysbench
PASS
00:05:12

uperf-wrapper
PASS
00:09:49

ycsb-wrapper
PASS
00:12:21


FETCH Command

Arguments:  sequence set
message data item names or macro
Responses:  untagged responses: FETCH
Result:     OK - fetch completed
NO - fetch error: can't fetch that data
BAD - command unknown or arguments invalid
  The FETCH command retrieves data associated with a message in the
  mailbox.  The data items to be fetched can be either a single atom
  or a parenthesized list.

  Most data items, identified in the formal syntax under the
  msg-att-static rule, are static and MUST NOT change for any
  particular message.  Other data items, identified in the formal
  syntax under the msg-att-dynamic rule, MAY change, either as a
  result of a STORE command or due to external events.

       For example, if a client receives an ENVELOPE for a
       message when it already knows the envelope, it can
       safely ignore the newly transmitted envelope.

  There are three macros which specify commonly-used sets of data
  items, and can be used instead of data items.  A macro must be
  used by itself, and not in conjunction with other macros or data
  items.

In progress on the fetch branch.

In the branch lmtp (which contains all commits of fetch at moment of writing), I've created a Mailstore implementation, which does a pretty nice job.This will allow you to send e-mails to Postfix (which in return, sends it to the IMAP server), in order to test the FETCH command on real-life e-mails.
How do I use it?
Running demo/complete/main.go might be helpful. I had to hardcode a directory in line 17, to create a persistent database, so you may have to change that. It runs together with Postfix, which you can configure by doing:
In /etc/postfix/master.cf, replace:
lmtp      unix  -       -       -       -       -       lmtp
with
lmtp      unix  -       -       n       -       -       lmtp
(this causes LMTP to run non-chrooted, and thus have access to the socket.
In /etc/postfix/main.cf, make sure you set these variables:
# This single line can contain more entries, but should contain these:
mydestination = localhost.localdomain, localhost, example.local

mailbox_transport = lmtp:inet:localhost:61194
local_recipient_maps =


Enforcing padding on ngrams

This is a fix for #1194
Previously, all sequences/iterators were converted into iterables before proceeding with ngram extraction, from https://github.com/nltk/nltk/blob/554a1710ef1011ba65168d442d038763c517e292/nltk/util.py#L411
But after abstracting the pad_sequence() away from the ngrams function, the iterator->iterable conversion happens there and that would make the checks for pad_left and pad_right within the ngram() obsolete because now pad_sequence() does the check.
Sorry for missing this out in the previous merge.

Thanks for the prompt fix @alvations


⚠ Bofrost.com has degraded performance

In 3b0ecd7, Bofrost.com (https://www.bofrost.com) experienced degraded performance:

HTTP code: 200
Response time: 1510 ms

Resolved: Bofrost.com performance has improved in b59dc71 after 6 minutes.


Start a Node Doc Update -- Handle Multiple Data Stores

Re: Start a Node
Issue Description
It's not currently clear in the doc that users can run the --store attribute multiple times to add multiple data stores. This is usually done to add more space or provide slower or faster data stores to the same node rather than adding them as separate nodes entirely. If someone were to want to add more --store attributes they might not be sure that it's a repeatable attribute based on how it's written currently.
Suggested Resolution
The doc needs to make it clear how to run it multiple times, which is similar to the following:
cockroach start --store=path=/blah,attrs=ssd --store=path=/blah2,attrs=hdd ...
Also, there are a number of caveats that might need to be be handled for this:

Multiple data stores are not necessarily balanced evenly and if a user wants to do this because they want an easier way to handle adding new storage capacity we recommend using LVM or ZFS with a virtual storage volume to solve those issues instead of adding new data stores. See this internal slack discussion: https://cockroachlabs.slack.com/archives/C0KB9Q03D/p1556123389004300

The doc needs to specify the reasons to do multiple stores, such as if you want to make some slow disks available, in which case you really should use attributes so you can set Zone configs. Note the following internal thread: https://cockroachlabs.slack.com/archives/C0KB9Q03D/p1556123453005600

Possibly, we'd need to clarify how Zone configs interact with these --store attributes so this is clear.

Closing in favor of https://github.com/cockroachdb/docs/issues/7666 and https://github.com/cockroachdb/docs/issues/7889


Update utils.py

Adding source files part1
Removing limit_response option

Thanks for your contribution! The repo has gone through substantial refactoring given the fast pace environment around LLM. This feature seems to be implemented in that macro update. If this is not the case, please submit a new PR. Thanks again!


spec is unclear about how to handle strings when a number is expected

synapse seems to parse strings in PL events, which is unexpected, IMHO

I think this is a subset of #1646

We've already had a mess with strings vs. floats in tag orders before; agree that parsing numbers from strings should not be expected.


Use alpine for Docker image

Currently the image is built on the larger node:18

Preferrably after #10


Fail to initialize the TMA descriptor for head_dim of 192

Hi, I added some lines in hopper to support the head dim of 192, but it didn't work. Could you plz help me? And I wonder if this relates to the reason that you currently experiment on the head_dim of just 64 and 128 for bf16.
The forward process works  well, but the backward always ends up at the initialization of the first kernel.
The program errors at the line:
hopper/flash_bwd_launch_template.h:
......
    if (smem_size >= 48 * 1024) {
        CHECK_CUDA(cudaFuncSetAttribute(kernel, cudaFuncAttributeMaxDynamicSharedMemorySize, smem_size));
    }

The details of the  error are:
globalDim      (32,49152,16,1,1)
globalStrides  (4,128,6291456,100663296,0)
boxDim         (32,384,1,1,1)
elementStrides (1,1,1,1,1)
interleave     0
swizzle        3
l2Promotion    2
oobFill        0
Error: Failed to initialize the TMA descriptor 1

The information of kernel's needed smem_size is :
 smem_size = 215040, q = 49152, k = 24576, v = 24576, do = 49152, ds = 16384, dqacc = 49152
I'm confused cuz the size of 215040  is smaller than the max maxSharedMemory (227Kb) of a kernel in Hopper. I've tried to lower down the size of kBlockM and kBlockN, the smem_size  decreased but the backward process still errors.
Btw, the smem_size is 198656 when the head_dim is 128.

You can try the tdd branch, which supports bwd for hdim up to 256. We'll merge it soon.

Thank you very much!


Removing a raw header

Currently, I can insert or overwrite a header by doing, for example:
request_headers.set_raw("Accept-Encoding", vec![b"gzip, deflate".to_vec()]);

But apparently, I cannot remove it, only set it to a different value.
Wouldn't it be useful to add a remove_raw() method to Headers?
Raw headers are very useful if you don't know what headers to send at compile time, for example, or for quick prototyping.

Good call, this would be needed to support XHR's removeHeader method.

removeRequestHeader is unspecc'd, so I don't expect Servo to make use of this.


Add a variant of Kelly's monoidal coherence lemmas for bicategories…

… and some other lemmas and support for working with bicategories that was missing (shorthands, reasoning combinators, etc.)
The PR also fixes some inconsistently named lemmas (e.g. λ-∘ᵥ-◁ was about the right unitor, while ρ-∘ᵥ-▷ was about the left unitor) and updates dependencies.

I'm going to let Travis finish first.  [Like Agda, we should probably switch to Github Actions, as CI has gone dead slow].


It doesn't work in the shell.

Works fine in legacy Xamarin.Forms, but not in Shell. (For iOS)

I confirm that this does NOT work in Xamarin.Forms

@imsam67 - NOT work only when using Shell (AppShell), right?

@ToolmakerSteve  Correct. Not working only when using Shell in Xamarin Forms.

@ToolmakerSteve Corrected my original response too.


completed the assignment-1

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
completed the assignment-1
What did you learn from the changes you have made?
get familiar with the application of linear regression
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
no
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
was googling the method of some functions, how to use them and what parameters to put into the functions
How were these changes tested?
after a few trial runs and errors, the functions were run as expected
A reference to a related issue in your repository (if applicable)
Checklist

[ ] I can confirm that my changes are working as intended

please change your repo from "applied" to "applying" This is the correct link:
https://github.com/datatoinsights/applying_statistical_concepts/pulls


Staging dfs channel list

Wifi-1502 : Hostapd has the list of channels it can switch to in case of DFS event

One commit makes changes for removing static analysis failure after switching from cppcheck version 1.82 to 1.90-4
The other commit makes it possible for DFS channel switching mechanism to be complete by providing a list of channels to which hosatpd can switch on DFS event.

@RickSommerville  please merge this one since it's blocking RRM, I havae made changes to captive.c which I am currently discussing with Nagendra to talk further about but that was needed to pass static analysis

Merged, thank you


update team photo

@m5rk1t Please, exchange photo URL

We need to add translation of
"our_team_current_title"
"our_team_spring_title"
into UK, SK and PL commons.json
I have just asked our translators for it.


[WIP] Adds get_vary_cache_on() support and...

... and significantly enhances the placeholder cache.

Coverage decreased (-0.8%) to 87.887% when pulling 2c0f7a5de5da564a0c25481a1075a0c2f25d1c64 on mkoistinen:feature/get_vary_on into d61bb6d2ac48fb44232dc504d378e727fd3a17c9 on divio:develop.

I'm ok with this implementation

Rebased

Coverage increased (+0.04%) to 88.089% when pulling 98e211c879c6e6b0a2350e075150daf9a10ad743 on mkoistinen:feature/get_vary_on into 2e53fea374ecdb824bc4df18fbccdda874fa7347 on divio:develop.

Coverage increased (+0.06%) to 88.118% when pulling c6c82ae3dbfe224623325a633a303bb8333c531c on mkoistinen:feature/get_vary_on into 2e53fea374ecdb824bc4df18fbccdda874fa7347 on divio:develop.

Coverage increased (+0.03%) to 88.087% when pulling 289f1cd89e1cc0c14ab03ff16c32ca77638addde on mkoistinen:feature/get_vary_on into 2e53fea374ecdb824bc4df18fbccdda874fa7347 on divio:develop.

Coverage increased (+0.03%) to 88.087% when pulling 71961bceeeca2b82f824b5524afff3c376a1e440 on mkoistinen:feature/get_vary_on into 2e53fea374ecdb824bc4df18fbccdda874fa7347 on divio:develop.

@divio/django-cms-core I'd really like to get this reviewed asap.

👍 LGTM. There is nothing I can add after @czpython s thorough review.

Ok to merge.

Coverage increased (+0.01%) to 88.069% when pulling 20d55b882d77b6313b00ba59a6e26c42e20b7391 on mkoistinen:feature/get_vary_on into 4823c8c27dae025589b3d955182d50912a8a7b69 on divio:develop.


Make text rendering optional in pathfinder_canvas

Fixes #164
Fixes #208

cc @sebk this is what you wanted I think

I've tested @s3bk 's pdf viewer with this patch and it works great.

thanks!
Do you think it would be cleaner to move the text stuff into canvas/src/text.rs ?

@s3bk yeah it's cleaner. I've pushed a commit to move the text stuff into separate files.

I generally prefix all Pathfinder features with pf- to avoid conflicts with other crates.

re-r? @pcwalton

Cool, thanks!


Update ember-resources

Overview
Based on PR from NullVoxPopuli, but with master merged, a changeset and minor tweaks.
connected issues and PRs:
The original: https://github.com/lblod/ember-rdfa-editor-lblod-plugins/pull/477
Setup
N/A
How to test/reproduce
Anything using ember-resources works, e.g. search boxes. Also should work when linked to GN or RB frontends.
Challenges/uncertainties
This will require an upgrade from consumer apps that use ember dependency-lint, but according to testing, the versions can actually co-exist peacefully. I'm unsure if we should therefore merge this or whether we should wait until we do a major release.
Checks PR readiness

[ ] UI: works on smaller screen sizes
[ ] UI: feedback for any loading/error states
[ ] Check if dummy app is correctly updated
[ ] Check cancel/go-back flows
[x] changelog
[x] npm lint
[x] no new deprecations

@elpoelma I've tested both (my original version with the ember-resources upgrade and the same with ember-resources not upgraded) and both seem to work fine included in GN as dev versions from npm (both fail with yalc). The only failure I see is ember-dependency-lint, which is being very paranoid. Personally, I think since we control the consuming apps, we can safely upgrade, but I'll change this for the version with ER 6.5 so we can avoid messing with any other consumers.

Actually, I just realised that https://github.com/lblod/ember-rdfa-editor-lblod-plugins/pull/478 will mean a major release due to dependency changes, so should we remove my latest commit (so we use ER 7.0) and just have an extra dependency change required for that version?

Actually, I just realised that #478 will mean a major release due to dependency changes, so should we remove my latest commit (so we use ER 7.0) and just have an extra dependency change required for that version?

I also have a PR with breaking changes coming up (the snippet rework) so we can add that one too.


Fixed a dead-lock issue in authinfo

One failure in the arangobench tests... (http://c1.triagens-gmbh.zz:8080/job/arangodb-ci/job/PR-3764/1//artifact/linux-enterprise-maintainer/03-test/cluster-mmfiles/arangobench.log).
Seems that the tests did not start for about 30 mins and thus were aborted:
[2017-11-21 18:35:13] + ./build/bin/arangosh -c etc/jenkins/arangosh.conf --log.level warning --javascript.execute UnitTests/unittest.js arangobench -- --prefix linux-enterprise-cluster-mmfiles --configDir etc/jenkins --skipLogAnalysis true --skipTimeCritical true --skipNondeterministic true --storageEngine mmfiles --cluster true --minPort 14040 --maxPort 14079
[2017-11-21 18:35:13] ================================================================================
[2017-11-21 18:35:13] Executing test arangobench
[2017-11-21 18:35:13] ================================================================================
[2017-11-21 18:35:13]
[2017-11-21 18:35:13] arangobench tests...
[2017-11-21 18:35:13] Agency Endpoint: tcp://<IP_ADDRESS>:14044
[2017-11-21 18:35:13] Agency Endpoint: tcp://<IP_ADDRESS>:14056
[2017-11-21 18:35:13] Agency Endpoint: tcp://<IP_ADDRESS>:14047
[2017-11-21 19:05:07] + echo 1
[2017-11-21 19:05:07] + echo failed linux-enterprise-maintainer/03-test/cluster-mmfiles/arangobench.log: Tue Nov 21 18:34:42 CET 2017 hudson.AbortException: script returned exit code 143
[2017-11-21 19:05:07] failed linux-enterprise-maintainer/03-test/cluster-mmfiles/arangobench.log: Tue Nov 21 18:34:42 CET 2017 hudson.AbortException: script returned exit code 143
[2017-11-21 19:05:07] + echo 0
hudson.AbortException: script returned exit code 143

Does not seem related to the branch, but I will try restarting the test.


Add ability to add envFroms to runner

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hey @hateyouinfinity,
Thank you for the PR!
Can you explain a little about the scenario that this adds support for?

Got it.
Thank you for the explanation, and thanks for your contribution!


Report not loading

Hi Nilesh, I have noticed an issue with ChronQC reports being stuck at the "Loading Report" stage. At first I thought it was a bug in my script or a proxy issue, but then I realised that even older reports that used to open completely fine are stuck now at that stage - and that behaviour is seen on any machine, any browser, within and outside proxies.
See Screenshot attached. As well as the HTML file that used to open fine.
Can you please have a look and see what the problem is?
Many thanks,
Roxane

Pathology_hyb_PHCP_2.Sample_NA12878.chronqc.17_Dec_2018.html.zip

Dear @RoxaneLS,
I have experienced the same thing this week. This is due to the javascripts being used inside the .html file. These javascripts are loaded from different websites and the first one of them is currently giving a 404 error.
The workaround I currently have is to internalize all these javascript files and to change the html to read the internally downloaded files.
Let me know if you need any help setting this up.

Thank you so much for your answer Leonor. I would very much appreciate your help with this indeed - until Niresh fixes the issue.
How / where did you get those javascript files?

My current workaround is to edit the html file in the section where it loads the javascript files from the web, so that it loads files that I provide in an internal folder.
You should open the html file, and identify all calls to http websites (except the call to ChronQC's github page, that's just an html link). Then download those files in a folder that you can call, let's say, internalized/. All you need to do after that is to replace the http calls following this example:

Replace <script src="https://cdn.rawgit.com/MrRio/jsPDF/master/jspdf.js"></script>
By your downloaded file <script src="internalized/jspdf.js"></script>

Dear @RoxaneLS
I have a question: is your error still reproducible or has it solved itself magically? My old ChronQC files have reverted back to normal behavior even without the tweak I described above. I am not a Javascript expert, so I am not quite sure what was happening here.
Please let me know.

Hi this seems to be a issue due to missing JavaScript libraries as pointed by @leonorpalmeria  , will work out possible solution and release a fix. Till then we can use offline libraries as mentioned in thread above, only issue with offline libraries is the report is not stand alone.

Thanks both.
I implemented the workaround suggested by @leonorpalmeira but indeed that is not practical as we can't open the HTML files outside of their original directory now.
Looking fwd to the fix! :)
Thanks.

The JS libraries are back online, report is now loading normally. Let me know if you still face issues.

Hi Nilesh,
Do you understand why and how the libraries suddenly reappeared? What is
the likelihood of them "disappearing" again?
I would like  to revert back the workaround as it doesn't let us share the
html files alone, but I'm concerned the issue might happen again.
Thanks,
Roxane
On Thu, 21 Nov 2019 at 19:31, Nilesh Tawari<EMAIL_ADDRESS>wrote:

Closed #5 https://github.com/nilesh-tawari/ChronQC/issues/5.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nilesh-tawari/ChronQC/issues/5?email_source=notifications&email_token=ADEMX5TJHDIDYM3G3UZPZH3QUZBNDA5CNFSM4JCYDGL2YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOVABCTYI#event-2818714081,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADEMX5QOC64ZZ2BINDCHEOTQUZBNDANCNFSM4JCYDGLQ
.


Parse license choice from ScanCode results

Please refer to the commit message for details.

@mnonnenmacher @fviernau would you consider this to be a breaking change, as e.g. license exceptions would not be reported as individual license findings anymore, but as a license expression? If you have rules that check on licenses that are in fact exceptions, things might break for you.

@KorSin I had a chat with @mnonnenmacher and we need to make this configurable to be on the safe side. Let's catch up on how exactly to do that.

@mnonnenmacher there is now a way to configure the license expression parsing, and it's disabled unless a new configuration option is enabled, so please have another look.


Thanks!


CreateContainerStorage by image id

When creating container storage by name, if that name is a tagged image then the storage
could not be found.  We now use the image id which seems more reliable. Also added an
integration test to protect against regression.
Signed-off-by: baude<EMAIL_ADDRESS>

LGTM! Glad this ended up being simple

bot, retest this please

Fedora registry hiccuped, going to restart tests

bot, retest this please

Cloud podman is an allowed failure, merging
@rh-atomic-bot r+


Fix the PapiEvent subscription API so we don't leak memory

It seems it is likely very easy to leak memory when subscribing to PapiEvents, especially ones that you want to run only once like dispose events on network objects. See the following snippet from main.ts that tests subscribing to the dispose event on a network object:
testMainDisposer.onDidDispose(() => {
    logger.info('test-main disposed in main message #2');
  });

I believe this leaks memory because we are subscribing to onDidDispose and creating an anonymous function that the onDidDispose event internally keeps track of. onDidDispose returns an unsubscriber to remove the anonymous function from that event (theoretically freeing that memory), but we never run that unsubscriber. I think we would need to track and run that unsubscriber in the anonymous function like the older version of this code:
const unsub = testMainOnDidDispose(() => {
    logger.log('Disposed of test-main!');
    unsub();
  });

This code is extremely confusing, difficult to understand, and easy to miss doing. Maybe we can make some kind of "once" option for subscribing to events (or for creating events...?) that unsubscribes the function automatically after running once? Or something else. I don't know the right solution, but this API is a problem.

We should check a memory profiler before picking this up to see how big of an issue it is.
(My opinion) We should ignore memory leaks that only happen on shutdown.


Scale and Mirror a body

📝 Description of the feature
similar to how we have body.rotate() and body.translate() we should add body.scale() and body.mirror()
💡 Steps for implementing the feature
body.scale() should just take a float and will use API.Geometry.Matrix.CreateScale() on ApiServer
I'm assuming body.mirror() should take a plane and use API.Geometry.Matrix.CreateMapping()
🔗 Useful links and references
No response

I considered this a while ago - the ability to allow the user to supply their own 4x4 transformation matrix, instead of performing each operation individually. That can be discussed again during the implementation of this feature request.

Hi @jonahrb   let's implement these methods! About the 4x4 by matrix, we can give it another thought. I believe that with this full set of methods, everything is available. Nonetheless, if they want to cut their way and do a full transformation that would be possible... but it might be error prone. We can discuss offline


Remove query builder package

hey, lots of changes here again, i'll wait till this is merged & published (like the fluent API PR changes) to get up to date but I wanted to tell you that I managed to get auto generated migrations / auto typed kysely query builder / full typesafe hooks (useRunQuery / useQuery)
so I don't mean to be rude or anything but I think the query builder space is mostly solved with kysely ?
the repo is private i'll open it soon but it basically looks like this:

@astahmer hmm, that sounds interesting.  I looked at kysely, and I liked the idea. In fact, I tried to build the type safe version of boono — but it is pretty hard if you want to support complex queries with CTE, for example. I wanted to have a query builder that will support all the things that SQLite can offer.
As another idea, I was thinking about to use SQLite to parse SQL queries and generate types. But unfortunately, SQLite can provide you type information only when query is executed 😞
But yeah, maybe it will be a good idea to build an adapter to kysely 🤔

As for the changes — yeah, they are a lot. I am trying to find the simplest and the best API that will make DX very comfortable.
It is possible that I will change my mind a lot of time before 1.0 release 😅

Also, one thing that I don't like about Kysely (and in Knex btw too) — the query builder is tightly coupled with the query executor. If Kysely could provide just query builder and nothing also, then integration with Kikko will look natural 🙂
Maybe it is a good idea to create an issue at Kysely repo 😅

but it is pretty hard if you want to support complex queries with CTE, for example.

oh ok, I don't know much about kysely or even SQL tbh, it seemed complete for a sql novice point of view

I wanted to have a query builder that will support all the things that SQLite can offer.

kinda related but now so much: I stumbled upon this feature recently and wondered if that works atm using kikko or is planned ?
https://www.sqlite.org/fts5.html

But yeah, maybe it will be a good idea to build an adapter to kysely 🤔
Also, one thing that I don't like about Kysely (and in Knex btw too) — the query builder is tightly coupled with the query executor. If Kysely could provide just query builder and nothing also, then integration with Kikko will look natural 🙂

yeah that's what I did here, I just opened the repo, it's still a bip wip but the basic demo should works
it's not so tightly coupled since we can use the AST-like output (using .toOperationNode())
no problem with the big changes, this is early so ofc it's fine, take your time I'm just having fun with what's already available !
btw thanks again for your work on this, this makes everything so much easier !


need to add more checker

Issue Description
Type: feature request
Describe what feature you want
we need more checker, such host info ,system info ,base software  and so on, for tracking user problem, or preparing sealer environment.
check list(need to update):
1,node network
2, node time sync
3,node CPU,mem,disk ,etc.
4,user privilege
5, sealer dir.
Additional context
Add any other context or screenshots about the feature request here.

node network, check what?
the time sync feature will be provided in other PR
master CPU must > 2
needs what privilege?
check sealer dir details?

@kakaZhou719 I think we should provide more details in those checks, so developers can join us.

os: os version, mem > 2G, cpu > 2, free disk > 20G, open file limit, etc
user: must root or sudo user
network: host can be reached over ssh (port、password、sshd conf ),  firewall disable ? muliti network

@wisheen Would you like to provide these features? You can add the CPU mem checker first~

@wisheen Would you like to provide these features? You can add the CPU mem checker first~

OK, assign to me.  It might be a little slower，usually a bit busy  and just a Go language beginner

@wisheen ok, we provide one week for you to handle this feature~. We want this feature in release v0.3.0 on 2021.7.23, I will do my best to help you.

@fanux I'm sorry. will be delayed.
The development environment took some time to setup，and study to learn about structure.
My question is:

check/service/pre_check.go design to check dependencies before cluster creation, when should call it?
It is inconvenient to use sealer check --pre cmd
Check it when join a node? sealer run, sealer join or seal apply
sealer run/join/apply, check all new hosts(masters and nodes) before Initializing host, or after ssh.WaitSSHReady(joinMasters or joinNodes) to check each one?
It's better that check all beforfe Initializing host ?


Inline HTML support

Resolve #9
Add interpolation support in many places

Wow, thank you so much @Rakoth!  This is awesome.


Improve Table Queries UI

Improve UI
https://sandbox.open-metadata.org/table/sample_data.ecommerce_db.shopify.raw_customer/table_queries

@devyani-kaushik we need to work on this for 0.13.1. a query can be 100s of lines long and the way we are showing doesn't look right

Blocked on design cc @devyani-kaushik

@devyani-kaushik, We are getting these attributes for one query.
{
    "query": "CREATE TABLE production.products (\n\tproduct_id INT IDENTITY (1, 1) PRIMARY KEY,\n\tproduct_name VARCHAR (255) NOT NULL,\n\tbrand_id INT NOT NULL,\n\tcategory_id INT NOT NULL,\n\tmodel_year SMALLINT NOT NULL,\n\tlist_price DECIMAL (10, 2) NOT NULL,\n);",
    "users": [
        {
            "id": "afe645d6-2937-4af6-8725-cb706fa53f5e",
            "type": "user",
            "name": "TESTOPENMETADATA",
            "fullyQualifiedName": "TESTOPENMETADATA",
            "displayName": "yest",
            "deleted": false,
            "href": "http://openmetadata-server:8585/api/v1/users/afe645d6-2937-4af6-8725-cb706fa53f5e"
        }
    ],
    "vote": 1,
    "checksum": "6d995b330fc8ba3a75a242123266bc89",
    "queryDate": "2022-12-02"
}

https://openmetadata.slack.com/archives/C02B6955S4S/p1671458205411699?thread_ts=1671453520.037669&cid=C02B6955S4S 👉 an example of a use case from a community member were these improvement could be used.

https://www.figma.com/file/VaeQD2fIhQVDCvqBHyEv7J/Open-Metadata?node-id=18562%3A21981&t=DTWzedNptYlKOrGU-1
@ShaileshParmar11


[Figma] Update BottomSheet to reflect insight reports update

Update BottomSheet to reflect insight reports update

Create new Bottom Sheet to match new updates in insight reports
Deprecate old Sheet figma component

Hey team! Please add your planning poker estimate with Zenhub @Akatori-Design @brianacnguyen @garrettbear


Eternal loading with "data-turbolinks-temporary"

The configuration is the same of my previous issue here:
https://github.com/rails/turbolinks/issues/525
when I add above <%= yield %>
a div like this:

<%= flash_messages %>

with
data-turbolinks-temporary
my application freezes on eternal loading (the blue bar in the top of page is freezed and in console everything is frozen.

Are you sure you're not getting an error in the console? You need to give the div an id.

I confirm that in Rails Console Live Log there is no error.
In Chrome Tools yes, it says to me to put an id.


TypeError: init() got an unexpected keyword argument 'cadir

Steps to reproduce the problem:
I was using the python development agent to make an error.
pip install mimtproxy
1.
from mitmproxy import flow, proxy
from mitmproxy.proxy.server import ProxyServer
**
config = proxy.ProxyConfig(
port=8080,
# use ~/.mitmproxy/mitmproxy-ca.pem as default CA file.
cadir="./ssl/",
)
state = flow.State()
server = ProxyServer(config)
m = MyMaster(server, state)
m.run()
2. python  test.py
3. Remind：
cadir="./ssl/",
TypeError: init() got an unexpected keyword argument 'cadir'
Any other comments? What have you tried so far?
System information
python2.7
centos6.5
mitmproxy 0.1.8

I has same problem, how to slove it?

Hi!
It looks like your inline script is from master, but you are using the latest stable release from mitmproxy. Can you please select the right tag on GitHub and try again?

Other than that, you probably want to use our scripting interface and not subclass from FlowMaster.


Infinite loop in i2c example

In my environment, I2C example does not reach to loop .
It stucks at
https://github.com/rp-rs/rp-hal/blob/0f5bc072cdb6d51bf27d6fd236fe2faf894124f9/rp2040-hal/src/i2c/controller.rs#L219
that causes infinite loop.
I simply did git clone and cargo run --example i2c --features="critical-section-impl"
Am I missing some hidden settings?
I'm working on Windows10, and using Raspberry Pi Pico.

It could be that your hardware setup forces the scl pin low which would prevent the controller from sending the address byte, causing this issue.

Thanks.
I'm noob in embedded development, so could you elaborate "hardware setup"?
From what settings interface, should I set the pin "high"?

In the i2c example, gpio19 is configured as the SCL pin. What's connected to that pin in your hardware?

Ah...I got it. I'm sorry, I didn't know I2C example need destination hardware.
currently I have no hardware other than pico that has I2C interface.
Though it is a bit different from the title, at first I tried to do a "loopback" using the two I2C ports on the RasPi Pico. However, I still got the same infinite loop and it didn't work.(And afterward, I download rp-hal repo and did cargo run --example i2c --features="critical-section-impl", which cause same infinite loop. That's why I opened an issue)
Can you please tell me if loopback is possible and how to do it?
I wrote this code after the i2c example.
    // Configure two pins as being I²C, not GPIO
    let sda1_pin = pins.gpio18.into_function::<hal::gpio::FunctionI2C>();
    let scl1_pin = pins.gpio19.into_function::<hal::gpio::FunctionI2C>();
    let sda0_pin = pins.gpio20.into_function::<hal::gpio::FunctionI2C>();
    let scl0_pin = pins.gpio21.into_function::<hal::gpio::FunctionI2C>();

    // Create the I²C drive, using the two pre-configured pins. This will fail
    // at compile time if the pins are in the wrong mode, or if this I²C
    // peripheral isn't available on these pins!
    let mut i2c1 = hal::I2C::i2c1(
        pac.I2C1,
        sda1_pin,
        scl1_pin,
        400.kHz(),
        &mut pac.RESETS,
        &clocks.system_clock,
    );

    let mut i2c0 = hal::I2C::i2c0(
        pac.I2C0,
        sda0_pin,
        scl0_pin,
        400.kHz(),
        &mut pac.RESETS,
        &clocks.system_clock,
    );

    // Write three bytes to the I²C device with 7-bit address 0x2C
    i2c1.write(0x2c, &[1, 2, 3]).unwrap();

    let mut buffer = [0; 3];
    i2c0.read(0x2c, &mut buffer).unwrap();

    assert_eq!(buffer, [1, 2, 3]);
    // Demo finish - just loop until reset

    loop {
        cortex_m::asm::wfi();
    }

Hi, indeed you cannot loop-back I2C as you did. It is a bit more complex than UART and requires some extra things.
First of all, to avoid any confusion here's the vocabulary I'll use:

controller: part in charge of controlling the bus  and initiating transactions.
peripheral: part listening on the bus and replying to transactions
block: the i2c block the driver interacts with through the memory mapped registers.

In a nutshell:
The i2c bus is meant to be a multi-controllers/multi-peripherals bus. That means on the same scl/SDA pair you can find multiple chip initiating transactions and multiple chips replying to them.
To accommodate for all this but lines are expected to be pulled up, preferably externally from the rp2040.
The strength of the pull-up depends on the frequency you intend to run the bus at (weaker pull-up/stronger resistor = slower transfer speed).
On the rp2040, most pins (but not all) start with a pull-down resistors enabled by default.
You'll want to reconfigure your scl and sda lines to either PullNone or PullUp.
When a controller wants to read or write data it needs to generate a certain start sequence (bringing scl and sda low in a known sequence).
It then

sends over the bus the address of the target peripheral (7bits plus 1 read/write marker bit)
waits for an acknowledgement from that peripheral and then either:
Write each data byte waiting for an ack of each
Clock out 8 bits sending an ack after each.

The peripheral is allowed to hold the clock low when data or ack is expected from it in order to get more time to process the request.
When the controller is done talking to the peripheral, it either generates a restart sequence to send another request (to the same or to another peripheral) or a stop sequence to free the bus for any other controller.
The controller should listen to the bus to make sure there's no contention/conflict.
On the rp2040 the block can behave as a controller or a peripheral (but not both at the same time).
I cannot remember if we have an example for the peripheral mode (I'm on my phone right now), will edit this msg if I find one.

@ithinuel  Thank you for the detailed explanation. I was confused about the difference in meaning between controller/peripheral/block, so this is a great help!
So, Pico has two I2C executor - "I2C0" and "I2C1".
I thought they are completely separated and can be either side "controller" and the other side "peripheral". But you said it can't. Are they internally the same?

I2C0 and I2C1 are two independent instances of the same block.
You can have one be a controller while the other is acting as a peripheral.
But when one is a controller, it cannot receive transactions from another controller.
Eg if your Pico's I2C0 is configured as a controller on the bus, another chip (like another pico) on the same bus cannot send it send it commands.
A controller is not "responding" to requests.
To achieve this, you'd need to have your Pico's i2C0 run as a peripheral to listen and respond on the bus and if/when your Pico needs to talk to another chip's peripheral, then your firmware will need to reconfigure i2C0 from peripheral mode to controller, and revert back to peripheral once it's done.
TBH it's a fairly rare usecase, it might be easier for you to have i2c0 as controller and i2c1 as peripheral (or the other way around).

Thanks! I think  I got it:)
To confirm I'm in right path, let me ask one more.
When I initialize i2c1, like
let sda1_pin = pins.gpio18.into_function::<hal::gpio::FunctionI2C>();
let scl1_pin = pins.gpio19.into_function::<hal::gpio::FunctionI2C>();
let mut i2c1 = hal::I2C::i2c1(
    pac.I2C1,
    sda1_pin,
    scl1_pin,
    400.kHz(),
    &mut pac.RESETS,
    &clocks.system_clock,
);

the i2c1 is now "controller", right? If so, I didn't know even that;)
And I should find how to run pico's I2Cx as "peripheral", right?

That is correct.
Peripheral mode starts with: https://docs.rs/rp2040-hal/latest/rp2040_hal/i2c/struct.I2C.html#method.new_peripheral_event_iterator

Thanks.
Now my program is
// Configure two pins as being I²C, not GPIO
let sda1_pin = pins.gpio18.into_function::<hal::gpio::FunctionI2C>();
let scl1_pin = pins.gpio19.into_function::<hal::gpio::FunctionI2C>();
let sda0_pin = pins.gpio20.into_function::<hal::gpio::FunctionI2C>();
let scl0_pin = pins.gpio21.into_function::<hal::gpio::FunctionI2C>();

let mut i2c0 = hal::I2C::new_peripheral_event_iterator(
    pac.I2C0,
    sda0_pin,
    scl0_pin,
    &mut pac.RESETS,
    0x2c
);

// Create the I²C drive, using the two pre-configured pins. This will fail
// at compile time if the pins are in the wrong mode, or if this I²C
// peripheral isn't available on these pins!
let mut i2c1 = hal::I2C::i2c1(
    pac.I2C1,
    sda1_pin,
    scl1_pin,
    400.kHz(),
    &mut pac.RESETS,
    &clocks.system_clock,
);

i2c0.next();//I don't know this is necessary or not.

// Write three bytes to the I²C device with 7-bit address 0x2C
i2c1.write(0x2c, &[1, 2, 3]).unwrap();

let mut buffer = [0; 3];
i2c0.read(&mut buffer);

assert_eq!(buffer, [1, 2, 3]);
// Demo finish - just loop until reset

loop {
    cortex_m::asm::wfi();
}

But it still stuck at the same point(write_internal() while self.i2c.ic_raw_intr_stat.read().tx_empty().is_inactive() {}).
How can I start session?

Could you perhaps try if this change to the example helps?
diff --git a/rp2040-hal/examples/i2c.rs b/rp2040-hal/examples/i2c.rs
index 54b815f..f149a77 100644
--- a/rp2040-hal/examples/i2c.rs
+++ b/rp2040-hal/examples/i2c.rs
@@ -75,8 +75,8 @@ fn main() -> ! {
     );

     // Configure two pins as being I²C, not GPIO
-    let sda_pin = pins.gpio18.into_function::<hal::gpio::FunctionI2C>();
-    let scl_pin = pins.gpio19.into_function::<hal::gpio::FunctionI2C>();
+    let sda_pin = pins.gpio18.into_function::<hal::gpio::FunctionI2C>().into_pull_type::<hal::gpio::PullUp>();
+    let scl_pin = pins.gpio19.into_function::<hal::gpio::FunctionI2C>().into_pull_type::<hal::gpio::PullUp>();
     // let not_an_scl_pin = pins.gpio20.into_function::<hal::gpio::FunctionI2C>();

     // Create the I²C drive, using the two pre-configured pins. This will fail

It looks like since commit b087c0c010c6c37274272bf3a0f77dc8d28a08b8 ("Rework GPIO API and fix a few inconsistencies (#585)"), the internal pull-ups are no longer automatically activated when I2C is selected.
I don't know if this was intentional. The datasheet strongly suggests that external pull-ups should be used. @ithinuel, that was your commit. Do you remember how it should be used?
At least, we should fix the  example.

Thanks @jannic ! It works!!!
In my "loopback" case I set both(controller and peripheral) side of sdax_pin and sclx_pin as .into_pull_type::<hal::gpio::PullUp>().
Then it works.
Though my problem has soleved, it seems like tasks remain to fix the example.
So I leave this issue open, but please feel free to close when you(authors) feel it should be to.

Yes, definitely keep the ticket open. I'm not sure how the solution will look like, but at least we need to document the changed behavior and update the example.
In most (if not all) cases, internal pull-ups should be enabled on i2c pins. Even though stronger external pull-ups are recommended, and with them, the internal ones are no longer needed, they wouldn't hurt either.
However I'd like to have some way to enable the i2c interface without the internal pull-ups. Not because I have a particular use case, but just because I think in the embedded space in general, there are many unusual approaches where it makes sense to do something differently than usual.


mpg123 x64-windows-static build failure

Host Environment

OS: Windows 10 64-bit
Compiler: MSVC 19

To Reproduce
Steps to reproduce the behavior:
./vcpkg --triplet x64-windows-static install mpg123

Failure logs
Command first fails with an error about requiring yasm-tool:x86-windows:
 ./vcpkg --triplet x64-windows-static install mpg123
Computing installation plan...
The following packages will be built and installed:
    mpg123[core]:x64-windows-static
Detecting compiler hash for triplet x64-windows-static...
Starting package 1/1: mpg123:x64-windows-static
Building package mpg123[core]:x64-windows-static...
Could not locate cached archive: C:\Users\REDACTED\AppData\Local\vcpkg\archives\47\477acc6e4557a6a3e1d0ebdc57d846afdc2828fc.zip
-- Trying auto-select mirror...
-- Using cached H:/vcpkg/vcpkg/downloads/mpg123-1.25.8.tar.bz2
-- Skipping hash check for H:/vcpkg/vcpkg/downloads/mpg123-1.25.8.tar.bz2.
-- The default mirror is in Disaster Recovery mode, trying other mirrors...
-- Trying mirror cfhcable...
-- Using cached H:/vcpkg/vcpkg/downloads/mpg123-1.25.8.tar.bz2
-- Skipping hash check for H:/vcpkg/vcpkg/downloads/mpg123-1.25.8.tar.bz2.
-- Cleaning sources at H:/vcpkg/vcpkg/buildtrees/mpg123/src/f226317ddd-0aae5f9fd8.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source H:/vcpkg/vcpkg/downloads/mpg123-1.25.8.tar.bz2
-- Applying patch 0001-fix-crt-linking.patch
-- Applying patch 0002-fix-x86-build.patch
-- Applying patch 0003-add-arm-configs.patch
-- Applying patch 0004-add-arm64-uwp-config.patch
-- Using source at H:/vcpkg/vcpkg/buildtrees/mpg123/src/f226317ddd-0aae5f9fd8.clean
CMake Error at installed/x64-windows-static/share/yasm-tool-helper/yasm-tool-helper.cmake:16 (message):
  Cross-targetting and x64 ports requiring yasm require the x86-windows
  yasm-tool to be available.  Please install yasm-tool:x86-windows first.
Call Stack (most recent call first):
  ports/mpg123/portfile.cmake:41 (yasm_tool_helper)
  scripts/ports.cmake:135 (include)

Error: Building package mpg123:x64-windows-static failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: mpg123:x64-windows-static
  Vcpkg version: 2020.06.15-nohash

I then ran vcpkg install yasm-tool:x86-windows as it indicated, which appeared to work:
 ./vcpkg install yasm-tool:x86-windows
Computing installation plan...
The following packages will be built and installed:
    yasm-tool[core]:x86-windows
Detecting compiler hash for triplet x86-windows...
Starting package 1/1: yasm-tool:x86-windows
Building package yasm-tool[core]:x86-windows...
Could not locate cached archive: C:\Users\REDACTED\AppData\Local\vcpkg\archives\7d\7d6bbcb4c72d0a14345ce9d80241004f5ba64c07.zip
-- Downloading https://www.python.org/ftp/python/3.8.3/python-3.8.3-embed-win32.zip...
-- Downloading https://github.com/yasm/yasm/archive/009450c7ad4d425fa5a10ac4bd6efbd25248d823.tar.gz...
-- Extracting source H:/vcpkg/vcpkg/downloads/yasm-yasm-009450c7ad4d425fa5a10ac4bd6efbd25248d823.tar.gz
-- Using source at H:/vcpkg/vcpkg/buildtrees/yasm-tool/src/d25248d823-818ed1bbf4.clean
-- Configuring x86-windows
-- Building x86-windows-dbg
-- Building x86-windows-rel
-- Installing: H:/vcpkg/vcpkg/packages/yasm-tool_x86-windows/share/yasm-tool/copyright
-- Performing post-build validation
-- Performing post-build validation done
Stored binary cache: C:\Users\REDACTED\AppData\Local\vcpkg\archives\7d\7d6bbcb4c72d0a14345ce9d80241004f5ba64c07.zip
Building package yasm-tool[core]:x86-windows... done
Installing package yasm-tool[core]:x86-windows...
Installing package yasm-tool[core]:x86-windows... done
Elapsed time for package yasm-tool:x86-windows: 24.01 s

Total elapsed time: 27.51 s

I re-ran the original command, which failed:
./vcpkg --triplet x64-windows-static install mpg123
Computing installation plan...
The following packages will be built and installed:
    mpg123[core]:x64-windows-static
Detecting compiler hash for triplet x64-windows-static...
Starting package 1/1: mpg123:x64-windows-static
Building package mpg123[core]:x64-windows-static...
Could not locate cached archive: C:\Users\REDACTED\AppData\Local\vcpkg\archives\47\477acc6e4557a6a3e1d0ebdc57d846afdc2828fc.zip
-- Trying auto-select mirror...
-- Using cached H:/vcpkg/vcpkg/downloads/mpg123-1.25.8.tar.bz2
-- Skipping hash check for H:/vcpkg/vcpkg/downloads/mpg123-1.25.8.tar.bz2.
-- The default mirror is in Disaster Recovery mode, trying other mirrors...
-- Trying mirror cfhcable...
-- Using cached H:/vcpkg/vcpkg/downloads/mpg123-1.25.8.tar.bz2
-- Skipping hash check for H:/vcpkg/vcpkg/downloads/mpg123-1.25.8.tar.bz2.
-- Cleaning sources at H:/vcpkg/vcpkg/buildtrees/mpg123/src/f226317ddd-0aae5f9fd8.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source H:/vcpkg/vcpkg/downloads/mpg123-1.25.8.tar.bz2
-- Applying patch 0001-fix-crt-linking.patch
-- Applying patch 0002-fix-x86-build.patch
-- Applying patch 0003-add-arm-configs.patch
-- Applying patch 0004-add-arm64-uwp-config.patch
-- Using source at H:/vcpkg/vcpkg/buildtrees/mpg123/src/f226317ddd-0aae5f9fd8.clean
-- Building H:/vcpkg/vcpkg/buildtrees/mpg123/src/f226317ddd-0aae5f9fd8.clean/ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj for Release
-- Building H:/vcpkg/vcpkg/buildtrees/mpg123/src/f226317ddd-0aae5f9fd8.clean/ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj for Debug
-- Installing
CMake Error at ports/mpg123/portfile.cmake:95 (file):
  file INSTALL cannot find
  "H:/vcpkg/vcpkg/buildtrees/mpg123/src/f226317ddd-0aae5f9fd8.clean/ports/MSVC++/2015/win32/libmpg123/x64/Debug_x86/libmpg123.pdb":
  File exists.
Call Stack (most recent call first):
  scripts/ports.cmake:135 (include)

Error: Building package mpg123:x64-windows-static failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: mpg123:x64-windows-static
  Vcpkg version: 2020.06.15-nohash

After the above error, there are newly built libmpg123.pdb files under buildtrees/mpg123:
./src/f226317ddd-0aae5f9fd8.clean/ports/MSVC++/2015/win32/libmpg123/x64/Debug_x86/libmpg123/libmpg123.pdb
./src/f226317ddd-0aae5f9fd8.clean/ports/MSVC++/2015/win32/libmpg123/x64/Release_x86/libmpg123/libmpg123.pdb

Both have an extra "libmpg123" subdirectory at the end which the INSTALL command error message doesn't seem to include.

Thanks for posting this issue. Could you please attach the file H:/vcpkg/vcpkg/downloads/mpg123-1.25.8.tar.bz2 on this page?

It isn't clear to me what the issue is.
Just built this port from source on my old laptop (Windows 10 64-bit). It took two mins.

@mctynp Can you provide further details about how to reproduce your issue?

Added the requested file (the .tar.bz2 archive is wrapped in a .zip file as github does not appear to allow attaching .bz2 files).
mpg123-1.25.8.tar.bz2.zip

It isn't clear to me what the issue is.
Just built this port from source on my old laptop (Windows 10 64-bit). It took two mins.
@mctynp Can you provide further details about how to reproduce your issue?

The mpg123 libraries are a dependency of sdl2-mixer as used in a project I'm attempting to build. I stripped down the vcpkg command to the minimum needed to reproduce the issue:
 ./vcpkg --triplet x64-windows-static install mpg123

The compilation process seems to work, but the build fails during the installation process as outlined above, and the end result is that the mpg123 libraries and associated headers are not available to the project.
The 32-bit build does work (./vcpkg --triplet x86-windows-static install mpg123), but I need the 64-bit libraries.
Based on the errors I posted in the original comment, it seems like it may be an issue with vcpkg and not mpg123 as such. For your build of mpg123, did you use vcpkg? If so, what dependencies did it pull (or that you had to install manually, in case I missed something)? If you didn't use vcpkg, did you end up generating libraries that vcpkg can install?
The project I'm trying to build is https://github.com/CleverRaven/Cataclysm-DDA/blob/master/doc/COMPILING/COMPILING-VS-VCPKG.md. Is there an issue with its instructions on using vcpkg and/or mpg123? Its command to build and install its dependencies failed on mpg123 as described in my original post. The full original command was
.\vcpkg --triplet x64-windows-static install sdl2 sdl2-image sdl2-mixer[dynamic-load,libflac,mpg123,libmodplug,libvorbis] sdl2-ttf gettext

While attempting to isolate the issue, I deleted and re-installed vcpkg several times. Does vcpkg generate state information outside of its installed subdirectory (plus archives) that has to be cleaned up?

I have the same issue, on Azure Pipelines so it should be a clean and correct environment.

-- Using source at D:/a/1/s/vcpkg/buildtrees/mpg123/src/f226317ddd-0aae5f9fd8.clean
CMake Error at installed/x64-windows/share/yasm-tool-helper/yasm-tool-helper.cmake:16 (message):
Cross-targetting and x64 ports requiring yasm require the x86-windows
yasm-tool to be available.  Please install yasm-tool:x86-windows first.
Call Stack (most recent call first):
ports/mpg123/portfile.cmake:41 (yasm_tool_helper)
scripts/ports.cmake:135 (include)
Error: Building package mpg123:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with .\vcpkg update, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: mpg123:x64-windows
Vcpkg version: 2020.06.15-nohash
Additionally, attach any relevant sections from the log files above.
Failed to run command :
.\vcpkg install --triplet "x64-windows"yasm-tool:x86-windows ffmpeg freetype lua luafilesystem lpeg sdl2
sdl2-mixer[dynamic-load,libflac,mpg123,libmodplug,libvorbis] luasocket catch2
Exiting.

I ask for yasm-tool, it adds yasm-tool-helper as a dependency. It builds yasm-tool-helper first and fatally messages that yasm-tool isn't around yet.

Hi @mctynp
Could you please help confirm it you can build mpg123 successfully after installing yasm-tool:x86-windows?
If not, please update mpg123 to the latest version and try this again.
@tobylane
Thanks for your further investigation and above details.

Installing yasm-tool:x86-windows did not resolve the issue (I'd already had that package installed), but pulling the updates to mpg123 did resolve the issue.
Thank you for the fix!


Cupy support for mathematical operations with list & tuples

Description
Could cupy arrays be made to support mathematical operations with list and tuple types?
Cupy arrays currently support mathematical operations with other cupy arrays, or with floats/integers. Numpy arrays support these, and also supports lists and tuples.
The motivation for this request is that when I adapt existing numpy code to run with cupy I frequently encounter several places where a small list or tuple is passed in to a function. Numpy handled those cases easily, but for cupy I need to convert them to cupy arrays first. If cupy could handle that internally, it would make the experience of adapting code to use cupy a lot more seamless.
Additional Information
Here's an example that I'd expected would work, based on numpy's behaviour, but does not work the same with cupy.
import numpy
import cupy

array_numpy = numpy.array([1,2,3])
array_cupy = cupy.array([1,2,3])

array_numpy - (4,5,6)
# Result: array([-3, -3, -3])

array_cupy - (4,5,6)
# Expected result: same as before
# Actual behaviour: TypeError message (see below)
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

[<ipython-input-54-aebb4283c0f9>](https://localhost:8080/#) in <module>()
----> 1 array_cupy - (4,5,6)

cupy/_core/core.pyx in cupy._core.core.ndarray.__sub__()

TypeError: operand type(s) all returned NotImplemented from __array_ufunc__(<ufunc 'subtract'>, '__call__', array([1, 2, 3]), (4, 5, 6)): 'ndarray', 'tuple'

https://docs.cupy.dev/en/stable/user_guide/difference.html#universal-functions-only-work-with-cupy-array-or-scalar
This is done to avoid unexpected device host synchronization which degrades performance a lot.
I am sorry but we don't plan to change the behavior.

Even with the Python Array API standard we do not support this:
https://data-apis.org/array-api/latest/API_specification/array_object.html#arithmetic-operators
The community consensus is to move away from having to interact with Python containers due to the performance concerns (see Emilio's response above).

Ok then, thank you for offering to update the documentation to make that clearer. Good to know doing it this way means the performance is better. Thanks!


Automate provider upgrades.

Skipping review to get this into the default branch so we can execute and test the workflow.


Can't update container settings on stock Raspberry Pi Install (Error 400)

Before you start please confirm the following.

[X] Yes, I've searched similar issues on GitHub.
[X] Yes, I've checked whether this issue is covered in the Portainer documentation or knowledge base.

Problem Description
After a stock install of Raspbian 64, Docker, and Portainer, container fails to deploy after settings are updated. Error 400.
Expected Behavior
After installing stock Raspbian64 (also Ubuntu64) and Hello World container, user should be able to change the container settings (i.e. Specify an IPv4 in the Networking tab)
Actual Behavior
Error 400
Browser debug window shows:
http://<IP_ADDRESS>:9000/api/endpoints/2/docker/containers/c7e817e033152ded841013a36799f821cebab73e2672e48c8a01f5cf94dd51a9/start
That resolves to a page that states:
{"message":"A valid authorisation token is missing","details":"Unauthorized"}
Steps to Reproduce

Install Raspbian 64 - Debian GNU/Linux 11 (bullseye)
Install Docker for Raspberry PI (https://docs.docker.com/engine/install/debian/ as noted in the official Docker RPi page)
Install Portainer (https://pimylifeup.com/raspberry-pi-portainer/)

sudo docker pull portainer/portainer-ce:latest
sudo docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

Install Hello-World container
Edit Hello-World container and set static an IPv4 address in Networking tab
Deploy the container
Error 400

Portainer logs or screenshots
No response
Portainer version
2.19.0
Portainer Edition
Community Edition (CE)
Platform and Version
Docker version 24.0.6, build ed223bc
OS and Architecture
Raspbian64 OS
Browser
Firefox 116.0.5845.110 (Official Build) (64-bit), Chrome Version 116.0.5845.110 (Official Build) (64-bit)
What command did you use to deploy Portainer?
docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

Additional Information
Note: I have tried Firefox & Chrome, as well as private browsing mode. My desktop computer (running the browser) is running Ubuntu 20.04.

Is the issue specific to setting an IPv4 address? Does it happen if you make a different change?
Normally that message would appear when your session expires, or you have been logged out or have insufficient privileges to perform the action. I'm trying to determine whether this is a frontend permissions issue or a backend Docker issue.

It's interesting. I just tested it and I could only get it to occur when assigning an IPv4 address. I can change the DNS servers, Env, Labels, Restart Policies, and Capabilities. But only IPv4 generates the error from my tests.

Which network is the container you're editing on? Docker itself prevents you from setting static IPs on containers that are on the default bridge network. Does the same error occur when you have a custom network for that container?

I can confirm that a static IP can be set on custom networks. I didn't realize that statics could not be set on the default Bridge network. Thanks for the help.


what

Username and Discrim: 6392
User ID:<PHONE_NUMBER>45431161
Image Link: https://giantbomb1.cbsistatic.com/uploads/square_tiny/2/26644/853759-cirno.jpg

if you can provide me an image link from a trusted domain ill add it (i dunno i that domain is trusted or not)
pls read https://github.com/Discord-Theme-Addons/NameBadges#badge-request

added, changed the image link to a discord cdn.

thank u hooFyFYFYfy