TextureFramePool issue when using Vulkan on Android breaks graph

System information

OS Platform and Distribution (e.g., Linux Ubuntu 20.04):
Target Platform: Android
Mobile Device (if the target is Android or iOS): Android 11
MediaPipeUnityPlugin version or commit id: 0.8.6
Bazel version:
GCC/G++ version:
Android NDK version (if the target platform is Android): 21
Xcode version (if the target platform is iOS):

Describe the current behavior
The demo scene works fine on Android (and in Editor), when built from the original demo project in the repo. However, when switching renderer to Vulkan, the detection does not work.
The same is true for my own project, in which I only import MediaPipeUnity as a package.
It seems to me like there is an issue with the camera textures, maybe on the native plugin side?
Describe the expected behavior
I hope Vulkan can be supported for this project :)
Steps to reproduce the issue
Build the desktop demo scene for Android using the Vulkan Graphics API :)
Full logs
This is the interesting part (from logcat):
08-13 08:48:30.664 17748 17775 I Unity   : Graph Changed: Pose Tracking
08-13 08:48:30.664 17748 17775 I Unity   : GraphSelectorController:OnValueChanged(Dropdown)
08-13 08:48:30.664 17748 17775 I Unity   : UnityEngine.Events.UnityAction1:Invoke(T0) 08-13 08:48:30.664 17748 17775 I Unity   : UnityEngine.Events.UnityEvent1:Invoke(T0)
08-13 08:48:30.664 17748 17775 I Unity   : UnityEngine.UI.Dropdown:OnSelectItem(Toggle)
08-13 08:48:30.664 17748 17775 I Unity   : UnityEngine.Events.UnityAction1:Invoke(T0) 08-13 08:48:30.664 17748 17775 I Unity   : UnityEngine.Events.UnityEvent1:Invoke(T0)
08-13 08:48:30.664 17748 17775 I Unity   : UnityEngine.EventSystems.EventFunction1:Invoke(T1, BaseEventData) 08-13 08:48:30.664 17748 17775 I Unity   : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction1)
08-13 08:48:30.664 17748 17775 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
08-13 08:48:30.664 17748 17775 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()
08-13 08:48:30.664 17748 17775 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:Process()
08-13 08:48:30.664 17748 17775 I Unity   :
08-13 08:48:30.665 17748 17775 I Unity   : Gpu resources are already initialized
08-13 08:48:30.665 17748 17775 I Unity   : SceneDirector:StartGraph()
08-13 08:48:30.665 17748 17775 I Unity   : SceneDirector:ChangeGraph(GameObject)
08-13 08:48:30.665 17748 17775 I Unity   : UnityEngine.Events.UnityAction1:Invoke(T0) 08-13 08:48:30.665 17748 17775 I Unity   : UnityEngine.Events.UnityEvent1:Invoke(T0)
08-13 08:48:30.665 17748 17775 I Unity   : UnityEngine.UI.Dropdown:OnSelectItem(Toggle)
08-13 08:48:30.665 17748 17775 I Unity   : UnityEngine.Events.UnityAction1:Invoke(T0) 08-13 08:48:30.665 17748 17775 I Unity   : UnityEngine.Events.UnityEvent1:Invoke(T0)
08-13 08:48:30.665 17748 17775 I Unity   : UnityEngine.EventSystems.EventFunction1:Invoke(T1, BaseEventData) 08-13 08:48:30.665 17748 17775 I Unity   : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction1)
08-13 08:48:30.665 17748 17775 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
08-13 08:48:30.665 17748 17775 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()
08-13 08:48:30.665 17748 17775 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:Process()
08-13 08:48:30.665 17748 17775 I Unity   :
08-13 08:48:30.760 17748 17775 I Unity   : pose_detection is saved to /storage/emulated/0/Android/data/com.DefaultCompany.MediaPipeUnityPlugin/files/Cache/pose_detection.bytes (length=2961104)
08-13 08:48:30.760 17748 17775 I Unity   : Mediapipe.AssetBundleManager:WriteCacheFile(TextAsset, String, Boolean)
08-13 08:48:30.760 17748 17775 I Unity   : PoseTrackingGraph:PrepareDependentAssets()
08-13 08:48:30.760 17748 17775 I Unity   : DemoGraph:Initialize()
08-13 08:48:30.760 17748 17775 I Unity   : DemoGraph:Initialize(GpuResources, GlCalculatorHelper)
08-13 08:48:30.760 17748 17775 I Unity   : d__24:MoveNext()
08-13 08:48:30.760 17748 17775 I Unity   : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
08-13 08:48:30.760 17748 17775 I Unity   :
08-13 08:48:30.802 17748 17775 I Unity   : pose_landmark_full is saved to /storage/emulated/0/Android/data/com.DefaultCompany.MediaPipeUnityPlugin/files/Cache/pose_landmark_full.bytes (length=6431504)
08-13 08:48:30.802 17748 17775 I Unity   : Mediapipe.AssetBundleManager:WriteCacheFile(TextAsset, String, Boolean)
08-13 08:48:30.802 17748 17775 I Unity   : DemoGraph:Initialize()
08-13 08:48:30.802 17748 17775 I Unity   : DemoGraph:Initialize(GpuResources, GlCalculatorHelper)
08-13 08:48:30.802 17748 17775 I Unity   : d__24:MoveNext()
08-13 08:48:30.802 17748 17775 I Unity   : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
08-13 08:48:30.802 17748 17775 I Unity   :
08-13 08:48:30.802 17748 17775 I Unity   : Loaded dependent assets
08-13 08:48:30.802 17748 17775 I Unity   : DemoGraph:Initialize()
08-13 08:48:30.802 17748 17775 I Unity   : DemoGraph:Initialize(GpuResources, GlCalculatorHelper)
08-13 08:48:30.802 17748 17775 I Unity   : d__24:MoveNext()
08-13 08:48:30.802 17748 17775 I Unity   : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
08-13 08:48:30.802 17748 17775 I Unity   :
08-13 08:48:36.523 17748 17928 W Unity   : The released texture does not belong to the pool
08-13 08:48:36.523 17748 17928 W Unity   : TextureFramePool:OnTextureFrameRelease(UInt64, IntPtr)
08-13 08:48:36.523 17748 17928 W Unity   :
08-13 08:48:36.613 17748 17928 W Unity   : The released texture does not belong to the pool
08-13 08:48:36.613 17748 17928 W Unity   : TextureFramePool:OnTextureFrameRelease(UInt64, IntPtr)
08-13 08:48:36.613 17748 17928 W Unity   :
08-13 08:48:36.683 17748 17928 W Unity   : The released texture does not belong to the pool
08-13 08:48:36.683 17748 17928 W Unity   : TextureFramePool:OnTextureFrameRelease(UInt64, IntPtr)
08-13 08:48:36.683 17748 17928 W Unity   :
08-13 08:48:36.748 17748 17928 W Unity   : The released texture does not belong to the pool
08-13 08:48:36.748 17748 17928 W Unity   : TextureFramePool:OnTextureFrameRelease(UInt64, IntPtr)
08-13 08:48:36.748 17748 17928 W Unity   :
08-13 08:48:36.814 17748 17928 W Unity   : The released texture does not belong to the pool
08-13 08:48:36.814 17748 17928 W Unity   : TextureFramePool:OnTextureFrameRelease(UInt64, IntPtr)
Additional context
Add any other context about the problem here.

The same is true for my own project, in which I only import MediaPipeUnity as a package.
It seems to me like there is an issue with the camera textures, maybe on the native plugin side?

I think the plugin code itself (source files under Packages/com.github.homuler.mediapipe) works on Android with Vulkan, but sample scenes does not work as you pointed out.
This is mainly because DemoGraph tries to pass native texture (e.g. OpenGL ES texture) directly to MediaPipe on Android.
MediaPipe does not support Vulkan API, so when you use Vulkan, you need to copy pixel data to CPU first and then pass it to MediaPipe (this is how the sample scenes work on UnityEditor).
Unfortunately, I don't have enough time to fix this issue soon.
To circumvent it, please remove code blocks that are compiled only for Android and make your app run the same code as it runs on UnityEditor.
For example, this code block should be removed.
https://github.com/homuler/MediaPipeUnityPlugin/blob/a754416741d4a16ce8b49c2adee77196bd762a47/Assets/Mediapipe/Samples/Scripts/DemoGraph.cs#L76-L85

I understand, thank you :).
I have a question, in this case:
I would like to try changing some of the MediaPipe source files. I see that Bazel pulls the MediaPipe source directly from the Google repo.
For example, I am trying to modify some code in the mediapipe gpu folder, so I pulled the folder and placed it as a subfolder in mediapipe_api/gpu. I am now trying to figure out which paths to modify in the BUILD files, and how. Unfortunately I am new to Bazel...
Do you think it is okay to try this, or should I try to replace MediaPipe completely instead of just one folder? Maybe it is easier to replace MediaPipe completely instead of a single folder?

I am now trying to figure out which paths to modify in the BUILD files, and how.

If you created subdirectories, then probably each directories should have BUILD file.
Each BUILD file contains build targets and when you build them, they generate object files.
To include those object files into native libraries (e.g. libmediapipe_c.so), please update below deps.
https://github.com/homuler/MediaPipeUnityPlugin/blob/b8ea5c1fb0b5f0eeebb5de731147d2db46a76e23/mediapipe_api/BUILD#L4-L44

Do you think it is okay to try this, or should I try to replace MediaPipe completely instead of just one folder? Maybe it is easier to replace MediaPipe completely instead of a single folder?

There are 2 ways to achieve this.

Fork mediapipe and pull it in place of the original repository.
Create files under mediapipe_api and apply patch files if necessary (just like this plugin does).

If you'd like to make a significant change, it'd be easier to fork the repository (1).
However, if you'd only like to add code and not  to change existing code, I think it's better not to change mediapipe itself (2), because it's not easy to maintain the forked repository (and you may also need to change this plugin's code).
You can see how this plugin modifies existing features here.

Fixed by #296


Error starting bot

Describe the bug
I installed the Bot Framework Composer and created a new Bot. Tried to run it and it immediately failed.
The output window displays the following info..
/Users//Projects/CSI/CSIBOT/CSIBOT/CSIBOT.csproj : warning NU1701: Package 'Microsoft.Azure.KeyVault.Core 1.0.0' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1' instead of the project target framework '.NETCoreApp,Version=v3.1'. This package may not be fully compatible with your project.
/Users//Projects/CSI/CSIBOT/CSIBOT/CSIBOT.csproj : warning NU1701: Package 'Microsoft.Azure.KeyVault.Core 1.0.0' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1' instead of the project target framework '.NETCoreApp,Version=v3.1'. This package may not be fully compatible with your project.
Error occurred building the bot
You must install or update .NET to run this application. App: /Users//Projects/CSI/CSIBOT/CSIBOT/bin/Debug/netcoreapp3.1/CSIBOT Architecture: x64 Framework: 'Microsoft.AspNetCore.App', version '3.1.0' (x64) .NET location: /usr/local/share/dotnet/x64 The following frameworks were found: 6.0.12 at [/usr/local/share/dotnet/x64/shared/Microsoft.AspNetCore.App] Learn about framework resolution: https://aka.ms/dotnet/app-launch-failed To install missing framework, download: https://aka.ms/dotnet-core-applaunch?framework=Microsoft.AspNetCore.App&framework_version=3.1.0&arch=x64&rid=osx.13-x64
Version
Version:  2.1.2
Electron: 8.2.4
Chrome: 80.0.3987.165
NodeJS: 12.13.0
V8: 8.0.426.27-electron.0
Browser

[ ] Electron distribution
[x ] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[ x] macOS
[ ] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
The bot should start running and not fail to start.

Hi @JurgenPostelmans
Can you please run the following in a terminal and share the output?:
dotnet --info

Hi @dmvtech,
Below is the full output of dotnet --info. As you can see I have .NET 7(and 6) installed. In the documentation it says 'Install .NET Core SDK 3.1 or later.'. So this should be ok.
NET SDK:
Version:   7.0.302
Commit:    990cf98a27
Runtime Environment:
OS Name:     Mac OS X
OS Version:  13.4
OS Platform: Darwin
RID:         osx.13-arm64
Base Path:   /usr/local/share/dotnet/sdk/7.0.302/
Host:
Version:      7.0.5
Architecture: arm64
Commit:       8042d61b17
.NET SDKs installed:
6.0.404 [/usr/local/share/dotnet/sdk]
6.0.408 [/usr/local/share/dotnet/sdk]
7.0.302 [/usr/local/share/dotnet/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.12 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.16 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.12 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.16 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Other architectures found:
x64   [/usr/local/share/dotnet/x64]
registered at [/etc/dotnet/install_location_x64]
Environment variables:
Not set
global.json file:
Not found
Learn more:
https://aka.ms/dotnet/info

Hi @JurgenPostelmans
Apologies for the delay.  It looks to be the issue described here and here.
Can you try and update the following line in your .csproj file:
<TargetFramework>netcoreapp3.1</TargetFramework>
To:
<TargetFramework>net6.0</TargetFramework>
and then try again?
I will look further into getting the template updated to the same.

That did indeed solve my problem!
Thanks


Add GetState and fix IsRelational bug

I like this project, but I was missing a feature to retrieve the state of an entity, and I took the opportunity to fix a bug that I noticed when using this package in another project. The bug was triggered when calling the IsRelational() method of the Entity Framework when disposing of the object, but only when there had been no database connection established.
Do you believe a new version of the NuGet package can be pushed soon? I'm hoping not to carry all this code in my project.
Thank you, and great job!

Hi @pouliotf!
Thanks for your contribution.
I am going to release a new version soon.

@pouliotf version 7.0.11 has just been released.


Fixing event listener overloads

This PR fixes the event listeners for Yuuko.
It will no longer override the Eris listeners with the default string overload and just defaults to Eris overloads if none is found in Yuuko.
Note: This PR is pending merging of Eris #dev into master so we can access the interfaces created there and extend those interfaces inside Yuuko. https://github.com/abalabahaha/eris/pull/575

Solid solution, thanks for this! I'll make sure it gets merged once there's a new Eris release with the upstream changes.

Don't think you meant to push that last commit to this branch...

Whoopsies, ill get that fixed!

I believe this should now be ready for review @Geo1088 Eris got updated last night.

Thanks again!


Are Route components unmounted on route change?

Hi there, excellent plugin, many thanks for it.
I'm wondering if Route components are unmounted when route is changed.
I've LoginScreen component decorated with redux-ui to save username into state, but password should not be stored and cleared on route transition. Redux-ui automatically reset props componentWillUnmount, but it seems to me that components are not unmounted on route change.
Let say I've defined routes as:
class Routes extends Component {
  render() {
    return (
      <Router {...this.props}>
        <Route name="login" component={LoginScreen} type="reset" />
        <Route name="main" component={MainScreen} />
      </Router>
    );
  }
}

And LoginScreen as:
@ui({
  key: 'login',
  persist: false, // ui state keys (username, password) should be reset on component unmount
  state: {
    username: (props, state) => state.login.username,
    password: '',
  }
})
@connect(mapStateToProps, mapActions(loginActions))
class LoginScreen extends Component {
....
  componentWillUnmount() {
    //seems not to be called -> is component still mounted? even we're already on different route?
  }
....
}

After user login, I'm changing route from LoginScreen -> MainScreen. And on user logout from MainScreen -> LoginScreen.
The problem is that password is still filled and I believe it's because LoginScreen was not unmounted. Can you please confirm? Thanks

Sure i can look into this


Only use inline asm for rseq on supported compilers

gcc-9, gcc-10, and clang-10 on aarch64 can not compile the current RSEQ inline assembly code.
Add gcc 11 or clang 11 to RSEQ platform support constraints to fix this.
Without this change, GCC 9.4 and 10.3 on aarch64 fail to compile like so:
./tcmalloc/internal/percpu_tcmalloc.h:665:9: error: expected ':' or '::' before '[' token
  665 |       : [end_ptr] "=&r"(end_ptr), [cpu_id] "=&r"(cpu_id),
      |         ^

Likewise, clang-10 on aarch64 fails to compile like this:
./tcmalloc/internal/percpu_tcmalloc.h:665:9: error: 'asm goto' cannot have output constraints
      : [end_ptr] "=&r"(end_ptr), [cpu_id] "=&r"(cpu_id),
        ^
./tcmalloc/internal/percpu_tcmalloc.h:1005:23: error: invalid output constraint '=@ccge' in asm
          [underflow] "=@ccge"(underflow),
                      ^

Define TCMALLOC_INTERNAL_PERCPU_USE_RSEQ_ASM_GOTO_OUTPUT=1 also for GCC,
now that the minimum supported version is set to GCC 11.
Also simplify clang checks now that the minimum supported version for
inline rseq is clang 11.

Upon further testing noticed that tcmalloc does not work without the RSEQ support, as transfer_cache calls subtle::percpu::RseqCpuId() which returns -2 if RSEQ support is not available.

@ckennelly Sorry for the hiatus, I switched to newer clang so this issue was not requiring an immediate solution for me at the time.
Thanks for merging the fix for transfer cache, I now rebase this to the current master and also made the new compiler version limits to apply only on aarch64 as you suggested. I amended the second commit to check for GCC version 11 instead of assuming it for asm goto output support. I could not find this feature called out in the release notes, but found the limitation being lifted in the GCC 11 docs, which I linked to in the commit message.


Admin UI inconsistancy

Environment

Python version: 3.8.10
Nautobot version: 1.2.2

Steps to Reproduce

Log into Admin portal
Choose Config under configuration - notice breadcrumbs do not follow Nautobot standard
Choose Users header - notice breadcrumbs similar to configuration above.
Click on User under the Users configuration - notice breadcrumbs look like Nautobot standard.

Expected Behavior
I expect the Breadcrumbs to be consistent across all of the UI.

Observed Behavior
See the following screenshots.

I found part of the problem, we are not overwriting the app_index.html template, so it is using the django admin default.  This is why it shows Home instead of Admin Home.


Comparator side input doesn't accept alloy wire

Minecraft: 1.16.1
RSWires: 4.9.0
It looks like the wire connects to the comparator's side, but neither in compare nor subtract mode does it actually affect the comparator's output. I noticed this while trying to make a comparator clock. One temporary workaround is to replace the wire connected to the side with redstone dust.
To Reproduce...

Expected Output

Looks like comparators take strong power from the sides, and red alloy wire only provides strong power downwards. It's hardcoded to work correctly for redstone dust in the comparator code. This is gonna need some weird hacks to fix.

What makes the wire visually connect to the side of the comparator? Can you use that to affect whether strong power is applied to the block, whether it specifically is a comparator or not?

Yeah I just hardcoded it to provide strong power to comparators only (see 6356a06), now it should work the same as redstone dust. And no, I believe the redstone wire connections is only a visual thing and it provides weak power regardless of if it appears connected or not.


Frame rate drop from v3.0.10 to v4.6.1

I am building custom 2D particle engines and using pixi.js at this point as the renderer. I noticed some performance differences between versions. When I updated to v4.6.1 the framerate halved in comparison to v3.0.10. I am running 100k sprites on desktop as my sample set and environment.
I created a minimal sandbox which includes multiple versions of pixi and I simply switch the src to the version. This is not too dissimilar to the bunny mark performance testing tool for pixi. Here is the code:
let width = window.innerWidth;
let height = window.innerHeight;

let renderer = new PIXI.autoDetectRenderer(width, height);
renderer.backgroundColor = 0x000000;
document.body.appendChild(renderer.view);

let stage = PIXI.Container && new PIXI.Container() || PIXI.Stage && new PIXI.Stage();
let rabbitTexture = new PIXI.Texture.fromImage('./../assets/rabbit.png');
let particles = [];
let particleCount = 100000;

function setup() {
    for (let i = 0; i < particleCount; i++) {
        let sprite = new PIXI.Sprite(rabbitTexture);
        sprite.x = Math.random() * window.innerWidth;
        sprite.y = Math.random() * window.innerHeight;
        sprite.alpha = Math.random();
        sprite.scale.set(Math.random() * 3);
        sprite.anchor.set(0.5, 0.5);
        sprite.blendMode = 0;
        sprite.angularVelocity = (Math.random() - 0.5) * 0.1;
        sprite.tint = [0xff0000, 0x00ff00, 0x0000ff][Math.random() * 3 | 0];
        particles.push(sprite);
        stage.addChild(sprite);
    }
}

function update() {
    for (let i = 0, len = particles.length; i < len; i++) {
        let particle = particles[i];
        particle.rotation += 0.1;
    }
}

function render() {
    update();
    renderer.render(stage);
    requestAnimationFrame(render);
}

setup();
render();

This is pretty much as simple as it gets. If there is something I am doing wrong here or perhaps a step I am unaware of, please let me know and I can adjust accordingly. As far as I can tell it is simply the change from version to version.

There are many differences in v3 and v4 sprite renderer. You can try to use sprites from https://github.com/gameofbombs/pixi-heaven , that renderer is a bit easier.

Why would the performance be so much worse on v4 though?

Because of different balance of CPU/GPU load. I know which parts are slower, and we are fixing them in v5. But in general, if you dont have that many sprites, v4 is faster. Different demos, different balance, different outcome :)

@ivanpopelyshev awesome, thats great to hear!! Looking forward to v5! Typically we shouldn't be using 100k+ sprites, however I am just worried about mobile performance as this drop occurs on a desktop, the drop off in frame rate can be exponential with some weird mobiles out there. However I am definitely looking to v5, we all know Pixi is a fantastic renderer, thanks for the great work and efforts!

There are ways to patch sprite renderer and use simpler one, also that frame drop doesn't affect mobiles that much, there are params like legacy mode in renderer that allow to configure performance for your app.

@ivanpopelyshev thanks Ivan, I will have a look at the params and the sprite renderer a bit more :) any helpful tutorials or guides you could recommend? :)

No, only source code.
that's my alternative sprite renderer based on v5:
https://github.com/gameofbombs/pixi-heaven/blob/master/src/base/webgl/SpriteRenderer.ts
https://github.com/gameofbombs/pixi-heaven/blob/master/src/twotint/sprites/SpriteHeavenRenderer.ts

Though, there are articles on critical places of v4: https://github.com/pixijs/pixi.js/wiki/v4-Gotchas

There is a discuss about the performance of v3 & v4 : https://github.com/pixijs/pixi.js/issues/3557

@finscn thanks for the link, interesting to hear that Babel could play a hand in this...

Closing for inactivity, tho I think this has been covered in the comments :)


onie-tools: user proper interface on u-boot for kernel arguments

According to the ONIE Design specification[1], kernel arguments for ONIE are supposed to be passed via the U-Boot environment variable 'onie_debugargs', so let's do that instead of relying on U-Boot not quoting variables.
[1] https://opencomputeproject.github.io/onie/design-spec/uboot_nos_interface.html#u-boot-platform-adding-kernel-command-arguments
Fixes: 1e27d475ea45 ("onie-tools: add support for u-boot-arch based devices")

latest generic-armel-iproc has this change applied.


Filter Hidden Exits from GMCP room.info.exits

User Story
As a player

I want the GMCP room.info.exits to only include visible exits
So that I receive accurate information based on my character's current perception and abilities

Acceptance Criteria:

The processGmcpStr method should be modified to check exit visibility before including it in the room.info response.
Only exits that are visible or known to the player character should be included in the "exits" object of the room.info JSON.
Hidden, secret, or otherwise concealed exits should not appear in the GMCP room.info.exits data unless the character can perceive them.
The visibility check should use existing game mechanics to determine if an exit is visible to the player.
The change should not affect other aspects of thex room.info response, such as room name, description, or terrain type.

Additional Notes:

Blindness: If the character is blind, the visibility check should reflect this condition. Blind characters may not be able to see any exits.
Darkness, Foggyness,...: If the room is dark, foggy, the visibility check should reflect this condition.

Extended scope:
(... So that I receive context-sensitive information about available exits whenever I look at the room and its exits.)

Searching: If the character is actively using the "search" skill, they may be able to see hidden exits.
The visibility of exits may change based on the character's current state.
Consider dynamic character state:

Exit visibility might change when the character's state changes (e.g., becoming blinded or regaining sight).
When a character's "search" skill use ends, exit visibility might change.

Consider environment state changes:

Exit visibility might change when environmental factors change, such as a ship leaving port or a caravan moving away.

Player triggered gmcp events:

Consider to send updated GMCP room.info data whenever the character is receiving information about exits in game, e.g. "looks" at the room.

Notes on existing implementation

handleBeingRoomLookedAt->setStat("ROOMLOOK")->invokeRoomChangeGmcp->processGmcp
This sequence indicates that room.info is send on every look.

@ParreaBob Added detail 📟

Adding another related user story, to incorporate special non-directional exits in gmcp data

Reopening, and moving to 0.4

Reopened and moved to next milestone, this has unintended consequences for the auto mapping features of gmcp mappers:

It is impossible for mappers to infer the exit direction taken if exits are hidden, this leads to broken layouts.
To not disrupt dependent systems by removing information we'll have to add information about the direction and room from where a character entered

@ParreaBob This might need further discussion:

When in a dark room, players cant see anything no room desc and no exits. Makes me wonder how they could even leave the room.
When I am in a "foggy" room, I can still move around everywhere. Even though i dont literally see the exits in the room description. Why would you not see all the available exits in the mapper when the player can actually use them without further ado?
You could imagine game options to hide all exits when looking at a room too, so no exit would never show in the first place (old text based single player adventure games would do that - no exits shown)
When moving along a hidden exit e.g. one that is really not part of the rooms official exit list - what should a mapper do with this if it never saw the hidden exit in the first place. It requires workarounds for mapping application to understand where to place the hidden room.

This boils down to what shown and not shown/hidden exits are about:

convenience for the player (imagine an immersion feature that allows players to turn them off)
if you dont have an action like a button to press, searching, or something that enables it, should non obvious exits really be  hidden from mappers?
mappers feel more like a technical add on outside of the immersive text representation.

so along these lines the updated goal for the mapper would be:

hide exits that are impassable, but show all exits that can be passed (no matter if they are shown in the look output or not

then we could add exceptions for visible doors and show those exits

On hold until we decide if we

make hidden exits unpassable  (implying that they aren't shown via gmcp) or
adjust gmcp exit information to align with in-game information


Wrong service directory structure

Installation information

jumpscale version: 9.1.0
operating system: Ubuntu

Detailed description
Child services should be under parent directory in the file structure, instead they are on the same level as their parents under services directory.
Steps to reproduce
Execute a blueprint that have parent-child relation and check the file structure.
Relevant stacktraces

Please enable the test https://github.com/Jumpscale/ays9/blob/master/tests/bp_test_templates/core/test_directory_structure.yaml after fixing this issue.

Verified with JS 9.1.1 installed on ubuntu 16.04


Update Livereload/Instant Refresh documentation

The capacitor config to make it point to a local network address must start with http://

Thanks!


Updating data-store env to use s3  bucket and notify find_api key

'FS-101  Updating data-store env to use s3 bucket and notify find_api key',
Updating data-store env in docker to use s3 bucket and notify api key.

We should add the Notify key to .env.example also.

Please could you rebase/squash this into a single commit :)


feat(lastValue): Adds lastValue method to Observable

PROPOSED CHANGE
This is meant to be a more well-behaved, a better-named, replacement for toPromise.
Resolves #5075

Closing this in favour of https://github.com/ReactiveX/rxjs/pull/5295


create request form page

*users will be able to select a category/sub cateogry for the item they are requesting
*users will be able to enter detailed information about their item in a text entry field
*users will start a new request when they finish their current one by clicking a button at the bottom of the page (something like "submit new/another request")


webp images are not loading

I have to load an array of images that are in webp format. Is there any way I can load it using this library? Currently the image is not loading.

Hi, webp images are currently not supported in the Image Slideshow itself, but you can plug in other image loading libraries (AlamofireImage, Kingfisher, ...) that might work with webp. You can also write your own InputSource that could handle webp.


KDE App Launcher not showing installed apps

Issue description
The nvidia proprietary driver's settings app does not show up in the KDE App Launcher. The app is nvidia-settings.
I have switched and rebooted many times and still do not see it listed in KDE's App Launcher.

Please see https://github.com/NixOS/nixpkgs/issues/20776#issuecomment-465930850
Try invalidating the cache by removing $HOME/.cache/ksycoca5_*. I don't think this is an issue on master.

As mentioned in the linked issue, kbuildsycoca5 should work.

As mentioned in the linked issue, kbuildsycoca5 should work.

I'll give it a go. This is poor design if this is necessary. This should not be a thing. Apps that rely on invalid caches should be self-healing.

Yeah I got that too. I think you can do this:
rm -f $HOME/.config/menus/applications-merged/xdg-desktop-menu-dummy.menu

and the run kbuildsyscoca5.

Potential fix here: https://github.com/NixOS/nixpkgs/pull/57037


T1 Mapping

Hi,
I'm having troubles about T1 Mapping with Inversion Recovery of MriLab;
I set TR=15000,TE=50 and TI=[700-900-1100-1300-1500-1700-1900] and acquire 7 images to make a t1 map
But there is a problem: with these TIs, the intensity of WM and GM (in brain tissues Phantom) are increasing but the CSF intensity is constant.
After TI around 3000 the CSF Intensity is increasing and WM and GM intensities are constant. What is the problem? Is it possible to do t1 mapping with MRi-Lab?

Thank you for your response
I cannot see such results like yours
First I applied IR sequence with these settings:

for TI 700 and 1700 I got these images:

Then I tried IR-SE with these settings:

And I got these images for TI=700 and 1700:

And I can see one line in CSF part, what is the problem with it?

Thank you in advance

and, May I ask you to tell me what is the setting for your results?

You may want to display the image side-by-side (like my example) to appreciate the contrast difference from scans. Notice that the image preview is not scaled the same for different scans. You can use MatrixUser and follow the steps in Chapter 6.2 of the user manual.

Here I have done what you asked me, in below image (Left: TI=400, Middle: TI=700; Right TI=1700).
I expected that all tissues have a same behavior, but as you can see the intensity of CSF is decreasing, just one of the WM/GM tissues have a good behavior (increasing their intensities by increasing TI)

Even for two other values in below image (left: TI=2400, Right: TI=3200) you can see the incorrect behavior of two tissues:

And here is my setting:

Thanks

I don't see what's wrong here. For 400,700,1400 ms TI I got a CSF signal of (-0.8,-0.66,-0.4) relative to M0, in an independent MatLab IR simulation, for the given TR and a 3D readout. So yes, the magnitude of the CSF signal should be steadily decreasing with increasing TI in this range, as the signal is still inverted. The other tissues with their shorter T1 are increasing once they've crossed the axis. Or did I misunderstand something here?

Thanks for your explanation @DreymaR . The signal behavior is different before and after the crossing time point which is dependent on the T1 properties of each tissue.

Thanks


Error with BungeeTabListPlus and Sorting Rule

Since i have it most described there, i'll link to the issue in bungeetablist plus. I thought the error was from there, but he can't seem to find why it is not working. Maybe you can find it? Thanks a lot of the help.
https://github.com/CodeCrafter47/BungeeTabListPlus/issues/206

Make sure you're using the latest version from the CI server on both Bungee / Spigot.
Make sure your groups have weights assigned

You then need to sort by the weight placeholder.

Okay, loaded the version 3.0.56 to both bungee and spigot. The sorting rule playerOrder: "luckPermsGroupInfo,alphabetically" luckPermsGroupInfo doesn't work at all, i am gonna try to sort by vault, but this need to be fixed, i don't think it's a misconfiguration, all my groups has weight.
owner: 0
admin: 1
builder: 2
moderator: 3
apprentice: 4
helper: 5
but they only get sorted alphabetically, as my owner list on bottom , and i have a builder between 2 mod..

You might need to use luckPermsGroupInfo in reverse.

Sorry for my lack of english, but yeah reversed or not, it just doesn't work. Using Vault or the luckPermsGroupInfo or luckPermsGroupInfoReversed, none works. All my groups has their weight and i made sure my staff has their primarygroup set to the one i want to sort. Meaning all players has default + their donor group, but my staff in luckperms it's the primarygroup only for that reason..

Can you pastebin your BungeeTabListPlus config, I'll try it out myself.
Also, just confirm, you're using the latest BTLP version, right?

btlp: 2.7.3
lp: 3.0.56 (updated today)
http://www.joapple.ca/files/skyblock.yml (btlp file)

The placeholders you're using to pull ranks are coming from Bukkit via PlaceholderAPI, which makes me think it may be an issue with the BTLP <--> LP integration on the proxy.
Can you confirm that permissionSource: LUCKPERMS is set in your config file?

It was set to bungee, but it used to work with vaultGroupInfo, i changed it to LUCKPERMS, still doesn't work..

After changing permissionSource to LP, the luckpermsGroupInfo should work. It wouldn't have worked before making that change.

Do i need to restart the bungee for the permission source to take effect? Because it doesn't work at all, even having permissioursource to LUCKPERMS

Not sure. Worth a try I suppose.
Also, just to clarify, your Bungee LP instance needs to be connected to the same DB as the Spigot ones.

Yeah it is connected to the same database, since i have plugins loaded in bungee and perms are in spigot groups, luckperms itself works perfect, just the order of the staff groups that aren't

In that case, I don't really know what else to suggest. There's no debug facility in BTLP in order to check the values being returned by the sorting rule, so I'm not sure what to suggest.


Sign and magntitude errors in rotate_winds_to_lat_lon_coords

The meridional winds computed by vcm.cubedsphere.transform_cubesphere_coords.rotate_winds_to_lat_lon_coords have a sign error and potentially some problems with their magnitude. See this analysis for more details.
Do we have time to fix these now? If not then maybe we should delete them so they don't confuse future users. Unfortunately, there were no obvious problems with the code.
FWIW, it would probably be easier to implement these kinds of numerical grid calculations in numpy to avoid fighting against xarray's dimension names and coordinate handling.
cc @AnnaKwa

This function no longer exists in VCM. We use the rotate_xy_winds function which takes a rotation matrix as an input.


FoundationPress folder structure

Is there any reason why 'source' files/folders  e.g.  bower_components, node_modules, scss etc  can't go in their own folder, to separate 'source' from 'target' files?
I created an install of FP today with a sub folder containing these files and folders, and it works fine so far. I had to edit Gruntfile.js to reflect the new folder relationships to make it work.

Sorry, I I'm not sure if I understand what you are asking? Do you want to move bower_components, node_modules and the SCSS folders to a separate 'source' folder? Clearly, this can be done. And if it gives a better overview of the contents in the project, it should perhaps be done. Have simply not thought much about it.

Thanks yes, that is is what I meant. I am working on windows and it suits my workflow better, but I wondered if it might cause any issues. It doesn't seem to. It just creates some separation and is less cluttered, plus a bit easier to see what needs to be on the server side and what can remain locally in the IDE.
On the other hand, I can see for pure simplicity of installation, having everything in one folder can be a bit easier for some.
So I am not sure if this approach is good generally or just for me.


Received a naive datetime

I spent some time trying to understand why my API key was not working but i believe that error message [API] Invalid API key or access token (unrecognized login or wrong password) is not correct and is being sent after the failure to parse the date when attempting to create the webhook.
/root/.local/lib/python3.9/site-packages/django/db/models/fields/__init__.py:1358: RuntimeWarning: DateTimeField NotificationEntry.updated received a naive datetime (2023-08-17 00:00:00) while time zone support is active.
  warnings.warn("DateTimeField %s.%s received a naive datetime "
Internal Server Error: /plugin/shopify/webhook/
Traceback (most recent call last):
  File "/root/.local/lib/python3.9/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/root/.local/lib/python3.9/site-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/lib/python3.9/site-packages/inventree_shopify/ShopifyPlugin.py", line 173, in view_webhooks
    'webhooks': self._webhook_check(request.get_host())
  File "/usr/local/lib/python3.9/site-packages/inventree_shopify/ShopifyPlugin.py", line 206, in _webhook_check
    self._webhook_create(host, topic)
  File "/usr/local/lib/python3.9/site-packages/inventree_shopify/ShopifyPlugin.py", line 228, in _webhook_create
    raise KeyError(response)
KeyError: {'errors': '[API] Invalid API key or access token (unrecognized login or wrong password)'}
<IP_ADDRESS> - - [18/Aug/2023:11:33:01 +0000] "GET /plugin/shopify/webhook/ HTTP/1.0" 500 18992 "http://<IP_ADDRESS>:3002/settings/"

So upon further investigation it appears that the webhooks are being created (i can see them in the Admin section as per screenshot). Once i deleted them all that Datetime error above disappeared but am still getting the Invalid API key or access token message when i know the credentials work (have tested them in another app)

@medoix the native datetime thingy is only a warning. The API key probably does not have the right for the APIs the plugin needs, especially if you are using them for another app. Webhooks in InvenTree and Shopify API access are not connected.
To debug this I need more info - it is working for me on a brand-new install. Please post your inventree version information, deployment method and at what step of the instructions you are stuck.

The custom app API key and shared secret has full permission access (everything selected).
InvenTree version: 0.12.13
Installed via docker using docker-compose and the files here https://github.com/inventree/InvenTree/tree/master/docker/production
I added the plugin to the polugins.txt file
# InvenTree Plugins (uses PIP framework to install)
inventree-shopify

I did raise a separate ticket  because after the plugin was installed i was getting table errors so needed to manually run invoke update
The invoke migrations command returned the following (from the inventree-server container) but the update command appeared to work.
root@e2e263facb02:/home/inventree/InvenTree# invoke migrations
No idea what 'migrations' is!

I have added full scoped API credentials into the Admin

When i click on the button to test the Webhooks it appears a webhook is created but i get the error shared in the ticket above

@medoix are you sure you have set api key (API key), Api password (admin-api token) and API shared secret (secret API key) correctly? I have repeated the setup on docker and can not find an error.

@medoix were you able to solve the problem by switching the keys?


Add extra Trait field on Final Touches section

Modiphius form user, ninjew42 suggested:

I was curious if a Trait text field can be added to the final touches section for creating characters like we have for Starship creation. This would make it easier when building for the Trait field to be updated for the Symbiont name for Joined Trill and for other traits.

Enhancement implemented and pushed to production.


[ZEPPELIN-4489] remove zeppelin.anonymous.allowed configuration

What is this PR for?
This is a proposal for removing/disabling zeppelin.anonymous.allowed when Shiro is configured.
My Proposal in this JIRA is; let us remove this zeppelin.anonymous.allowed.
So, when Shiro is configured then Zeppelin server runs with all the auth configured, and if the user wants anonymous access then they should not configure Shiro.ini.
What type of PR is it?
[Bug Fix | Improvement]
What is the Jira issue?

ZEPPELIN-4489

How should this be tested?

CI should be green.

Screenshots (if appropriate)
Questions:

Does the licenses files need update? no
Is there breaking changes for older versions? yes
Does this needs documentation? yes

Getting rid of zeppelin.anonymous.allowed make sense for me. This property is really confusing.
+1

Thanks for the review @zjffdu. Since this will change the way Zeppelin used to work before, where else should I change the doc? Or can that be handled at the time of release?

Thanks for reminding, we should add document here http://zeppelin.apache.org/docs/0.8.2/setup/operation/upgrading.html

LGTM, thanks @prabhjyotsingh , let's wait for the Ci pass

CI is passed, thanks @prabhjyotsingh

Sure, let go ahead and merge this.


fix(request): Move API token to Authorization header

The v3 API Authentication docs indicate that the preferred approach for authenticating requests is to pass the OAuth token in the Authorization header instead of as a query parameter, so this makes that change.
Also adds prefer-const ESLint rule since eslint-config-evenbrite doesn't yet have it defined.
Fixes #9

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Reusing byte slice

Thanks for the awesome library!
I'm trying to reuse a byte slice as a key in a for loop, and it appears that gkvlite keeps using the same key.
Some quick code to show an example:
b := make([]byte, 4)

var i uint32 = 0
for {
    if i >= 10 {
        break
    }

    binary.LittleEndian.PutUint32(b, i)
    c.Set(b, []byte(""))

    i++
}

This seems to keep reusing the same key (the file size is equal to that of one entry).  If you create a new byte slice though on each iteration and use that, it seems to work as expected:
var i uint32 = 0
for {
    if i >= 10 {
        break
    }

    b := make([]byte, 4)
    binary.LittleEndian.PutUint32(b, i)
    c.Set(b, []byte(""))

    i++
}

Any ideas?

Hi @beeker1121,
Thanks for the kind words.
Not sure offhand what the issue is.  Wondering, though, are you using bytes.Compare() as your key comparator or perhaps a custom key comparator?

I'm not sure to be honest, I'm just using the Set function as shown above so I think it would be the default.
Basically I have a file with 1 million entries, and I loop through these entries and add it to the gkvlite store. When using the first example code where the byte slice is reused, the ending file is only 147 bytes (the size of one entry in the store). The second example ends up at the true size of 81M.

Hi - looks like gkvlite doesn't make it's own copy of the Key and Value inputs, so that explains what's going on...
https://github.com/steveyen/gkvlite/blob/master/collection.go#L161

Ahh ok, thank you for looking into it!


perf files contain ts errors

There are some errors in VSCode in perf folder:
source.spec.ts

emitter.spec.ts

Is it indeed the case or there is a problem with my local setup?

Yeah looks like perf files are a bit out of date


Key/Label extractors of data blank labels

I copy/paste the next example, but looks like the label is blank, i can get the data but is not showing on the modal.

this.setState({data: [{ id: 5, name: 'Red Apples' }]});

return (
  <ModalSelector
     data={this.state.data}
     keyExtractor= {(item) => item.id}
     labelExtractor= {(item) => item.name}/>
);

I had this problem too. this feature is added recently. I removed and installed it again then problem gone.

@sinapcs  Did you revert to a prior version to get it working?  Thanks for testing this out

@sinapcs i did rm -rf node_modules and reinstall again, still not working ):

Using the from master works (: keyExtractor are not available in 0.0.25

@Diego-Fu You are right. I forgot to say you should use Master branch.
npm install https://github.com/peacechen/react-native-modal-selector

I updated this package to v0.0.26 now, so you should be able to download that version from NPM to use the key/label extractor feature.

Thanks @mikaello !

Thanks @mikaello and @sinapcs !


Only expose include/nlohmann/json.hpp as public header in Bazel BUILD file

All other headers are not meant to be included by a client of this library and should be declared in srcs.
This uses https://github.com/bazelbuild/rules_swift/blob/40c36c936c9c80b4aefa3f008ecf99dbe002be2c/third_party/com_github_nlohmann_json/BUILD.overlay as a reference.

Pull request checklist
Read the Contribution Guidelines for detailed information.

[x]  Changes are described in the pull request, or an existing issue is referenced.
[ ]  The test suite compiles and runs without error.
[ ]  Code coverage is 100%. Test cases can be added by editing the test suite.
[x]  The source code is amalgamated; that is, after making changes to the sources in the include/nlohmann directory, run make amalgamate to create the single-header files single_include/nlohmann/json.hpp and single_include/nlohmann/json_fwd.hpp. The whole process is described here.

Coverage: 100.0%. Remained the same when pulling 7cb526e4da4892d68a0938383849e1bb26ff2857 on thii:thi/only-expose-include-nlohmann-json.hpp-as-public-header into 546370c9e778d99e7176641123e5cc1d0b62acab on nlohmann:develop.

All other headers are not meant to be included by a client of this library.

That is not an accurate statement in general.  The single include is simply an option for those users that want a "simpler" install.

Got it. Thanks.


 As you can see, the full body of the text isn't visible.

We currently have the ability to click to expand the text box but even then the full message doesn't get displayed.
https://github.com/stakwork/sphinx-mac/assets/32662508/849ef04d-733f-4fd6-888e-f273656f3ed8
Enable the functionality where when a user clicks, they are able to view the whole text message. And if they click again, it rolls back up.
Acceptance Criteria

[ ] Test locally on your computer
[ ] Post a video of the functionality in the PR

Is it still open ? Can I work on this ? @ecurrencyhodler

Yes it is! We also have a bitcoin bounty for it as well. Are you interested? https://community.sphinx.chat/bounty/758

Sure!
I'll have a look

Welcome @i-am-yuvi. Awesome. Are you on sphinx chat and have you signed into our home page? https://community.sphinx.chat/bounties
If not I can help you get a code to sign up with sphinx chat.

Yes, I have signed up already!

okay great! What is your sphinx user name? I'll add you to the bounty.

Yuvraj Chhetri

Great! Also how did you hear about our project?

I heard about it from a friend!

@i-am-yuvi do you have an update on this issue?


virtual layers are not supported in QField for free accounts

project with virtual layers don't work in free accounts since they are seen as "non-file based" layers like PG layers.
This doesn't sound right to me, and virtual layers should be treated as such.

agreed


Style/RedundantReturn reports error for multiple return values

Given the following:
class Foo
  def foo
    return 1, 2
  end
end

RuboCop reports:
foo.rb:3:5: C: Redundant return detected.
    return 1, 2
    ^^^^^^

In this case, the return isn't redundant, it's required. I'm not a huge fan of multiple return values, but given that I'm trying to validate two method parameters in relation to one another, it seems like writing a validate method that returns both is the cleanest thing to do without getting RuboCop complaining about the cyclomatic complexity of my initializer. :)

Implicit return of [1, 2] solves the problem.

Good point.

Just ran into this myself. I understand that an implicit return solves the problem and this is a minor problem, but that workaround enforces a certain style. Rubocop's job as a linter should be to catch a true redundancy in return and it's throwing a false error in this case.
Can the check be modified to not throw an error when it sees multiple values return (e.g. values separated by a comma?)

The option already exists, but it's not on by default: https://github.com/rubocop-hq/rubocop/blob/v0.58.2/config/default.yml#L1323-L1324

@jonas054 - Thanks, that's perfect!


TwoStageFallback policy

Rasa Core version: 0.12.2
Python version: 3
Operating system (windows, osx, ...): windows
Issue:
I am trying to use Two Stage fallback policy. When the user intent has lesser nlu confidence than threshold, i want to ask affirmation to user. If user says yes, then it has to follow the usual step. If no, then system has to again ask affirmation.
** My policy file looks like this :
policies:

name: KerasPolicy
epochs: 300
name: TwoStageFallbackPolicy
nlu_threshold: 0.8
fallback_nlu_action_name: "action_default_ask_affirmation"
deny_suggestion_intent_name: "out_of_scope"

And in my custom action I have included action_default_ask_affirmation class for this use case.
But the issue here is it doesn't go through action_default_ask_affirmation custom action.
In this blog, https://blog.rasa.com/failing-gracefully-with-rasa-core/
its mentioned there is no need to give any stories.
Is there anything I am missing or what could be the issue?

Thanks for raising this issue, @wochinge  will get back to you about it soon.

@pnandhini11 I think you better use the normal fallback policy and overwrite it's fallback action https://rasa.com/docs/core/fallbacks/.
Cause for the TwoStageFallbackPolicy it won't go to the action_default_ask_affirmation after a failed affirmation since it first would trigger action_default_ask_rephrase. Only if the rephrasing would fail it would go to fallback_nlu_action_name (which then again would be action_default_ask_affirmation`).
Which action does it go to in your case? If it's not action_default_ask_rephrase (for the no case) then it might be a bug.

This is how it worked for me.  When nlu intent confidence goes below mentioned threshold, it invokes action_default_ask_affirmation. If user deny, rephrase action gets invoked. If user affirm, then proceed with that payload intent.

@pnandhini11 Glad to hear! So the issue is resolved?


gen: allow for cfg_evaluator to be set in cxx_gen

This allows for users of cxx_gen to choose a cfg_evaluator, otherwise they cannot have cfg attributes in bridges.

When using cxx_gen::generate_header_and_cc https://docs.rs/cxx-gen/latest/cxx_gen/fn.generate_header_and_cc.html we can supply an Opt but the cfg_evaluator is not public and it defaults to UnsupportedCfgEvaluator.
This means that when using just cxx_gen you cannot support #[cfg(...)] in CXX bridges, by making this field public we can then set our own evaluator and support cfg attributes in bridges.

Published in cxx-gen 0.7.121.


[question] how to update nodejs to use v12

Hi, I did a odo catalog list components, and I can see (in the yaml file of the Build>Image stream ) that the latest is using node 10 only. Would you be able to advise as to how to update this to include node12.

I was able to find rhscl/nodejs-12-rhel7 here
https://catalog.redhat.com/software/containers/detail/5da02401bed8bd2245d95cae?container-tabs=overview
and executed oc import-image rhscl/nodejs-12-rhel7 --from=registry.redhat.io/rhscl/nodejs-12-rhel7 --confirm
there was no error after I executed this.
but it still didn't show up in the nodejs list of tags when I do  'odo catalog list components'.
thanks in advance

OpenShift Components in odo are based on s2i builder images.
After importing the image you have to also tag is as a builder image.
Something like this should work.
oc import-image nodejs12 \
--from=registry.redhat.io/rhscl/nodejs-12-rhel7  \
--confirm

oc annotate istag/nodejs12:latest tags=builder

https://docs.openshift.com/dedicated/4/cli_reference/openshift_developer_cli/creating-a-single-component-application-with-odo.html#adding-a-custom-builder-to-specify-a-build-image_creating-a-single-component-application-with-odo

there was no error after I executed this.

What was the error that you got?
The to access  registry.redhat.io registry you need to be authenticated.

thanks @kadel - There was no error message,  I was able to update it, the tag command was the missing step that allows me to update the nodejs ... thanks again


Remove driver version check

Avoid checking the driver version against a user
defined map. If the netlink collector is not supported by
the Physical Function, the next provided collector (e.g. sysfs)
is used.
superseeds:

https://github.com/k8snetworkplumbingwg/sriov-network-metrics-exporter/pull/35

cc @Eoghan1232 , @SchSeba

@Eoghan1232 please take a look at this


Twemoji

You added this dependency, it's a 400MB+ lib with just image assets. Is that really needed? That's just way too big to include in most projects.

That's an oops! I meant to add it elsewhere... & fixed.


Support the latest package:analyzer

Prepare to release 0.5.1+4

Once I fix my silly - https://dart-review.googlesource.com/c/sdk/+/38360


Deploy contracts on Ganache

when trying to deploy contracts to ganache local chain extension is asking for a password and after entering a password this error is showing

user has selected Ganache network and Ganache account address but extension is reading address of local keystore and Ganache addresses.

this issue is fixed now, Now user can deploy and test contracts on Ganache as well as hardhat.


fabric-network: Convert contract.js and gateway.js to ts

When Network is imported, tsc complains:

TS7016: Could not find a declaration file for module './contract'. './node_modules/fabric-network/lib/contract.js' implicitly has an 'any' type.

TS7016: Could not find a declaration file for module './gateway'. '/mnt/c/Users/winderica/Projects/PreDAuth/app/backend/node_modules/fabric-network/lib/gateway.js' implicitly has an 'any' type.

This is because // @ts-ignore is removed when compiling.
Now contract.js and gateway.js are fully typed.
Because I am new to fabric, any is used where I'm not pretty sure.

Close this PR because I could not solve all the problems in tests.
Sorry for bothering.

Hi @winderica thanks for opening this PR. We would welcome this kind of change, as we do have some javascript files lying around, so if you manage to get to working, let us know :) and we can help out with the any types

Well, according to the logs of CI, we can see that a lot of tests didn't pass due to this change. I'm willing to improve it but I have to apologize that I'm working to a tight deadline of my project and have no time to make the tests work again.
(I finally solved this issue by adding "skipLibCheck": true to tsconfig.json)

Created this to track the issue: https://jira.hyperledger.org/browse/FABN-1549

@winderica I have converted the remaining JavaScript files in fabric-network to TypeScript. Hopefully this will mean your TypeScript client code will compile cleanly without having to set skipLibCheck. You should see this change in current snapshot builds, published to npm tagged as unstable.

Really appreciated for the quick fix and I will try it tomorrow. 👍


APPCRASH on Windows Server after app exit if CryptoConfig.CreateFromName() used

I'm submitting a bug report
Library Version: 3.2.0

Please tell us about your environment:
Operating System: Microsoft Windows Server 2012 R2 Standard

Current behavior:
If SymmetricAlgorithm is instantiated with CryptoConfig.CreateFromName("Rijndael"), the OS indicates that the app stopped working upon normal app exit.
One fault indicated as APPCRASH occurs with ntdll.dll:

Upon acknowledging the first fault, another subsequent fault occurs with MSVBVM60.DLL:

Sample Source Code:
VBCorLibDebug.vbp.txt
modMain.bas.txt
Excerpt from modMain.bas:
Sub Main()
    Dim oCryptoProvider As CorLib.SymmetricAlgorithm
    Dim Ret As Integer

    MsgBox "Sub Main()"
    Ret = MsgBox("Do you want to crash after program exits?", vbYesNo)
    If Ret = vbYes Then
        Set oCryptoProvider = CryptoConfig.CreateFromName("Rijndael")
    End If
    If Not oCryptoProvider Is Nothing Then
        oCryptoProvider.Clear 'This doesn't help avoid crash
        Set oCryptoProvider = Nothing
    End If
    MsgBox "End"
End Sub

This is all that's needed to reproduce the problem on the problematic OS. The problem doesn't occur on Windows 10.

Using your code, unfortunately, I cannot reproduce this on Windows Server 2012R2.

It was found that if the application that uses VBCorLib is run in no later than Windows XP Compatibility mode then APPCRASH doesn't occur but this workaround can't be used because the app launches another app that cannot be run in Compatibility mode. I'm trying to narrow down what may be causing the APPCRASH problem by compiling test DLLs based on the 3.2.0 code.

OK, so I believe I found the issue. It's not with the CryptoConfig class. I believe it's with the CorString class. It doesn't seem to be shutting down properly. I may have time this weekend to address this.

Hello,
OK, so I believe it's fixed. I'm wondering if I can send you the library to test before I publish. Also note, that if your EXE has a compatibility mode for previous OS set then it will continue to crash on exit, at least it still does on Windows 11. I could not figure out how to resolve that.

Re-opening until confirmation is fixed.

I compiled the dll from source code and tested it on Windows 11 and Windows 10. The program did not crash when exiting. In compatibility mode, when the program exited, Windows 10 would pop up a compatibility window prompt, but Windows 11 did not. No record of program crash was found in Event Viewer.

I originally encountered the problem on a client's server. It may be a long time before I can test this again.


Adding braintree_vzero integration breaks login/logout on Spree v4

I've setup a Spree v4 application following the standard setup in the docs. When I added the braintree_vzero integration, login and logout broke.
It looks like on UserSession create and destroy, it attempts to set the current_order, which calls find_order_by_token_or_user. In this call, there is somehow a reference to the old Order column guest_token (which was renamed to token in 3.7), which results in the error stacktrace below.
I'm a bit new to Spree/Rails/ActiveRecord, so I had difficulty in finding where the guest_token reference is. I'm wondering if braintree_vzero is still pulling in an older dependency version that still expects guest_token? Happy to contribute a fix if pointed in the right direction 👍 Or, is there a newer integration available for braintree?
Query & Stack Trace:
  Spree::Order Load (0.6ms)  SELECT "spree_orders".* FROM "spree_orders" WHERE "spree_orders"."completed_at" IS NULL AND "spree_orders"."currency" = ? AND "spree_orders"."guest_token" = ? AND "spree_orders"."store_id" = ? LIMIT ?  [["currency", "USD"], ["guest_token", "85hvgebPEu1tBu4-uqU4Hw1594544820380"], ["store_id", 1], ["LIMIT", 1]]
Completed 500 Internal Server Error in 21ms (ActiveRecord: 3.6ms | Allocations: 15389)

ActiveRecord::StatementInvalid (SQLite3::SQLException: no such column: spree_orders.guest_token):

sqlite3 (1.4.2) lib/sqlite3/database.rb:147:in `initialize'
sqlite3 (1.4.2) lib/sqlite3/database.rb:147:in `new'
sqlite3 (1.4.2) lib/sqlite3/database.rb:147:in `prepare'
activerecord (<IP_ADDRESS>) lib/active_record/connection_adapters/sqlite3/database_statements.rb:54:in `block (2 levels) in exec_query'
activesupport (<IP_ADDRESS>) lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
activesupport (<IP_ADDRESS>) lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
activesupport (<IP_ADDRESS>) lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
activerecord (<IP_ADDRESS>) lib/active_record/connection_adapters/sqlite3/database_statements.rb:40:in `block in exec_query'
activerecord (<IP_ADDRESS>) lib/active_record/connection_adapters/abstract_adapter.rb:722:in `block (2 levels) in log'
activesupport (<IP_ADDRESS>) lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
activesupport (<IP_ADDRESS>) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
activesupport (<IP_ADDRESS>) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
activesupport (<IP_ADDRESS>) lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
activesupport (<IP_ADDRESS>) lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
activerecord (<IP_ADDRESS>) lib/active_record/connection_adapters/abstract_adapter.rb:721:in `block in log'
activesupport (<IP_ADDRESS>) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activerecord (<IP_ADDRESS>) lib/active_record/connection_adapters/abstract_adapter.rb:712:in `log'
activerecord (<IP_ADDRESS>) lib/active_record/connection_adapters/sqlite3/database_statements.rb:39:in `exec_query'
activerecord (<IP_ADDRESS>) lib/active_record/connection_adapters/abstract/database_statements.rb:493:in `select_prepared'
activerecord (<IP_ADDRESS>) lib/active_record/connection_adapters/abstract/database_statements.rb:68:in `select_all'
activerecord (<IP_ADDRESS>) lib/active_record/connection_adapters/abstract/query_cache.rb:105:in `block in select_all'
activerecord (<IP_ADDRESS>) lib/active_record/connection_adapters/abstract/query_cache.rb:122:in `block in cache_sql'
activesupport (<IP_ADDRESS>) lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
activesupport (<IP_ADDRESS>) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
activesupport (<IP_ADDRESS>) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
activesupport (<IP_ADDRESS>) lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
activesupport (<IP_ADDRESS>) lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
activerecord (<IP_ADDRESS>) lib/active_record/connection_adapters/abstract/query_cache.rb:113:in `cache_sql'
activerecord (<IP_ADDRESS>) lib/active_record/connection_adapters/abstract/query_cache.rb:105:in `select_all'
activerecord (<IP_ADDRESS>) lib/active_record/querying.rb:46:in `find_by_sql'
activerecord (<IP_ADDRESS>) lib/active_record/relation.rb:821:in `block in exec_queries'
activerecord (<IP_ADDRESS>) lib/active_record/relation.rb:839:in `skip_query_cache_if_necessary'
activerecord (<IP_ADDRESS>) lib/active_record/relation.rb:808:in `exec_queries'
activerecord (<IP_ADDRESS>) lib/active_record/relation.rb:626:in `load'
activerecord (<IP_ADDRESS>) lib/active_record/relation.rb:250:in `records'
activerecord (<IP_ADDRESS>) lib/active_record/relation/finder_methods.rb:499:in `find_take'
activerecord (<IP_ADDRESS>) lib/active_record/relation/finder_methods.rb:98:in `take'
activerecord (<IP_ADDRESS>) lib/active_record/relation/finder_methods.rb:81:in `find_by'
spree_core (4.1.7) lib/spree/core/controller_helpers/order.rb:90:in `find_order_by_token_or_user'
spree_core (4.1.7) lib/spree/core/controller_helpers/order.rb:36:in `current_order'
spree_core (4.1.7) lib/spree/core/controller_helpers/order.rb:55:in `set_current_order'
.......

Had to remove it to fix it unfortunately : (

I have the same issue. Can someone suggest a fix?

The fix is:

Override app/controllers/spree/user_sessions_controller_decorator.rb
Change guest_token to token in current_order_params def.

@rawandsaeed thank You, I'm currently working on fix, stay tuned !

@przemosk that's great.

Fix was merged, closing this one, thank you all for raising this issue!


command not found

after to install this package I not found the command jupyter-cron i checked the ~/.local/bin/ and the global path, when I execute again pip install jupyter-cron this is the log
$ pip install jupyter-cron --user
Requirement already satisfied: jupyter-cron in ./.local/lib/python3.6/site-packages
Requirement already satisfied: python-daemon in ./.local/lib/python3.6/site-packages (from jupyter-cron)
Requirement already satisfied: schedule in ./.local/lib/python3.6/site-packages (from jupyter-cron)
Requirement already satisfied: docutils in ./.local/lib/python3.6/site-packages (from python-daemon->jupyter-cron)
Requirement already satisfied: setuptools in ./.local/lib/python3.6/site-packages (from python-daemon->jupyter-cron)
Requirement already satisfied: lockfile>=0.10 in ./.local/lib/python3.6/site-packages (from python-daemon->jupyter-cron)

any suggestion?

I found this snippet, https://gist.github.com/marthall/8122805
sounds like we need to define this key in the setup.py file scripts=['jupyter-cron'] and define the jupyter-cron script


The annealing optimization strategy for A-Softmax loss

Thanks for your nice repo.
I'm trying to your codes.
My question is
the paper said about the annealing optimization strategy for A-Softmax loss with introducing lambda.
here, your implementation is
self.lamb = max(self.LambdaMin,self.LambdaMax/(1+0.1*self.it ))
output = cos_theta * 1.0
output[index] -= cos_theta[index]*(1.0+0)/(1+self.lamb)
output[index] += phi_theta[index]*(1.0+0)/(1+self.lamb)

but, i think the cos term is to be scaled by a factor of lambda such that
output = cos_theta * self.lamb
output[index] -= cos_theta[index]*(self.lamb)/(1+self.lamb)
output[index] += phi_theta[index]*(1.0)/(1+self.lamb)

Please, give me your idea
Thanks

the code is right pls have a double check. @taey16

@vzvzx ,
Yes, you are right. my mistake.
Thanks for your reply.


General feedback

Nice Job :-)
Here's a few bits of feedback ...
Be more functional!!!
var bucket = function(data) {
    var numberOfBuckets = Math.ceil(data.length / bucketSize);

    return d3.range(0, numberOfBuckets).map((i) => {
        return data.slice(i * bucketSize, (i + 1) * bucketSize);
    });
};

Can be simplified to:
var bucket = function(data) {
    return d3.range(0, Math.ceil(data.length / bucketSize)).map((i) => {
        return data.slice(i * bucketSize, (i + 1) * bucketSize);
    });
};

Which allows you to drop the braces:
var bucket = d3.range(0, Math.ceil(data.length / bucketSize)).map((i) => {
        return data.slice(i * bucketSize, (i + 1) * bucketSize);
    });

Or even just:
const bucket = d3.range(0, Math.ceil(data.length / bucketSize))
                        .map((i) => data.slice(i * bucketSize, (i + 1) * bucketSize));

I'd get rid of identity.js, the expanded form: (d) => d is more concise and easier to understand.

@ColinEberhardt Thanks, I hadn't spotted that bucket.js could do with that tidy up after the ongoing refactor to try and make everything more functional. I'll see if there's any more places where something similar could be applied.
I wasn't too sure about identity, just because it's a shared utility function, but it's concise enough to not be too bad if it's repeated, so I'll remove that too.

I've done these, and an additional refactor on largestTriangleThree, but will leave open for additional feedback

:+1: looks good to me

@ColinEberhardt Do you want me to squash and transfer ownership?


Feature: Disable individual locations

Locations can be added to disabledLocations = [] in a config file to be disabled. A disabled check has its vanilla item added to the item pool but guarantees that it is randomized to an item from the junk pool. There is also a new section in the spoiler logs to list the disabled locations.
I had to change some existing, unrelated things in the solver to make this work.

I moved fixFairies, fixTokens, and fixLocations from the constructor of Solver to Solver.solve(). This means that every function that places a final item on a check is located in Solver.solve(). I had to do this because the function to disable locations needs to be after the itempool is made but before any items are placed. This way, if a location is disabled that should not be (because it is intended to be vanilla or results in impossible logic), it is caught and the randomizer will exit with an error message saying what item could not be placed.
I changed the aforementioned functions from adding their vanilla checks to Solver.fixedLocations to simply calling Solver.place() and placing the vanilla item there. I left Solver.fixedLocations as is since I wasn't sure if it had other planned uses. I believe with this change it is now unused.

Regarding hints of disabled locations

Fixed Hints (e.g. MM Great Fairies): Still hinted if their checks are disabled.
Foolish Hints: disabled locations do not contribute any weight to the foolish calculation. This means a region with every location disabled will not be hinted foolish.
Always Hints: If the check is disabled, the always hint is not placed
Dual Always Hints: If both checks are disabled, the always hint is not placed. If only one of the two checks is disabled, the dual always hint will still generate.
Sometimes Hints: Behavior is identical to both always hints and dual always hints.
If too many hints are omitted this way, the seed will generate but crash on load. I put a super simple check in to fail to generate when this happens. Probably want to make junk hints (or something equivalent) to fill in missing spaces but that is probably beyond the scope of this PR.

Everything I have listed up above I have extensively tested. If there is any other potential failure mode you see, please let me know and I can look into testing and fixing if need be.
Note: I have not tested this yet with the gui. My expectation (looking at the code) is that it will not impact the gui at all since it is all internal to the core repository at the moment. I wanted to first submit this PR as a yml only feature for the moment just to get review. Currently, there is no way for this to be loaded by the gui but I am going to look into making a new gui element with a simple searchbox to allow all the checks to be shown without having hundreds of lines of checkboxes.

I set the PR as a draft because I want to make the locationlist accessible to the gui first. The disabled locations code is still ready for review.

Rather than writing the helper function to determine what is or isn't shuffled, I just made an empty function that always returns true. This way, when the function is fleshed out and used elsewhere in the project (a fairly large endeavor beyond the scope of this PR) it will just work. In the meanwhile, the gui will be exposed to every possible location. If a location is not shuffled but is marked as junk, the randomizer will throw an error.


Does mmlspark support running on yarn?

if i con't run lighgbm on yarn. the original version rather than the spark version may be the best choice

@janelu9 yes it should, hope that resolves your question.  Is this question specifically related to one of the estimators (eg LIME, lightgbm, KNN, CNTKModel etc?)

@janelu9 yes it should, hope that resolves your question. Is this question specifically related to one of the estimators (eg LIME, lightgbm, KNN, CNTKModel etc?)

but i cont import mmlspark in pyspark if the master is yarn

root@DESKTOP-OPMDKT7:~/.ivy2# spark-shell --master yarn --jars file:///root/.ivy2/jars/* Setting default log level to "WARN". To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). Spark context Web UI available at http://localhost:4040 Spark context available as 'sc' (master = yarn, app id = application_1578918883660_0002). Spark session available as 'spark'. Welcome to       ____              __      / __/__  ___ _____/ /__     _\ \/ _ \/ _ / /  '/
// .__/_,// //_\   version 2.3.1
//
Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_172)
Type in expressions to have them evaluated.
Type :help for more information.
scala>
scala> import com.microsoft.ml.spark.lightgbm._
import com.microsoft.ml.spark.lightgbm._`
root@DESKTOP-OPMDKT7:~/.ivy2# pyspark --master yarn --jars file:///root/.ivy2/jars/* Python 3.7.0 (default, Jun 28 2018, 13:15:42) [GCC 7.2.0] :: Anaconda, Inc. on linux Type "help", "copyright", "credits" or "license" for more information. Setting default log level to "WARN". To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). Welcome to       ____              __      / __/__  ___ _____/ /__     _\ \/ _ \/ _ / /  '_/
/ / .__/_,// //_\   version 2.3.1
//
Using Python version 3.7.0 (default, Jun 28 2018 13:15:42)
SparkSession available as 'spark'.

from mmlspark.lightgbm import LightGBMRegressor as lgb
Traceback (most recent call last):
File "", line 1, in
ModuleNotFoundError: No module named 'mmlspark'
`

pyspark --master yarn
--conf spark.dist.pyFiles=
--conf spark.submit.pyFiles=
--conf spark.yarn.dist.jars=
Using Python version 3.7.0 (default, Jun 28 2018 13:15:42)
SparkSession available as 'spark'.

from mmlspark.lightgbm import LightGBMRegressor as lgb
lgb()
Traceback (most recent call last):
File "", line 1, in
File "/mnt/e/bash/opt/spark/python/pyspark/init.py", line 105, in wrapper
return func(self, **kwargs)
File "/tmp/spark-47f3ea34-af3b-4ab9-a424-882de6e9b7bf/userFiles-a7e893d1-bcdc-40e8-bf88-8c43fd10d5b0/com.microsoft.ml.spark_mmlspark_2.11-0.18.1.jar/mmlspark/lightgbm/_LightGBMRegressor.py", line 63, in init
File "/mnt/e/bash/opt/spark/python/pyspark/ml/wrapper.py", line 63, in _new_java_obj
return java_obj(*java_args)
TypeError: 'JavaPackage' object is not callable

Hi! I'm running into the same issue, any idea how to fix it?
I'm using python 3.7, Pyspark version 2.4.4, MMLSpark version 1.0.0

/usr/share/spark/python/pyspark/init.py in wrapper(self, *args, **kwargs)
108             raise TypeError("Method %s forces keyword arguments." % func.name)
109         self._input_kwargs = kwargs
--> 110         return func(self, **kwargs)
111     return wrapper
112
/usr/local/lib/python3.6/site-packages/mmlspark/lightgbm/_LightGBMRegressor.py in init(self, alpha, baggingFraction, baggingFreq, baggingSeed, boostFromAverage, boostingType, categoricalSlotIndexes, categoricalSlotNames, defaultListenPort, earlyStoppingRound, featureFraction, featuresCol, initScoreCol, isProvideTrainingMetric, labelCol, lambdaL1, lambdaL2, learningRate, maxBin, maxDepth, minSumHessianInLeaf, modelString, numBatches, numIterations, numLeaves, objective, parallelism, predictionCol, timeout, tweedieVariancePower, useBarrierExecutionMode, validationIndicatorCol, verbosity, weightCol)
61     def init(self, alpha=0.9, baggingFraction=1.0, baggingFreq=0, baggingSeed=3, boostFromAverage=True, boostingType="gbdt", categoricalSlotIndexes=None, categoricalSlotNames=None, defaultListenPort=12400, earlyStoppingRound=0, featureFraction=1.0, featuresCol="features", initScoreCol=None, isProvideTrainingMetric=False, labelCol="label", lambdaL1=0.0, lambdaL2=0.0, learningRate=0.1, maxBin=255, maxDepth=-1, minSumHessianInLeaf=0.001, modelString="", numBatches=0, numIterations=100, numLeaves=31, objective="regression", parallelism="data_parallel", predictionCol="prediction", timeout=1200.0, tweedieVariancePower=1.5, useBarrierExecutionMode=False, validationIndicatorCol=None, verbosity=1, weightCol=None):
62         super(_LightGBMRegressor, self).init()
---> 63         self._java_obj = self._new_java_obj("com.microsoft.ml.spark.lightgbm.LightGBMRegressor")
64         self.alpha = Param(self, "alpha", "alpha: parameter for Huber loss and Quantile regression (default: 0.9)")
65         self._setDefault(alpha=0.9)
/usr/share/spark/python/pyspark/ml/wrapper.py in _new_java_obj(java_class, *args)
65             java_obj = getattr(java_obj, name)
66         java_args = [_py2java(sc, arg) for arg in args]
---> 67         return java_obj(*java_args)
68
69     @staticmethod
TypeError: 'JavaPackage' object is not callable

Hi! I'm running into the same issue, any idea how to fix it?
I'm using python 3.7, Pyspark version 2.4.4, MMLSpark version 1.0.0

Hi! I have the same problem now, did you fix it?

@1120172175 this looks like some issue with the cluster configuration?  How are you specifying the mmlspark package?  Sorry I haven't seen this issue before, I'm not sure how to resolve it.

I wonder if this is helpful, but maybe it's not helpful at all:
https://stackoverflow.com/questions/41112801/property-spark-yarn-jars-how-to-deal-with-it

    spark.yarn.jars=hdfs://xx:9000/user/spark/share/lib/*.jar

what are the full file paths you are using to specify the jars?


Fetch tweets via url/tweet id

As an alternative to mentioning the bot account in your tweets, we could provide users with a simple web form wherein they paste a URL (and/or tweet_id) to the first tweet in their thread.
Then the page would respond with the text of that tweet, plus every subsequent tweet, in a text field in which users could further edit the text before copying/pasting it elsewhere.
Threadreaderapp provides a similar feature at the top of their homepage.

Actually...this use case is a little like #35 in that it provides a means of collecting retroactive threads.
If we provided this functionality via web page, then anyone could compile anyone else's threads into plain text (as is the case with ThreadReader). Which runs counter to one of our stated goals of allowing writers on Twitter to maintain control over their own content.
Unless we also implement some authentication.
Or we could just have users DM the tweet url and/or id to the bot.


Bookstack vs OneNote

Attempted Debugging

[X] I have read the debugging page

Searched GitHub Issues

[X] I have searched GitHub for the issue.

Describe the Scenario
Hi Bookstack,
I am an intern at a Dutch insurance company. My internship assignment is to centralize all information on 1 platform. Currently I am experimenting this by using OneNote, where all IT teams have their own OneNote for documentation. OneNote meets the needs of the employees by, for example, being able to search easily and very fast for documented information and simply being able to find back who has modified what in which place. However, all information is still not fully centralized when each team works within its own OneNote.  I wondered if Bookstack as an open source platform could offer a solution here.
I myself don't know exactly what the differences are between OneNote and Bookstack. Are there certain functionalities what OneNote does not offer and Bookstack does and vice versa? The integrations of programming software is not accessible through OneNote for example.
I hope you can inform me with this!
Yours sincerely,
Hasan Karacayir
Exact BookStack Version
x
Log Content
No response
PHP Version
No response
Hosting Environment
x

Hi @hasankaracayir,
I'm not really able to provide a full breakdown, as I don't personally use OneNote.
Here are some large high level differences:

OneNote has good pen support which many users enjoy (At least in certain versions); BookStack does not have any specific pen support.
OneNote has much more flexible content and formatting options, BookStack is purposefully quite limited in this manner. Limitations can help with standardisation and portability but it can mean a higher chance of things not being possible.
OneNote has good offline/desktop/app support, BookStack does not specifically/directly have any app or offline options, it's a centralised web application.
BookStack is free and open-source, and keeps to simpler/more-common open standards where possible.

Your best bet would be to try them both out first-hand, to assess what works best for your needs. You can play in our demo instance, without any setup needed, here: https://demo.bookstackapp.com/
Otherwise, you could spin up your own test instance of BookStack to trial.


KOGITO-6292: Improve jbpm Engine Message 1:1 (Adding correlation keys and collaboration compliant spec subscription)

Correlation keys and collaboration are now supported by the editor.
JIRA: KOGITO-6292
VS Code: VSCode Extension

@Josephblt Went throught the code to familiarize myself, looks good, some comment may appear, so let me know your opinion. Will test later this week to see whats the state now

The (build) kie-tools-stunner-editors check has failed. Please check the logs.

@handreyrc @romartin I was able to configure the collaborations and correlations using the provided widgets.
There are some UX issues, where the UI shows an extra empty row:
IN following screenshot you can see the extra white row under Select value row. This also happens when I add new collaboration, the dropdown for propertyType has the extra row too.

Hello @domhanak, @romartin. All set. Ready to test. I created a UI validation. Invalid fields are highlighted in red. Error messages give information about what actions to take. The OK dialog button is enabled/disabled according to correlations valid/invalid states.

Hello @LuboTerifaj, @romartin
I'll try to address all your comments/suggestions in order.
UX issues
I added a link below the table, so the user can toggle the error messages. The link only shows when there are errors. This way it becomes less invasive.
Minor Bugs
No changes here.
Blocker Bugs

Fixed. Now it is possible to add custom properties again.
There is a small problem here. You need to set a message for the correlation properties to save. But I admit it can get confusing. I can try and create a filter to make correlation fields read-only if there is no message set. But I don't think this is a blocker.

BPMN file observation

Yes that is correct on XML. I could have explained better on the JIRA.
Same as above.
Message needs to be set to be saved on XML.
Also needs a message to be on the XML.
Could not find any differences

Duplicate IDs issues

That is by design. I cannot know which of the names is the wrong one so I signal both.
I agree, this is now implemented. So whenever you input an existing ID and the name is empty, it will set the name automatically.
That is also by design. I think the auto name setting helps to minimize this problem. But once again you cannot determine which of the names is the right one. So all the correlations sharing an ID get signaled.

Let me know what you guys think. Thanks.

Hello @LuboTerifaj, @romartin. Here is a video with all the steps. At 0:37 notice the field Message in the Implementation/Execution of the properties tab from the Start Message Node. You have to set this field to something. Otherwise the correlation properties cant link to anything. They are serialized to the BPMN file, but when you try to open they won't load.
https://user-images.githubusercontent.com/25369234/160188387-934d909e-c2ca-4e22-b9c1-6b3c4c50bf91.mp4

Hello @Josephblt ,
Why it is necessary to set Message property in order to save all Correlation values in Message events?
I think the Correlation values should be saved even without the Message property is set, or the Correlation property should be disabled completely to avoid losing the filled data.
Thanks!

Hello @LuboTerifaj. We need to look at the BPMN file to understand this. Let's consider this message data example.
<bpmn2:message id="_5i1JYJGKEDqHtJYbEuZ8UA" itemRef="MessageType" name="Message"/>

<bpmn2:correlationProperty id="Property_ID_1" name="Property Name 1" type="Property_ID_1_Type">
     <bpmn2:correlationPropertyRetrievalExpression id="_7CE42BE1-45FB-4189-96B8-89649C395487" messageRef="_5i0iUJGKEDqHtJYbEuZ8UA">
          <bpmn2:messagePath id="_AD69640F-DCEA-46BD-9BC0-17406A47CB73" evaluatesToTypeRef="_741E4D8C-DA2E-4044-8EF9-707685E50DEC" language="java">MessageExpression</bpmn2:messagePath>
     </bpmn2:correlationPropertyRetrievalExpression>
</bpmn2:correlationProperty>

In the correlationPropertyRetrievalExpression node what binds everything together is the messageRef attribute. This messageRef has nothing to do with the Start/Intermediate Message Event. It is simply used by it. So both the event and the correlationProperty share a reference to it. Hence why a Message is needed to link them together.
Now that I look, I agree that the UI arrangement is not ideal. I'm open to suggestions.


[style]add IntelliJ code style xml

Proposed changes
add IntelliJ code style xml to do auto code format in IntelliJ IDEA.
this format is based on code format imported from CheckStyle code style xml, and fix some problem.
Problem Summary:
IntelliJ will do some error format when use CheckStyle code style xml.
Checklist(Required)

Does it affect the original behavior: (No)
Has unit tests been added: (No Need)
Has document been added or modified: (Yes)
Does it need to update dependencies: (No)
Are there any changes that cannot be rolled back: (No)

cc @morningman


Silencer Lowers Range Gunshot can be heard

About the PR

Silencer Lowers the Range Gunshots can be heard to 6 tiles, in all honesty I want to lower it to 5 for that juicy number. But 6 sounds more balanced, feel free to edit it to 5 before merging if you approve.
Why / Balance

In CM Silencers Mute the firing chat message. Since we lack that chatsystem I lowered the range that the gunshot can be heard from.
This gives silencers an actual use other than making your gun worse with an additional 10% falloff.
Technical details

Media

Requirements

[x] I have read and am following the Pull Request and Changelog Guidelines.
[x] I have added media to this PR or it does not require an ingame showcase.

Breaking changes

Changelog

:cl:

tweak: Suppressors restrict the Range your Gunshot can be heard from

waawaaweewaa very nice


Instant Payments  denomination in sats or fiat.

All units on the same screen would change once user taps balance or amount anywhere

Verified in v128 e8f5056


add support for android sdk version < 18

Alternatively, the trace calls could be removed completely or replaced by simple Log calls.

Can one of the admins verify this patch?

I applied your proposed changes and added small comments to improve readability of the trace calls.

Jenkins, test this please.


Update concepts.md

需要跟 @yanrongshi 确认这些术语的修改

If no update, this will be closed. You can open it at any time when you have ideas to change it again.


Added best practices section for ADX external queries

@spektom : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@spektom
This contribution needs to be made through the private repository so the content can be staged and validated by the current validation rules. After you review staging and fix all validation issues, you can add the sign-off comment to let PR reviewers know that the updates are ready to be merged.
For more information, see Should I work in a private or a public repo?
If you need help getting set up to work in the private repo, see Set up Git repository locally for documentation.
Once you are working in the private repo, if your update is tied to a specific date and/or time, you'll need to sign off only when the PR is ready to be merged and published. In either repo, we can't hold PRs to merge on a specific date.
Would you create a pull request in the private repo to make these updates? We'll close this PR. Thank you.


Change Cursor Position before "Changed Event" is triggert. (Issue #2 …

…on Termina.Gui.Elmish)
In the elmish wrapper for the Termial.Gui I need the "right" cursor position when the "Changed" event is triggered. In the current Implementation the cursor position is set after the event is triggered, so either I have to wait some ms asynchronously before I can process the event or I change the order inside the ProcessKey Method by using a helper variable "oldCurPos" and set the cursor position before the SetText method is called.
Related to: https://github.com/DieselMeister/Terminal.Gui.Elmish/issues/2

Wow, That was fast! 🥇 👍


Update index.html

Added the

Hey - thanks for the PR! Can you demonstrate that the submit functionality opens a Github issue with the content? From the code you've added I don't believe it will... Making the html for a form wasn't meant to be the challenging part of that issue ;)
Cheers!

Will further commit more.. ;)


sig-provider: decode event arguments correctly

Right now decoding event will not fail if some data was left, which can lead to wrong guesses
I suggest adding additional functions in ethabi: https://github.com/rust-ethereum/ethabi/pull/284, and then update our code using this function

We need also https://github.com/rust-ethereum/ethabi/pull/288 because there are additional cases, which are not found by offsets only

will be implemented during https://github.com/blockscout/blockscout-rs/issues/980


Return null for NULL values

It would be nice to be able to differentiate between null and undefined, NULL is a proper value in SQL, so it should be a proper value in JS too.
create table teams (
  id serial primary key not null,
  token integer unique not null,
  name text not null
);
create table users (
  id serial primary key not null,
  email text not null unique,
  team_id int references teams (id)
);
insert into teams ("token", "name") values (1, 'a');
insert into users ("email", team_id) values ('a', NULL);
insert into users ("email", "team_id") values ('b', 1);

client.users.findMany({ where: { team_id: null } })

Actual
[
  {
    email: 'a',
    id: 1
  }
]

Expected
[
  {
    email: 'a',
    id: 1,
    team_id: null
  }
]

Integration test here: https://github.com/prisma/prisma2/blob/9afe7e6b0e9a2f185099590ef50b6ee3db37773c/cli/prisma2/src/tests/integrate.postgresql.test.ts#L1595

This is expected. Relations are not included in the result. You need to explicity opt in to include relation using the include key:

async function main() {
  const test = await db.users.findMany({
    where: { team_id: null },
    include: { team_id: true }
  });
  console.dir(test, { depth: Infinity });
}

Oh. That's odd. I would have thought include was only for relations, not for local foreign keys. cc @schickling

We already have a issue for this :)
#829


.progress should be able to return Progress, not Float

Currently, this library can only return Float value when using .progress directive.
However, Alamofire and other network libraries return Progress instance instead of Float.
I think thenPromise should be able to return Progress instance on .progress directive.
For example:
return Promise<URL> { resolve, reject, progress in
    Alamofire.download(escapedUrl, to: destination)
        .downloadProgress { downloadProgress in // downloadProgress is Progress class
            // let currentProgress = Float(downloadProgress.completedUnitCount) / Float(downloadProgress.totalUnitCount)
            // progress(currentProgress)
            progress(downloadProgress) // <- should be able to write like this
        }
        .response { response in
            ...
        }
}

@subdiox Thanks for the suggestion, I wasn't very familiar with the Progress object. This seems like a good addition to me.


Truck Damage Not Showing

Vtlog map
https://i44.servimg.com/u/f44/12/76/13/88/damage10.png
My site map
https://i44.servimg.com/u/f44/12/76/13/88/damage11.png

@edoaxyz the solution to this is to multiply the damage values by 100 on the server or in the js.


Honor fly-id for contract deployments

This also prevents bugs where the loaded deployMsg already had an ID and
the ID is reused.
Signed-off-by: Andrew Richardson<EMAIL_ADDRESS>

Tested a branch build that multiple instances of contract can be deployed with this fix:


Update cats-effect-testing-specs2 to 0.4.1

Updates com.codecommit:cats-effect-testing-specs2 from 0.4.0 to 0.4.1.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.codecommit", artifactId = "cats-effect-testing-specs2" } ]

labels: test-library-update, semver-patch

Going to merge, bincompat.

The scala-steward PRs can't be retargeted. It doesn't rebase the relevant commit onto the new branch, but proposes a merge commit that brings the originally targeted branch onto the new branch.
Sometimes I cherry-pick the scala-steward commit.  Sometimes I just bump the numbers myself, usually right before a maintenance release.


Missing release information related to 7.3.929.2

It seems this page hasn't been updated with information related to the latest release which is 7.3.00929.2

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

ID: 55cb0dfa-9fa7-85dd-4d44-0b6e30047d31
Version Independent ID: fec398b4-942a-4673-2865-5045a80427d5
Content: Microsoft Threat Modeling Tool release notes - Azure
Content Source: articles/security/develop/threat-modeling-tool-releases.md
Service: security
Sub-service: security-develop
GitHub Login: @jegeib
Microsoft Alias: jegeib

Thanks for the feedback! I have assigned the issue to the doc author to update appropriately.


display credits for Track videos

@dipamsen pointed out on Discord that the Track videos credits were not being displayed, even though they exist (and are required) in the source JSON files. This should fix the issue.

Thank you @dipamsen and @fturmel!


Optimize instance selection performance

Each time instance selection is performed during a request, the ObjectProvider#getIfAvailable method is called, and its reflection implementation causes some CPU consumption.

@OlgaMaciaszek Thanks! I've completed as requested.


Feature/navigate to item summary page

#688
Checklist

[x] the [contributor license agreement][] is signed
[x] commit message follows [commit guidelines][]
[ ] tests are included
[ ] screenshots are included showing significant UI changes
[ ] documentation is changed or added

Description of change
This PR focuses on the feature of navigating from new Search page to the ItemSummary page.
In the context of Selection Session, the link to ItemSummary page requires some extra query params to help the Legacy server rendering.
All required information is available in front-end now,  and we just need to add these query params in each Item title link.
Also, you will see MUI Link is used. This is probably due to two reasons:

the mixed environment where new tsx component is used in Legacy content;
the only component that can be used when the ItemSummary  page URL is matched in the routes is LegacyPage.

So I suggest we come back and address the problem when we have a new tsx component for ItemSummary page.
A video is available here.

Looks good @PenghaiZhang, just needs a couple of tweaks me thing.
And also, I think it could be prudent to add a two tests:

The generation of the link URL; and
A test of the page that it correctly switches between the two types of links based on the presence of selectSessionInfo.

I have done the first test. For the second one, I think we should do it in the test for SearchResult ?

I have done the first test. For the second one, I think we should do it in the test for SearchResult ?

Yup, that's what I had in mind. :)