nist-feed: init at unstable-2024-01-20

Description of changes

Added NIST-Feed notifies you about the newest published CVEs according your filters
https://github.com/d3vil0p3r/nist-feed
Related to https://github.com/NixOS/nixpkgs/issues/81418
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Successor of https://github.com/NixOS/nixpkgs/pull/284782

@octodi does it contain also the module, right?

@octodi does it contain also the module, right?

Yup

@octodi according to the new guidelines, you must change title and commit message from unstable-2024-01-20 to 0-unstable-2024-01-20.


Footer update

Description
Describe the changes or additions included in this PR.
Change the footer logo and copyright and social links

Test Plan
How did you test the new or updated feature?

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[x] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

please update this section


updated GCC 10.x to 11.x in CI tests #370

Before submitting
Please complete the following checklist when submitting a PR:

[x ] All new features must include a unit test.
If you've fixed a bug or added code that should be tested, add a test to the
tests directory!

[x ] All new functions and code must be clearly commented and documented.
If you do make documentation changes, make sure that the docs build and
render correctly by running make docs.

[x ] Ensure that the test suite passes, by running make test.

[ ] Add a new entry to the .github/CHANGELOG.md file, summarizing the
change, and including a link back to the PR.

[x ] Ensure that code is properly formatted by running make format.

When all the above are checked, delete everything above the dashed
line and fill in the pull request template.

Context: Updated GCC 10.x to 11.x in CI tests
Description of the Change: Updated GCC  and G++ from 10 to 11
Benefits: Supports C++ implementations.
Possible Drawbacks:
Related GitHub Issues: #367

Hi @jeonbik thank you for your submission. We have however already accepted PR #370 for this work, and we will be closing this PR.
Please feel free to explore the other Hacktoberfest issues open for this repository!


Build failure: neovide 0.13.3 on aarch64-darwin

Steps To Reproduce
Steps to reproduce the behavior:

Build neovide on aarch64-darwin

Build log
https://gist.github.com/lunik1/cb0a4574df88ff0fa3e127d6153f3ab5
Additional context
Add any other context about the problem here.
Notify maintainers
@ck3d
Metadata

system: "aarch64-darwin"
host os: Darwin 23.6.0, macOS 14.7.1
multi-user?: yes
sandbox: no
version: nix-env (Nix) 2.24.9
channels(root): "nixpkgs"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixpkgs

Add a :+1: reaction to issues you find important.

Also fails on x86_64

This seems to be fixed by #354914 and can probably be closed? At least for me, neovide from nixpkgs-unstable builds again on all my platforms (x86_64-darwin, aarch64-darwin, x86_64-linux).

Can confirm, builds on x86_64-linux

fixed on master


hitbtc: update products

simply update Hitbtc.com exchange products

I wonder if this will work because increment is now always 0.
Is this ok? I have no idea why is there.

hitbtc has an update script, which is automatically triggered by a cronjob that runs daily:
https://github.com/DeviaVir/zenbot/blob/unstable/scripts/cron.sh#L19-L25
Which means that your change would get overwritten tomorrow, unless it is generated by the update script.


Swagger integration ?

How can this be made to work with Swagger UI ?

Swagger is not supported for the time being, I have not seen swagger open open custom analysis, I still need to take some time to study


Running on Colab takes 200+ days on GPU

Hi,
First, I thank you for providing a working repo.
I tried your code on Google Colab, but it seems to take almost a year to train the model on STANDARD (NVIDIA T4 Tensor Core) GPU. Is there a way we can test this small scale? Perhaps even just a CPU?
Thank you.

Hi, thanks for noticing me! I'm not sure why it takes that long because I had no problem when I tried on a basic GPU model (I don't remember the exact model).
If it takes almost a year, I don't think this is a problem of GPU.
Check if you are using the GPU runtime correctly first, and if there is no problem, let me show your code cells of your colab environment.
Thanks.


Support For Pale Moon (Firefox Fork)

Hey!
Thanks for the amazing work on this plugin, I've used it on Firefox and it works really well. However, I've recently shifted to Pale Moon browser (which is a fork of Firefox) and the extension isn't working on Pale Moon.
It seems that Pale Moon, and many related browsers (Basilisk, Sea Monkey, IceCat, K Meleon) use the XUL framework, as opposed to WebExtensions.
I'd really appreciate it if you could make a Pale Moon compatible plugin. I'd love to be able to continue using your plugin.
Thanks again.,
Noel

Glad you liked it.
Unfortunately, adding Pale Moon support is just too much work and I barely have enough time to maintain this as it is. XUL extensions are too different to get any decent code reuse without buggy compat layers.
Basilisk supports WebExtensions (to an extent), so that's maybe an option.


Cleanup jsonify() function

Cleanup some leftover stuff from #1671. PEP8 spacing, args/kwargs don't need to be converted to list/dict, and Sphinx formatting.

I'd like to also fix the broken json_security hyperlink, but wasn't able to as I can't figure out why it's breaking.
See here: https://github.com/mitsuhiko/flask/pull/1671#discussion_r50737091

@ThiefMaster would appreciate you reviewing this--you seem to have a knack for finding things I've overlooked.

looks good to me

cc @davidism - this PR incorporates all the improvements suggested after #1671 was merged


Is there a way to get the license key from rust side?

Hello @bagindo, I would like to get the license from rust side 'cause I need to use the key in order to ask for updates but I noticed that the tauri_keygen_plugin rust functions are not "exported" to the external of the package.
Am I missing something or does it needs any actual change to the codebase?

Hi Luca, you don't miss anything. I intentionally made the plugin api to only be exposable through the tauri commands (accessible from JavaScript). But I can expose it to the rust side too this weekend. What else do you need other than the license key?
As for auto update, I thought about implementing it here on this plugin. But on Tauri v2 launch, they made a plugin for that, so I thought why re-inventing the wheel.
If you're using the official updater plugin from Tauri, which is accessible from JavaScript bindings, you can pass the license key from the JavaScript to implement auto updates.
This is why I didn't think I need to expose the plugin Keygen api on the rust side. But I'll do it anyway this weekend 👌🏾

Hello,
No worries, I’ve found a workaround for my use case! I’m now passing the license key from Javascript to the Rust side using events.
I attempted to make these changes myself, I wanted to make the LicensedState public so I could access it from the app handle. However, this led to other errors that were a bit too complex for me as a Rust newbie to troubleshoot.
Thank you for your effort! I appreciate it!


Correct the Sorting

Description
Incorrect order in Contact Diary for both Locations and Persons for Special characters like: Ö, Ä, etc

Note: We can also modify the sorting inside the database itself but we will need to do a migration, also changing the behavior in the future so i did the sorting in Swift after fetching from the database.

Link to Jira
https://jira-ibs.wbs.net.sap/browse/EXPOSUREAPP-8177
Screenshots

Are you sure the sorting works correctly? In the screenshots Orlando is before Österreich - but Ö is equal to Oe, so it should the opposite order right?


i18n(ru): Add new core-concepts/astro-syntax.mdx translation

What kind of changes does this PR include?

Translated content

Description

add new page core-concepts/astro-syntax.mdx for RU language

LGTM!


Use sphinx_rtd_theme theme

New look:

This simplifies the sidebar navigation too:

@kylef As I got employed on the MOS project, the theming completely slipped off my thoughts. I promise I'll get back to it later though.


Donation

I wish to donate, but I didn't see any donation link. Did I miss it?

I would like to donate, any chance you will be setting up a paypal at some point? ;)

Hi @wpexplorer,
Sorry for the delayed response. I was on vacation.
I have an account on paypal<EMAIL_ADDRESS>is my email
Thanks


Create service through API call

Description
Hello !
It could be very nice to allow to create new services directly with a POST on an API endpoint.
This could permit to add new service in automation on our CD deployment.
Thanks in advance :)
Priority
Medium (Would be very useful)

Description
Hello !
It could be very nice to allow to create new services directly with a POST on an API endpoint.
This could permit to add new service in automation on our CD deployment.
Thanks in advance :)
Priority
Medium (Would be very useful)

I think this could be easily implemented. But you'd need to pass the cookie with the config name
Could you tell me more about your use case ?

Yes no problem !
Actually i plan to use Homarr as a homepage for my team in my company.
We are created a lot of new tools / new websites every week. Everything is automated and i would be very nice if we could add the new service newly created to the homarr homepage so my team could directly see it on the common homepage.

For example, in this screenshot, we have 3 labels, tomorrow i will create a new "customer" and i would like to add the customer website on a new label on the homepage.

Yes no problem !
Actually i plan to use Homarr as a homepage for my team in my company.
We are created a lot of new tools / new websites every week. Everything is automated and i would be very nice if we could add the new service newly created to the homarr homepage so my team could directly see it on the common homepage.

For example, in this screenshot, we have 3 labels, tomorrow i will create a new "customer" and i would like to add the customer website on a new label on the homepage.

That's a good idea for a specific use case. Next release will include a different way to make requests so that should be available.
For now I believe you can GET /api/configs/default it will return your default config.
You can then PUT /api/configs/default with the body of the request as the new config (the old you got from the GET request)
New version will most likely make it so POST request overwrites the whole config and PUT will be used to add new elements.
Can you try the approach I described above ?
Something like this
// New service
const newService = {
  id: '43a88415-b3a4-4d40-8556-d6505ac6fca3',
  type: 'Plex',
  category: 'public',
  name: 'Plex',
  icon: 'https://cdn.jsdelivr.net/gh/walkxhub/dashboard-icons/png/plex.png',
  url: 'https://www.plex.tv/',
};

// Fetch /api/configs/default
const config = await fetch('/api/configs/default');

// Parse config as JSON
const configJson = await config.json();

// PUT /api/configs/default withe the new service in the body
await fetch('/api/configs/default', {
  method: 'PUT',
  body: JSON.stringify({
    ...configJson,
    services: [...configJson.services, newService],
  }),
});

Will it be also possible to delete service ?
We have an infrastructure which move very fast which is fully deployed throught terraform, and it could be very nice to be able to delete a service when we use terraform destroy ! :)

Will it be also possible to delete service ? We have an infrastructure which move very fast which is fully deployed throught terraform, and it could be very nice to be able to delete a service when we use terraform destroy ! :)

To delete a service you'd have to remove it from the config you get and then post the new config without it


Feature: Added Authentication Capabilities to DirectusAsset and DirectusImage Components

🔧 Types of changes

[x] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[ ] Codebase improvement
[ ] Other (if none of the other choices apply)

🚨 Checklist

[x] I've read the guidelines for contributing
[x] I've added necessary documentation (if appropriate)
[x] I've ensured that my code additions do not fail linting or unit tests (if applicable)

Description
This pull request introduces authentication capabilities to the DirectusAsset and DirectusImage components, empowering users to access assets securely based on their authentication status.
With these added capabilities, authenticated users can now view and interact with assets based on their roles and permissions, ensuring a more secure and controlled access to assets.
Closing #182

Hey @Fritsch-Tech!
there are some typos in accessToken
accsessToken: propsAccsessToken,
can you string replace them?

Of course, already commited it.


Release for Ghidra 10.1.4

Ghidra 10.1.4 is the latest version, and the extension for 10.1.2 is not compatible with 10.1.4 (Extension version for [ghidra_10.1.2_PUBLIC_20220305_NTRGhidra.zip] is incompatible with Ghidra). Could you please make another release for ghidra 10.1.4?

@redfast00 new builds have been published for Ghidra 10.1.4 and 10.1.5:
https://github.com/pedro-javierf/NTRGhidra/releases/tag/v<IP_ADDRESS>-ghidra-10.1.5
Please feel free to test them and report any issues.


Support ISO-8601 time format in custom time range

When using custom time range, it would be great to support ISO-8601 formats (so I can copy/paste directly from a query into the dashboard): i.e. 2019-12-01T01:10:00-05:00

cc @rbetts


🐛 fix(rtl): fix blockquote in rtl

Changes
New blockquote for RTL, where the border and padding in the right
Note
I have tried :dir(rtl) syntax but it doesn't work properly, also I tried to use [dir="rtl"] only without ltr, but it doesn't work
Screenshots

Before
After

Type of change

[X] Bug fix (fixes an issue without altering functionality)
[ ] New feature (adds non-breaking functionality)
[ ] Breaking change (alters existing functionality)
[X] UI/UX improvement (enhances user interface without altering functionality)
[ ] Refactor (improves code quality without altering functionality)
[ ] Documentation update
[ ] Other (please describe below)

Checklist

[X] I have verified the accessibility of my changes
[X] I have tested all possible scenarios for this change
[ ] I have updated theme.toml with a sane default for the feature
[ ] I have made corresponding changes to the documentation:

[ ] Updated config.toml comments
[ ] Updated theme.toml comments
[ ] Updated "Mastering tabi" post in English
[ ] (Optional) Updated "Mastering tabi" post in Spanish
[ ] (Optional) Updated "Mastering tabi" post in Catalan

Thanks for reporting and fixing this!
I've modified the CSS a bit to make it simpler: I just learnt about padding-inline-start and border-inline-start.
Could you test it and let me know if it works for you?

Could you test it and let me know if it works for you?

Yes it works properly

RTL
LTR

Thank you!


fix: liquidate command was using borrower address as liquidator

Description

closes: #XXXX

Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...

[x] included the correct type prefix in the PR title
[x] added appropriate labels to the PR
[ ] added ! to the type prefix if API or client breaking change
[x] targeted the correct branch (see PR Targeting)
[ ] provided a link to the relevant issue or specification
[x] added a changelog entry to CHANGELOG.md
[ ] included comments for documenting Go code
[ ] updated the relevant documentation or specification
[x] reviewed "Files changed" and left comments if necessary
[x] confirmed all CI checks have passed

Note: This is in the client so it's not state machine breaking. We can merge it into any release.

Codecov Report

Merging #829 (4cd25a5) into main (4062f6e) will not change coverage.
The diff coverage is 50.00%.

@@           Coverage Diff           @@
##             main     #829   +/-   ##
=======================================
  Coverage   50.93%   50.93%
=======================================
  Files          64       64
  Lines        9428     9428
=======================================
  Hits         4802     4802
  Misses       4383     4383
  Partials      243      243

Impacted Files
Coverage Δ

x/leverage/types/tx.go
0.00% <0.00%> (ø)

x/leverage/simulation/operations.go
91.66% <100.00%> (ø)


Can you tell me how to install this script？

you can either just unzip it and drop in assets folder or add as a package with the git url https://github.com/z3y/XatlasLightmap.git


Fully document new workflow interface

Review what documentation is in place for the above, ensure it is fully documented. Ensure the same for further enhancements.

@seanpearsonuk, I believe this can be closed as of now, right?


fix #2286 normalize ApiCall and CallDetails and add better xmldocs to IResponse

If you get a hold of an IResponse you see both ApiCall and CallDetails which are in fact the same property this is confusing.
In Elasticsearch.Net response object can implement IBodyWithApiCallDetails which is a special interface the low level client knows how to handle and set the diagnostics IApiCallDetails on a CallDetails property.
In the high level client we did not want to expose a setter on this so we hid the CallDetails from IBodyWithApiCallDetails and introduced ApiCall.
We now more explicitly hide IBodyWithApiCallDetails and normalize the properties to the same name.
Also introduced xmldocs on these which were long overdue.

This was indeed confusing.  LGTM 👍

Much clearer 👍 LGTM

pulled and merged to 5.x


No podspec found for Permission-Camera

Bug report

Summary

Environment info

react-native info output:
System:
    OS: macOS 11.2.3
    CPU: (8) arm64 Apple M1
    Memory: 160.75 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 15.14.0 - ~/.nvm/versions/node/v15.14.0/bin/node
    Yarn: 1.22.10 - /opt/homebrew/bin/yarn
    npm: 7.7.6 - ~/.nvm/versions/node/v15.14.0/bin/npm
    Watchman: 4.9.0 - /opt/homebrew/bin/watchman
  Managers:
    CocoaPods: 1.10.1 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4
    Android SDK: Not Found
  IDEs:
    Android Studio: Not Found
    Xcode: 12.5/12E5244e - /usr/bin/xcodebuild
  Languages:
    Java: Not Found
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.1 => 17.0.1
    react-native: 0.64.1 => 0.64.1
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Library version: 2.2.2
Steps to reproduce

Install library

npm install --save react-native-permissions

Change Podfile

permissions_path = '../node_modules/react-native-permissions/ios'
pod 'Permission-Camera', :path => "#{permissions_path}/Camera"

Install pods
cd ios && pod install

Receive error during install pods
Analyzing dependencies
Fetching podspec for `DoubleConversion` from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`
[!] No podspec found for `Permission-Camera` in `../node_modules/react-native-permissions/ios/Camera`

Fixed after upgrade to 3.0.4. Closed

hey im having this same problem. but my version is    "react-native-permissions": "^3.6.1"
do you have another fix?
react-native info
info Fetching system and libraries information...
System:
    OS: macOS 11.4
    CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
    Memory: 219.20 MB / 32.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.15.1 - /var/folders/16/18z66k9j4_n61127f922z2t40000gn/T/yarn--1664511148400-0.2220978739352466/node
    Yarn: 1.22.10 - /var/folders/16/18z66k9j4_n61127f922z2t40000gn/T/yarn--1664511148400-0.2220978739352466/yarn
    npm: 8.11.0 - /usr/local/bin/npm
    Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.11.3 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
    Android SDK:
      API Levels: 29, 30, 31
      Build Tools: 30.0.2, 30.0.3
      System Images: android-31 | Google APIs Intel x86 Atom_64
      Android NDK: Not Found
  IDEs:
    Android Studio: 2021.2 AI-212.5712.43.2112.8815526
    Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
  Languages:
    Java: 15.0.1 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.2 => 17.0.2
    react-native: ^0.66.0 => 0.66.4
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Suggest double check the correct podfile for your version of react native.

use  "react-native-permissions": "^3.0.0"

I was facing the same issue, but my problem was that i configured the package with an old docs
i fount these lines in Podfile
 permissions_path = '../node_modules/react-native-permissions/ios'   pod 'Permission-LocationAlways', :path => "#{permissions_path}/LocationAlways.podspec"   pod 'Permission-LocationWhenInUse', :path => "#{permissions_path}/LocationWhenInUse.podspec"   pod 'Permission-Camera', :path => "#{permissions_path}/Camera.podspec"   pod 'Permission-Microphone', :path => "#{permissions_path}/Microphone.podspec"   pod 'Permission-PhotoLibrary', :path => "#{permissions_path}/PhotoLibrary.podspec"
i removed them and then added this
`  setup_permissions([
'AppTrackingTransparency',
'Bluetooth',
'Calendars',
'CalendarsWriteOnly',
'Camera',
'Contacts',
'FaceID',
'LocationAccuracy',
'LocationAlways',
'LocationWhenInUse',
'MediaLibrary',
'Microphone',
'Motion',
'Notifications',
'PhotoLibrary',
'PhotoLibraryAddOnly',
'Reminders',
'Siri',
'SpeechRecognition',
'StoreKit',
])
`
change the permissions with the ones you want


Fix sparse_categorical_crossentropy.

Make it work not only for outputs with timesteps dimension, but also for multidimensional outputs like segmentation.

Please add a test for this case (essentially, test consistency with categorical_crossentropy for higher ndim).


Sor10874/readmes/46 50

Navigate in AR
Navigate route
Offline geocode
Open map url aka open existing map
Open mobile map package
both of the navigation READMEs required quite a bit of rewriting and editing.

@hud10837 @Rachael-E I've made both of your suggested edits. Let me know if there is anything else, thanks. I struggled a bit with the navigate-route "How it works" edit but I think it is ok.

@hud10837 ok to merge this one?


Code thinks that there is a new update when changing the system date

VSCode Version: 1.36
OS Version: Windows 10 Version 1903 (OS Build 18362.175)

Steps to Reproduce:

Change your system date to a future date, say the year 2020 or 2021.
Start VS Code.
Watch the cog icon at the bottom left in VS Code. An icon that looks like a "clock" should appear on the clog. Hover over the cog and it should display a message: "Manage - New Code update available."

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

Are you sure this reproduces all the time and that you really did not have an update? AFAIK, we don't check for timestamp at all when checking for updates.

@joaomoreno I'm sure. Checked couple of times.


Training detail for 3DDFA_V2

i am looking for training details for this model, but they are not provided with code base, i refer 3DDFA but the result are not good. could you please provide the training details.
Thanks,

Currently, you can refer to the paper for details. The meta-joint part maybe a little hard to implement. I suggest you can use the landmark branch and the short-video-synthesis parts to enhance the model.

but there no landmark branch in your repo.

I'd like to see your training code

Thanks for your awesome works. When I reproduce your code, I have several problems.

what does |Lfwpdc|/|Llrr| mean?
What is the initialization of learning rate? How to adjust during training?

@lu17 @Yaghdev @xuncheng1997 hello, could you share the training code you implement, plz.  email<EMAIL_ADDRESS>

@fashionguy hi, could you you share the training code you implement, i will appreciate very much!

Hi all,
Has anyone share the training code ? many thanks for that.


Calling WalletApi.walletBoxesCollect throws an exception

I am trying to use the new WalletApi to get some boxes from my wallet.
I created the wallet service like this
// conf is of type ErgoToolConfig
val apiClient = new ApiClient(conf.getNode.getNodeApi.getApiUrl, "ApiKeyAuth", conf.getNode.getNodeApi.getApiKey)
val walletService = apiClient.createService(classOf[WalletApi])

Then I'm using it like this to get some amount of ERG from my wallet
val getWalletBoxesRequest = new BoxesRequestHolder().targetBalance(Parameters.OneErg)
val response = walletService.walletBoxesCollect(getWalletBoxesRequest).execute()

But that call throws the following error:

Exception in thread "main" java.lang.IllegalArgumentException: Non-body HTTP method cannot contain @Body.

After a little digging, I found that WalletApi.walletBoxesCollect queries /wallet/boxes/collect in the node's API, which is a POST endpoint.

However, I noticed that the appkit method that queries that endpoint has a @GET annotation for it

It seemed like the fix was as simple as changing the annotation from @GET to @POST, so I tried it locally. For simplicity's sake, I created a Java interface in my codebase,
public interface NewWalletApi {
    @Headers({
            "Content-Type:application/json"
    })
    @POST("wallet/boxes/collect")
    Call<List<WalletBox>> walletBoxesCollect(
            @retrofit2.http.Body BoxesRequestHolder body
    );
}

updated the wallet service creation to use the interface,
val walletService = apiClient.createService(classOf[NewWalletApi])

and tried executing a request again.
val getWalletBoxesRequest = new BoxesRequestHolder().targetBalance(Parameters.OneErg)
val response = walletService.walletBoxesCollect(getWalletBoxesRequest).execute()

This time, I just got a Bad Request back from the node, no further details.
So I went to the node's Swagger page to inspect that endpoint further (POST /wallet/boxes/collect), and soon learned some things about the expected request body.

targetAssets is required and cannot be null.
In the Swagger example, targetAssets is shown as a List of Lists (the BoxesRequestHolder Java model reflects this).
Sending a request, via the Swagger page, following this suggested structure results in a 400 - Bad Request.

I tried out a few combinations
// empty list
{
    "targetAssets": []
    ...
}

// empty list with empty list
{
    "targetAssets": [[]]
    ...
}

// list of lists with "dummy" values
{
    "targetAssets": [["", 0]]
    ...
}

None worked. Until finally I tried this, and it worked!
{
    // empty object/map
    "targetAssets": {}
    ...
}

So, it looks like

targetAssets cannot be null but it can be empty.
Despite the Swagger example, targetAssets needs to be an object/map (where each key/value pair represent asset_id/amount), NOT a list of lists (array of arrays).

So, I tried updating the targetAssets property in the BoxesRequestHolder model to a HashMap<String, Long>, executed another request from my code using appkit, but then I got this error:
Note: to facilitate and speed up local testing of this, I created a new model NewBoxesRequestHolder, updated targetAssets as needed, and used it to build a request body instead of BoxesRequestHolder

Click to expand
public class NewBoxesRequestHolder {
    @SerializedName("targetAssets")
    private java.util.HashMap<String, Long> targetAssets = new HashMap<>();

    @SerializedName("targetBalance")
    private Long targetBalance = null;

    public NewBoxesRequestHolder targetAssets(java.util.HashMap<String, Long> targetAssets) {
        this.targetAssets = targetAssets;
        return this;
    }

    public NewBoxesRequestHolder targetBalance(Long targetBalance) {
        this.targetBalance = targetBalance;
        return this;
    }

    public java.util.HashMap<String, Long> getTargetAssets() {
        return targetAssets;
    }

    public void setTargetAssets(java.util.HashMap<String, Long> targetAssets) {
        this.targetAssets = targetAssets;
    }

    public Long getTargetBalance() {
        return targetBalance;
    }

    public void setTargetBalance(Long targetBalance) {
        this.targetBalance = targetBalance;
    }
}

Exception in thread "main" java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $ 	at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:350) 	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:80) 	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) 	at retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:39) 	at retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:27) 	at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:225) 	at retrofit2.OkHttpCall.execute(OkHttpCall.java:188)

While I've figrued out how to send a valid request to POST /wallet/boxes/collect via the node's Swagger page, I have not yet managed to get it to work via appkit.
I'm still into it but this is as far as I've made it. If anyone has any useful insights into how to potentially resolve this issue, they'd be greatly appreciated!

Found the source of the issue. The fix will require a small change in the node's OpenAPI YAML spec, and a couple of changes in app-kit.
Leaving this comment:

to mention I've found a solution
as a reminder to come back and leave more details.

I am trying to use the new WalletApi to get some boxes from my wallet.
I created the wallet service like this

// conf is of type ErgoToolConfig

val apiClient = new ApiClient(conf.getNode.getNodeApi.getApiUrl, "ApiKeyAuth", conf.getNode.getNodeApi.getApiKey)

val walletService = apiClient.createService(classOf[WalletApi])

Then I'm using it like this to get some amount of ERG from my wallet

val getWalletBoxesRequest = new BoxesRequestHolder().targetBalance(Parameters.OneErg)

val response = walletService.walletBoxesCollect(getWalletBoxesRequest).execute()

But that call throws the following error:

Exception in thread "main" java.lang.IllegalArgumentException: Non-body HTTP method cannot contain @Body.

After a little digging, I found that WalletApi.walletBoxesCollect queries /wallet/boxes/collect in the node's API, which is a POST endpoint.

However, I noticed that the appkit method that queries that endpoint has a @GET annotation for it

It seemed like the fix was as simple as changing the annotation from @GET to @POST, so I tried it locally. For simplicity's sake, I created a Java interface in my codebase,

public interface NewWalletApi {

    @Headers({

            "Content-Type:application/json"

    })

    @POST("wallet/boxes/collect")

    Call<List<WalletBox>> walletBoxesCollect(

            @retrofit2.http.Body BoxesRequestHolder body

    );

}

updated the wallet service creation to use the interface,

val walletService = apiClient.createService(classOf[NewWalletApi])

and tried executing a request again.

val getWalletBoxesRequest = new BoxesRequestHolder().targetBalance(Parameters.OneErg)

val response = walletService.walletBoxesCollect(getWalletBoxesRequest).execute()

This time, I just got a Bad Request back from the node, no further details.
So I went to the node's Swagger page to inspect that endpoint further (POST /wallet/boxes/collect), and soon learned some things about the expected request body.

targetAssets is required and cannot be null.

In the Swagger example, targetAssets is shown as a List of Lists (the BoxesRequestHolder Java model reflects this).

Sending a request, via the Swagger page, following this suggested structure results in a 400 - Bad Request.

I tried out a few combinations

// empty list

{

    "targetAssets": []

    ...

}

// empty list with empty list

{

    "targetAssets": [[]]

    ...

}

// list of lists with "dummy" values

{

    "targetAssets": [["", 0]]

    ...

}

None worked. Until finally I tried this, and it worked!

{

    // empty object/map

    "targetAssets": {}

    ...

}

So, it looks like

targetAssets cannot be null but it can be empty.

Despite the Swagger example, targetAssets needs to be an object/map (where each key/value pair represent asset_id/amount), NOT a list of lists (array of arrays).

So, I tried updating the targetAssets property in the BoxesRequestHolder model to a HashMap<String, Long>, executed another request from my code using appkit, but then I got this error:
Note: to facilitate and speed up local testing of this, I created a new model NewBoxesRequestHolder, updated targetAssets as needed, and used it to build a request body instead of BoxesRequestHolder

Click to expand

public class NewBoxesRequestHolder {

    @SerializedName("targetAssets")

    private java.util.HashMap<String, Long> targetAssets = new HashMap<>();

    @SerializedName("targetBalance")

    private Long targetBalance = null;

    public NewBoxesRequestHolder targetAssets(java.util.HashMap<String, Long> targetAssets) {

        this.targetAssets = targetAssets;

        return this;

    }

    public NewBoxesRequestHolder targetBalance(Long targetBalance) {

        this.targetBalance = targetBalance;

        return this;

    }

    public java.util.HashMap<String, Long> getTargetAssets() {

        return targetAssets;

    }

    public void setTargetAssets(java.util.HashMap<String, Long> targetAssets) {

        this.targetAssets = targetAssets;

    }

    public Long getTargetBalance() {

        return targetBalance;

    }

    public void setTargetBalance(Long targetBalance) {

        this.targetBalance = targetBalance;

    }

}

`Exception in thread "main" java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $

at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:350)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:80)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61)
at retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:39)
at retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:27)
at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:225)
at retrofit2.OkHttpCall.execute(OkHttpCall.java:188)`
While I've figrued out how to send a valid request to POST /wallet/boxes/collect via the node's Swagger page, I have not yet managed to get it to work via appkit.
I'm still into it but this is as far as I've made it. If anyone has any useful insights into how to potentially resolve this issue, they'd be greatly appreciated!

Hi @jaysee260 visit the official Ergo page to start a chat with a live agent to report this for review and for further assistance assistance via LIVE CHAT


Error when trying to use EFS volumes in task/container definition

Describe the Bug
I'm trying to use an EFS volume in an ECS service definition.  The volumes variable is defined such that one has to supply a value for both the efs_volume_configuration and docker_volume_configuration parameters.  This seems to be a Terraform syntax limitation having to do with a lack of optional arguments.  However, the solution of passing an empty list doesn't work in this case, yielding the following error:
ClientException: When the volume parameter is specified, only one volume configuration type should be used.

Passing null for docker_volume_configuration doesn't work, either:
Error: Invalid dynamic for_each value

  on .terraform/modules/ecs-service/main.tf line 70, in resource "aws_ecs_task_definition" "default":
  70:         for_each = lookup(volume.value, "docker_volume_configuration", [])
    |----------------
    | volume.value is object with 4 attributes

Cannot use a null value in for_each.

Expected Behavior
To be able to use EFS volumes in an ECS service definition.
Steps to Reproduce
Update the example in examples/complete with the following added to main.tf:
  volumes = [{
    name = "html"
    host_path = "/usr/share/nginx/html"
    # docker_volume_configuration = null
    docker_volume_configuration = []
    efs_volume_configuration = [{
      file_system_id = "fs-8de214f2"
      root_directory          = "/home/user/www"
      transit_encryption      = "ENABLED"
      transit_encryption_port = 2999
      authorization_config = []
    }]
  }]

Environment (please complete the following information):
Terraform v0.14.10, MacOS 10.15.7
Anything that will help us triage the bug will help. Here are some ideas:

OS: [e.g. Linux, OSX, WSL, etc]
Version [e.g. 10.15]

@tonyc-blastpoint I think this issue was created in the wrong repo.
https://github.com/cloudposse/terraform-aws-ecs-alb-service-task/blob/851ae54621f382208f9a576444116dc8cc4296b6/main.tf#L70-L71
Please open the issue in cloudposse/terraform-aws-ecs-alb-service-task repo

Will do.  I was told on the CloudPosse Slack to submit it here.

@tonyc-blastpoint it's a bit confusing so it may have been mistaken advice. If you recreate this issue in the other repo, it will be on the plate to be fixed. 😄
thanks for creating this issue because this does seem like a bug in the ecs alb service task module.


Add Tetrahedron primitive to bevy_math::primitives

WIP, will add more stuff soon :)
<!---
# Objective

- Describe the objective or issue this PR addresses.
- If you're fixing a specific issue, say "Fixes #X".

## Solution

- Describe the solution used to achieve the objective above.

---

## Changelog

> This section is optional. If this was a trivial fix, or has no externally-visible impact, you can delete this section.

- What changed as a result of this PR?
- If applicable, organize changes under "Added", "Changed", or "Fixed" sub-headings
- Stick to one or two sentences. If more detail is needed for a particular change, consider adding it to the "Solution" section
  - If you can't summarize the work, your change may be unreasonably large / unrelated. Consider splitting your PR to make it easier to review and merge!

## Migration Guide

> This section is optional. If there are no breaking changes, you can delete this section.

- If this PR is a breaking change (relative to the last release of Bevy), describe how a user might need to migrate their code to support these changes
- Simply adding new functionality is not a breaking change.
- Fixing behavior that was definitely a bug, rather than a questionable design choice is not a breaking change.

---!>

FYI, I have also already done a substantial amount of work on this; I would recommend joining us in the math-dev channel on Discord to talk about some of the things that have come up!

Aw shucks, my bad 😅
I threw this PR draft out there after checking that there isn't anything that implements it in https://github.com/bevyengine/bevy/pulls, so that there is no doubling of efforts, but I guess I was too late anyway.
Should I close this PR?

I think the default tet should be centered on the origin. It's going to rotate strangely when people mesh it and apply transforms. I believe all other default primitives have their center of mass more or less at the origin.

I agree with this

I think the default tet should be centered on the origin.

I guess that decision is being lifted off my shoulders, thanks for all the reviews!
For the record, I agree, though I still feel like having this primitive remain upright (three vertices on a plane that's parallel to the XY plane, one vertex above) would be desirable, but would cause icky vertex coordinates (especially if going for a regular tetrahedron), which is why I was hesitant.

Thank you to everyone involved with the authoring or reviewing of this PR! This work is relatively important and needs release notes! Head over to https://github.com/bevyengine/bevy-website/issues/1295 if you'd like to help out.


Install clang on the windows environments

I was trying to use cross for compiling to the x86_64-pc-windows-gnu target, however because one of my crates runs bindgen as part of a build.rs script, it fails.
$ cross build --target x86_64-pc-windows-gnu
...
error: failed to run custom build command for `litecad-sys v0.1.0 (file:///project/litecad-sys)`
process didn't exit successfully: `/target/debug/build/litecad-sys-a9c3850875a197e1/build-script-build` (exit code: 101)
--- stdout
rerun-if-changed=wrapper.h
rerun-if-changed=LiteCAD.h

--- stderr
thread 'main' panicked at 'Unable to find libclang: "couldn\'t find any of [\'libclang.so\', \'libclang.so.*\', \'libclang-*.so\'], set the LIBCLANG_PATH environment variable to a path where one of these files can be found (skipped: [])"', libcore/result.rs:916:5
note: Run with `RUST_BACKTRACE=1` for a backtrace.

Would it be a good idea for the underlying docker image windows builds run on to have clang installed?

@Michael-F-Bryan please feel free to make a PR against https://github.com/japaric/cross/blob/master/docker/x86_64-pc-windows-gnu/Dockerfile


Removed Unused Void Class

Removed the class Void.java from /cloud-framework-ipc/src/org/apache/cloudstack/framework/async/Void.java since the method public void AsyncMethod(Object realParam,
AsyncCompletionCallback callback) does not exist and it does not seem to be used in another place.
Also, removed an unnecessary comment in
/cloudstack-framework/ipc/test/org/apache/cloudstack/framework/codestyle/AsyncSampleListenerStyleCaller.java

LGTM, a CI testing would confirm if PR can be accepted
tag:easypr

LGTM

CI RESULTS
Tests Run: 85
  Skipped: 0
   Failed: 0
   Errors: 0
 Duration: 9h 08m 44s

Associated Uploads
/tmp/MarvinLogs/DeployDataCenter__May_07_2016_07_22_48_R3H25Y:

dc_entries.obj
failed_plus_exceptions.txt
runinfo.txt

/tmp/MarvinLogs/test_network_MSZ3SB:

failed_plus_exceptions.txt
results.txt
runinfo.txt

/tmp/MarvinLogs/test_vpc_routers_32L4E9:

failed_plus_exceptions.txt
results.txt
runinfo.txt

Uploads will be available until 2016-07-09 02:00:00 +0200 CEST
Comment created by upr comment.

CI has come back clean.  👍 I will add this to my merge queue.  Thx...

Thanks for the help! =)


node colors do not propagate to Physics tree

When you color by a variable, say gender, that color by change does not propagate to Physics tree.

Resolved.


Collect k8s container

@enoodle make sure to do semantic commit when you squash and merge

@ranrib the first 4 commits are semantic, it will use them.

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


idea: connect tasks to logbook view

It occurred to me that when a user starts working on a task, scilog could connect logbook entries to the task using a task-tag
I envision the task having a check widget which when checked would create a tag for that task and add such task-tag to all entries for the current user as long as the check is on
The background of the task could also be made colorfull, and match the task-tag with the same colour.

I think that is a very good idea. We will add the implementation taks to our todo list ;-)


Docs for WebRTC

Note: Given WebRTC is not recommended for production, no end user guide was prepared. Brief notes on how to start a call is included in the admin deployment documentation.

Updated @enahum and @esethna.
@esethna: I've used the ../source/images/... URL for most of the docs so far (google/office SSO, SAML, ...), but I made the changes as suggested. The images are still not rendering though.


subdomain and registerableDomain no longer work

Hi,
subdomain and registerableDomain no longer seem to work with version 1.0.0 but they did work fine before updating the lib, with version 0.7.0.

Also see https://github.com/jwage/purl/issues/79 and https://github.com/jwage/purl/pull/76#issue-269674114,  you need to use https://github.com/jeremykendall/php-domain-parser directly yourself.

The biggest issue here IMHO is that access to $url->registerableDomain still works without any warnings (but always return null). Unless you do proper tests in your app, this would introduce bugs that are very difficult to track.
Fixing this is seems simple, though. Just change Purl/AbstractPart->get() to check if the key exists in $this->data and issue a PHP notice if not (this will mimic PHP's behaviour when accessing undefined properties).


bug/Fix image uploads payload

There's a mistake somewhere, sending full files hence breaking vercel edge functions. Can be reproduced by uploading 3+ big images for a skill form.

Removed payloads.


[Feature Request] Emulating Symbian\N-Gage games

This emulator EKA2L1 can run Nokia Symbian apps on Linux. This would add tons of N-Gage games if compatible.
I don't have that background on Linux but I think it may be possible as ArkOS is a Linux fork. The buttons may be mapped with optional on screen keyboard.
What is your thoughts?

Already looking at this and the this emulator requires qt for the ui to build which is not available in ArkOS.  There's an older version of this that can be built without QT that the developer has said I can try but is missing many recent improvements.  So I plan to try it and if it can run some N-Gage games decently, I may include it.

Thank you very much.

Can't wait for this if it comes to fruition, used to have an N-Gage.


Convert question, discussion, and show-and-tell issues into discussion

It's possible to convert an issue to a discussion using Convert to discussion button

This sounds like a great idea.  I'm going to give it a try with some of the tickets tagged as discussion.

That worked pretty well.  I'll move some more over later.


chore: move openshift hooks

What type of PR is this?

Uncomment only one  /kind line, and delete the rest.
For example, > /kind bug would simply become: /kind bug

/kind bug
kind cleanup
/kind failing-test
/kind enhancement
/kind documentation
/kind code-refactoring

What does this PR do / why we need it:
This PR moves openshift specific hooks present in upstream argocd-operator into gitops operator in order to decouple the 2 operators a little, and allow for changes in the gitops operator without having to touch the argocd-operator
Have you updated the necessary documentation?

[ ] Documentation update is required by this PR.
[ ] Documentation has been updated.

Which issue(s) this PR fixes:
Fixes https://issues.redhat.com/browse/GITOPS-1235
Test acceptance criteria:

[x] Unit Test
[x] E2E Test

How to test changes / Special notes to the reviewer:
there should be no changes required in testing

/retest


Rendering problem with multi-line class docstrings

It looks like (multi-line) class docstrings should be dedented (e.g. with textwrap.dedent) to prevent them from being rendered like quotes in HTML output.
A simple textwrap.dedent doesn't work though due to the problem explained in https://stackoverflow.com/questions/75667657/how-to-dynamically-change-indentation-in-a-multiline-string,
the solution https://stackoverflow.com/a/75667889/ could be used.

I am having the exact same issue, with multiline docstrings, that look like the following (to take same example as this package unit tests) :
class UserMultilineDocstringD212(Base):
    """
    A ``user``.

    The user has a multi-line doctsring.

    This is the last line of the docstring.
    """

    __tablename__ = "dbusers_d212"
    __table_args__ = (UniqueConstraint("first_name", "last_name"),)
    pk = Column(types.Integer, primary_key=True)
    first_name = Column(types.String, doc="The name of the user.")
    last_name = Column(types.String(255), doc="The surname of the user.")
    dob = Column(types.Date, nullable=False, doc="The date of birth.")

@chrisjsewell I just cloned the repo and proposed a fix (with associated unit tests) but cannot push to any branch. What are the contributions guidelines

@AlexTorx You probably need to fork the repo first (easiest in the upper right in the GitHub web GUI) and open the PR from this fork.

@AlexTorx You probably need to fork the repo first (easiest in the upper right in the GitHub web GUI) and open the PR from this fork.

Yep it's been a while since last contribution to an open-source repo, kind of forgot how it worked. Thanks for the reminder ;)
PR has been created from a fork : https://github.com/chrisjsewell/sphinx-sqlalchemy/pull/15


Get additional song meta data from public API

E.g. Genre.
Other Ideas?

Honestly I still haven't found a public API delivering the data i'd like to have in detail.

If you mean the Ignition public api, then...well, it does not exists. I am asked many times for that, but there was always the reaction: "have no time, not so important now". Same for RockSniffer, RSPlaylist stuffs.
Or did you ment something else?

Customforge doesn't really want to provide an API for what I know.
My hope was that there is an open API somewhere in the net that could be used to more meta data of the song.
More of a nice to have idea, having e.g. direct links to an album cover, the specific genre available as string...

We could use my app's information (RocksmithServant), or code the same :) To code is overkill in c# I think. But possible.
Better would be, if somebody is using my app, then we get the information to the song from Servant, and add.
The main problem is with this, that there is no connection with the song in RS and the Ignition entry. So you can only guess.
Or maybe the search function could be used from RSPL, same-same, but different. Not easy.

I'd prefer  neither directly messing with RS files nor building a bridge to the servant. If there is no good public REST API... Well this is a minor nice to have anyway 🤷♂


Nested routes (more than 1 level)

When I try to configure 2 levels of nested routes, it doesn't export well, for example:
VueTidyRoutes.route('/main', {
	name: 'Principal',
	component: Main
})

VueTidyRoutes.route('/main').child('panel', {
	name: 'Panel de control',
	component: PanelControl
})

VueTidyRoutes.route('/main').child('panel').child('gestion_empresas', {
	name: 'Gestión de empresas',
	component: GestionEmpresas
})

In this case when I export, '/main/panel' route has no childs, and route 'gestion_empresas' appears as a child of '/main'
Am I doing something wrong?
Thansk and congratulations ;)
(PS: Sorry about my english)

Hi @danitetus I'll check on that.

Hi @danitetus,
I was checking on your request but right now is not supported (you are welcome to make a PR with that).
The thing is .child returns an instance of it's parent route so you can chain multiple childs.
Routes.route('/component2')     .child('child-3', {         name: 'child-3',         component: ChildComponent3     })     .child('child-4', {         name: 'child-4',         component: ChildComponent4     });

So I was talking with @javisperez about your issue and he told me that you can use the VueRouter nested capabilities, it's ugly but it works.
Routes.route('/component2')
    .child('child-3', {
        name: 'child-3',
        component: ChildComponent3,
        children: [ // here you have to use the format expected by vue not tidyroutes. https://router.vuejs.org/en/essentials/nested-routes.html
            {
                path: 'child-4',
                component: ChildComponent4
            }
        ]
    });


Remove unused code && tests

Update git ignore
Fix imports and change PATH for tests
Add module info
Add tests

@humaton Your image is available in the registry: docker pull registry.devshift.net/fabric8-analytics/f8a-api-gateway:SNAPSHOT-PR-20

@humaton Your image is available in the registry: docker pull registry.devshift.net/fabric8-analytics/f8a-api-gateway:SNAPSHOT-PR-20

@humaton Your image is available in the registry: docker pull registry.devshift.net/fabric8-analytics/f8a-api-gateway:SNAPSHOT-PR-20

@humaton Your image is available in the registry: docker pull registry.devshift.net/fabric8-analytics/f8a-api-gateway:SNAPSHOT-PR-20

@humaton Your image is available in the registry: docker pull registry.devshift.net/fabric8-analytics/f8a-api-gateway:SNAPSHOT-PR-20

@humaton Your image is available in the registry: docker pull registry.devshift.net/fabric8-analytics/f8a-api-gateway:SNAPSHOT-PR-20

@humaton Your image is available in the registry: docker pull registry.devshift.net/fabric8-analytics/f8a-api-gateway:SNAPSHOT-PR-20

@humaton Your image is available in the registry: docker pull registry.devshift.net/fabric8-analytics/f8a-api-gateway:SNAPSHOT-PR-20


Use progressive enhancement for the frontend

I noticed that some parts of the frontend, like the header links / login status only work when JavaScript is enabled because they're using client-side includes.
I think Warehouse would be faster and more resilient to failure if it was built using progressive enhancement.
Would you welcome pull requests that reduce the dependence on JavaScript when it's not needed? Is there a reason for the existing approach, like not wanting every request to need a session?

I've just realised that PyPI is a heavy user of Fastly which explains the decision to rely heavily on caching at the CDN. I also found some related comments on #979.
I'd still be interested in trying to find a way to solve these issues while providing a good experience for all users. I'll keep having a think.

Ah I've also just found #923 so I'd love to know what didn't work with edge-side includes :(
Sorry for the number of comments!

If I remember correctly, and I could be wrong, the issue we had with ESIs were:

It was difficult to emulate them correctly in local development, meaning we had errors that only appeared after the site was deployed, which wasn't an ideal situation.
It ironically broke the ability to cache pages on the clientside correctly. The top level http request (the one that contained the ESI tags to other resources) could not include any content or be influenced by the ESI included resource other than by simple inclusion. This meant that the CacheControl header would be incorrect for this page, as well as the ETag header IIRC. (Since the Etag header didn't get updated and the browser saw the entire page as a single object, but only got the CacheControl header for the top level page).
Pages that had ESI enabled were not able to be compressed and had to be served to end clients uncompressed. For smaller sites this probably wouldn't be an issue, but PyPI serves >1PB of traffic a month, and although the bulk of that is not the UI, every little bit helps.

The combination of these factors meant that the use of ESI here made the site as a whole less scalable since it effectively ruled out client side caching and compression for most UI pages and made it harder to actually develop the site.
The HTML include is sort-of "progressive", in a not really progressive kind of way. In that I mean that the pages work for their primary use case without JS, they just lose the extra user specific bits that get mixed in on each page. If I remember all of the places this pattern has been used, the most painful of these would be the lack of a Login/Logout link in the top header. It's possible we could do something better here. Perhaps a fallback to the logged out view if Javascript is disabled or the network request to fetch the snippet fails? That would provide a not as good experience as JS (since they'd appeared logged out, even if they were logged in) but they'd get a button that they can press to login, and ideally that could possible take them to some page that is naturally user specific, so doesn't use JS to handle the session using bits.
That's a lot of words to basically say, I think we'd be happy to look at options here to either reduce the use of JS or provide better fallbacks than silently do nothing. However the bar is pretty high, and I'm personally not to fussed about requiring logged in users to have JS enabled (even modern screen readers and the like can handle JS just fine) but that doesn't mean we can't do better!

Thank you very much for taking the time to write a really detailed reply, I know you're busy.
I'll have a think and maybe after launch have some more concrete suggestions for ways to improve this.

@alexmuller, Thanks for suggesting this.
Update, in case you didn't already know: The folks working on Warehouse have gotten funding to concentrate on improving and deploying Warehouse, and have kicked off work towards our development roadmap -- the most urgent task is to improve Warehouse to the point where we can redirect pypi.python.org to pypi.org so the site is more sustainable and reliable.
Since this feature isn't something that the legacy site has, I've moved it to a future milestone. But we're interested in your suggestions. Also, we'll be at the PyCon North America sprints in May in Cleveland and we're hoping to also have a Warehouse sprint at EuroPython in July in Edinburgh, and that would be a great time to talk about it in person. And of course you can also talk with us in this issue, or on #pypa-dev on Freenode, or on the pypa-dev mailing list.
Thanks and sorry again for the wait.


command to backup docker conf file is not working

this line is wrong: https://github.com/novafloss/bag8/blob/494cd03ad32e2c3f1a3f64708f43863eed7d495e/bag8/utils.py#L74
because you're not using a list/tuple as the first argument, it results in:
TypeError: bufsize must be an integer

Note: I've tried to run the tests, they've failed. I have no clue on how to add a test that validates this command.

Je confirme, déjà rencontré. Merci pour la PR !


enh: disable monitor by default

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

Project coverage is 70.43%. Comparing base (13c8bc8) to head (270c181).

Additional details and impacted files
@@            Coverage Diff             @@
##              3.1     #272      +/-   ##
==========================================
- Coverage   70.54%   70.43%   -0.11%
==========================================
  Files          78       78
  Lines        8256     8256
==========================================
- Hits         5824     5815       -9
- Misses       1849     1857       +8
- Partials      583      584       +1

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


Interrupting in an iPython kernel kills it

Hi,
I am using numba.jit with nopythonmode in some Jupyter notebooks. Whenever I interrupt (menu Kernel -> Interrupt which should be equivalent to a ^C) a running cell executing code compiled with Numba, the kernel dies.
I am not sure about what happens exactly, and I cannot see any traceback or log info in the jupyter process output. Please, let me know if this is more to be solved on the Jupyter side and I am posting in the wrong place.
Thanks!

Thanks for the report. Perhaps the first thing to check would be that ^C is handled correctly by the numba.jitted code outside of Jupyter (i.e. run the same thing from the command line as a script) to try and isolate whether the problem is a bug in Numba or the interaction of Numba with Jupyter? Thanks.

Running the code in a plain Python shell and interrupting with ^C in a numba.jitted part sometimes gives a segmentation fault. The rest of the time, the program simply ignores the ^C.
I guess ignoring the ^C is a "normal" behavior for numba.jitted code, as numpy C code cannot be interrupted as well, I think. The segfaulting case is the reason why Jupyter kernel dies I think.
I can try to publish a minimal example in case it is useful for debugging.
Thanks

Your description/interpretation of what you are experiencing I think is correct. A segfault would cause the Jupyter kernel to die so I think it is not a problem with Jupyter. If you have a reproducer that'd be great thanks.

I'm trying to write a minimal example to reproduce at the moment. However, it seems I can only fall in the "not-interruptible" case, and could not reproduce the segfault case with a minimal example :/

Closing.  Reopen if you have an example.


config: demote Fetcher, introduce Environment

Previously, to fetch data out of the *config.Configuration type, a reference
to a Fetcher was used, a-la:
cfg.Env.Get(...)

This is quite convenient, however, it forces the LFS client to implement
several methods more than once. Consider the interface:
type Fetcher interface {
        Get(key string) (val string)

        Bool(key string, def bool) (val bool)
        // et. al.
}

In order to return typed information from a configuration instance, each
Fetcher must implement its own N methods for Int, Bool, etc.
To remedy this, the Environment type was introduced. It instead has a
Fetcher, and defines its own type conversions, like so:
type Environment struct {
        f Fetcher
}

func (e *Environment) Bool(key string, def bool) (val bool) { }
func (e *Environment) Int(key string, def int)   (val int) { }

// et. al.

Now, the config.Configuration type holds a reference to an Environment, and
all type conversion methods are defined only once, saving time, and enforcing
consistency across multiple sources.

/cc @technoweenie @sinbad @rubyist @larsxschneider

👍

:ship:

Thanks for the review! 👋

Tracking https://github.com/github/git-lfs/issues/1425.


[Pulsar SQL] Fix Pulsar SQL CI test

Motivation
Currently, the Pulsar SQL CI test is blocked.
Modifications

Build a new docker image before CI test to make sure the latest changes are covered.
Remove the config distributed-joins-enabled in the $PULSAR_HOME/conf/presto/config.properties, this config was discarded in presto version 332.
Add the config -Dpresto-temporarily-allow-java8=true in $PULSAR_HOME/conf/presto/jvm.config, this config is needed if use Java 8 environment.
The ClientBuilder will be loaded by two different ClassLoaders, in the Pulsar SQL CI test the ClientBuilder will be created by unexpected ClassLoader, we need to specify the ClassLoader for it.

Verifying this change

[ ] Make sure that the change passes the CI checks.

This change is already covered by existing tests.
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (no)
The public API: (yes)
The schema: (no)
The default values of configurations: (yes)
The wire protocol: (no)
The rest endpoints: (no)
The admin cli options: (no)
Anything that affects deployment: (yes)

Documentation

Does this pull request introduce a new feature? (no)

@gaoran10 I think there still some issues dep issues pulsar-sql:
java.util.ServiceConfigurationError: com.fasterxml.jackson.databind.Module: Provider com.fasterxml.jackson.datatype.joda.JodaModule could not be instantiated

@jerrypeng Yes, the io.airlift:bootstrap is update from 0.170 to 0.199, the joda-time is not included in the io.airlift:bootstrap:0.199, so need to add it. I'll fix this, thanks.

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks


prepare 0.28.0 release

Coverage increased (+1.4%) to 99.529% when pulling effa9aaec6187fb3642c5a0d20b1ae941fdc5d44 on LeFnord:master into c2b3d489ad7e46818772300420677a69e25387d2 on ruby-grape:master.


[Queues] Codeblock cleanup

There was some scope creep - originally I just added $ to some codeblocks and decided to try bring all of the code examples in-line with each other.
Some specified return types, some said req vs request, etc - generally ran them all through Prettier in line with how I've done other Workers in the docs.

cc @elithrar @rts-rob

Thanks @KianNH - !


Polish translations for field validation fix

In Polish "should" is gender depended verb (masculine). It sounds bad with feminine and neuter attribute names. My change means "must" but it keeps sentence sense, and sounds more correct.

I agree.

Thanks!


Add more kubernetes operations

This PR adds a few more kubernetes operations:

create ConfigMap
delete ConfigMap
create Secret
delete Secret
watch Secret
create Pod
delete Pod
list Pod

The implementation of the create secret operation lead to changing the type of the data field in secret from Map<String, String> to Map<String, byte[]>. That change broke a few tests that read secrets because it was no longer required to base64 decode the values of data.
The implementation of the pod operations lead to just enough modelling of PodSpec to make it possible to run pods with containers, init containers, limited support for volumes, and a couple of environment variable sources.

 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.

Thank you very much for your contribution! I will have a look at it this week.


[ISSUE #1727] fix RequestCallback executed multi times

What is the purpose of the change
To fix problem mentioned in ISSUE 1727
When there is more than one DefaultMQProducerImpl instance in one process, RequestCallback is possible to be executed multi times.
Brief changelog

move  DefaultMQProducerImpl.timer to RequestFutureTable.timer to avoid multi timer scan the future table;
add flag to distinguish whether a ReqeustCallback has been executed or not;

Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

@wqliang  ci failed, err info: Name 'timer' must match pattern '(^[A-Z][A-Z0-9](_[A-Z0-9]+)$)|(^log$)'.

Coverage increased (+0.03%) to 50.904% when pulling 753abde6a572d21bcd9322b94adf4b30367b4a56 on wqliang:fixRequestCallbackExecute into 997164b1cdc122bfd767d23b476a789461507332 on apache:develop.

@wqliang ci failed, err info: Name 'timer' must match pattern '(^[A-Z][A-Z0-9]([A-Z0-9]+)_$)|(^log$)'.

@xujianhai666 Got it, I have corrected it. Thanks.


Building in container

This change uses a docker container to build & test this library.

@ZeissS @zyndiecate RFR

Why do we want/need this? What problem does it solve?

While building it, I ended up with a client-go file.
Turned out that was caused by having go 1.5 installed.
By running in containers we know exactly which go version to expect.

IIWFYLGTM


Integration with Travis CI

Pretty much self-explanatory :) We can probably do some syntax checks for HTML/CSS on top of the usual go build/test.

Done in #34.


Added remove_row() and remove_col()

Adding functions remove_col(index: usize) and remove_row(index: usize).

Thanks for the >=, didn't catch that. Renamed existing tests and added out of bound tests.
I'd recommend running a formatter on the project. the standard rustfmt makes a huge amount of changes and one can tell it's not  been formatted in a while :).


Mobile optimisations

Fix site for mobile:

Headings too large
Header text overflow
Countdown weird on mobile

CSS grids used for Team to allow for multiple people to be displayed at once ✅
Text smaller on mobile ✅
Social links in footer improved ✅
CSS grids used for sponsorship logos ❌
Event info page mobile friendly ❌


Modified vineeth's code for testing purpose

Vineeth - basiscs - name spandana assigned

5 Points are assured. No Errors found by AI system, you must be really good in writing uipath code. An expert need to review your code and it will be done before next sunrise :)


Syntactically invalid code generated for resource with response schema type object

I was trying to generate a service for the sample OpenAPI def available at https://editor.swagger.io/. But the resulting service that was generated was syntactically incorrect. The problematic resource is /store/inventory. It generates the resource function as follows:
resource function get store/inventory() returns object {
}

The portion of the OpenAPI def which is relevant to the above issue:
/store/inventory:
    get:
      tags:
       - store
      summary: Returns pet inventories by status
      description: Returns a map of status codes to quantities
      operationId: getInventory
      responses:
        "200":
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: integer
                  format: int32

Ballerina version: 2201.2.3

[ ] https://github.com/ballerina-platform/openapi-tools/issues/636
[ ] Scenario for unsupported return type
[ ] Scenarios for Map additionalProperties: has enabled without properties field

[ ] Scenarios 01: Response has inline object and additional properties

  /store/inventory:
    get:
      tags:
        - store
      summary: Returns pet inventories by status
      description: Returns a map of status codes to quantities
      operationId: getInventory
      responses:
        "200":
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                  age:
                    type: integer
                additionalProperties:
                  type: integer
                  format: int32

Here swagger parser flattens the inline object into a name object under the component schema
resource function get store/inventory() returns Inline_response_200 {
    }

[ ] Scenario 02 : Return has only additional properties without main object properties

  /store/inventory02:
    get:
      tags:
        - store
      operationId: getInventory02
      responses:
        "200":
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: object
                  properties:
                    id:
                     type: integer
                    age:
                      type: integer
            text/plain:
              schema:
                type: string

These types of scenarios are not flattened by the swagger parser. therefore it will generate an inline record.
resource function get store/inventory02() returns record {|Inline_response_map200...;|}|string {
    }

[ ] Scenario 03 : Return has only additional properties with nested additional properties (complex scenarios)

  /store/inventory03:
    get:
      tags:
        - store
      summary: Returns pet inventories by status
      description: Returns a map of status codes to quantities
      operationId: getInventory03
      responses:
        "200":
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: object
                  additionalProperties:
                    type: object
                    properties:
                      name:
                        type: string
                      place:
                        type: string

This also returns an inline record.
resource function get store/inventory03() returns record {|record {|record {|string name?; string place?;|}...;|}...;|} {
    }

[ ] Scenario 04: Return with additional property as reference

  /store/inventory04:
    get:
      tags:
        - store
      summary: Returns pet inventories by status
      description: Returns a map of status codes to quantities
      operationId: getInventory04
      responses:
        "200":
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: "#/components/schemas/User"

resource function get store/inventory04() returns record {|User...;|} {
    }

[ ] Scenario 05: Return has a status code which is not 200 and has additional properties.

  /store/inventory05:
    get:
      tags:
        - store
      operationId: getInventory05
      responses:
        "400":
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: "#/components/schemas/User"
components:
  schemas:
    User:
      properties:
        name:
          type: string
        id:
          type: integer

Under this issue https://github.com/ballerina-platform/openapi-tools/issues/990 we are supposed to add a return inline record when it has a status code above the 200 range.
resource function get store/inventory05() returns BadRequestRecordUser {
    }
public type BadRequestRecordUser record {|
    *http:BadRequest;
    record {|User...;|} body;
|};

public type User record {|
    string name?;
    int id?;
|};

Therefore, would like to take an idea for the above scenario 02-04 with keep it as an inline record or move to name record by adding some record name with path + Response + _(count of record created) -> StoreInventoryResponse_1
@NipunaRanasinghe @aneeshafedo WDYT ?

Suggested new changes https://github.com/wso2-enterprise/internal-support-ballerina/issues/219

Close this in the favour with https://github.com/ballerina-platform/openapi-tools/pull/1143


refactor: add grow prop in textarea and resizer

Pull Request Test Coverage Report for Build 528

3 of 4 (75.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.2%) to 78.667%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/components/Textarea/index.js
3
4
75.0%

Totals

Change from base Build 521:
-0.2%

Covered Lines:
368

Relevant Lines:
454

💛  - Coveralls


Add Neuvector sidebar & button

We need to add a sidebar option to connect to Neuvector's UI.
The backend will work separately to get a chart in place but we should have enough already to a button in place.

Verified on v2.6.5-rc2 - sidebar option to connect to neuvector UI is working as expected.


fix ret flag initialization

I found few errors in incbin utility.

ret flag not initialized to zero at startup.  Therefore, utility can never terminate correctly. I dont know, why you not found this bug before: it always deletes output file in last step. This has also mentioned here: https://github.com/graphitemaster/incbin/issues/39

ret flag is not set, if utility can not read input binary.

why not accept this trivial patch?


Restricted admins/cluster owners cannot add or delete users from Project membership page

Rancher version: 2.7-head 0bcf068
Browser type & version: Chrome
Describe the bug
As a cluster owner/restricted admin, logging into rancher and navigating to the cluster membership page, unable to add or delete users from project membership page. We can add/delete users by editing the project and editing the config.
To Reproduce

Enable azure AD Auth
Add a user as a cluster owner in the downstream cluster or add a group from the auth as restriced admin
Login as the cluster owner
Navigate to cluster and Project members page >> Project membership page

Result
Unable to add or delete users as cluster owners/restricted admins.
Expected Result
As a restricted admin, cluster owners we should be able to delete or add the members form the project membership page.
Additional Info:

This happens with local users as well.
As a local user if we add/delete another user from a project the delete/ add option appears
Reproduced while validating https://github.com/rancher/dashboard/issues/9049

Screenshot:

In this screenshot linked, the user is a restricted admin from an auth provider.

Add a user as a cluster owner in the downstream cluster
It isn't expected that the add / remove buttons aren't visible when the facilitating role is user based. Could you confirm that the specific user is the cluster owner, rather than a group the user is in?
add a group from the auth as restriced admin
It's expected that the add / remove buttons aren't visible when the facilitating role is group based. @Sean-McQ is creating an issue to cover this.

I've tried to reproduce the specific user case

As a local user who is a cluster owner of the downstream cluster
As a AD user (github) who is a cluster own of the downstream cluster

In both scenarios the Add and individual project's x buttons are visible

After some discussion we've discovered for

An AD User who is a cluster owner of a downstream cluster
Accessing the Project Members list via FF

Will sometimes fail to see the Add and per project x buttons. This is normally resolved via a page refresh, or navigating away and returning.

@anupama2501 Sorry for the issue spam. Zube and other bots not behaving well. Both this and https://github.com/rancher/dashboard/issues/9158 are ready to test

Verified on v2.7-head 0bcf068
Enabled azure AD auth providers.
Verified adding users as cluster owner/project owner/cluster members - adding and deleting users from project Membership page works as expected.

/backport v2.6.x

Given https://github.com/rancher/dashboard/issues/9198, this bug is not longer relevant


Add support for custom default controller configuration

Description
This pull request adds configuration to draper so that you can customize the default controller. According to the documentation in the README:

Configuration
Draper works out the box well, but also provides a hook for you to configure its
default functionality. For example, Draper assumes you have a base ApplicationController.
If your base controller is named something different (e.g. BaseController),
you can tell Draper to use it by adding the following to an initializer:
Draper.configure do |config|
 config.default_controller = BaseController
end

This also lays the ground work for other configuration options in the future. This work was originally inspired from the #776 by @nick-donald.
Todos

[x] Tests
[x] Documentation
[x] Fix state leaking from tests

Related
Issue https://github.com/drapergem/draper/pull/776
Issue https://github.com/drapergem/draper/issues/573
Pull request https://github.com/drapergem/draper/pull/776

This is ready for review now if anybody wants to take a look (e.g. @varyonic @seanlinsley @syguer). I added the new functionality to the dummy application as well to increase the code coverage.

Looks good! 👏

But I wonder why draper depends on Controller layer... 🤔
Of course I know,  we need a context of controller. I hope we can divide its dependency someday 😄

Yes, I agree. Maybe we can extract that dependency into optional functionality. The basic decorator pattern should be able to work without the need for a view context. But, baby steps for now..

👍


cue get go should generate definitions, not structs

Given that a key use case for cue is to validate configurations against data models, and 'cue get go' effectively imports data models from external sources, it would be nice to make cue get go create closed structs (definitions) instead of regular fields (open structs).
Specifically I would expect cue get go k8s.io/api/core/v1 to generate recursively closed structs and disallow this:
import (
  "k8s.io/api/core/v1"
)

// No errors, but innerField and outerField are inappropriate field names :(
myThing: v1.Service & {
  spec: {
    type: "ClusterIP"
    innerField: "ClusterIP"
  }
  outerField: "ClusterIP"
}

Trying to close it myself works for the outer struct:
// This causes an error on outerField because the struct is closed, as I want :)
myThing: close(v1.Service) & {
   spec: {
     type: "ClusterIP"
     innerField: "ClusterIP"
   }
   outerField: "ClusterIP"
 }

But this doesn't properly error out, because the inner 'spec' struct is not closed:
// This works because the inner spec struct is not closed, when I'd prefer it to be :(
myThing: close(v1.Service) & {
  spec: {
    type: "ClusterIP"
    innerField: "ClusterIP"
  }
}

One alternate solution would be to add something to recursivelyClose() a struct.

Ah, I think I see that this 'recursively closed' idea is intended to be a syntactical feature of definitions:
"A fields of a struct may be declared as a regular field (using :) or as a definition (using ::). [....] Literal structs that are part of a definition's value are implicitly closed."
In that case this is probably more aptly titled "cue get go should create definitions, not structs". I'd still like a recursivelyClose() function though, or perhaps something to convert a struct to a definition which also closes inner structs.

Yes, closed structs are a relatively new features and a lot of the tooling hasn't adopted it yet. This also holds for encoding/protobuf, although it is somewhat less obvious there.
But here it certainly should.

I mentioned it was not obvious for protos, but it is actually also not obvious for Go, as the normal Go interpretation is to ignore additional fields.
Anyway, I do think using the closed interpretation what one generally wants in a CUE setup for both cases. But it will be reasonable to add an option to keep structs open (using ...).

This issue has been migrated to https://github.com/cue-lang/cue/issues/83.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


setSrc not working in Unified interface

I have a webresoruce on my account form. Initially when it loads, it does so perfectly with the webresource set at design time. However based on some business logic, if we try to reset it to some other webresource it does not work.
tried:
formContext.getControl("<web resource>").setSrc("<new link>"); // didn't work
even tried to clear it and put it back.
formContext.getControl("<web resource>").setSrc(null");
formContext.getControl("<web resource>").setSrc("<new link>"); // didn't work
Working perfectly in Classic UI. Please help. Is this a know issue with UCI interface?
Best Regards
Debajit

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

ID: 2f91b5f1-d692-a04e-bc81-22366c4ca13a
Version Independent ID: 1a175328-52ab-12ac-3cec-0c6902b7c73f
Content: setSrc (Client API reference) in Dynamics 365 for Customer Engagement
Content Source: ce/developer/clientapi/reference/controls/setSrc.md
Service: crm-online
GitHub Login: @KumarVivek
Microsoft Alias: kvivek

I have the same issue.

the problem here is both setSrc and getSrc have a different behaviour in unified forms.
I've managed to make it work using the following code:
    let src = webResourceControl.getObject().src;
    webResourceControl.getObject().src = "about:blank";
    webResourceControl.getObject().src = src;

@bservulo  you code is work
but  when i changed src will show "HTTP Error 500 - Internal Server Error"
let src = webResourceControl.getObject().src;
webResourceControl.getObject().src = src+"&parm=p1";

show "HTTP Error 500 - Internal Server Error"

@bservulo you code is work
but when i changed src will show "HTTP Error 500 - Internal Server Error"
let src = webResourceControl.getObject().src;
webResourceControl.getObject().src = src+"&parm=p1";

show "HTTP Error 500 - Internal Server Error"

src+"&parm=p1";
your problem is how you're appending the parameter.
http://example.com/path/to/page?name=ferret&color=purple
https://en.wikipedia.org/wiki/Query_string

@bservulo
In JavaScript, I want to dynamically refresh Web Resources by adding parameters.
main form has a lookup field box,when user changer other one then tigger a javascript function.
in function i want refresh webresource .

I find It easier to Just refresh the webresource and then on the webresource get the info i need with parent.Xrm

can share you solution?


[BEAM-6009] gradle config for batch+streaming portable flink vr tests

add separate tasks for {batch, streaming} portable flink VR tests
attempt to make the postcommit run both

R: @angoenka, @mxm
Post-Commit Tests Status (on master branch)

Lang
SDK
Apex
Dataflow
Flink
Gearpump
Samza
Spark

Go

---
---
---
---
---
---

Java

Python

---

---
---
---

Run Java Flink PortableValidatesRunner

Run Java Flink PortableValidatesRunner

Do you think you could create a Jenkins job for each batch and streaming? Both of the tests run for about an hour. That way we can parallelize them and get failures quicker.

Btw, the Jenkins configuration is in .test-infra.

Sorry, I'm not sure I follow.
My impression of the process is:

comment here saying "Run Seed Job". Jenkins will update its list of available commands to:

remove Run Java Flink PortableValidatesRunner
add Run Java Flink PortableValidatesRunner Batch
and Run Java Flink PortableValidatesRunner Streaming

other PRs that want to use any of these commands will not be able to, because 1. will have been removed, and the necessary targets for 2. and 3. haven't been merged yet
merge this PR, restoring order to the world

Is that correct?

That's correct.  So go ahead and run the command here. If it fails nothing bad will happen, apart from a notification mail to builds.

Run Seed Job

Run Java Flink PortableValidatesRunner Batch

It seems like the seed job ran successfully, but the new command didn't seem to do anything… thoughts?
Aside: the seed job page you linked above doesn't list the Flink PVR jobs, before or after I ran seed job here. Is that expected?

Hey @ryan-williams, just FYI I also have a PR with changes to Jenkins jobs: #7073. I believe we are both running Seed Job and overwriting each other.
I'm planning on running Seed Job one more time to get a clean run before merging, but then I should be done. I'll be on Slack if you want to coordinate.

thanks for the heads up @swegner!
do you think your run caused my subsequent attempt at using my new jenkins command above to have no effect?
from my reading:

i ran seed job #3027 from 18:05-18:10 UTC
i asked jenkins to Run Java Flink PortableValidatesRunner Batch at 18:29
you ran #3028 from 18:52-18:1857

so it seems unrelated, but I'd appreciate another set of eyes on it. thanks!

so it seems unrelated, but I'd appreciate another set of eyes on it. thanks!

Yes, I believe your analysis is correct. Here's my understanding of things:

SeedJob produces new Jenkins job definitions by running the job dsl scripts
The new job definitions are committed at the end of the SeedJob run iff it succeeded.
All jobs started after the end of the SeedJob execution will use the new job definitions
A subsequent SeedJob run will overwrite existing jobs at the end of its successful completion.

Based on the timings you list above, your Flink PortableValidatesRunner Batch should have used your job definitions. I'll note that SeedJob run  #3028 wasn't actually triggered from my PR; it was run automatically from master based on the cron schedule. You can see this from the Jenkins job page:

Started by timer

@ryan-williams The seed job ran sucessfully with your PR changes and the jobs were generated. But you're not seeing the two jobs because they share the same job id, i.e. beam_PostCommit_Java_PVR_Flink.

Run Seed Job

Run Java Flink PortableValidatesRunner Batch

that worked! thanks so much @mxm

Run Java Flink PortableValidatesRunner Streaming

it doesn't seem like the Run Java Flink PortableValidatesRunner Streaming cmd above kicked off a job; should it only work when the PR is open?
The Streaming job has a few other runs (from other PRs?), but none have passed:

The Batch job passed above but has several other failures as well:

Maybe they're just both flaky? I haven't dug in to why they're failing yet.


Question about visualization

❓ Questions & Help

Does PyG have a visual function?And how can I make a graph visual?
If I want to visual a graph in dataset PROTEINS，how should I do?
Thank you!

In general, we do not provide visualization tools for graphs. However, there are a lot of useful libraries for visualizing graphs, e.g. networkx. You can use them by converting your data via torch_geometric.utils.to_networkx.

Fine,thank you.
What do you think should be targeted in graph pooling?Like the clustering situation or structure changing after pooling?
I have some trouble about it.Thank you very much!

What do you mean exactly? Are we still talking about visualization?

What do you mean exactly? Are we still talking about visualization?

Yes, I want to ask you advise about what is necessary visualizations in graph-pooling papers

Well, that's hard to tell and depends on the task at hand. For example, you can visualize the resulting adjacency matrix, or you can visualize your graph using T-SNE embeddings for nodes. You may want to draw inspiration from a few graph pooling papers, e.g., this one.

Right!Thank you very much!!!
But I can't use it yet.Could you recommend me some The tutorial of visualization(Like use networkx)?
The figure(like fig3 and fig4) in the paper that you told me is so good.Can they all be plotted by networkx?
Thank you.

I don't have any tutorials for that. I think Figure 3 is plotted via matplotlib, while Figure 4 is plotted via networkx. You can find more about drawing graphs in networkx here.

Oh,Thank you,I will study it.

Oh,Thank you,I will study it.

Oh,Thank you,I will study it.

Oh,Thank you,I will study it.

Oh,Thank you,I will study it.

Oh,Thank you,I will study it.

Oh,Thank you,I will study it.

Oh,Thank you,I will study it.

Oh,Thank you,I will study it.

Oh,Thank you,I will study it.

Oh,Thank you,I will study it.

Oh,Thank you,I will study it.

Oh,Thank you,I will study it.

waht tools did he use in GCN paper?(GIF in that paper, reflected the nodes are divided into few clusters)

That‘s a dimensionality reduction to 2-dimensions using t-SNE on the hidden representations (sklearn has an implementation for that).

That‘s a dimensionality reduction to 2-dimensions using t-SNE on the hidden representations (sklearn has an implementation for that).

Oh,Thank you,after use the t-SEN,Output one picture by networkx once per training batch,then make them a GIF.
Is that right?Or GIF is a one-off?

I‘m not sure what you mean by GIF. I was referring to Figure 1b, which simply plots the 2-dimensional points without any graph structure involved.

I‘m not sure what you mean by GIF. I was referring to Figure 1b, which simply plots the 2-dimensional points without any graph structure involved.

Oh, fine.I was referring to Figure 4(a~f).And kipf made a video(Figure4 are the some screenshots from the video).
Figure 4 reflected the the process of nodes classififcition(or clustering).It made a deep impression for me.

Ok, then you simply need to plot that for every epoch :)

Ok, then you simply need to plot that for every epoch :)

Oh,thank you!But I also have some questions about understanding clustering.
After graph through the GCN and MLP,it can make the nodes have their own label(wong or right).
But, why it can reflected the position changing in figure ,which make those nodes look like they are clustering.

The clustering is based on the hidden representations, which should ideally cluster for nodes with the same labels.

The plotting is based on the hidden representations, which should ideally cluster for nodes with the same labels.
Are you saying that the plotting system of networkx will automatically clustering the nodes have same labels?

No, only if you use positions for nodes based on their hidden representations.

No, only if you use positions for nodes based on their hidden representations.

OH!Position  in figure is depend on velue of hidden representation.
After GCN layers ,the hidden representation of nodes have same labels will more similar.So the position of nodes(have same label) is more recent.
Am I right?

Right :)

Thank you,friends.
I didn't realize we'd been communicating for so long.
I wish you best life.


[BEAM-14524] Returning NamedTuple from RunInference transform

Change the interface of RunInference transform for better multi-language compatibility.

Returning NamedTuple instead of Python-specific PredictionResult object
Removing output type hints which prevents other SDKs from manually overriding output types of RunInference external transform
Adding create method which accepts a model loader provider

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @ryanthompson591

cc: @yeandy @AnandInguva

What are the next steps on this PR?

Run Python PreCommit

Run Python PreCommit

fixes: https://github.com/apache/beam/issues/21666


Calculating meanNumber() different result as List.stream().avarage vs. manual

When calculating the meanNUmber I have noticed that it is different from what I manually would get.
Example:
//  dsTrain.numExamples() = 5.000
List<Double> losses = new ArrayList<>(dsTrain.numExamples());
INDArray losses2 = Nd4j.zeros(dsTrain.numExamples());
double losses3 = 0;

for (int i=0; i<dsTrain.numExamples(); i++) {
  // do something here

  losses.add(loss);
  losses2.put(0, i, loss);
  losses3 += loss;
}

// average loss over all samples
OptionalDouble average = losses.stream().mapToDouble(a -> a).average();
LOG.debug("Overall loss 1: {}", average.isPresent() ? average.getAsDouble() : 0);
LOG.debug("Overall loss 2: {}", losses2.meanNumber());
LOG.debug("Overall loss 3: {}", losses3/dsTrain.numExamples());

23:30:09.865 [main] DEBUG Overall loss 1: 46.15634264221191
23:30:09.866 [main] DEBUG Overall loss 2: 46.1563606262207
23:30:09.866 [main] DEBUG Overall loss 3: 46.15634264221191
==> the List.average and manual average are identical.
==> NDArray.mean Number() is always a bit higher (above +0,000017984..)
I assume rounding issue of some sort but could also be a bug - the error is rather big.
Or I'm doing something wrong.
Version Information
Windows 10
Java1.8.152
<nd4j.backend>nd4j-native-platform</nd4j.backend>
<nd4j.version>0.9.1</nd4j.version>
<dl4j.version>0.9.1</dl4j.version>
(no Cuda)

This could simply be a numerical precision issue - Float (the default) vs. Double.
Can you re-run after doing the following as the first step in your program:
Nd4j.setDataType(DataBuffer.Type.DOUBLE);

Thanks Alex - I already thought it might be a precision issue. Your tip to change the data type solved it. I did not know that FLOAT was default. As I only worked with doubles I did not expect ND4j to change that.

Great, I'll close this.

@frankkopp we do this for memory reasons.


NineSlicePlane + Spritesheet = Texture Bleeding

Checking back on #3671 , it was said there will be some sort of solution on v5 for this.
Unfortunately the textures of the surrounding patches are still being displayed.

Oh, right, that's because I didnt add that shader to vanilla pixi :( and i didnt move it from pixi-heaven v4 to v5, so no, you have to wait or make your custom shader for mesh that clamps texture frame, pass that texture frame through uniform the same way i pass it in TilingSprite.

Thanks for remininding this though!

I think heaven meshes is the last thing that has to be moved from v4 to v5 so we'll have this feature soon.

Is this something that is still being worked on?

Question for @ivanpopelyshev

I'm still experiencing this behavior, and I think it's the only blocker for switching out our renderer for pixi.js. There are workarounds, but since most of our UI are sliced assets and our spriter tool is baked into our systems, it's a major hurdle.

Playing with this more, it looks like if we apply the same trim math from the Sprite class to this class, the NineSlicePlane works correctly.