Bar chart with indexAxis: 'y' requires data.labels (whereas 'x' does not)

Expected behavior
A bar chart with indexAxis: 'y' should behave the same (mirrored) as with indexAxis: 'x'. data.labels should not be required.
Current behavior
A bar chart with indexAxis: 'y' doesn't show anything if data.labels is not defined.
Reproducible sample
https://codepen.io/alemmer/pen/PoLMLgz
Optional extra steps/info to reproduce
No response
Possible solution
No response
Context
No response
chart.js version
4.4.1
Browser name and version
any
Link to your project
No response

To make the bar chart behave as expected with indexAxis: 'y' without requiring data.labels, you can specify the labels directly within the data object using the labels property.
Code ->
var ctx = document.getElementById("myChart");   var myChart = new Chart(ctx, {     type: 'bar',     data: {       labels: Object.keys({a:1,b:3,c:2}), // Specify labels directly from data object       datasets: [{         label: '# of Votes',         data: Object.values({a:1,b:3,c:2}) // Specify data values directly       }]     },     options: {       indexAxis: 'y' // Set indexAxis to 'y'     }   });


Is There Any Benchmark for the Consumer?

I run the example, and find it very slow. I'm not sure where the bottleneck is.

No. It has always been fast enough for my purposes, so I never bothered benchmarking or profiling. I'd happy if someone would provide some benchmarking or profiling numbers.
I do know that the re-balancing consumers is unnecessarily slow. I attempted to address it in #72 but I never followed through on finishing it.


clang

explore using clang for compilation

gcc on mac is just an alias for clang anyway, so no changes necessary here


Improve linting and formatting

In summary, this PR:

Adds husky pre-commit hook calling lint-staged
Configures lint-staged. It's installed in the repo root, but currently only runs for changes in the frontend package.
Cleans up ESLint config and updates versions for eslint and @typescript-eslint. I turned most of the rules into warnings because I'd like to have a discussion and reach an agreement on them, in a different PR.
Commits reformatted files after running prettier --write.

Let me know if you have any questions or if I missed something. Some of the things I'm leaving for future PRs:

Agreeing on the custom ESLint rules and turning them off or into errors. No point in having a big noisy wall of warnings
Update dependencies (Chakra + React 18 is finally available, for example)
Extend linting and formatting to the hardhat package
Improve the testing situation, we currently have no tests.

Hey, I did some changes (with a focus on the hardhat-part):

For me the husky pre-commit errorred (npx: command not found), which is why I adjusted the .husky/pre-commit to work properly with nvm
I increased printWidth to 100 and set tabWidth to 2. Those are settings I personally prefer but we can discuss this.
I added the same prettier-config to hardhat as well. I first researched how to make a global prettier-file and extend from it in the child-packages but found out there is no way all editors are compatible with. – And as it's only a few lines I thought that's fine ;)
Improvements regarding the addresses-script I made:

Outsourced it in a shared-directory with the aave-addresses
Improved code quality
Sort imports by chain-id now
Run prettier via a child-process afterwards to ensure they always look good 💅

One more thing:

I would vote for setting all the current custom eslintrc.json rules to off straight away (they are only 5 and most of them add more distraction than value IMO) – Are you ok with that, @raulrpearson?

Hey, I made some further changes and suggested some sane eslint-defaults. Feel free to merge, @raulrpearson if this is working for you, too!
Btw when working with the project in VSCode I suggest opening the workspace-file instead of the directory only. This makes it much easier to switch between sub-packages during work.

Renamed the workspace-file to yieldgate.code-workspace to have a more descriptive window title
Added the default-formatter as well as format-on-save actions to get everyone's VSCode work properly with our prettier-setup
Added peacock & workbench colors to separate the window from others (takes only effect if you have the plugin installed anyways)
Added extension-suggestions (e.g. for dbaeumer.vscode-eslint and esbenp.prettier-vscode)
Added some more directories to .eslintignore and .prettierignore
Configured husky/lint-staged to also format .json files
Committed a formatted version of all our files with the current settings
And last but not least this is the eslintrc.json I'm suggesting for now. Feel free to make adjustments and we can change those at any point anyways :)

{
  …
  "rules": {
    "@typescript-eslint/explicit-module-boundary-types": "off",
    "@typescript-eslint/no-empty-interface": "off",
    "@typescript-eslint/no-explicit-any": "off",
    "@typescript-eslint/no-unused-vars": "off",
    "@typescript-eslint/no-non-null-assertion": "warn",
    "react/no-children-prop": "warn",
    "react-hooks/exhaustive-deps": "off",
    "react/jsx-no-target-blank": "off",
    "no-extra-boolean-cast": "off",
    "prefer-const": "warn"
  }
}

Thanks for the work, @wottpal! I'm not on board with turning off some of those rules, but let's work it out on a different PR to make the review/discussion more manageable.
I added a small formatting commit. Will merge, hope that's okay.


change title on README

As a reminder, you have:
Left reviews and line comments
Created a file and made a commit
Opened a pull request

you can merge it now


No support for Advanced configuration for hosted websites

Hi banyan people
looks like those advanced features aren't supported by provider https://registry.terraform.io/providers/banyansecurity/banyan/latest/docs/resources/service_web
https://docs.banyansecurity.io/docs/feature-guides/hosted-websites/notes/#customizing-the-bnn_trust-cookie

Exemptions are not supported either:
https://github.com/banyansecurity/terraform-provider-banyan/blob/main/banyan/resource_service_web.go#L299


[Request] set speed/rate of animation?

Would this be worth making a PR for?
<Progress.Circle animated={true} speed={nn} />

It's using spring animations that doesn't really have a duration config, but others such as friction etc. Could be worth exposing them. What are you aiming to achieve btw?

@oblador: was going to get the growth of the circle's progress to be slower. It's a little too fast for a particular case right now.

Anything on this?

Is there a timeline for this particular feature. I'm looking to animate the circle and bars slower on load.

+1

This can be done with the animationConfig prop in the bar, using the duration attribute.
<Bar
  {...}
  animationConfig={{duration: 30000}}
/>

@JulianKingman not working

@heyman333
it is working for Progress "Bar" type as mentioned by @JulianKingman
e.g to make speed maximum, set duration to 0 as below.
<Progress.Bar animationConfig={{ duration: 0 }} animationType={'timing'}  ... />
@ferenax works for bars

just use indeterminateAnimationDuration


🐛 fix(carousel): card slider with long labels

Current Behavior

Expected Behavior
Solutions:

cut the label with three points ...
adjust the width to not be equaliy

the other buttons should have the same height as the biggest
Steps to Reproduce

Version
12
Browsers
No response
Device
No response
Code Reproduction URL
https://baloise-design-system.vercel.app/?path=/story/components-carousel--card-slider&globals=backgrounds.grid:true
Additional Information
No response
Code of Conduct

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

Component is currently used 15 times – out of this only once for the banking packages.

@hirsch88 a pragmatic approach would be to decrease the padding to 8px instead of 24px.
This will solve the issue mostly down to 330px devices.
An alternative approach would be to stack it vertically:
Just a stacking example, design is not approved:

Do you agree?


Added: index.html file added

@andrewstaveley  I want to contribute to your projects.
Can you please help me with how can I contribute to you?


Automate dependency updates

Because we plan to start committing repo hashes, build tool versions, and have already started committing exact versions of dependencies, we should make it easier to automate updates to these.
Workflow:

Run a scheduled or trigger-based update script
Ensure build still passes
Commit and push changes

cref #576 , #574 , #566

As per conversation in person, we would want this to work with either a NuGet feed or ProdCon as the "source of truth".

cc @pranavkm

@ryanbrandenburg I have a bunch of information now on how we can automate this now that prodcon is stabilizing. Is this work item one you still want to own?

Yeah, let's swap info about how exactly we want this to function and I'll drive it.

Some areas for to look at when doing this work:

https://github.com/dotnet/versions/blob/cdce4ee1842eca91db64a1531c6fc4458c3e0bcf/Maestro/subscriptions.json#L559-L580
https://github.com/dotnet/versions/blob/master/build-info/dotnet/product/cli/release/2.1/build.xml
https://github.com/dotnet/corefxlab/blob/master/scripts/update-dependencies/update-dependencies.csproj

This work is "done" but we haven't seen a run of it in Maestro because ProdCon builds have not gotten to us in a while. We won't be able to learn more on this until they are flowing again, so it's blocked.

We successfully ran this script and merged the PR it created.


telescope: fix use of potentially nil ext and export name

fixes #1

fix check against potentially nil ext in entry_to_filename
fix export name of telescope extension

Oh also, now that i've tested it in a couple of PCs, I've found that for some reason the name of the export did work sometimes (in fact, on my main PC it did work). I'm not sure why that is, but there is a chance that someone is already using :Telescope attempts on a mapping. Does it work well for you if you leave both exports (attempt and attempts)? If so, I'd leave both so as to avoid breaking changes
Otherwise, I'd add a breaking change notice to the commit msg, so packer will warn users when updating

Oh also, now that i've tested it in a couple of PCs, I've found that for some reason the name of the export did work sometimes (in fact, on my main PC it did work).

Is this due to how you're using it in your dotfiles? I used the one in the README which recommended map('n', '<leader>al', 'Telescope attempt'), which errors because it's not called attempt.
If I try to run :Telescope attempt, I get:
Error executing Lua callback: ...ck/packer/start/telescope.nvim/lua/telescope/command.lua:193: attempt to call a nil value
stack traceback:
        ...ck/packer/start/telescope.nvim/lua/telescope/command.lua:193: in function 'run_command'
        ...ck/packer/start/telescope.nvim/lua/telescope/command.lua:253: in function 'load_command'
        ...te/pack/packer/start/telescope.nvim/plugin/telescope.lua:109: in function <...te/pack/packer/start/telescope.nvim/plugin/telescope.lua:108>

And :Telescope attempts results in:
[telescope.run_command]: Unknown command

I'd be happy to file this as a breaking change, but at least according to the README it's more of a fixing one since nobody could have been using it correctly unless they used your config.

Squashed changes + updated the commit to include BREAKING CHANGE in the footer as requested by convential-commits.
Also manually fixup'd some of the formatting changes that stylua introduced, my apologies for that.

BTW, apologies for the spam here - but if you'd prefer both exports (attempts and attempt) I'm happy to do that as well - your plugin your rules. :-)

Is this due to how you're using it in your dotfiles? I used the one in the README which recommended map('n', 'al', 'Telescope attempt'), which errors because it's not called attempt.

That makes sense, my bad. Thanks a lot for the contribution!


gha: make runner type for clustermesh workflows configurable

b20038e242d7 ("gha: explicilty specify beefier runner type for clustermesh workflows") explicitly configured beefier runners for clustermesh workflows, as they require more power to host two multi-node kind clusters. However, this change turned out to have unexpected billing consequences, even though GitHub recently upgraded [1] the default runners for OSS projects to 4 vCPU and 16GiB of RAM (the same specs of the runner which had been configured). Hence, let's revert this change, and instead make the runner type configurable through an environment variable. This will also make it easier to change the runner type in the future, if needed.
[1]: https://github.blog/2024-01-17-github-hosted-runners-double-the-power-for-open-source/
Fixes: b20038e242d7 ("gha: explicilty specify beefier runner type for clustermesh workflows")
Suggested-by: André Martins<EMAIL_ADDRESS>

/test


Bug: If Skippable First field is in first group of form then it  is not getting Skipped on Toggling Back

Describe the bug
When navigating through a form and currently in the first group, if the first field is skippable and the form starts with the second field due to the skipping of the first field , But toggling back does not correctly handle the skippable state of the first field .
To Reproduce
Steps to reproduce the behavior:

Go to create form where 1st field is skippable but 2nd field is not skippable.
The form will open with current field as 2nd field (expected behavior).
Now toggle back (using shift + tab), you will see that the bottom helper command shows command for skippable field.

Expected behavior
Toggling back to the first field in the first group should correctly handle the skippable state. If the first field was initially skipped, it should still be skippable while toggling back.
Screenshots
intial state of form: (it starts with 2nd field because 1st field is skippable):

Toggle back state of form: (bottom command gets change to commands of the skippable component):

Desktop :
Device : Laptop
OS : WIN 11
go Version : go 1.21.6 windows/amd64

Thank you for the bug report @anirudhaCodes, we will fix!

@maaslalani
Solution works.
But if a group has only one field which is skippable then it doesn't skip the group.
and  if a group has more than one field (All of them are skippable) then it skip the group.
If last group of the form contains all skippable fields then the form skips the first whole group


failIfNoConsumers default value

The failIfNoConsumers default value is true and not false

You need to change it in the java source code at
https://github.com/apache/camel/blob/4eb611282b53c64f91a3fa22c682c2f5d011ef28/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java#L51

@davsclaus  What is weird is i check the code before and i see that default value is the right one so ?

@davsclaus What is weird is i check the code before and i see that default value is the right one so ?

@UriParam(label = "producer")
private boolean failIfNoConsumers = true;

You need to add defaultValue="true" to the annotation of UriParam

Not a valid PR


Add redelegateTokens to singingstargateclient.ts

Nice, thanks. Do you need this released as 0.26.x any time soon?

Not necessarily. While building my tool I just realized it was missing and added it :)

Could you add a test for that? I would not require it for merge because we don't have tests for the other staking methods as well. But it would be great to increase coverage.

Sure thing! Just checked that other tests are missing too so I skipped that :D Gimme some time, gonna add that

For inspiration: the query tests for staking and distribution might help for checking if the operation was successful:

https://github.com/cosmos/cosmjs/blob/main/packages/stargate/src/queries/staking.spec.ts
https://github.com/cosmos/cosmjs/blob/main/packages/stargate/src/queries/distribution.spec.ts

@webmaster128 To write a test for redelegation, I need 2 validators to test. But in packages/stargate/src/testutils.spec.ts there's only one defined. Do you want me to extend that?

Oh, good point. The problem is the validator does not only need to be added in the test file. Instead it need to exists in the test network which is running as a backend for the tests. The validator is created here: https://github.com/cosmos/cosmjs/blob/v0.26.4/scripts/simapp42/template/.simapp/config/genesis.json#L533-L558.
We can probably not run the network with multiple validators without massive overhead in the docker setups. But maybe we can register a second inactive validator?

We give up the idea of those wrapper function in general. We can never keep up with all the possible messages this way.


Missing "RegisterDNS" entry in the ProfileXML file

Hello,
Recently you had added an entry in the XML to allow the VPN connection to register the client's IP address in the company's DNS.
Example:
<VPNProfile>
...
<AlwaysOn>true</AlwaysOn>
<RegisterDNS>true</RegisterDNS>
</VPNProfile>

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

ID: 79add4e0-6997-5b15-542c-be3f1c2b1baf
Version Independent ID: 47bd5f53-cd36-3205-42b1-6d99c68e9b39
Content: VPN profile options (Windows 10) - Microsoft 365 Security
Content Source: windows/security/identity-protection/vpn/vpn-profile-options.md
Product: w10
Technology: windows
GitHub Login: @DulceMontemayor
Microsoft Alias: dansimp

Hello @pavelrozenberg
The issue is being closed since your question seems to be answered. Feel free to re-open this issue if you feel that it hasn't been answered or that there are further suggestions to improve the documentation itself.
Thanks.


fix: Fix warning on aws_eks_addon regarding resolving conflict

Description
fix warning in aws_eks_addon
Motivation and Context
When running terraform using this module, we get this warning. Moreover the resource parammeters have changed.
╷
│ Warning: Argument is deprecated
│
│   with module.fap.module.fap-eks.aws_eks_addon.this["coredns"],
│   on .terraform/modules/fap.fap-eks/main.tf line 392, in resource "aws_eks_addon" "this":
│  392:   resolve_conflicts        = try(each.value.resolve_conflicts, "OVERWRITE")
│
│ The "resolve_conflicts" attribute can't be set to "PRESERVE" on initial
│ resource creation. Use "resolve_conflicts_on_create" and/or
│ "resolve_conflicts_on_update" instead

Breaking Changes

How Has This Been Tested?

[x] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects

[x] I have executed pre-commit run -a on my pull request

thank you - however, this is a breaking change and we will resolve it shortly with a few other changes


Release 1.3.0

This release targets Swift 2.1 / Xcode 7.1.
Added

Add tvOS target (#62).

:ship:


Update cmd/CMakeLists to conform with all other gz libraries

🦟 Bug fix
Summary
The updated cmake file is now similar to other gz libraries, eg. https://github.com/gazebosim/gz-transport/blob/9ba73b74f6ba9717d33429ebf93ef1500c7958f4/src/cmd/CMakeLists.txt
An outcome of updating the cmake files is that it fixes the library path obtained by cmdgui.rb such that it points to the .so file contained in the non-dev debian package.
Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if the library has them)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

ign_TEST is failing
/github/workspace/src/ign_TEST.cc:98: Failure
  Expected: (output.find("TopicEcho")) != (std::string::npos), actual:<PHONE_NUMBER>3709551615 vs<PHONE_NUMBER>3709551615
  Library error: [/github/workspace/lib/libignition-gui3.so.3.11.2] not found.

  /github/workspace/src/ign_TEST.cc:99: Failure
  Expected: (output.find("Publisher")) != (std::string::npos), actual: 18[4467](https://github.com/gazebosim/gz-gui/runs/8026238453?check_suite_focus=true#step:4:4475)44073709551615 vs<PHONE_NUMBER>3709551615
  Library error: [/github/workspace/lib/libignition-gui3.so.3.11.2] not found.

Fixed failing test in https://github.com/gazebosim/gz-gui/pull/478/commits/4c33a1534cd0c629eef96eb7811be02d00945e2d. I missed the corresponding changes in conf/CMakeLIsts.txt

Windows isn't happy
``
CMake Error in src/cmd/CMakeLists.txt:
Evaluation file to be written multiple times with different content.  This
is generally caused by the content evaluating the configuration type,
language, or location of object files:
C:/Jenkins/workspace/ign_gui-pr-win/ws/build/ignition-gui3/test/lib/ruby/ignition/cmdgui3.rb

I disabled the cmake generation for cmd in https://github.com/gazebosim/gz-gui/pull/478/commits/18082b7f36e39973ab942e25ac9534462b4bf4e9 since UNIT_ign_TEST was disabled on windows anyway. In addition, this follows the pattern in ign-transport and ign-msgs.

INTEGRATION_scene3d failed on Github Actions for Bionic, but I see that other PRs have been merged with the same failure, so I'll go ahead and merge this.


Issues building in Docker

Hi there, first off thanks for this amazing tool! I can see this slotting into the toolkit of many merchants and organizations, and wanted to do what I could to simplify it's usage there.
I was working on Dockerizing it but hit a snag that is beyond my Gradle/Java knowledge. If you have any guidance on where to go next, AFAICT this should be a good base but errors out for me here:
Dockerfile:
  1 FROM gradle:8.4 as build
  2
  3 ARG PHOENIXD_BRANCH=v0.1.1
  4 ARG PHOENIXD_COMMIT_HASH=4e42a462e6cc7d0a09fb224820071991ac1a0eca
  5
  6 # Upgrade all packages and install dependencies
  7 RUN apt-get update \
  8     && apt-get upgrade -y
  9 RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
 10         ca-certificates \
 11         git \
 12     && apt clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
 13
 14 WORKDIR /phoenixd
 15
 16 # Set necessary args and environment variables for building phoenixd
 17 ARG PHOENIXD_BRANCH
 18 ARG PHOENIXD_COMMIT_HASH
 19
 20 # Git pull phoenixd source at specified tag/branch and compile phoenixd binary
 21 RUN git clone --recursive --branch ${PHOENIXD_BRANCH} \
 22     https://github.com/ACINQ/phoenixd . \
 23     && test `git rev-parse HEAD` = ${PHOENIXD_COMMIT_HASH} || exit 1 \
 24     && ./gradlew packageLinuxX64

Error:
1.178 Downloading https://services.gradle.org/distributions/gradle-8.4-bin.zip
2.415 ............10%............20%.............30%............40%.............50%............60%.............70%............80%.............90%............100%
8.305
8.305 Welcome to Gradle 8.4!
8.305
8.305 Here are the highlights of this release:
8.305  - Compiling and testing with Java 21
8.305  - Faster Java compilation on Windows
8.305  - Role focused dependency configurations creation
8.305
8.305 For more details see https://docs.gradle.org/8.4/release-notes.html
8.305
8.306 Starting a Gradle Daemon (subsequent builds will be faster)
64.71 > Task :buildSrc:pluginDescriptors
64.71 > Task :buildSrc:processResources NO-SOURCE
67.10 > Task :buildSrc:compileKotlin
67.10 > Task :buildSrc:compileJava NO-SOURCE
67.10 > Task :buildSrc:compileGroovy NO-SOURCE
67.10 > Task :buildSrc:classes UP-TO-DATE
67.10
67.11 > Task :buildSrc:jar
67.11 :jar: No valid plugin descriptors were found in META-INF/gradle-plugins
135.9
135.9 > Configure project :
135.9
135.9 Please wait while Kotlin/Native compiler 1.9.23 is being installed.
136.5 Download https://download.jetbrains.com/kotlin/native/builds/releases/1.9.23/linux-x86_64/kotlin-native-prebuilt-linux-x86_64-1.9.23.tar.gz (198.18 MB)
144.0 Download kotlin-native-prebuilt-linux-x86_64-1.9.23.tar.gz finished, took 7 s 487 ms
144.0 Unpack Kotlin/Native compiler to /root/.konan/kotlin-native-prebuilt-linux-x86_64-1.9.23
145.8 Unpack Kotlin/Native compiler to /root/.konan/kotlin-native-prebuilt-linux-x86_64-1.9.23 finished, took 1 s 834 ms
146.1
146.1 > Task :buildVersionsTask
146.1 > Task :checkKotlinGradlePluginConfigurationErrors
152.3 > Task :xcodeVersion SKIPPED
153.0 > Task :generateCommonMainPhoenixDatabaseInterface
168.1 > Task :compileKotlinLinuxX64 FAILED
168.1
168.1 FAILURE: Build failed with an exception.
168.1
168.1 * What went wrong:
168.1 Execution failed for task ':compileKotlinLinuxX64'.
168.1 > Could not resolve all files for configuration ':linuxX64CompileKlibraries'.
168.1    > Could not find fr.acinq.lightning:lightning-kmp:1.6.2-FEECREDIT-4.
168.1      Searched in the following locations:
168.1        - file:/root/.m2/repository/fr/acinq/lightning/lightning-kmp/1.6.2-FEECREDIT-4/lightning-kmp-1.6.2-FEECREDIT-4.pom
168.1        - https://oss.sonatype.org/content/repositories/snapshots/fr/acinq/lightning/lightning-kmp/1.6.2-FEECREDIT-4/lightning-kmp-1.6.2-FEECREDIT-4.pom
168.1        - https://repo.maven.apache.org/maven2/fr/acinq/lightning/lightning-kmp/1.6.2-FEECREDIT-4/lightning-kmp-1.6.2-FEECREDIT-4.pom
168.1        - https://dl.google.com/dl/android/maven2/fr/acinq/lightning/lightning-kmp/1.6.2-FEECREDIT-4/lightning-kmp-1.6.2-FEECREDIT-4.pom
168.1      Required by:
168.1          project :
168.1
168.1 * Try:
168.1 > Run with --stacktrace option to get the stack trace.
168.1 > Run with --info or --debug option to get more log output.
168.1 > Run with --scan to get full insights.
168.1 > Get more help at https://help.gradle.org.

Additionally, any specifics on expected dependencies would be helpful! It seems that gradlew tries to grab all dependencies directly asides from Java from what I could tell, but again, this is all quite outside of my wheelhouse :)

Phoenix depends on https://github.com/ACINQ/lightning-kmp (the core lightning implementation), specifically a version that we have not yet published to public repos. You need to compile it yourself but it's easy:
git clone https://github.com/ACINQ/lightning-kmp
git checkout v1.6.2-FEECREDIT-4
./gradlew publishToMavenLocal -x dokkaHtml

Phoenix depends on https://github.com/ACINQ/lightning-kmp (the core lightning implementation), specifically a version that we have not yet published to public repos. You need to compile it yourself but it's easy:

git clone https://github.com/ACINQ/lightning-kmp

git checkout v1.6.2-FEECREDIT-4

./gradlew publishToMavenLocal -x dokkaHtml

Ah, thank you so much, that should be trivial to add in those commands!

@pm47 thank you for that, was able to get further after adding that in! I have hit another issue now, though. I found that there were two unmentioned dependencies for phoenixd, libcurl4-openssl-dev and libsqlite3-dev. I was able to chase both down and add them in, but now get a strange error related to glibc and libsqlite.
New Dockerfile
ROM gradle:8-jammy as build

ARG PHOENIXD_BRANCH=v0.1.1
ARG PHOENIXD_COMMIT_HASH=4e42a462e6cc7d0a09fb224820071991ac1a0eca
ARG LIGHTNING_KMP_BRANCH=v1.6.2-FEECREDIT-4
ARG LIGHTNING_KMP_COMMIT_HASH=eba5a5bf7d7d77bd59cb8e38ecd20ec72d288672

# Upgrade all packages and install dependencies
RUN apt-get update \
    && apt-get upgrade -y
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
        ca-certificates \
        libcurl4-openssl-dev \
        libsqlite3-dev \
        git \
    && apt clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# Set necessary args and environment variables for building phoenixd
ARG PHOENIXD_BRANCH
ARG PHOENIXD_COMMIT_HASH
ARG LIGHTNING_KMP_BRANCH
ARG LIGHTNING_KMP_COMMIT_HASH

# Build dependencies
WORKDIR /lightning-kmp
RUN git clone --recursive --branch ${LIGHTNING_KMP_BRANCH} \
    https://github.com/ACINQ/lightning-kmp . \
    && test `git rev-parse HEAD` = ${LIGHTNING_KMP_COMMIT_HASH} || exit 1 \
    && ./gradlew publishToMavenLocal -x dokkaHtml

# Git pull phoenixd source at specified tag/branch and compile phoenixd binary
WORKDIR /phoenixd
RUN git clone --recursive --branch ${PHOENIXD_BRANCH} \
    https://github.com/ACINQ/phoenixd . \
    && test `git rev-parse HEAD` = ${PHOENIXD_COMMIT_HASH} || exit 1 \
    && ./gradlew packageLinuxX64

New error:
1.527 Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details
48.93 > Task :buildSrc:pluginDescriptors
48.93 > Task :buildSrc:processResources NO-SOURCE
51.33 > Task :buildSrc:compileKotlin
51.33 > Task :buildSrc:compileJava NO-SOURCE
51.33 > Task :buildSrc:compileGroovy NO-SOURCE
51.33 > Task :buildSrc:classes UP-TO-DATE
51.33
51.33 > Task :buildSrc:jar
51.33 :jar: No valid plugin descriptors were found in META-INF/gradle-plugins
66.33
66.33 > Task :buildVersionsTask
66.33 > Task :checkKotlinGradlePluginConfigurationErrors
72.13 > Task :xcodeVersion SKIPPED
72.83 > Task :generateCommonMainPhoenixDatabaseInterface
92.73 > Task :compileKotlinLinuxX64
122.6 > Task :linkPhoenix-cliDebugExecutableLinuxX64
151.9 e: /root/.konan/dependencies/x86_64-unknown-linux-gnu-gcc-8.3.0-glibc-2.19-kernel-4.9-2/x86_64-unknown-linux-gnu/bin/ld.gold invocation reported errors
151.9 Please try to disable compiler caches and rerun the build. To disable compiler caches, add the following line to the gradle.properties file in the project's root directory:
151.9
151.9     kotlin.native.cacheKind.linuxX64=none
151.9
151.9 Also, consider filing an issue with full Gradle log here: https://kotl.in/issue
151.9 The /root/.konan/dependencies/x86_64-unknown-linux-gnu-gcc-8.3.0-glibc-2.19-kernel-4.9-2/x86_64-unknown-linux-gnu/bin/ld.gold command returned non-zero exit code: 1.
151.9 output:
151.9 /usr/lib/x86_64-linux-gnu/libsqlite3.so: error: undefined reference to 'stat64', version 'GLIBC_2.33'
151.9 /usr/lib/x86_64-linux-gnu/libsqlite3.so: error: undefined reference to 'fstat64', version 'GLIBC_2.33'
151.9 /usr/lib/x86_64-linux-gnu/libsqlite3.so: error: undefined reference to 'lstat64', version 'GLIBC_2.33'
151.9 /usr/lib/x86_64-linux-gnu/libsqlite3.so: error: undefined reference to 'fcntl64', version 'GLIBC_2.28'
151.9 /usr/lib/x86_64-linux-gnu/libsqlite3.so: error: undefined reference to 'log', version 'GLIBC_2.29'
151.9 /usr/lib/x86_64-linux-gnu/libsqlite3.so: error: undefined reference to 'dlclose', version 'GLIBC_2.34'
151.9 /usr/lib/x86_64-linux-gnu/libsqlite3.so: error: undefined reference to 'dlerror', version 'GLIBC_2.34'
151.9 /usr/lib/x86_64-linux-gnu/libsqlite3.so: error: undefined reference to 'dlopen', version 'GLIBC_2.34'
151.9 /usr/lib/x86_64-linux-gnu/libsqlite3.so: error: undefined reference to 'dlsym', version 'GLIBC_2.34'
151.9 /usr/lib/x86_64-linux-gnu/libsqlite3.so: error: undefined reference to 'exp', version 'GLIBC_2.29'
151.9 /usr/lib/x86_64-linux-gnu/libsqlite3.so: error: undefined reference to 'pow', version 'GLIBC_2.29'
151.9 /usr/lib/x86_64-linux-gnu/libsqlite3.so: error: undefined reference to 'pthread_mutex_trylock', version 'GLIBC_2.34'
151.9 /usr/lib/x86_64-linux-gnu/libsqlite3.so: error: undefined reference to 'pthread_mutexattr_destroy', version 'GLIBC_2.34'
151.9 /usr/lib/x86_64-linux-gnu/libsqlite3.so: error: undefined reference to 'pthread_create', version 'GLIBC_2.34'
151.9 /usr/lib/x86_64-linux-gnu/libsqlite3.so: error: undefined reference to 'pthread_join', version 'GLIBC_2.34'
151.9 /usr/lib/x86_64-linux-gnu/libsqlite3.so: error: undefined reference to 'pthread_mutexattr_init', version 'GLIBC_2.34'
151.9 /usr/lib/x86_64-linux-gnu/libsqlite3.so: error: undefined reference to 'pthread_mutexattr_settype', version 'GLIBC_2.34'
151.9
151.9 > Task :linkPhoenix-cliDebugExecutableLinuxX64 FAILED
151.9
151.9 FAILURE: Build failed with an exception.
151.9
151.9 * What went wrong:
151.9 Execution failed for task ':linkPhoenix-cliDebugExecutableLinuxX64'.
151.9 > Compilation finished with errors
151.9
151.9 * Try:
151.9 > Run with --stacktrace option to get the stack trace.
151.9 > Run with --info or --debug option to get more log output.
151.9 > Run with --scan to get full insights.
151.9 > Get more help at https://help.gradle.org.
151.9
151.9 BUILD FAILED in 2m 30s
151.9 8 actionable tasks: 8 executed

@sethforprivacy probably relate to https://stackoverflow.com/a/73481501/10854225

@sethforprivacy probably relate to https://stackoverflow.com/a/73481501/10854225

Yikes, if so I'll probably just give up on building from source in the container and pivot to downloading binaries + checking hashes + sigs.
Didn't expect it would be so cumbersome to build compared to everything else I do this for. Thanks for the details, I'll close this for now and change up the approach.

Yikes, if so I'll probably just give up on building from source in the container and pivot to downloading binaries + checking hashes + sigs.

It is what I did
It is possible to leave this issue open, please?

Yikes, if so I'll probably just give up on building from source in the container and pivot to downloading binaries + checking hashes + sigs.

It is what I did
Is it possible to leave this issue open, please?

For some reason I can't reopen on mobile but will do so ASAP.
Does that mean you have a workable solution for building in Docker you could share?

No I do not have any solution, I use the pre-compiled binaries

I got it working with the pre-compiled binaries as well
If anyone is wondering, here is the docker image
# Use a minimal Debian base image
FROM --platform=linux/amd64 debian:bullseye-slim

# Install necessary packages, including libcurl
RUN apt-get update && \
  apt-get install -y wget unzip gnupg libcurl4 libcurl4-openssl-dev && \
  apt-get clean && \
  rm -rf /var/lib/apt/lists/*

# Download and import the GPG key from ACINQ's website
RUN wget -qO- https://acinq.co/pgp/drouinf.asc | gpg --import

# Download the Phoenix binary and its signatures
WORKDIR /opt/phoenix
RUN wget https://github.com/ACINQ/phoenixd/releases/download/v0.1.1/phoenix-0.1.1-linux-x64.zip && \
  wget https://github.com/ACINQ/phoenixd/releases/download/v0.1.1/SHA256SUMS.asc

# Verify the release file checksums and signatures
RUN gpg -d SHA256SUMS.asc > SHA256SUMS.stripped && \
  grep 'phoenix-0.1.1-linux-x64.zip' SHA256SUMS.stripped > SHA256SUMS.filtered && \
  sha256sum -c SHA256SUMS.filtered

# Unzip the downloaded file
RUN unzip -j phoenix-0.1.1-linux-x64.zip && \
  chmod +x phoenixd

# Clean up unnecessary files
RUN rm phoenix-0.1.1-linux-x64.zip SHA256SUMS.asc SHA256SUMS.stripped

# Indicate that the container listens on port 9740
EXPOSE 9740

# Run the daemon
ENTRYPOINT ["./phoenixd", "--http-bind-ip", "<IP_ADDRESS>"]

Indeed the build instructions are lacking some dependencies.
The dockerfile below should do what you want. However I think building native binaries on docker is not the right approach. It would be better to run on the jvm: easier build, faster runtime and compatible with linux arm64, which we don't support otherwise. We'll add a jvm build for the next version.
FROM ubuntu:18.04 as build

ARG PHOENIXD_BRANCH=v0.1.1
ARG PHOENIXD_COMMIT_HASH=4e42a462e6cc7d0a09fb224820071991ac1a0eca
ARG LIGHTNING_KMP_BRANCH=v1.6.2-FEECREDIT-4
ARG LIGHTNING_KMP_COMMIT_HASH=eba5a5bf7d7d77bd59cb8e38ecd20ec72d288672
ARG CURL_VERSION=7.88.1

# Upgrade all packages and install dependencies
RUN apt-get update \
    && apt-get upgrade -y
RUN apt-get install -y --no-install-recommends \
        ca-certificates \
        openjdk-17-jdk \
        openssh-client \
        libgnutls28-dev \
        libsqlite3-dev  \
        build-essential \
        git \
        wget \
    && apt clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# Set necessary args and environment variables for building phoenixd
ARG PHOENIXD_BRANCH
ARG PHOENIXD_COMMIT_HASH
ARG LIGHTNING_KMP_BRANCH
ARG LIGHTNING_KMP_COMMIT_HASH

# Build dependencies
WORKDIR /lightning-kmp
RUN git clone --recursive --branch ${LIGHTNING_KMP_BRANCH} \
    https://github.com/ACINQ/lightning-kmp . \
    && test `git rev-parse HEAD` = ${LIGHTNING_KMP_COMMIT_HASH} || exit 1 \
    && ./gradlew publishToMavenLocal -x dokkaHtml

WORKDIR /curl
RUN apt-get install wget
RUN wget https://curl.se/download/curl-${CURL_VERSION}.tar.bz2 \
    && tar -xjvf curl-${CURL_VERSION}.tar.bz2 \
    && cd curl-${CURL_VERSION} \
    && ./configure --with-gnutls=/lib/x86_64-linux-gnu/ \
    && make \
    && make install \
    && ldconfig

# Git pull phoenixd source at specified tag/branch and compile phoenixd binary
WORKDIR /phoenixd
RUN git clone --recursive --branch ${PHOENIXD_BRANCH} \
    https://github.com/ACINQ/phoenixd . \
    && test `git rev-parse HEAD` = ${PHOENIXD_COMMIT_HASH} || exit 1 \
    && ./gradlew packageLinuxX64

# Indicate that the container listens on port 9740
EXPOSE 9740

# Run the daemon
ENTRYPOINT ["/phoenixd/build/bin/linuxX64/phoenixdReleaseExecutable/phoenixd.kexe", "--http-bind-ip", "<IP_ADDRESS>"]

Thanks for the source Dockerfile. I am using this docker-compose.yaml alongside to map the seed and channels volumes ~/.phoenix outside the container on to the host machine. Thanks.
version: "3"
services:
  phoenixd:
    build: .
    image: phoenixd:latest
    container_name: phoenixd
    volumes:
      - ./dotphoenix:/root/.phoenix
    expose:
      - 9740
    ports:
      - 9740:9740

The problem is not just with docker but also with arch linux
@pm47 Do you think that using the library that you use inside your docker example can fix this problem? or a different libc is a problem also there?

Thanks so much for the help with this, @pm47! I was able to use your Dockerfile as a base to build out precisely what I wanted, including a separate builder/final stage to reduce final image size greatly.
For anyone interested you can find my working Dockerfile here:
https://github.com/sethforprivacy/phoenixd-docker/blob/main/Dockerfile

@pm47 Do you think that using the library that you use inside your docker example can fix this problem? or a different libc is a problem also there?

@vincenzopalazzo Both: it needs a recent libcurl (the exact version doesn't really matter) compiled against an old glibc 🙃 . Prebuilt binaries typically have old/old or new/new.
You can use linkerOpts("--allow-shlib-undefined") to work around this but we don't recommend it as it could in theory cause crashes at runtime.

I  think I can use nix to solve this problem @pm47 thanks :)


When executing the Hadoop archive task, multiple copies are cached in the alluxio space despite the write type being THROUGH

Alluxio Version:
2.8.2
Describe the bug
To Reproduce
Just run a Hadoop archive task
Expected behavior
Urgency
Important but not particularly urgent
Are you planning to fix it
I'm trying to fix it
Additional context

Thanks for submitting the issue.
THROUGH write type writes to UFS through Alluxio without data cache in Alluxio, that's the defined behavior.
Could you give more details about the issue?


[BUG] Exception when deepcopy because of non-pickle-able lightning device

Issue description
I use a pennylane circuit inside a torch model, which needs to be (deep)copied.
If I use the default.qubit device, everything works fine, but when I switch to a lightning device (lightning.qubit / lightning.gpu), an exception is thrown.
I provide a minimal example to reproduce below.

Expected behavior: (What you expect to happen)
I hope to be able to copy (pickle) models regardless of the device they're running on.
If not, then default.qubit and lightning.qubit should at least show the same behavior (or maybe fail with an explanation, if it is indeed intended to not clone models)

Actual behavior: (What actually happens)
I get an error message, stating "TypeError: cannot pickle 'pennylane_lightning.lightning_gpu_ops.DevPool' object" (or respectively the same for pennylane_lightning.lightning_qubit_ops.StateVectorC128 )

Reproduces how often: (What percentage of the time does it reproduce?)
Every time, on different machines

System information: (post the output of import pennylane as qml; qml.about())

>>> import pennylane as qml; qml.about()
Name: PennyLane
Version: 0.35.1
Summary: PennyLane is a cross-platform Python library for quantum computing, quantum machine learning, and quantum chemistry. Train a quantum computer the same way as a neural network.
Home-page: https://github.com/PennyLaneAI/pennylane
Author:
Author-email:
License: Apache License 2.0
Location: ###mypath###/lib/python3.11/site-packages
Requires: appdirs, autograd, autoray, cachetools, networkx, numpy, pennylane-lightning, requests, rustworkx, scipy, semantic-version, toml, typing-extensions
Required-by: PennyLane_Lightning, PennyLane_Lightning_GPU

Platform info:           Linux-<IP_ADDRESS>-microsoft-standard-WSL2-x86_64-with-glibc2.35
Python version:          3.11.7
Numpy version:           1.26.4
Scipy version:           1.12.0
Installed devices:
- default.clifford (PennyLane-0.35.1)
- default.gaussian (PennyLane-0.35.1)
- default.mixed (PennyLane-0.35.1)
- default.qubit (PennyLane-0.35.1)
- default.qubit.autograd (PennyLane-0.35.1)
- default.qubit.jax (PennyLane-0.35.1)
- default.qubit.legacy (PennyLane-0.35.1)
- default.qubit.tf (PennyLane-0.35.1)
- default.qubit.torch (PennyLane-0.35.1)
- default.qutrit (PennyLane-0.35.1)
- null.qubit (PennyLane-0.35.1)
- lightning.gpu (PennyLane_Lightning_GPU-0.35.1)
- lightning.qubit (PennyLane_Lightning-0.35.1)

Source code and tracebacks
I've prepared this example which I hope helps to reproduce the issue:
import pennylane as qml
import torch
from copy import deepcopy

n_qubits = 2
n_layers = 6
weight_shapes = {"weights": (n_layers, n_qubits)}

# default.qubit works fine
# lightning.qubit also fails
dev = qml.device("lightning.gpu", wires=n_qubits)

@qml.qnode(dev)
def qnode(inputs, weights):
    qml.AngleEmbedding(inputs, wires=range(n_qubits))
    qml.BasicEntanglerLayers(weights, wires=range(n_qubits))
    return [qml.expval(qml.PauliZ(wires=i)) for i in range(n_qubits)]

class Model(torch.nn.Module):
    def __init__(self):
        super().__init__()
        self.qlayer_1 = qml.qnn.TorchLayer(qnode, weight_shapes)

    def forward(self, x):
        x = self.qlayer_1(x)
        return x

model = Model()
model2 = deepcopy(model)

This is the stacktrace:
Traceback (most recent call last):
  File "/mnt/d/Code/report.py", line 32, in <module>
    model2 = deepcopy(model)
             ^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 271, in _reconstruct
    state = deepcopy(state, memo)
            ^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 146, in deepcopy
    y = copier(x, memo)
        ^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 231, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
                             ^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 297, in _reconstruct
    value = deepcopy(value, memo)
            ^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 271, in _reconstruct
    state = deepcopy(state, memo)
            ^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 146, in deepcopy
    y = copier(x, memo)
        ^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 231, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
                             ^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 271, in _reconstruct
    state = deepcopy(state, memo)
            ^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 146, in deepcopy
    y = copier(x, memo)
        ^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 231, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
                             ^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 271, in _reconstruct
    state = deepcopy(state, memo)
            ^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 146, in deepcopy
    y = copier(x, memo)
        ^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 231, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
                             ^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python3.11/copy.py", line 161, in deepcopy
    rv = reductor(4)
         ^^^^^^^^^^^
TypeError: cannot pickle 'pennylane_lightning.lightning_gpu_ops.DevPool' object

Hi @TheRisenPhoenix
Thanks for the report on this. The object in question is generally tied to specific local instances of GPUs on the system you are running, so we do not have serialisation rules in place for it. However, we can take a look at what seems sensible here and update you when we have a resolution.

I appreciate your efforts in looking into this matter and keeping me informed! Looking forward to hearing back :)


Update transaction details for AE

ex: https://sloth-test.ucdavis.edu/aggie-enterprise/Transactions/Details/7dffb80b-6305-45c6-ae56-3a079b863d51.  Table should be replaced with a simpler table which just shows Amount, Direction, description, and huge COA.  The "ShowXML" should be removed for AE and instead show whatever relevant details are in the JournalRequest table (if it has a journal request).  This would probably just be what date the journal was sent, status, and maybe eventually we can throw in a JSON serialized version of the request.  That would be extra credit ;0).

I created a new issue specific to showing the payload #217


Save signed content to Media Storage

[x] Save signed content to Media Storage
[x] Save link to Encounter

Where are signed_content files?


Perception: Fix debug log mistakes.

 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.


Need Help with Updating INI FILE

Hey. I'm having a issue when I add the new code from the new ini file into the old ini file, i try to save it and it says i don't have permission.

CMD as Administrator
net stop termService
Replace rdpwrap.ini
Reboot

it doesn't stop it just says stopping...

Try do this in safe mode.

If it won't let you do overwriting, go to Computer Management -> Services -> Remote Desktop Services -> Right Click -> Stop.
Do overwriting the old rdpwrap.ini again, then Restart the [Remote Desktop Services]
If you are doing this via RDP, you may need to install Anydesk/Teamviewer or any software that can let you remotely access your Computer without RDP available during the installation


cannot run Dreamview demo by apollo 7.0

We appreciate you go through Apollo documentations and search previous issues before creating an new one. If neither of the sources helped you with your issues, please report the issue using the following form. Please note missing info can delay the response time.
System information

OS Platform and Distribution (e.g., Linux Ubuntu 20.04):
Apollo installed from (git clone apollo7.0 code):
Apollo version (7.0):
Output of apollo.sh config if on master branch:commit 463fb82f9e979d02dcb25044e60931293ab2dba0 (HEAD -> r7.0.0, tag: v7.0.0, origin/r7.0.0)

Steps to reproduce the issue:

Please use bullet points and include as much details as possible:
I have some trouble when using dreamview to run a sim demo. i didn't change the map and vehicle when first running demo.After i select  the sim control, set the point of interest and send the routing request , ego car still didn't move and did nothing including found routing. meanwhile,I found that click in module controller .the module only showned three of them .I don't know whether the code which I git clone was wrong

Supporting materials (screenshots, command lines, code/script snippets):

Need to provide more error information, otherwise the cause of the problem cannot be found.


Guide on how to setup an on-prem or a local cluster

Looking into the documentation, I was unable to find any useful info on how to create a KubeOne cluster in an on-prem environment, or a VM / vagrant setup that will help with trying out and evaluating the product.
Can someone point me to some useful info?
Thanks.

The following ticket should cover documenting how to create clusters on bare-metal setups and providers that are not officially supported: https://github.com/kubermatic/docs/issues/569
Regarding the useful info:

You can define the instances to be used for a Kubernetes control plane in the KubeOne configuration manifest. You would have to create them manually and ensure that you can access them over SSH.

You can run kubeone config print --full for the configuration manifest reference. Search for the controlPlane key/structure and there you can see how to define instances to be used.
Regarding SSH requirements, you can check out the following document: https://docs.kubermatic.com/kubeone/v1.2/prerequisites/ssh/

You will have to create one instance to be used as a Load Balancer to the Kubernetes API server.

The information about that instance/LoadBalancer is provided using the apiEndpoint structure in the configuration manifest (you can find details about it in the config manifest reference)
We have an example with the GoBetween load balancer. It's not ideal for production setups, but it's good enough for testing: https://github.com/kubermatic/kubeone/blob/master/examples/terraform/openstack/gobetween.sh

You'll have set cloudProvider to none in the configuration manifest, such as:...
cloudProvider:
  none: {}

For worker nodes, check out the static worker nodes feature: https://docs.kubermatic.com/kubeone/v1.2/workers/static_workers/

We've recently added a new tutorial describing how to set up a Kubernetes cluster on providers that are not natively supported (e.g. bare-metal...). The tutorial can be found on our documentation website.
Since the tutorial has been added, I'll go ahead and close this ticket. If you have any follow-up questions, please feel free to reopen the issue or create a new one.
/close


🐞 [Bug]: subsquid instance fail if I provided a websocket entrypoint

Is there an existing issue for this?

[X] I have searched the existing issues

which package/s did you face the problem with?
Dashboard
What happened?
I tried deploying multiple instances of subsquid with different websocket entry points, which I tried before and was working fine, but now it all fails, and only the instance will work if the websocket entrypoint is left empty!.
Steps To Reproduce

Connect your wallet.
Navigate to applications under the deploy section in the sidebar.
Navigate to the Subsquid page by choosing the Subsquid card.
Type in a valid websocket entrypoint (eg. wss://polkadex-mainnet-rpc.dwellir.com) and choose a domain.
Deploy (it will not work).
Now try the same steps without typing any websocket entrypoint.

which network/s did you face the problem on?
Dev
version
2.4.3
Twin ID/s
No response
Node ID/s
No response
Farm ID/s
No response
Contract ID/s
No response
Relevant screenshots/screen records
.
Relevant log output
.

I successfully deployed a Subsquid instance using the same endpoint provided in the issue and was able to access the domain.

When trying to deploy with an empty endpoint, validation blocks the deployment.

@A-Harby Can you verify

Verified, Devnet a66e759.
Yes, it doesn't show the error anymore.


Multiple services on the same IP conflicts with enableServicesElection

Describe the bug
When "enableServicesElection" is enabled and multiple services are configured with the same IP, it can result in a situation where the same virtual IP is assigned to multiple hosts.
To Reproduce
Steps to reproduce the behavior:

enable Services Election
assign SVC1 to <IP_ADDRESS>，SVC2 to <IP_ADDRESS>，SVC3 to <IP_ADDRESS>
kubectl describe svc SVC1 SVC2 SVC3 | grep kube-vip.io/vipHost
Then it is possible to see different hosts

Expected behavior
The same IP should only be assigned to the same host.

This is an old conversation, please feel free to re-open or create a new issue if needed.


Need support for multiple independent APIs

I can't find any way to support 2+ different APIs.  Let's say I have one API called PetStore, and another called PhoneBook.  Each has a different version number.  Is this supported?

Can you elaborate on what you mean by "independent" API's - are they two separate WebApi applications?

I meant two independently versioned APIs within a single WebApp (originally).
Since I wrote this I learned that I can have multiple WebApps in the same process and call EnableSwagger once per context and it will work OK (which was my solution).
I wish there was some better documentation out there about this though, it wasn't obvious how to handle this.   It would also be useful to be able to handle multiple APIs within one WebApp, but it's not critical.


Note generic relations in models.txt

We should add a note in models.txt which relation is a generic relation the other side:
E. g. here: https://github.com/OpenSlides/OpenSlides/blob/openslides4-dev/docs/models.txt#L385

Hi, I stumbled upon the same "issue". Here is what I've done in the client (search for possibleViewModels for other relations). E.g. tags: https://github.com/OpenSlides/openslides-client/blob/master/client/src/app/core/repositories/relations.ts#L453
Can you propose a syntax for the models.txt?

Interface mediafile {
   ...
   attachment_ids: (*/attachment_ids)[];  // may refer to topic or motion
}

Hm, this is a bit informel as a comment. It is not enforced, that it is required to specify the foreign models.

Suggestions:
attachment_ids: (<topic|motion>/attachment_ids)[];

attachment_ids: (<topic,motion>/attachment_ids)[];

attachment_ids: ({topic|motion}/attachment_ids)[];

attachment_ids: ({topic,motion}/attachment_ids)[];

I like the set notation. I'll create a PR.


Operations on Invalid Watchers Must Throw

All operations like disable, enable, cancel with an invalid (non-existent) watcher ID MUST throw an exception. We need to add it to the phpDoc and create a base exception for that.

Duplicate of #58.


Improve the validation of array items

Right now only a simple jsonschema creation is possible.

May change the annotations to something like this
# @schema:
# type: array
# items:
#   - type: object
#     properties: ...

With this yaml based approach it would be much more flexible and easier to parse

With yaml it would be easy to parse something like
any of:
  - type: string
  - type: integer

Done in 0.3.0


Failed to build on raspberry pi

Description
pip install watchfiles will fail on raspberry pi (watchgod used to work due to it not having a dependency on rust for build)
Example Code
No response
Example Code Output
May 27 15:52:08 raspberrypi nomad[32075]: Building wheels for collected packages: watchfiles
May 27 15:52:08 raspberrypi nomad[32075]:   Building wheel for watchfiles (pyproject.toml): started
May 27 15:52:19 raspberrypi nomad[32075]:   Building wheel for watchfiles (pyproject.toml): finished with status 'error'
May 27 15:52:19 raspberrypi nomad[32075]:   error: subprocess-exited-with-error
May 27 15:52:19 raspberrypi nomad[32075]:
May 27 15:52:19 raspberrypi nomad[32075]:   × Building wheel for watchfiles (pyproject.toml) did not run successfully.
May 27 15:52:19 raspberrypi nomad[32075]:   │ exit code: 1
May 27 15:52:19 raspberrypi nomad[32075]:   ╰─> [86 lines of output]
May 27 15:52:19 raspberrypi nomad[32075]:       running bdist_wheel
May 27 15:52:19 raspberrypi nomad[32075]:       running build
May 27 15:52:19 raspberrypi nomad[32075]:       running build_py
May 27 15:52:19 raspberrypi nomad[32075]:       creating build
May 27 15:52:19 raspberrypi nomad[32075]:       creating build/lib.linux-armv7l-cpython-39
May 27 15:52:19 raspberrypi nomad[32075]:       creating build/lib.linux-armv7l-cpython-39/watchfiles
May 27 15:52:19 raspberrypi nomad[32075]:       copying watchfiles/main.py -> build/lib.linux-armv7l-cpython-39/watchfiles
May 27 15:52:19 raspberrypi nomad[32075]:       copying watchfiles/__main__.py -> build/lib.linux-armv7l-cpython-39/watchfiles
May 27 15:52:19 raspberrypi nomad[32075]:       copying watchfiles/__init__.py -> build/lib.linux-armv7l-cpython-39/watchfiles
May 27 15:52:19 raspberrypi nomad[32075]:       copying watchfiles/cli.py -> build/lib.linux-armv7l-cpython-39/watchfiles
May 27 15:52:19 raspberrypi nomad[32075]:       copying watchfiles/version.py -> build/lib.linux-armv7l-cpython-39/watchfiles
May 27 15:52:19 raspberrypi nomad[32075]:       copying watchfiles/filters.py -> build/lib.linux-armv7l-cpython-39/watchfiles
May 27 15:52:19 raspberrypi nomad[32075]:       copying watchfiles/run.py -> build/lib.linux-armv7l-cpython-39/watchfiles
May 27 15:52:19 raspberrypi nomad[32075]:       copying watchfiles/py.typed -> build/lib.linux-armv7l-cpython-39/watchfiles
May 27 15:52:19 raspberrypi nomad[32075]:       copying watchfiles/_rust_notify.pyi -> build/lib.linux-armv7l-cpython-39/watchfiles
May 27 15:52:19 raspberrypi nomad[32075]:       running build_ext
May 27 15:52:19 raspberrypi nomad[32075]:       running build_rust
May 27 15:52:19 raspberrypi nomad[32075]:       error: failed to parse manifest at `/tmp/pip-install-oq7n_5e8/watchfiles_18ef0f38700145e2ac1d399d2fe24acf/Cargo.toml`
May 27 15:52:19 raspberrypi nomad[32075]:
May 27 15:52:19 raspberrypi nomad[32075]:       Caused by:
May 27 15:52:19 raspberrypi nomad[32075]:         failed to parse the `edition` key
May 27 15:52:19 raspberrypi nomad[32075]:
May 27 15:52:19 raspberrypi nomad[32075]:       Caused by:
May 27 15:52:19 raspberrypi nomad[32075]:         supported edition values are `2015` or `2018`, but `2021` is unknown
May 27 15:52:19 raspberrypi nomad[32075]:       Traceback (most recent call last):
May 27 15:52:19 raspberrypi nomad[32075]:         File "/home/pi/nomad/.nomad_venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
May 27 15:52:19 raspberrypi nomad[32075]:           main()
May 27 15:52:19 raspberrypi nomad[32075]:         File "/home/pi/nomad/.nomad_venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
May 27 15:52:19 raspberrypi nomad[32075]:           json_out['return_val'] = hook(**hook_input['kwargs'])
May 27 15:52:19 raspberrypi nomad[32075]:         File "/home/pi/nomad/.nomad_venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 261, in build_wheel
May 27 15:52:19 raspberrypi nomad[32075]:           return _build_backend().build_wheel(wheel_directory, config_settings,
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 244, in build_wheel
May 27 15:52:19 raspberrypi nomad[32075]:           return self._build_with_temp_dir(['bdist_wheel'], '.whl',
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 229, in _build_with_temp_dir
May 27 15:52:19 raspberrypi nomad[32075]:           self.run_setup()
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 281, in run_setup
May 27 15:52:19 raspberrypi nomad[32075]:           super(_BuildMetaLegacyBackend,
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 174, in run_setup
May 27 15:52:19 raspberrypi nomad[32075]:           exec(compile(code, __file__, 'exec'), locals())
May 27 15:52:19 raspberrypi nomad[32075]:         File "setup.py", line 23, in <module>
May 27 15:52:19 raspberrypi nomad[32075]:           setup(
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 87, in setup
May 27 15:52:19 raspberrypi nomad[32075]:           return distutils.core.setup(**attrs)
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 148, in setup
May 27 15:52:19 raspberrypi nomad[32075]:           return run_commands(dist)
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 163, in run_commands
May 27 15:52:19 raspberrypi nomad[32075]:           dist.run_commands()
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
May 27 15:52:19 raspberrypi nomad[32075]:           self.run_command(cmd)
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 1229, in run_command
May 27 15:52:19 raspberrypi nomad[32075]:           super().run_command(command)
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
May 27 15:52:19 raspberrypi nomad[32075]:           cmd_obj.run()
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/normal/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 299, in run
May 27 15:52:19 raspberrypi nomad[32075]:           self.run_command('build')
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
May 27 15:52:19 raspberrypi nomad[32075]:           self.distribution.run_command(command)
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 1229, in run_command
May 27 15:52:19 raspberrypi nomad[32075]:           super().run_command(command)
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
May 27 15:52:19 raspberrypi nomad[32075]:           cmd_obj.run()
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/build.py", line 136, in run
May 27 15:52:19 raspberrypi nomad[32075]:           self.run_command(cmd_name)
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
May 27 15:52:19 raspberrypi nomad[32075]:           self.distribution.run_command(command)
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 1229, in run_command
May 27 15:52:19 raspberrypi nomad[32075]:           super().run_command(command)
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
May 27 15:52:19 raspberrypi nomad[32075]:           cmd_obj.run()
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools_rust/setuptools_ext.py", line 124, in run
May 27 15:52:19 raspberrypi nomad[32075]:           build_rust.run()
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools_rust/command.py", line 101, in run
May 27 15:52:19 raspberrypi nomad[32075]:           self.run_for_extension(ext)
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools_rust/build.py", line 112, in run_for_extension
May 27 15:52:19 raspberrypi nomad[32075]:           dylib_paths = self.build_extension(ext, self.target)
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools_rust/build.py", line 143, in build_extension
May 27 15:52:19 raspberrypi nomad[32075]:           target_dir = _base_cargo_target_dir(ext)
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools_rust/build.py", line 690, in _base_cargo_target_dir
May 27 15:52:19 raspberrypi nomad[32075]:           target_directory = ext._metadata()["target_directory"]
May 27 15:52:19 raspberrypi nomad[32075]:         File "/tmp/pip-build-env-88hys80r/overlay/lib/python3.9/site-packages/setuptools_rust/extension.py", line 225, in _metadata
May 27 15:52:19 raspberrypi nomad[32075]:           self._cargo_metadata = json.loads(subprocess.check_output(metadata_command))
May 27 15:52:19 raspberrypi nomad[32075]:         File "/usr/lib/python3.9/subprocess.py", line 424, in check_output
May 27 15:52:19 raspberrypi nomad[32075]:           return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
May 27 15:52:19 raspberrypi nomad[32075]:         File "/usr/lib/python3.9/subprocess.py", line 528, in run
May 27 15:52:19 raspberrypi nomad[32075]:           raise CalledProcessError(retcode, process.args,
May 27 15:52:19 raspberrypi nomad[32075]:       subprocess.CalledProcessError: Command '['cargo', 'metadata', '--manifest-path', 'Cargo.toml', '--format-version', '1']' returned non-zero exit status 101.
May 27 15:52:19 raspberrypi nomad[32075]:       [end of output]
May 27 15:52:19 raspberrypi nomad[32075]:
May 27 15:52:19 raspberrypi nomad[32075]:   note: This error originates from a subprocess, and is likely not a problem with pip.
May 27 15:52:19 raspberrypi nomad[32075]:   ERROR: Failed building wheel for watchfiles
May 27 15:52:19 raspberrypi nomad[32075]: Failed to build watchfiles

Operating System
Raspbian
Environment
No response
Watchfiles Version
none
Python Version
3.9

Should work if you first install rust.
Is there an example of another package that distributed manylinux binaries which do work on a pi? If so we can probably copy that package and provide binaries fairly easily.

Should work if you first install rust.

That issue is after installing rustc

Is there an example of another package that distributed manylinux binaries which do work on a pi? If so we can probably copy that package and provide binaries fairly easily.

Hrmm, don't really know. Will try to find one!

You need cargo installed as well, see https://github.com/samuelcolvin/watchfiles/issues/142#issuecomment-1127685787

You need cargo installed as well, see #142 (comment)

apt install rustc installs cargo as well. you can see in the logs that cargo got executed correctly, it just failed to parse something in the Cargo.toml file

Looks like apt is installing an ancient version of cargo. Install with rustup.

Looks like apt is installing an ancient version of cargo. Install with rustup.

This is the default version in debian buster. It is a production server in which we cannot use rustup.
Is newer versions of cargo required to run this project? If so, which is the minimum version?

Well we have edition 2021 in Cargo.toml which I think requires 1.56 or 1.57 (in on my phone, so haven't checked).
That's the only requirement I know if, if you lower edition, I don't know what version could be supported.

Which raspberry pi are you on? It looks like all recent pis are arm64, which we pypi includes binaries for.
Are you sure you're not using a very old version of pip or something?

It's a mix of raspberry 3 model B and B+ in close to a hundred machines.

Then the binaries from pypi should work fine.
Dumb question, but have you tried just
pip install -U pip
pip install watchfiles

?

Wheels from rpi usually come from piwheels (https://www.piwheels.org/). If they are not there, pip will download the .tar.gz archive and build it locally.
watchgod for example has a successful build for both buster and bullseye for version 0.8.1 there: https://www.piwheels.org/project/watchgod/
watchfiles failed to build there: https://www.piwheels.org/project/watchfiles/ . You can even check the build logs, they are the same as mine: https://www.piwheels.org/logs/0000/0825/2816.txt

Dumb question, but have you tried just

Yes :)

Ok, can you try downloading the appropriate wheel from pypi and installing it with pip install <filename>, and let me know what happens.

Sorry, I don't have a RPI where I am for the next 2 months, or I'd try myself.

Np, I'm glad to try here.
But AFAIK there's no available wheel for the rpi arch (it is a armhf/ARMv7)

I saw the question on Twitter and tested it - it would not build for me on a Raspberry Pi Zero 2 W.
Here is the output when I ran:
pip install -U pip
pip install watchfiles

pip install -U pip
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: pip in /usr/lib/python3/dist-packages (20.3.4)
Collecting pip
  Downloading https://www.piwheels.org/simple/pip/pip-22.1.1-py3-none-any.whl (2.1 MB)
     |████████████████████████████████| 2.1 MB 8.9 kB/s
Installing collected packages: pip
  WARNING: The scripts pip, pip3 and pip3.9 are installed in '/home/prcutler/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-22.1.1
prcutler@pizero:~/workspace $ pip install watchfiles
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting watchfiles
  Downloading watchfiles-0.14.1.tar.gz (18 kB)
  Installing build dependencies ... done
  WARNING: Missing build requirements in pyproject.toml for watchfiles from https://files.pythonhosted.org/packages/c7/ff/dace40df6b334bf1bf0a3d56273e5ea08a590d9d342c63f54e6cb014cdf6/watchfiles-0.14.1.tar.gz#sha256=babcc3a3502879224e33ba5f25adfbf37a4f22898977c2d96d0ed3eee99eca8a.
  WARNING: The project does not specify a build backend, and pip cannot fall back to setuptools without 'wheel'.
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting anyio<4,>=3.0.0
  Downloading https://www.piwheels.org/simple/anyio/anyio-3.6.1-py3-none-any.whl (80 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80.6/80.6 kB 294.6 kB/s eta 0:00:00
Collecting sniffio>=1.1
  Downloading https://www.piwheels.org/simple/sniffio/sniffio-1.2.0-py3-none-any.whl (10 kB)
Requirement already satisfied: idna>=2.8 in /usr/lib/python3/dist-packages (from anyio<4,>=3.0.0->watchfiles) (2.10)
Building wheels for collected packages: watchfiles
  Building wheel for watchfiles (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for watchfiles (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [28 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-armv7l-cpython-39
      creating build/lib.linux-armv7l-cpython-39/watchfiles
      copying watchfiles/run.py -> build/lib.linux-armv7l-cpython-39/watchfiles
      copying watchfiles/__init__.py -> build/lib.linux-armv7l-cpython-39/watchfiles
      copying watchfiles/version.py -> build/lib.linux-armv7l-cpython-39/watchfiles
      copying watchfiles/main.py -> build/lib.linux-armv7l-cpython-39/watchfiles
      copying watchfiles/cli.py -> build/lib.linux-armv7l-cpython-39/watchfiles
      copying watchfiles/__main__.py -> build/lib.linux-armv7l-cpython-39/watchfiles
      copying watchfiles/filters.py -> build/lib.linux-armv7l-cpython-39/watchfiles
      copying watchfiles/py.typed -> build/lib.linux-armv7l-cpython-39/watchfiles
      copying watchfiles/_rust_notify.pyi -> build/lib.linux-armv7l-cpython-39/watchfiles
      running build_ext
      running build_rust
      error: can't find Rust compiler

      If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.

      To update pip, run:

          pip install --upgrade pip

      and then retry package installation.

      If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for watchfiles
Failed to build watchfiles
ERROR: Could not build wheels for watchfiles, which is required to install pyproject.toml-based projects

Thanks @prcutler for confirming, this is the same error as above because:

piwheels doesn't have binaries for watchfiles
You don't have rust and cargo installed

@bellini666, worth trying the arm64 binaries from pypi, just to see what happens.

@samuelcolvin I tested it on my Raspberry Pi 3 and this is what I get

WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting watchfiles
  Downloading watchfiles-0.14.1.tar.gz (18 kB)
  Installing build dependencies ... done
  WARNING: Missing build requirements in pyproject.toml for watchfiles from https://files.pythonhosted.org/packages/c7/ff/dace40df6b334bf1bf0a3d56273e5ea08a590d9d342c63f54e6cb014cdf6/watchfiles-0.14.1.tar.gz#sha256=babcc3a3502879224e33ba5f25adfbf37a4f22898977c2d96d0ed3eee99eca8a.
  WARNING: The project does not specify a build backend, and pip cannot fall back to setuptools without 'wheel'.
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting anyio<4,>=3.0.0
  Downloading https://www.piwheels.org/simple/anyio/anyio-3.6.1-py3-none-any.whl (80 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80.6/80.6 kB 334.2 kB/s eta 0:00:00
Collecting idna>=2.8
  Downloading https://www.piwheels.org/simple/idna/idna-3.3-py3-none-any.whl (64 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.5/64.5 kB 262.5 kB/s eta 0:00:00
Collecting sniffio>=1.1
  Downloading https://www.piwheels.org/simple/sniffio/sniffio-1.2.0-py3-none-any.whl (10 kB)
Collecting typing-extensions
  Using cached https://www.piwheels.org/simple/typing-extensions/typing_extensions-4.2.0-py3-none-any.whl (24 kB)
Building wheels for collected packages: watchfiles
  Building wheel for watchfiles (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for watchfiles (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [28 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-armv7l-cpython-37
      creating build/lib.linux-armv7l-cpython-37/watchfiles
      copying watchfiles/filters.py -> build/lib.linux-armv7l-cpython-37/watchfiles
      copying watchfiles/__init__.py -> build/lib.linux-armv7l-cpython-37/watchfiles
      copying watchfiles/__main__.py -> build/lib.linux-armv7l-cpython-37/watchfiles
      copying watchfiles/version.py -> build/lib.linux-armv7l-cpython-37/watchfiles
      copying watchfiles/cli.py -> build/lib.linux-armv7l-cpython-37/watchfiles
      copying watchfiles/main.py -> build/lib.linux-armv7l-cpython-37/watchfiles
      copying watchfiles/run.py -> build/lib.linux-armv7l-cpython-37/watchfiles
      copying watchfiles/py.typed -> build/lib.linux-armv7l-cpython-37/watchfiles
      copying watchfiles/_rust_notify.pyi -> build/lib.linux-armv7l-cpython-37/watchfiles
      running build_ext
      running build_rust
      error: can't find Rust compiler

      If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.

      To update pip, run:

          pip install --upgrade pip

      and then retry package installation.

      If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for watchfiles
Failed to build watchfiles
ERROR: Could not build wheels for watchfiles, which is required to install pyproject.toml-based projects

Thanks, yes see above, this is the same error others have got.

@ryancheley your error there is that you don't have rust compiler installed. apt install rustc cargo should fix that issue, then you will run into mine: supported edition values are 2015or2018, but 2021 is unknown
@samuelcolvin pip won't allow me to install the arm64 wheel (and it shouldn't, the arch is not the same):
$ pip install watchfiles-0.14.1-cp39-cp39-macosx_11_0_arm64.whl
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
ERROR: watchfiles-0.14.1-cp39-cp39-macosx_11_0_arm64.whl is not a supported wheel on this platform.

Or you can install rust stable with rustup and it should work fine.

Or you can install rust stable with rustup and it should work fine.

This is not an option for me unfortunately, and probably won't be for many too

Also it is worth noting that the lack of a wheel for raspberry pi and the fact that it needs to compile the rust extension might be a deal breaker for many, since the installation process takes too long. I had similar cases where the compilation of a package took close to 10 minutes on the pi (and that on a rpi 3. the rpi zero could take even more).
I unfortunately had to downgrade the use of this lib and go back to watchgod for now since it installs and works fine. I would really want to upgrade to the improved watchfiles in the future though

This is not an option for me unfortunately, and probably won't be for many too

Yes you said, but if someone else could try this and confirm if watchfiles is working, it would help a lot.

My best is guess that the piwheels build is failing because it too is using rustc/cargo from apt which is old. Hopefully if we could modify watchfiles to support older rustc/cargo, the piwheel build might work and install for others on pis should work easily.
Questions:

What version of rustc and cargo is apt installing?
(Probably for the piwheels maintainers) is there a way to test Piwheels builds?

(I haven't yet had a chance to review the piwheels build log on a laptop, that might tell us a lot).

This is the default version in debian buster. It is a production server in which we cannot use rustup.

Do you have to use armhf system though? Raspberry Pi OS supports aarch64 now and there's other systems like Ubuntu which also support aarch64 and provide pre-installed images for Pis. Or you could move onto armhf Raspberry Pi OS 11 (bullseye) which probably has newer rustc package (though that would come with the long installation time I'm guessing).

@bellini666 I've tried building with an older version of rust (I had to guess the version as 1.44.1 as it's not included anywhere here), unfortunately the "notify" crate which watchfiles requires also uses edition = "2021" so setting it to 2018 in our Cargo.toml won't help.
I'll try creating an issue on piwheels asking them to use a newer version of rust and hence fix binaries build, but otherwise I can't really help.
By the way,

It is a production server in which we cannot use rustup.

I'm not sure what you mean here? Rustup is an official way to install rust, and it lets you install rust stable, I don't see why rustup is incompatible with "production"?

@bellini666 I've tried building with an older version of rust (I had to guess the version as 1.44.1 as it's not included anywhere here), unfortunately the "notify" crate which watchfiles requires also uses edition = "2021" so setting it to 2018 in our Cargo.toml won't help.
I'll try creating an issue on piwheels asking them to use a newer version of rust and hence fix binaries build, but otherwise I can't really help.

Sorry for not replying earlier, but happy you were able to reproduce the issue.
And yeah, probably it is something that can be solved at piwheels side.

By the way,

It is a production server in which we cannot use rustup.

I'm not sure what you mean here? Rustup is an official way to install rust, and it lets you install rust stable, I don't see why rustup is incompatible with "production"?

It is more of a "I prefer to use as much as the distro's packages available". Just like I could use pyenv at production to use the latest available version of python, I usually prefer to use the distro's one since it is responsible for handling compatibility issues, security updates, etc.
But the major point here is the lack of wheel actually. Being able to build the package is an okish solution, but at the end of the day is not ideal since, as I mentioned earlier, the build time on rpi is too long. I just used a test rpi here, installed the latest rustc with rustup and it took 15 minutes to pip install whatchfiles in a venv.

Agreed, see my issue on piwheels linked above.
For your specific case, why not build a binary once and distribute it to all your machines manually as a wheel? Should solve the problem for you until the issue with piwheels is resolved.

@bellini666 and others with a pi, please can you try:
pip install -i https://pypi.org/simple/ watchfiles==0.15.0a1

and let me know what happens, should now work.

@bellini666 and others with a pi, please can you try:
pip install -i https://pypi.org/simple/ watchfiles==0.15.0a1

and let me know what happens, should now work.

@samuelcolvin it installs fine in my rpi with the wheel (without even having to build the rust extension)! :)
Is 0.15 going to be released soon? Looking forward to migrate back from watchgod to watchfiles

Yea, next few days unless something comes up.

v0.15 is released.


Two detection rules should add IdentityInfo as required data type

Affected detection rules:

Privileged Accounts - Sign in Failure Spikes: https://github.com/Azure/Azure-Sentinel/blob/27dfdca9a382b1b65abb4a6256a51d7e22b9ac0d/Detections/MultipleDataSources/PrivilegedAccountsSigninFailureSpikes.yaml
Authentication Methods Changed for Privileged Account: https://github.com/Azure/Azure-Sentinel/blob/6746bec52043c39b29e13d9348df8bae043d7988/Detections/MultipleDataSources/AuthenticationMethodsChangedforPrivilegedAccount.yaml

Please add IdentityInfo as required dataType. Right now it makes customers think UEBA would not be needed, which is untrue.

Hey @javiersoriano, I believe that data type isn't released to Sentinel yet.
M365 Defender:

Sentinel:

So not sure what the overarching connectorId will be as it seems the previous connectorIds are related to the solutions name like.
MDE:

MDO:

So IdentityInfo might be under MCAS? 🤷♂

IdentityInfo is not a table attached to any data connector. It is a table created by UEBA engine that contains a snapshot of Azure AD users. We need to find a way to capture that UEBA is required to make this rule work, because right now customers think that the rule will just work with SigninLogs

I see your point, I should have looked harder:

Are you saying a check has to occur that makes sure that UEBA is enabled for Identities?
Is there a way to test from ARM templates? I've not seen a section for the required types before from your All-in-one solution (Be it because I wasn't looking hard enough or another reason)

It doesn't need to check it, but just show that UEBA is required or else the detection won't work.

@javiersoriano : the list of connectors does not imply require. It implies used. In most if not all cases, the list is the list of tables that can be used but none is required. I understand the challenge, but I am not sure this is the solution. Maybe a feature request about the issue will let Ron work on a solution.


chore(operator): add openebs operator 2.6.0

add cstor operator 2.6.0-RC1
add ndm operator 1.2.0-RC1
add openebs operator 2.6.0-RC1
add zfs operator 1.4.0-RC1

Signed-off-by: Akhil Mohan<EMAIL_ADDRESS>Special notes for your reviewer:

we need to update the zfs operator yaml, there is a new value added for zfsvolume object (Failed).


Expected close test fails

self = <tests.test_stock.TestHistorical object at 0x7fda905e40f0>
def test_single_historical_json(self):

    f = get_historical_data("AAPL", self.good_start, self.good_end)
    assert isinstance(f, dict)
    assert len(f["AAPL"]) == 73

    expected1 = f["AAPL"]["2017-02-09"]

  assert expected1["close"] == 132.42

E       assert 130.3577 == 132.42
I was making sure I had everything installed properly, but ran into this test failure.  As I started to chase down the fail, I get another fail as the historical high seems to be different.  I was ok with the close, as it could be adjusted close, but when high was different, I started to question what it 'should' be.
-- My environment:
https://github.com/akbennett/iex-docker

@akbennett thanks. Seems as if their data is changing a bit over time.


Rapid Test Profile translation issues in English prompts

Avoid duplicates

[X] Bug is not mentioned in the FAQ
[X] Bug is specific for Android only, for general issues / questions that apply to iOS and Android please raise them in the documentation repository
[X] Bug is not already reported in another issue

Technical details

Device name: Google Pixel 3a emulator
Android version: 11
App version: 2.9.0 (also 2.10.x-RC1 and 2.11.x)

Describe the bug
The English language text "You can create a profile with your personal data, which you can submit via QR code to every participating testing point." displayed in relation to creating a Rapid Test Profile contains some issues compared to the German text "Legen Sie ein Profil mit Ihren persönlichen Daten an, das Sie per QR-Code bei jeder teilnehmenden Teststelle vorlegen können."

"submit" sounds like it is a remote process rather than personally showing the code at the testing point
"every participating ..." together with "submit" makes it sound like the rapid test profile is sent simultaneously to all testing points in German instead of individually presented to the one testing point being visited.

Steps to reproduce the issue

Set locale to English (United Kingdom)
On "Start Screen" tap "Manage Your Tests"
If "Create Rapid Test Profile" appears, tap this tile and view onboarding text, tap "CONTINUE", view text at top of edit screen
If no onboarding text appears, then enter "A" in First Name field, tap "SAVE", tap three-dot symbol, select "Information" to view onboarding text
If at step 3 "Rapid Text Profile" appears (because one has already been created) then tap this
Tap three-dot symbol, select "Information" to view onboarding text, tap "X"
Tap three-dot symbol, select "Edit Rapid Test Profile" to view edit prompt

Expected behavior
The English language onboarding and edit prompt for creating a Rapid Test Profile should be better aligned to the German texts.
Possible Fix
https://github.com/corona-warn-app/cwa-app-android/blob/127889b390ef00228a619afb7573c5da724a1a6e/Corona-Warn-App/src/main/res/values/antigen_strings.xml#L140-L141
https://github.com/corona-warn-app/cwa-app-android/blob/127889b390ef00228a619afb7573c5da724a1a6e/Corona-Warn-App/src/main/res/values/antigen_strings.xml#L156-L157
For English language strings

rat_profile_create_card_subtitle
rat_profile_create_description

Change strings from:
"You can create a profile with your personal data, which you can submit via QR code to every participating testing point."
to:
"You can create a profile with your personal data, which you can present via QR code at any participating testing point."

Just FYI, this is the implementation under iOS, maybe it makes sense to align Android to iOS?

@MikeMcC399 @Ein-Tim Thanks. Internal Tracking ID: EXPOSUREAPP-9502

@Ein-Tim
Thank you for the screenshot from iOS and for pointing out the different texts between iOS and Android.
The iOS text "Save your personal data as a QR code to speed up registration at testing points." would be fine to use on Android. That would probably mean replacing all the equivalent translations on Android though.
That might be a better solution than simply tweaking only the English text I suggested. Unfortunately I can't judge about the accuracy of translation into other languages (Bulgarian, Polish, Romanian & Turkish). It could be that the translations from the German "Legen Sie ein Profil mit Ihren persönlichen Daten an, das Sie per QR-Code bei jeder teilnehmenden Teststelle vorlegen können." are also problematisch.

@MikeMcC399 I forwarded your suggestion and comment to the internal ticket. Thanks.

PR: https://github.com/corona-warn-app/cwa-app-android/pull/4103

Need to wait for translations including English to be applied following on from German language text change in https://github.com/corona-warn-app/cwa-app-android/pull/4103
"Legen Sie Ihre persönlichen Daten als QR-Code ab, um die Registrierung an der Teststelle zu beschleunigen."

The strings are now updated in release/2.11.x for English and German at least. (Commit status https://github.com/corona-warn-app/cwa-app-android/commit/4c2f79e199c840aa17d81e3362b211708e35f739). So this issue should be fixed when 2.11 is released.
https://github.com/corona-warn-app/cwa-app-android/blob/4c2f79e199c840aa17d81e3362b211708e35f739/Corona-Warn-App/src/main/res/values/antigen_strings.xml#L140-L141
https://github.com/corona-warn-app/cwa-app-android/blob/4c2f79e199c840aa17d81e3362b211708e35f739/Corona-Warn-App/src/main/res/values/antigen_strings.xml#L156-L157
https://github.com/corona-warn-app/cwa-app-android/blob/4c2f79e199c840aa17d81e3362b211708e35f739/Corona-Warn-App/src/main/res/values-de/antigen_strings.xml#L141-L142
https://github.com/corona-warn-app/cwa-app-android/blob/4c2f79e199c840aa17d81e3362b211708e35f739/Corona-Warn-App/src/main/res/values-de/antigen_strings.xml#L157-L158

This issue was fixed in 2.12.2 through PR https://github.com/corona-warn-app/cwa-app-android/pull/4212.


Create a list of the pages that need to be processed manually

In order to generate the manifests with the process I proposed, we will need to maintain a simple array of each page that needs to be converted into IIIF. For example, the URL https://scalar.usc.edu/works/piranesidigitalproject/16-veduta-2822 would be used.
This is because it is trivial to fetch information about the image being rendered in Scalar and linking any annotations on the image using this URL. The old method of identifying the annotations and images without any previous knowledge of the Scalar website by the script is computationally too consuming.
We can accomplish the first stage of this by getting the URLs for the five images that Dr. Britton sent.
We can accomplish the long-term goal of this by compiling a list of all URLs for the pages necessary.

@waltster I uploaded a list of the sample images to my branch and what page they correspond to. It is also attached here:
ImagePageListSAMPLE.txt
Let me know what you think of the formatting and I will proceed with the whole site!
As far as the images the pages correspond to, would you like me to continue to use the way they are formatted on the repo? It's different than their names on the website, but generally only by one leading 0. For example, Vol17_007 is Vol17_0007 on the site.

@adamskeefer, did you see #3 ? This is the convention Dr. Britton wanted. Let me know if that answers it.
The capitalization can stay the same (since for any comparison we can use a toLowerCase()), so no problem there, but the zeroes and such needs to match.
The mapping looks good, but it needs to be JSON so we can parse it, and so its in an easily-translated format.
Thanks for doing that! I will give the generator a go on this map later. I will then create a map-ingestor. Look out for an issue for this ingestor and we can collab on it.

Gotcha, will get the complete list done asap!

This has been done in the last few commits! Great work!


feat: override shortcuts

Resolves #555
This PR introduces an option (shortcuts.override) that allows to override all default shortcuts.
I was first thinking about a way to make custom shortcuts override the default ones but due to not having unique keys this posed a bigger challenge.

Okay, I've changed the implementation and passed the default shortcuts to the setupShortcuts function accordingly so users can manipulate them.
Because injections only allow a single argument though, I had to change the signature of a the method which would lead to a breaking change.


Missing Documentation for gprm Dependency

Thank you for providing this excellent code repository. I noticed that the code heavily relies on a package named gprm (e.g., imports such as gprm.PointDistributionOnSphere and utilities from gprm.utils), but I couldn't find any information about this library in the repository or online.
Could you please provide:

A description of gprm, its purpose, and how it integrates with the current repository.
Installation instructions for gprm (e.g., whether it is an internal module, available via PyPI, or needs to be built separately).
Any additional documentation or references for gprm usage.

This information would be very helpful for replicating your work and understanding the code.
Thank you for your time and assistance!
Best regards,
Walter

Hi Walter,
gprm is an abbreviation for GPlatesReconstructionModel, which is a set of python tools to make working with GPlates-format plate tectonic reconstructions easier.
You can find the code, additional dependencies, and installation instructions here:
https://github.com/siwill22/GPlatesReconstructionModel
Hope that helps,
Simon

Hi Simon,
Thank you for your detailed response and for sharing the link to the repository. I’ll take a closer look and reach out if I have any further questions.
Best regards,
Walter


What protocols does it support?

What protocols does it support?(ssh,vless)?

What protocols does it support?(ssh,vless)?

all


ignore: ack failed, continue to execute

Codecov Report
Base: 41.61% // Head: 41.65% // Increases project coverage by +0.03% :tada:

Coverage data is based on head (16c2391) compared to base (5ed8edf).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #159      +/-   ##
==========================================
+ Coverage   41.61%   41.65%   +0.03%
==========================================
  Files          33       33
  Lines        2266     2264       -2
==========================================
  Hits          943      943
+ Misses       1205     1203       -2
  Partials      118      118

Impacted Files
Coverage Δ

pkg/kafsar/offset_manager_impl.go
73.64% <ø> (+0.98%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Carthage update issue with XCode 9

Hi!
Got an issue

Build Failed
Task failed with exit code 65:
/usr/bin/xcrun xcodebuild -project /Users/Andrey/MFO_BOX/Carthage/Checkouts/DeviceKit/DeviceKit.xcodeproj -scheme DeviceKit -configuration Release -derivedDataPath /Users/Andrey/Library/Caches/org.carthage.CarthageKit/DerivedData/8.3.3_8E3004b/DeviceKit/1.3.2 -sdk iphoneos ONLY_ACTIVE_ARCH=NO BITCODE_GENERATION_MODE=bitcode CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES build (launched in /Users/Andrey/MFO_BOX/Carthage/Checkouts/DeviceKit)
This usually indicates that project itself failed to compile. Please check the xcodebuild log for more details: /var/folders/4j/220h75g17k32pn1_6t59tc8w0000gp/T/carthage-xcodebuild.ySawYr.log

I have 2 XCode versions on machine: 8.3.3 and 9 GM. It happened when I tried to update carthage with DeviceKit v. 1.4.0 at Cartfile. Downgrate to v. 1.2.3 only help me, but I need to get support for new devices

Sorry for the trouble :(
Can you make sure that you command line tools point to Xcode 9?
This is usually

xcode-select --switch /Applications/Xcode.app

(replace Xcode.app with the name of your Xcode 9 instance)

@brandFromNSK Can I close this or is this still an issue?

Yes, when I upgrated my XCode version to last and selected actual XCode app with command line issue is done! Thanks!