bug when using versions 2.1.5 through 2.1.8 of this mod with version 49 of lethal company

When in the ship, I cannot move or store furniture like the filing cabinet. Strangely enough, rotation works. The suit rack is also empty. Even the default suit is missing.
I tested with only this mod and BepInExPack installed.
Thank you for your work and time.

I forgot to mention that the config is default and that it doesn't seem to be a problem on version 50 of lethal company.

Do you have any errors in your console? That would be the first things to check, and thanks if you can share them!

Here is a video of what happens and the console logs:
https://github.com/cmooref17/Lethal-Company-TooManyEmotes/assets/80277456/553258c5-35c4-4a61-ad99-d2adf5d637b1
[Message:   BepInEx] BepInEx <IP_ADDRESS> - Lethal Company (12/19/2023 4:40:55 PM)
[Info   :   BepInEx] Running under Unity v2<IP_ADDRESS>51836
[Info   :   BepInEx] CLR runtime version: 4.0.30319.42000
[Info   :   BepInEx] Supports SRE: True
[Info   :   BepInEx] System platform: Bits64, Windows
[Message:   BepInEx] Preloader started
[Info   :   BepInEx] Loaded 1 patcher method from [BepInEx.Preloader <IP_ADDRESS>]
[Info   :   BepInEx] 1 patcher plugin loaded
[Info   :   BepInEx] Patching [UnityEngine.CoreModule] with [BepInEx.Chainloader]
[Message:   BepInEx] Preloader finished
[Message:   BepInEx] Chainloader ready
[Message:   BepInEx] Chainloader started
[Info   :   BepInEx] 1 plugins to load
[Info   :   BepInEx] Loading [TooManyEmotes 2.1.8]
[Info   :TooManyEmotes-2.1.8] BindingConfigs
[Info   :TooManyEmotes-2.1.8] Initializing custom emote hotkeys.
[Info   :TooManyEmotes-2.1.8] Successfully loaded 26 animation clips from asset bundle: Assets/emotes_complementary
[Info   :TooManyEmotes-2.1.8] Successfully loaded 83 animation clips from asset bundle: Assets/emotes_0
[Info   :TooManyEmotes-2.1.8] Successfully loaded 117 animation clips from asset bundle: Assets/emotes_1
[Info   :TooManyEmotes-2.1.8] Successfully loaded 79 animation clips from asset bundle: Assets/emotes_2
[Info   :TooManyEmotes-2.1.8] Successfully loaded 7 animation clips from asset bundle: Assets/emotes_3
[Info   :TooManyEmotes-2.1.8] Successfully loaded 4 animation clips from asset bundle: Assets/emotes_special
[Info   :TooManyEmotes-2.1.8] Successfully loaded radial menu asset.
[Info   :TooManyEmotes-2.1.8] Loaded 18 emote props.
[Info   :TooManyEmotes-2.1.8] Loading 132 dmca-free audio clips.
[Info   :TooManyEmotes-2.1.8] Loading 117 dmca audio clips.
[Info   :TooManyEmotes-2.1.8] TooManyEmotes finished loading!
[Message:   BepInEx] Chainloader startup complete
[Warning: Unity Log] dxgi: swapchain SetFullscreenState failed (887a0022).
[Warning: Unity Log] Failed to change display to ExclusiveFullscreen...reverting to FullscreenWindow
[Info   : Unity Log] Saving changed settings
[Info   : Unity Log] subcribing to steam callbacks
Setting breakpad minidump AppID = 1966720
SteamInternal_SetMinidumpSteamID:  Caching Steam ID:<PHONE_NUMBER>0332186 [API loaded no]
[Info   : Unity Log] Returning week num: 18
[Info   : Unity Log] week num: 18
[Info   : Unity Log] host button pressed
[Info   : Unity Log] Returning week num: 18
[Info   : Unity Log] AAAAAA
[Info   : Unity Log] 2
[Info   : Unity Log] 0
[Info   : Unity Log] AAAAAA
[Info   : Unity Log] 2
[Info   : Unity Log] 1
[Info   : Unity Log] AAAAAA
[Info   : Unity Log] 2
[Info   : Unity Log] 2
[Info   : Unity Log] AAAAAA
[Info   : Unity Log] 2
[Info   : Unity Log] -1
[Info   : Unity Log] Returning week num: 18
[Info   : Unity Log] host button pressed
[Info   : Unity Log] Displaying menu message
[Info   : Unity Log] Connection approval callback! Game version of client request:
[Info   : Unity Log] Joining client id: 0; Local/host client id: 0
[Info   : Unity Log] Stopped connection approval callback, as the client in question was the host!
[Warning: Unity Log] [Netcode] You cannot decline the host connection. The connection was automatically approved.
[Info   : Unity Log] started host!
[Info   : Unity Log] are we in a server?: True
[Info   : Unity Log] Lobby has been created
[Info   :TooManyEmotes-2.1.8] Loading AudioManager preferences.
[Info   : Unity Log] Enabling connection callbacks in StartOfRound
[Info   : Unity Log] Began listening to SceneManager_OnLoadComplete1 on this client
[Info   :TooManyEmotes-2.1.8] Initializing emote menu
[Info   :TooManyEmotes-2.1.8] Loading AudioManager preferences.
[Info   :TooManyEmotes-2.1.8] Loading ThirdPersonEmoteController preferences.
[Info   :TooManyEmotes-2.1.8] Initializing animation renderer
[Error  : Unity Log] MissingFieldException: Field not found: UnityEngine.AudioSource .CozyLights.turnOnAudio Due to: Could not find field in class
Stack trace:
(wrapper dynamic-method) AutoParentToShip.DMDAutoParentToShip::Awake(AutoParentToShip)
[Error  : Unity Log] MissingFieldException: Field not found: UnityEngine.AudioSource .CozyLights.turnOnAudio Due to: Could not find field in class
Stack trace:
(wrapper dynamic-method) AutoParentToShip.DMDAutoParentToShip::Awake(AutoParentToShip)
[Error  : Unity Log] MissingFieldException: Field not found: UnityEngine.AudioSource .CozyLights.turnOnAudio Due to: Could not find field in class
Stack trace:
(wrapper dynamic-method) AutoParentToShip.DMDAutoParentToShip::Awake(AutoParentToShip)
[Error  : Unity Log] MissingFieldException: Field not found: UnityEngine.AudioSource .CozyLights.turnOnAudio Due to: Could not find field in class
Stack trace:
(wrapper dynamic-method) AutoParentToShip.DMDAutoParentToShip::Awake(AutoParentToShip)
[Error  : Unity Log] MissingFieldException: Field not found: UnityEngine.AudioSource .CozyLights.turnOnAudio Due to: Could not find field in class
Stack trace:
(wrapper dynamic-method) AutoParentToShip.DMDAutoParentToShip::Awake(AutoParentToShip)
[Warning: Unity Log] damageTrigger is disabled! Netcode for GameObjects does not support spawning disabled NetworkBehaviours! The InteractTrigger component was skipped during spawn!
[Info   : Unity Log] level id: 0
[Info   : Unity Log] Changing level
[Info   : Unity Log] Item sales percentages #0: 0
[Info   : Unity Log] Item sales percentages #1: 0
[Info   : Unity Log] Item sales percentages #2: 0
[Info   : Unity Log] Item sales percentages #3: 0
[Info   : Unity Log] Item sales percentages #4: 0
[Info   : Unity Log] Item sales percentages #5: 0
[Info   : Unity Log] Item sales percentages #6: 0
[Info   : Unity Log] Item sales percentages #7: 0
[Info   : Unity Log] Item sales percentages #8: 0
[Info   : Unity Log] Item sales percentages #9: 0
[Info   : Unity Log] Item sales percentages #10: 0
[Info   : Unity Log] Item sales percentages #11: 0
[Info   : Unity Log] Item sales percentages #12: 0
[Error  : Unity Log] MissingFieldException: Field not found: UnityEngine.AudioSource .CozyLights.turnOnAudio Due to: Could not find field in class
Stack trace:
(wrapper dynamic-method) AutoParentToShip.DMDAutoParentToShip::Awake(AutoParentToShip)
UnityEngine.Object:Instantiate(GameObject, Vector3, Quaternion, Transform)
StartOfRound:SpawnUnlockable(Int32)
StartOfRound:DMDStartOfRound::LoadUnlockables(StartOfRound)
StartOfRound:DMDStartOfRound::Start(StartOfRound)
[Warning: Unity Log] NetworkVariable is written to, but doesn't know its NetworkBehaviour yet. Are you modifying a NetworkVariable before the NetworkObject is spawned?
[Info   : Unity Log] Suits: 1
[Info   : Unity Log] Suit #0: 0
[Info   : Unity Log] pos: (-2.45, 2.75, -8.41); rot: (0.00, 90.00, 0.00)
[Info   :TooManyEmotes-2.1.8] Loading game values.
[Info   :TooManyEmotes-2.1.8] Resetting unlocked emotes.
[Info   :TooManyEmotes-2.1.8] Loaded Seed: 0
[Info   : Unity Log] Key 'shipGrabbableItems' does not exist
[Info   :TooManyEmotes-2.1.8] Rotating emote selection in store. Seed: 498396338
[Info   : Unity Log] Item sales percentages #0: 0
[Info   : Unity Log] Item sales percentages #1: 0
[Info   : Unity Log] Item sales percentages #2: 0
[Info   : Unity Log] Item sales percentages #3: 0
[Info   : Unity Log] Item sales percentages #4: 0
[Info   : Unity Log] Item sales percentages #5: 0
[Info   : Unity Log] Item sales percentages #6: 0
[Info   : Unity Log] Item sales percentages #7: 0
[Info   : Unity Log] Item sales percentages #8: 0
[Info   : Unity Log] Item sales percentages #9: 0
[Info   : Unity Log] Item sales percentages #10: 0
[Info   : Unity Log] Item sales percentages #11: 0
[Info   : Unity Log] Item sales percentages #12: 0
[Info   : Unity Log] Group credits: 60
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/LightSwitchContainer/PlacementCollider"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/Cube"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/AnimatedShipDoor/HangarDoorLeft (1)"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/ShipBottomColliders/Cube (1)"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/ControlDesk.001"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/ShipBottomColliders/Cube (3)"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/ShipBottomColliders/Cube (7)"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/StorageCloset/Cube.000/Cube"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/ShipBottomColliders/Cube (6)"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/ShipBottomColliders/Cube (8)"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/ShipBottomColliders/Cube (5)"
[Warning: Unity Log] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "Environment/HangarShip/ShipBottomColliders/Cube (4)"
[Info   : Unity Log] Taking control of player Player and enabling camera!
[Info   : Unity Log] Starting voice tracking for player: SecurityGoat
[Info   :TooManyEmotes-2.1.8] Loading ThirdPersonEmoteController preferences.
[Info   :TooManyEmotes-2.1.8] Initializing local player.
[Info   : Unity Log] !!!! ENABLING CAMERA FOR PLAYER: Player
[Info   : Unity Log] !!!! connectedPlayersAmount: 0
[Info   :TooManyEmotes-2.1.8] Rotating emote selection in store. Seed: 498396338
[Info   : Unity Log] Has beta?: {hasBeta}
[Info   : Unity Log] Has beta save data: True
[Warning: Unity Log] [Dissonance:Recording] (17:40:28.105) CapturePipelineManager: Detected a frame skip, forcing capture pipeline reset (Delta Time:0.7840922)
[Info   : Unity Log] Saving placed position as: (7.13, 1.10, -11.64)
[Info   : Unity Log] Saving placed position as: (6.42, 1.10, -14.35)
[Info   : Unity Log] Saving placed position as: (5.51, 1.10, -14.16)
[Warning: Unity Log] PlayOneShot was called with a null AudioClip.
[Info   : Unity Log] DISABLE OBJECT C
[Info   : Unity Log] DISABLE OBJECT D
[Info   : Unity Log] Saving placed position as: (6.33, 2.04, -13.92)
[Warning: Unity Log] PlayOneShot was called with a null AudioClip.
[Info   : Unity Log] DISABLE OBJECT C
[Info   : Unity Log] DISABLE OBJECT D
[Info   : Unity Log] Set interminalmenu to true: True
[Error  : Unity Log] Trying to add Caret (TMPro.TMP_SelectionCaret) for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.
[Info   : Unity Log] Parsed word: file
[Info   : Unity Log] Could not parse word: c
[Info   : Unity Log] noun keyword: file cabinet ; verb keyword: buy ; result null? : False
[Info   : Unity Log] result: FileCabinet1
[Info   : Unity Log] Is unlockable 'File Cabinet in storage?:  That was related to the Disco patcher, but that was not present until v50. If I update this mod today, I may be able to change this slightly so it works for both versions. Hopefully that is the case, but I will update this issue if I can get it working

Sorry, I forgot to update this issue. This should be fixed as of the last update. If you continue to run into issues, please create another issue, thanks!


M1 project compatibility

We still use CocoaPods, not running natively on M1 yet. It is possible to use the arch command to run the command on Rosetta.
Proposal:

We are the only ones building the project on M1, so there is no hurry. We can wait until CocoaPods properly run on M1.
If support is not ready at the time we switch our development Macs to M1, we can update the Makefile so that the pod command is forced to run on Rosetta.

The application runs fine on M1, except when playing on-demand audio. This is an AVFoundation issue, see our corresponding SRG Media Player issue.

Still not working correctly on macOS 11.6 with our 3.3.0 version built using Xcode 13 and the iOS 15 SDK. Guess we should report this issue to Apple.

I confim that version 3.4.0 now crashes on M1, while 3.3.0 wasn't. The stack trace is not the same, but it is likely related to our new CarPlay support. We should check what happens on Monterey.

The CarPlay-related crash is fixed when running the application on macOS Monterey.

@defagos Thank you for the tests on Monterey.
A Mac mini M1 with Big Sure has the same crash with production version 3.4.0.
So, I updated the "Make this app available" to "MacOS 12.0" for the 5 Play SRG application on AppStoreConnect.
For now, I didn't pass the "Verify compatibility" check, proposed by Apple.

Here are the steps to compile the project on M1:

Edit the Application.xcconfig files and remove EXCLUDED_ARCHS.
Remove the same EXCLUDED_ARCHS code from the Podfile.
Use Google Cast SDK binaries with arm64 simulator support.

Of course the first two changes must be made so that compilation on Intel Macs remains possible. Moreover Google is working on arm64 [simulator binaries](https://issuetracker.google.com/issues/1740488229, not sure if they will be available with CocoaPods as well, otherwise we'll need a way to download the XCFramework.
Alternatively, it might be possible to use a hack on M1 to tweak the binary integrated with CocoaPods. If all solutions fail it might be possible to tweak the project so that binaries are not linked with the iOS simulator build on M1, but that requires conditional compilation and it is likely an ugly solution.
With changes 1 and 2 made at least the tvOS project compiles fine on M1, as it does not use the Google Cast SDK.

Google provided a beta version with dynamic XCFrameworks: https://issuetracker.google.com/issues/174048822

We created a temporary SPM repository to distributed it: https://github.com/SRGSSR/GoogleCastSDK-ios-no-bluetooth
Fix an issue in a Info.plist of ios-arm64/GoogleCast.framework: DTSDKName, DTPlatformName and CFBundleSupportedPlatforms MUST declare an "iphoneos" platform, not an "iphonesimulator" one.

Proposition is on feature/googlecast-sdk-xcframework branch.

The Play iOS 3.5.1-378 build is released in production and validated by Apple as well.
Both Play iOS 3.5.1-378 and Play tvOS 1.5.1-32 builds were uploads on AppStoreConnect from a Mac mini M1 and Xcode 13.3.0


Win7 integration

I've pulled in some of Cam's #issue12 branch around the WindowsFormsApplication changes (which impacted the JumpList triggering a new app).
There is a basic settings provider for people to build upon too. I'm not attached to it, but its using JSON as a backing store so should be easy to reuse.

Added the "open file in editor" behaviour.
.mdown is also a valid extension, so that's been added too.

public void Handle(FileOpenEvent message) is reaaaaaallly slow. Not just WebKit loading for the first time.
This should be threaded (needs to be STA), perhaps its time to introduce PostSharp?

I'm tired/going to bed, so feel free to ignore this one if you want...
settings popup (in XAML) should have WindowStartupLocation="CenterOwner" on the window.

On 1) the critical line seems to be calling jumpList.Apply() - which is required to update any changes. 2.3 seconds on my machine, and if that's occurring on the main thread, then yeah, connect the dots.

Fixed.

Oh cool, that line of code MUST execute on the main thread.
Blargh, will investigate in the morning.


Snake example for glimmer-dsl-swt?

Hello Andy,
Sorry for stalking you with little proposals. :D
Could you add a snake example (the game) for glimmer-dsl-swt? It's super low priority
but perhaps it would not take too long to add it, considering some other glimmer-variants
have it. (Tetris is the game-winner for the glimmer-suite, but snake may come in a
second! I'd propose to enable everything on all glimmer-variants, but I don't want to
add to the workload, so snake is hopefully not too much work. If it already works then
perhaps it could be mentioned briefly in the README?).

Done in v<IP_ADDRESS>:
Snake Sample


Added async support to PlanAndExecute Chain

Description: Adds async support to the PlanAndExecute Chain

Maintainer responsibilities:

Async: @agola11

thanks @daniel-brenot!


Progressbar doesn't reflect the actual progress until it changes to the other slide

Swiper Version: 6.3.5
Platform/Target and Browser Versions: macOS, CHROME, Safari.
Live Link: http://z-testing.000webhostapp.com/progressbar-animation/

What you did
The bug is that the progressbar doesn't reflect the actual progress until it changes to the other slide.
I tried by adding the watchSlidesProgress: true, parameter as pointed in the documentation but is not listening the event.
$(document).ready(function(){
  var swiperH = new Swiper('.swiper-container-h', {
    paginationClickable: true,
    nested: true,
    watchSlidesProgress: true,
    autoplay: {
      delay: 2500,
      disableOnInteraction: false,
    },
    speed: 500,
    simulateTouch: false,
    pagination: {
      el: ".swiper-pagination",
      type: "progressbar"
    },
    navigation: {
      nextEl: '.swiper-button-next',
      prevEl: '.swiper-button-prev',
    },
  });
  var swiperV = new Swiper('.swiper-container-v', {
    direction: 'vertical',
    slidesPerView: 'auto',
    nested: true,
    freeMode: true,
    mousewheel: true,
    pagination: {
      el: '.swiper-pagination-v',
      clickable: true,
    },
  });
});

Expected Behavior

Progressbar must reflect the actual progress until it changes to the other slide, like Facebook and Instagram stories do on autoplay.

@blacksun-mks demo isnt available.
Could you make a new one on stackblitz / codesandbox ?

@blacksun-mks demo isnt available.
Could you make a new one on stackblitz / codesandbox ?

Closing due to inactivity, missing demo and/or no responses from issue author


Unhandled exception in signal handler

With waybar-0.2.2, starting waybar fails with
(waybar:13299): glibmm-ERROR **:
unhandled exception (type std::exception) in signal handler:
what: argument not found

this is fixed by removing the comment around signal in main.cpp which has been introduced in https://github.com/Alexays/Waybar/blob/0abaaf2f7fcf606b470cf9ceca94ac5f08dd78c2/src/main.cpp#L16

disregard that, it was a different issue that I fixed by mistake ^^

This error is when you pass an argument {test} that doesn't exist, I should make a cleaner error


there is no /etc/raspotify/conf

The configuration file is missing from the documented location: https://github.com/dtcooper/raspotify/wiki/Migration-from-older-versions-to-0.31.4-and-beyond
# ls /etc/raspotify
ls: cannot access '/etc/raspotify': No such file or directory

there is/etc/default/raspotify
# ls -l  /etc/default/raspotify
-rw------- 1 root root 2024 Dec  3 15:37 /etc/default/raspotify

fumbled an apt update it seems...

That would be because 0.31.4 has not been released yet.

Yes I’d did eventually work that out. My years old install failed on a
recent upgrade. I saw your not and I latched into it :-)
But I believe it was als changed. Fixed the config there.
Cheers…
On Fri, 3 Dec 2021 at 16:37, Jason Gray @.***> wrote:

That would be because 0.31.4 has not been released yet.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/dtcooper/raspotify/issues/472#issuecomment-985231177,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFPYWXRA5ZC7JJNI7BSRDLUPBJQBANCNFSM5JIZWFIA
.

Yes I’d did eventually work that out. My years old install failed on a recent upgrade. I saw your not and I latched into it :-) But I believe it was als changed. Fixed the config there. Cheers…
…
On Fri, 3 Dec 2021 at 16:37, Jason Gray @.***> wrote: That would be because 0.31.4 has not been released yet. — You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub <#472 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFPYWXRA5ZC7JJNI7BSRDLUPBJQBANCNFSM5JIZWFIA .

It's all good now you know. You're a step ahead of the game for when it is released.


adding fallback slate lineup for web home

Goal
Create initial lineup and slates needed for initial web home experiments.
Lineups are outlined in PRD and described in additional detail here
HOMEPER-24
Implementation Decisions
For the fallback lineup for users that don't qualify for personalization I selected

three topic slates to be consistent with the personalized lineup and
picked them based on total new tab CTR consultation with editorial team

These choices should be reviewed with editorial and product.


[tools/cookbook] Updates the transfer-create recipe to use pollUntil

depends on #135

Oh, I see it's already on IPactCommand. Why is it needed on ICommandBuilder?

I've removed the requestKey from the ICommandBuilder as it was indeed not needed there.
While this PR is only to add the pollUntil to the cookbook, I guess it does make sense to change that function to a version we all like. I do however think that it's better to open a new issue for that, as we're using the requestKey in the older poll function as well. I don't see the problem with using the key for the polling functions, as there is no signing being done there.


Avoid locking in MallocAllocator for non-contiguous buffer allocation

Meta internal use case show very high lock contention in non-contiguous
buffer allocations in MallocAllocator. The lock is used to track the buffer allocated
from jemalloc to store non-contiguous buffers. This PR optimizes this by
ensuring each page run in non-contiguous allocation is a single buffer allocated
from jemalloc to avoid the lock. This requires each allocated buffer size is within
the max page run size limit. We ensure this when generating the non-contiguous
buffer allocation plan.
The concurrent benchmark experiment shows that with this optimization, the total
benchmark execution time has been reduced from 13s to 1.8s.

Question: Wouldn't there be cases for non-contiguous allocations that has more than max class size anymore? Will the change make behaviors across allocators different? Thanks!

See the Presto issue that depends on support for allocations that exceed the PageRun limit
https://github.com/prestodb/presto/issues/21292

We ensure this when generating the non-contiguous buffer allocation plan.

Can you elaborate on this? Is this inside Meta only?

@xiaoxmeng How do we support allocations that exceed the page run limit? We need support for that. We added support for that and we should not be reverting that support.

We support that when we generate the allocation plan and see the change in MemoryAllocator.h/cpp

We ensure this when generating the non-contiguous buffer allocation plan.

Can you elaborate on this? Is this inside Meta only?

See the code change in MemoryAllocator.h/cpp

By allocation plan do you mean the changes inside MemoryAllocator::allocationSize?

yes

@xiaoxmeng thanks for the clarification! I am assuming the Presto issue prestodb/presto#21292 will still be resolved due to the new allocation plan.

@majetideepak yes :)

Question: Wouldn't there be cases for non-contiguous allocations that has more than max class size anymore? Will the change make behaviors across allocators different? Thanks!

@tanjialiang it is still allowed


Test set evaluation support?

Is there support to pass in a test set (not to be used as validation set) to assess NCDG?

Hi, apologies for the late reply!
You can pass the test set instead of the validation set if you want to keep track of NDCG on it during training, we do not recommend doing that though as it may be tempting to overfit to it.
Alternatively, once you selected your best model based on the validation data and you want to evaluate it on a test set you can use the rank_slates function from allRank/allrank/inference/inference_utils.py to produce the sorting of your data according to your model and compute NDCG on the result of the sorting.
If that resolves your issues, could you please close it?. Thanks!

Cool, that makes sense. I assumed I could use rank_slates but wanted to see if there was built in support.


[#5014]feat: add the basic module of catalog-jdbc-maxcompute

What changes were proposed in this pull request?
To add the basic module of MaxCompute, including catalog, operations, converter and so on.
Why are the changes needed?
Fix: #5014
Does this PR introduce any user-facing change?
No, only the basic capabilities to connect to MC are provided.
How was this patch tested?
It can only be achieved by configuring the environment variables(username/password/url) and then running

Hi @mplmoknijb thanks a lot for your contribution. Since this is a big feature, would you please create a epic issue and break down things into small tasks, also it would be nice to have a design doc beforehand. You can check and follow what OceanBase did (https://github.com/apache/gravitino/issues/4848). Thanks a lot.

Hi @mplmoknijb thanks a lot for your contribution. Since this is a big feature, would you please create a epic issue and break down things into small tasks, also it would be nice to have a design doc beforehand. You can check and follow what OceanBase did (#4848). Thanks a lot.

Certainly,I will create an epic. Thanks for your reply


Echo Second Edition not discoverying  HA bridge 5.0.0(synology)

hallo,
i was enjoying the Habridge(4-5-6) synology ver in combi with Alexa DOT 2,and every thing works fine,,,,
after update to Echo Second Gen it's not detecting the HA bridge,i've update the bridge to 5-0-0,and still not working ,HA bridge working fine throught compuer/mobile.....
i have Synology and use poort 8088 for the bridge,that was not a probleem with Dot 2...please help

Try port 80
Every dream is a goal with a date on it; if you can conceive it believe

it, you can achieve it.  Make the
decision to take a positive attitude, take pride in yourself and what you
do, work hard and stay with it. A mind is a terrible thing to waste.
"I felt bad because I couldn't wheelie; until I met a man with no bicycle"
"You are young at any age... if you are planning on tomorrow"
On Nov 26, 2017 11:47 AM, "haymaan"<EMAIL_ADDRESS>wrote:

hallo,
i was enjoying the Habridge(4-5-6) synology ver in combi with Alexa DOT
2,and every thing works fine,,,,
after update to Echo Second Gen it's not detecting the HA bridge,i've
update the bridge to 5-0-0,and still not working ,HA bridge working fine
throught compuer/mobile.....
i have Synology and use poort 8088 for the bridge,that was not a probleem
with Dot 2...please help
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/bwssytems/ha-bridge/issues/810, or mute the thread
https://github.com/notifications/unsubscribe-auth/AV9KHJqBZDcp-Pk-Cu7xyCGEZHiBHtd2ks5s6ZYSgaJpZM4Qq1mO
.

thanks will try that ...

Did port 80 solve your issue?

No still the same problem ,are there any other with this problem??

Exact same issue with my brand new Echo 2nd gen. Echo Dot works fine. Once Echo Dot has sent a successful request to the device my Echo 2nd gen seems to find it for a while but "forgets" it again. Habridge is running on Synology DS214play on port 81.

So, I will need you to turn on trace upnp and do a discover with the 2nd gen Echo and post the entire log.
Thanks

Here it goes:
traceupnp.txt

I assume  the 2nd gen echo is IP <IP_ADDRESS>. It looks like it asks for the description.xml but does not use that information to go get the lights list. For fun, does the 2nd gen echo work with 4.5.6?

No it's even not working with 4.5.6....
thanks

I can confirm it too. It doesn't work on 4.5.6. The trace is basically the same (aside from different formatting). The echo 2nd gen does not query the hue lights.
traceupnp-4.5.6.txt

Well, this is not good. So they changed some interpretation on querying info from the description.xml.

thanks for the reply ,is there any way that can fixed ..?

It will take some research as this would be a reverse engineering endeavor.

Anyone with a 2nd gen Echo and a real philips hue that could do a trace on messages used during discover on the philips hue? There must be something in the update hue description.xml that is needed.

@bwssytems I just started playing with this in my setup, and it appears to only respond to Hue devices on port 80.  Have you tried that?
I'm dealing with a similar V2 issue, with the hue emulator I built into homebridge.  https://github.com/NorthernMan54/homebridge-alexa/issues/32

I have been using an Echo DOT OK with HA-Bridge for sometime, recently I also added a gen 2 Echo.
I then later decided to buy several Google Home speakers instead (Also not working with HA-Bridge either) .
So I unregistered and removed the gen 2 Echo. However seems since then, that the original Echo Dot which I plan to keep, now no longer detects any devices from the HA-Bridge.
I was running HA-Bridge on port 8087 on my Windows server, I have just tried running it on port 80 instead but the Echo Dot is still not detecting devices.
I dare not press the Forget All devices button in case none of them come back.
Tried HA-Bridge 4.5.6 and just updated it to 5.0.0.
So has temporarily adding a gen 2 Echo device to my setup, now broken the original Echo Dot from being able to add devices from the HA-Bridge ?
Thanks

I have managed to get my Echo Dot to discover devices from HA-Bridge now. But seems I have to do things a bit differently than before though.
Previously I was using a gen 1 Hue bridge. Two days ago I migrated to a new gen 2 Hue bridge. It now seems I have to power off the real Hue bridge before discovering devices in the Alexa app.
Also now it seems you have to set the HA-Bridge to port 80 as well. As when the bridge is set to my regular port number it does not work and Alexa will not find any new devices.
Once Alexa had discovered the new devices off the HA-Bridge I then changed the port number back from 80 to my regular port number I use and then nothing works, I wasn't able to turn on or off any devices from the Alexa app.
So seems HA-Bridge now needs to be on port 80 all the time. I cannot do this on my Windows server as I have another service on port 80.
So time to run HA-Bridge on a Raspberry Pi or use something else instead of HA-Bridge.
Also since updating to HA-Bridge 5.0.0 I am seeing loads of these messages constantly.
"The requested route [/(null)] has not been mapped in Spark for Accept: [null]"

Can you specify which IP address HA-Bridge should run on ?
Thinking maybe I could add a second IP address to my Windows server and have HA-Bridge run on port 80 on that secondary IP address.
Thus allowing port 80 on the primary IP address to still be used for the webserver.

@cw-kid Make sure you didn't use the web server address feature in the ha-bridge, that would prevent it from binding to the correct interface. Also, it seems that Amazon has now updated the echo software across the board to only go to port 80 from what you have shown.

I kinda messed up my WHS 2011 server a bit today trying to get this working.
I added a secondary IP address and I changed the HA-Bridge to start up with this new IP and also that it should use Port 80.
In IIS for the Default Website aka the WHS 2011 remote access page, Port 80 was binded to All unassigned IP addresses. I changed this to only use the first IP address of the server.
I was then able to access HA-Bridge, on the new secondary IP address and on port 80.
However I was then unable to also access the WHS 2011 RWA page via the servers first IP address on port 80 / 443. The page wouldn't load.
So I couldn't seem to get both running on different IPs but both using port 80 etc.
I have currently set everything back to how it was before I started and rebooted the server. This has fixed the WHS 2011 RWA page but HA-Bridge still isn't working.
In fact now for some reason whatever port I specify for HA-Bridge it now never seems to stay running, it goes through the motions of starting up but then just vanishes and isn't running. So think I have really broken HA-Bridge now.

If I rename the data folder to data.old and create a new blank data folder HA bridge starts again now, so must have messed up my original data folder ?
I've managed to use one of the backup config files and it looks like I did have the "Web Server IP Address" and "Web Server Port" populated.
I should leave these blank I guess and just specify the IP and Port in my startup batch file.

I give up I cannot get HA bridge to run on port 80 on the WHS 2011 server and also have the server run its stuff on port 80 also, even with two IP addresses and messing about with bindings in IIS.
Now switching to Vera's native skill for Alexa instead as that wasn't available when I first setup HA-Bridge.
Thanks

why closed there is no way to get it works ... ?

Any closer to finding a fix, I've tried port 80 still no luck. I can not get my gen 2 echo to see bridge. Cheers Dave

Power off your real Hue bridge as well, I had to do that also before my Echo Dot / Alexa web app would discover devices from the HA-Bridge.
Can't comment on actual gen 2 Echo devices as haven't got one now.

@haymaan It's not closed, it is a reference to an other issue that was a duplicate that is closed

@bwssytems I have a Echo 2nd generation and the Hue V1 hub ( round ) and am still looking at this.  So far I have found that my code gets stuck on the /api/username/light/# response.  I'm sending the response, which is copied from my V1, but it m my echo just repeats the request.  Tomorrow I'm going to confirm if my echo 2nd generation does  work with my Hue V1.  If that doesn't work then it may be a Amazon defect.

I just bought an echo dot version 2, and noticed that alexa doesn't discover the ha bridge, but when you ask alex: discover devices, and then under 'bridge control" => "bridge reinitilize", if you do this when alexa is trying to discover your devices, then alexa finds it...

i'll try it tonight thanks

Please try the new release 5.1.0 https://github.com/bwssytems/ha-bridge/releases/tag/v5.1.0

5.1.0 worked right away for me with my echo dot 2nd gen. thanks for the quick fix!

Are you using a specific port? How are finding new devices? (Voice, app, web)
I have the echo 2nd gen, but didn't work. I'm might be doing something wrong though.

So do you still need to use port 80 with version 5.1.0 of HA bridge?

Appears to be working again now on ports other than 80. My HA Bridge is on port 8087 and I have updated the Bridge to version 5.1.0. In the Alexa web app I forgot all devices and re-discovered them. It has now added back in devices from the HA-Bridge !

I'll try to use the webapp instead of the app and forget all devices before re-discover them.
Wasn't working for me this morning in any port, but probably was because I haven't removed all existent devices (non ha-bridge)

I tried it also with the Web app and port 8080 on a synology but doesn´t work with my 2.end Edition of Echo. Maybe I make something wrong.

I only have an Echo Dot not a gen 2 Echo. You might need to still use port 80 for that to work.

@cw-kid echo dot always worked. just test with the new Echo (2nd gen)

It wasnt working the other day unless Ha bridge was on port 80 and also the real hue bridge powered off.

still not working even with 5.1.0 ,,
hope will it fix soon

For me it is working Echo and echo dot both 2nd gen. It works since 5.1.0.
Port 8080
So thanks for the good job

Which device you use for HAbridge??

I use a Synology with Docker.

I'm nearly throwing the towel in.
Could someone take a look at my log file and see if something odd?
output.log

My new echo show doesn't detect either but, as I read on another thread, if I plug my version 1 dot in too then the devices are detected and the show can control them.

@Ordep What is the ip address of your echo?

@Ordep What is the ip address of your echo?

@bwssytems <IP_ADDRESS>

So, the echo goes through the whole upnp process correctly, asks for the list of lights and then asks for light 1 (which is patio in your case). Then it seems to go through searching for the bridge again..... I am at a loss here too. Maybe it is not liking what is in the return of the light request. Will take a look and see if there was a change in the Philips API.

I was looking at this in detail as well, and found that it did go thru all my devices and stopped.  What I did see that was odd, was that the echo had 2 threads talking to my code.   One went thru the devices, and the other just asked for the description.xml and closed 13 seconds later.
My thinking is that the echo is calling one of the hue cloud API’s to check or validate something during the 13 seconds and that fails.  Causing the discovery to fail.   I did go so far as to use the exact response from my V1 hub as the response in my code, to downplay any API issues.
I also have a V1 round hue hub, and it works with the echo.

On Dec 21, 2017, at 9:18 AM, BWS Systems<EMAIL_ADDRESS>wrote:
So, the echo goes through the whole upnp process correctly, asks for the list of lights and then asks for light 1 (which is patio in your case). Then it seems to go through searching for the bridge again..... I am at a loss here too. Maybe it is not liking what is in the return of the light request. Will take a look and see if there was a change in the Philips API.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

@NorthernMan54 Just to make sure I understand, in your Homebridge plugin for Alexa, it stops after it gets the device list and the fist device as well?

No, it goes thru all the lights and stops.  ( the full device list ).
When I compared it to my Dot, it goes thru the lights, then the groups.

On Dec 21, 2017, at 9:46 AM, BWS Systems<EMAIL_ADDRESS>wrote:
@NorthernMan54 Just to make sure I understand, in your Homebridge plugin for Alexa, it stops after it gets the device list and the fist device as well?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@NorthernMan54 Interesting. Maybe a little network snooping will need to be in order.

Where are you thinking of snooping between?  Echo and my code or echo and the internet?   I was thinking about that, and trying to see if what else the echo is talking to during device discovery.  And looked at the Philips API, which is https transport. And realized the most i might see is a ssl handshake.
It would prove my theory, but not get us any farther ahead.
I was actual thinking about going the skill based approach.

On Dec 21, 2017, at 12:09 PM, BWS Systems<EMAIL_ADDRESS>wrote:
@NorthernMan54 Interesting. Maybe a little network snooping will need to be in order.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@NorthernMan54 I do not have a 2nd gen echo so I am out for testing. And yes, snooping the echo IP and probably just the http packets would be the way to go.

Okay, I can do that but am away for a week.

On Dec 22, 2017, at 10:08 AM, BWS Systems<EMAIL_ADDRESS>wrote:
@NorthernMan54 I do not have a 2nd gen echo so I am out for testing. And yes, snooping the echo IP and probably just the http packets would be the way to go.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@NorthernMan54 No problem, we all do what we can when we can..... Thanks!

In a probably related case I had problems after throwing in a second echo. Everything was working well with my existing configuration with the two echos both able to use ha bridge devices until I added a new device to my configuration and started a new device discovery. It said it was not able to find any new devices. From then on, even the older, previously working devices were not working anymore.
Even after removing the new device and restarting the bridge several times I could not search for devices or use the old ones.
However I was able to fix it by disconnecting the second echo. Then I was able to find new devices and use them. Afterwards I reconnected the second echo and now I am able to use all the previously found devices.

Hi,
I have been trying for 4 days to get the Echo to find the bridge. I am on port 80. I have purchased an Echo 2 dot that was just delivered today in hopes that could find the bridge, but no luck.
Can anyone assist with getting this to work for me? I am trying to use Alex10 on Windows with the bridge and the creator of Alex10 has tried to help me and referred me here.
I am just using X10 modules and a Bond ceiling fan interface. Alexa finds the Bond ceiling fans but not the bridge.r
I saw the messages in the closed thread about adding a scene, but I am unfamiliar with how to do that.
Any help will be greatly appreciated.
Thanks
Ponti

So far, there have been mixed reports on Echo 2nd Gen working. It seems you may have to wait until a software update comes to your 2nd Gen Echo and unfortunately, there is no control over when that occurs.

Thank you,
I tried again this morning and for the first time I got a screen about pairing my lights (can't remember everything it said) but it still said no devices found) Never had that screen before.
I guess I have to wait for an update as I'm not sure how to add a scene (even if I can with just X10).
Thanks for the help

So V5.2.0 is out there and it has an update for upnp sending. Please try and see if your echo 2nd gen is working now.

No luck with V5.2.0 on my end.  Both my Echo 2nd gen and Dot 2nd gen cannot find any new devices with this update.

@Pontihog67 Please check in the bridge control tab what the upnp send delay is set to?

@bwssytems  upnp send is set to 650

Try 500 and if that is not working go up to 1000 and see what happens.

@bwssytems  Tried 500 and 1000 and Alexa did not discover my bridge.  Tried from the app also.

@bwssytems  Tried 500 and 1000 and Alexa did not discover my bridge.  Tried from the app also.

Just finished testing my Echo 2nd Gen and it finds the ha-bridge. One caveat for all of you out there. If you have 'Use Link Button' turned on in your security settings, you still need to hit the link button to get it to pair.

Still no luck here.  Must be something I'm doing wrong.  I can click on the bridge on and off and my my units will cycle on and off.   My firewall is open for java, but my echo 2nd gen will not find them.
Thanks for all of your help

No skills needed. It seems the 2nd gen is just a bit trickier on the discovery.
My scenario that seems to work:
** Make sure you have enabled the  'Use Link Button' in the ha-bridge security settings!

start discover on Alexa
press the link button on the ha-bridge 'Bridge Devices' tab
most likely this discover will not find anything
start discover on Alexa again
press the link button on the ha-bridge 'Bridge Devices' tab
after Alexa finishes, you should see your devices or new devices added

@bwssytems  Still no luck,  I guess it just won't work with my version.
Thanks for all your help anyway.

@Pontihog67 One last thing to try is going down to 100 for the upnp send delay

@bwssytems  Oh well, no luck with that either.  Has anyone else reported any success over the last couple of days?
Thanks again

@Pontihog67 There have been successes all along. I have a 2nd gen and it is working fine. Others have had success when I added the send delay. You may have other issues. Turn on traceupnp and try it and send the log and the ip address of your echo

It happens the same to me.
I have HA-Bridge installed in a Docker container in a Synology
The configuration of HA-Bridge is <IP_ADDRESS> and port 8080.
The echo dot 2 has the ip <IP_ADDRESS>
ha-bridge.log

@bwssytems   Do I turn on Trace UPNP Calls by clicking the false box?
I'm really not sure where to find the log file other than the log tab, but it doesn't look like the ha-bridge.log that is in the message above.

@Jenjis486 Port 8080 is not the suggested port to use. Please change it to 80.
@Pontihog67 The logs in the log tab will be fine. Jut cut and past it into a text file, then post.

@Jenjis486 You have an issue with your setup where it is using the <IP_ADDRESS> network.

@bwssytems   The bridge is running on <IP_ADDRESS>  The echo is <IP_ADDRESS>  The echo dot <IP_ADDRESS>.
habridgelog.txt

I can not use port 80 because Synology uses it, so I want to use port 8080
The <IP_ADDRESS> network is my vpn access to the computer, but the local network is <IP_ADDRESS>

@Jenjis486 Well the first problem is your ha-bridge is picking up your VPN address, this needs to be configured in the settings to be your local ip address. https://github.com/bwssytems/ha-bridge/wiki/Trouble-Shooting#q-echo-does-not-discover-my-ha-bridge

@Pontihog67 You still need to turn on trace upnp in the Bridge Control Tab first. Then do a discover after so it generates the trace messages.

@bwssytems. I guess you missed my question before.  Not sure how to turn it on, I just see a clickbox for "false" for Upnp trace.  Do I tick that?
Thanks

Yes

@bwssytems
I'll try again
habridgelogmarch14.txt

@Pontihog67 you have this error:
03-14-2018 17:26:52.188 	WARN 	The upnp config address, localhost, does not match any known IP's on this host. 	com.bwssystems.HABridge.BridgeSettings

So you did not follow the troubleshooting faq. You still need to set your upnp config address to the ip of your host, <IP_ADDRESS>.

Missed that!   That was it, Thanks for all the help

@haymaan Is your issue resolved?

Still can't discover any thing....change my HAbridge from Synology to raspberry no success

@haymaan please read the trouble shooting faq referenced above and install version 5.2.0

Okey I'll reinstall and read it again..
Thanks will keep you updated

He realizado una instalación limpia en una Raspberry (<IP_ADDRESS>), donde he instalado Domoticz y HaBridge, este en el puerto 80.
Sigo teniendo el mismo problema. Te adjunto el fichero de logs.
Puede ser que tenga un problema en mi Echo Dot 2. Lo compre en UK, pero lo tengo funcionando en España?
habridge-log.txt

Sorry,
I have done a clean installation on a Raspberry (<IP_ADDRESS>), where I installed Domoticz and HaBridge, this on port 80.
I'm still having the same problem. I attached the log file.
Maybe I have a problem with my Echo Dot 2. I buy it in the UK, but I have it working in Spain?
habridge-log.txt

@Jenjis486 I will assume the echo dot you have is on IP address <IP_ADDRESS>. So you will need to try the steps in the Trouble Shooting faq for using the link button. It is the 5th bullet point in https://github.com/bwssytems/ha-bridge/wiki/Trouble-Shooting#q-echo-does-not-discover-my-ha-bridge

No. The ip <IP_ADDRESS> in the NAS Synology, the IP of Echo Dot 2 is in the IP <IP_ADDRESS> and the HaBridge server in the IP <IP_ADDRESS>.
When reviewing the log file, I have not seen this IP ask.
I do not know if it's configuration of my Echo Dot 2

@Jenjis486 Interesting, the echo dot is not even asking. This should happen. Is there some network settings to check on your router such as allowing upnp traffic?

@Jenjis486 This also needs to be considered if on a synology https://github.com/aptalca/docker-ha-bridge/issues/13

Hi everybody,
I have the same problem. HA-Bridge running on a Synology NAS on port 8081 (Port 80 is already used) without docker. Try everything from the trouble shooting guide except the Port 80 because I can't. My Echo dot (second gen) can't find the bridge. I'm running version 5.2.1.
Here the logs
Log.txt

Hi,
I run HA-Bridge 5.2.1 on a raspberry on port 80. I also tried the troubleshooting guide (IGMP off, UPNP on, 2x search,...), changed the UPNP delay, enabled the link button, recreated the device (currently, I just have one for testing) and still can't find the device in the Alexa app.
Under Manage Links, there is a Echo entry:
Echo#<IP_ADDRESS> | 2018-03-18T20:28:20
I already removed it again, retried to find devices and the entry was there again.
Echo IP: <IP_ADDRESS> PI IP: <IP_ADDRESS>
The device works in the web UI.
Logs (tried to find devices 3x this time):
habridge-log.txt
Thank you!

I have several Philips Hue that has detected the Echo Dot 2 without any problem.
The only thing I have not managed to do is add Ha-Bridge, neither the Synology with Docker (port 8080), nor in the Raspberry (port 80).
I'm going to install a network analyzer and review the IP frames.
But reviewing the comments, I see that this problem we have enough users. In my case the Echo Dot buy it in the UK, although I use it in Spain, but configured with UK address

@Jenjis486 It seems your issue is about networking. Currently, all 2nd gen device issues are resolved. One question for you, are you trying to control a device on a remote network?

Just to let you know guys... my problem with ha-bridge v5.2.1 and echo dot 2nd gen not working was the firewall (iptables, in my case). Even after running on port 80, upnp delay set to 100, "Use link button" turned on, allowed tcp/udp ports 80 and 50000 etc... the discovery from Alexa app didn't work. I had to allow all traffic in my subnet in order to getting the devices recognized by echo dot 2. As this imposes a (small) security risk, I still would like to know the exact rules/ports needed to ha-bridge in order to communicate successfully with Amazon echo devices... Great job anyway.

Good morning, I continue with my tests.
I installed Ha-Bridge on a raspberry (<IP_ADDRESS>) on port 80 and I have the Echo Dot 2 (<IP_ADDRESS>). When analyzing traffic on the raspberry using tcpdump, I do not see Upnp UDP discovery frames sent by the Echo (port 1900).
Other discovery frames of other computers are seen on the network, so the network is not cutting off that traffic.
All security is disabled.
I have set the Echo factory, so I do not know what else I can do.
I have the Echo configured in the UK, with my Amazon account in the UK.
If it occurs to you that can happen to me, I would appreciate it.
Regards,

The only thing I do is set up the computer remotely, through a tunnel from my office, but I do the same from home and it does not work either.
The Echo Dot 2 discovered a Philips Hue gateway without problem.

@Jenjis486 So, Still confused here. IS your echo in a physical location at a home in the UK while your raspberry Pi is in a location in Spain over a bridged network?

No. Alexa has not arrived in Spain. I bought the Echo DOt 2 in the UK; but I have it installed in Spain, in the same physical location as the raspberry.
The Echo is connected by Wifi and the raspberry by cable to a router Aus RT-AC1200G +.
I have registered the Echo in the Amazon account of UK to be able to use it and in that account I have the UK address. Yesterday I was resetting factory, but I could not finish the configuration.

@Jenjis486 Please post your ha-bridge.conf

Hi guys, so I tried using the latest version of habridge with my Echo gen 2 bought in India and it did not discover devices. However, when I reverted to the older version (v3.5.1) I was able to discover devices. I haven't run any debugging but the biggest difference in terms of settings is with respect to the server.ip. In v3.5.1 I am using the following command at startup to run:

nohup /storage/java/bin/java -jar -Dconfig.file=/storage/data/habridge.config -Dserver.ip=<IP_ADDRESS> /storage/ha-bridge-fibaro.jar

and in the latest I had to use this to run habridge

nohup /storage/java/bin/java -jar -Dconfig.file=/storage/data/habridge.config -Dserver.ip=<IP_ADDRESS> -Dserver.port=80 /storage/ha-bridge-fibaro-latest.jar

Not sure if this is helpful in anyway but I thought I should share this here..

Hi guys, I have faced similar problems in getting Echo Gen 2 (India) to work with ha-bridge. However, I recently stumbled onto a solution. When I reverted my ha-bridge version to v3.5.1 (which was originally installed on my pi) from v.5.2.0 my Gen 2 Echo was able to discover devices immediately. I changed the installed version a couple of times more and the behaviour has been consistent - discovery works on v3.5.1 and fails on the latest.

@Jenjis486 You synology habridge is running on port 8080. Try port 80. Does your Pi habridge work properly?

No. I have the same problem as Synology. I have Ha Bridge configured on the Raspberry, connected to Dmoticz, and I can not get my Echo Dot 2 to recognize any signal

@Jenjis486 If you would please, turn on tracupnp on your Pi and post the logs.

@Jenjis486 Also, don't forget the discovery while traceupnp is on....

Is it possible to get a copy of a successful log showing a successful discovery.  I don't get an devices listed in Alexa however it does allow me to control the devices added in haBridge with voice (dot 2).  I'm assuming that it has discovered the devices but I just cant see them listed in Alexa.  New to all this btw so apologies if I'm missing something.

@sarge31 So you do not see them in the alexa app or the alexa web page under smart home devices?

@bwssytems  Correct.  They do not appear in the devices under smart home (app or web page) but are definitely recognised when I tell alexa to turn them on or off.  I originally thought this was how it was meant to be since there was no skill associated but from reading this thread it seems I might have an issue.

Disregard.  Re-registered the dot and it now displays the devices under smart home.

I am closing this as the synology issue has been resolved. All discovery issues have been discussed as well and they all have solutions.


What is the purpose of the EqualOperator and NotEqual Operator in ValueObjects?

Add more information about the purpose of the EqualOperator and NotEqualOperator. When are they called, why are they protected? There is also a StackOverflow question about this (the currently only answer does not answer the question).

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

ID: 70b14bbb-dc66-f1a2-8b14-39ef3b4bde1d
Version Independent ID: cf912666-9ad3-1673-8f69-6bf52c034ef9
Content: Implementing value objects
Content Source: docs/architecture/microservices/microservice-ddd-cqrs-patterns/implement-value-objects.md
Product: dotnet-architecture
Technology: microservices
GitHub Login: @nishanil
Microsoft Alias: nanil

There was already an issue about the same question: #22767
This was closed by @IEvangelist in #27040 but it seems like that PR did not only not answer the question, but even make it more confusing by not using EqualOperator and NotEqualOperator in the overloaded == and != operators 😕

Hi @jasdefer and @cremor - this content has evolved over the years. Since C# now provides positional record types, I would never use something like the ValueObject mentioned here. Additionally, it's probably just an oversight from the previous changes, but I'd assume the desired update would be to adjust the actual operator implementations as follows:
public static bool operator ==(ValueObject one, ValueObject two)
{
    return EqualOperator(one, two);
}

public static bool operator !=(ValueObject one, ValueObject two)
{
    return NotEqualOperator(one, two);
}

Thoughts?

@IEvangelist Thanks for you thoughts. Should the docs be updated, if records are prefered? Jason Taylor uses ValueObjects in his Clean Architecture Template.

@IEvangelist Thanks for you thoughts. Should the docs be updated, if records are prefered? Jason Taylor uses ValueObjects in his Clean Architecture Template.

@jasdefer - There is a fundamental difference between the ValueObject and the record type:

The ValueObject is an abstract class and that means it requires the GetEqualityComponents method to be defined.

The record type requires subclasses that are also records.

error CS8865: Only records may inherit from records.

Should the docs be updated, if records are preferred?

The short answer is "no". This is based on an eBook and a pattern used throughout a sample app. Not everything can be a record.
With positional records you get immutable structures with value comparison semantics, and "with" expressions, which is amazing. You cannot do that with ValueObject. The benefit of using the ValueObject is that you get value comparison semantics, you see they have similar benefits but different requirements.

I was researching about this very same topic and found this. I think they're not using records in those samples because EF Core doesn't work very well (yet?) with records. So instead the implementation is performed with classes in order to also be able to work with EF Core more transparently.


Allow BTC In Crowdsales

This PR enables the use of Bitcoin as a funding source in crowdsales.
This is currently a WIP/placeholder, but should be functional.
Current test results:
Preparing a test environment...
   * Starting a fresh regtest daemon
   * Preparing some mature testnet BTC
   * Obtaining a master address to work with
   * Funding the address with some testnet BTC for fees
   * Participating in the Exodus crowdsale to obtain some OMNI
   * Generating addresses to use

Testing a crowdsale using BTC before activation...
   * Creating an indivisible test property and opening a crowdsale
     # Checking the transaction was invalid... PASS

Activating v2 crowdsales (allow BTC)...
   * Sending the activation
     # Checking the activation transaction was valid... PASS
   * Mining 10 blocks to forward past the activation block
     # Checking the activation went live as expected... PASS

Testing crowdsales using BTC after activation...

Testing an indivisible BTC crowdsale...
   * Creating an indivisible test property and opening a crowdsale
     # Checking the transaction was valid... PASS

Testing sending a BTC payment to the crowdsale...
   * Sending some BTC to mkxYY4KGgyBKgsXqgjEj75bsh4yxd2Kx1n
   * Sending some BTC from mkxYY4KGgyBKgsXqgjEj75bsh4yxd2Kx1n to the crowdsale
     # Checking the transaction was valid... PASS
     # Checking the payment was linked to the correct transaction... PASS
     # Checking the payment was linked to the correct recipient... PASS
     # Checking the payment amount was 0.1 BTC... PASS
     # Checking the sending address now has 100 of property 3... PASS
     # Checking the transaction is listed in crowdsale participants... PASS
     # Checking the crowdsale amount raised is now 0.1 BTC... PASS
     # Checking the amount of tokens issued to users is now 100... PASS
     # Checking the amount of tokens issued to uthe isuser is still 0... PASS

Testing a divisible BTC crowdsale...
   * Sending some BTC to mz41y8JmRuU3JujMx5cua2rHATsy3nfsj9
   * Sending some BTC to msbm3v3HUtJzpL9u5iZ2uGUVv5CPySAzqF
   * Creating a divisible test property and opening a crowdsale
     # Checking the transaction was valid... PASS
   * Sending some BTC from msbm3v3HUtJzpL9u5iZ2uGUVv5CPySAzqF to the crowdsale
     # Checking the transaction was valid... PASS
     # Checking the payment was linked to the correct transaction... PASS
     # Checking the payment was linked to the correct recipient... PASS
     # Checking the payment amount was 0.1 BTC... PASS
     # Checking the sending address now has 100.0 of property 4... PASS
     # Checking the transaction is listed in crowdsale participants... PASS
     # Checking the crowdsale amount raised is now 0.1 BTC... PASS
     # Checking the amount of tokens issued to users is now 100.0... PASS
     # Checking the amount of tokens issued to uthe isuser is still 0... PASS

####################
#  Summary:        #
#    Passed = 23   #
#    Failed = 0    #
####################

Hey @zathras-crypto, thanks for pushing this!
I'm a bit surprised by the title: are you suggesting we should adopt this for 0.0.11?

Sorry my bad, that came from my branch name - nope not intended for 0.0.11.  I've fixed the title now :)


Adding documentation examples in the PR template

There are more places to add documentation than in the kedacore docs repository, so this PR adds those examples to the PR template.
Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO)

Thanks @tomkerkhove


Using darkroom.addEventListener right after instantiation

I'm having a problem with adding event listeners to the element. At the start of my code, I'd like to add it like so:
var darkroom = window.darkroom = new Darkroom('.my-element', {});
darkroom.addEventListener('image:change', function() {});

The problem is that the image hasn't loaded yet. I don't see a way for me to do this properly. Currently I'm using a setTimeout, but it's too unreliable. Is there another way to do this?
Perhaps darkroom.canvas can be instantiated before the image is done loading?

My solution was to use a timeout loop. Probably a horrible solution, ideally the lib allows for a callback in the constructor.
(function waitForInit() {
  if($(".darkroom-icon-crop").length > 0) {
    darkroom.addEventListener('image:change', function() {});
  } else {
    setTimeout(waitForInit, 50);
  }
})();

Your condition for resetting the loop would probably need to change, but the idea is valid.

There is an initialize() method to call things after darkroom is instancied:
var darkroom = new Darkroom('.my-element', {
  initialize: function() {
    this.addEventListener('image:change', function() { /* ... */ });
  }
});

JavaScript is asynchronous ;)

Well, then. I didn't see that documented anywhere, that would've helped. Should be added to the README.md.
Thanks!

You're right. I've completed example in readme: cd688c5


Using Lambdas instead of Anonymous Class

Describe the issue
I wonder why Lambda expressions are not used in place of Antonymous Class where applicable. for instance, the following snippet from firestore :
    final DocumentReference docRef = db.collection("cities").document("SF");
    ApiFuture<String> transaction =
        db.runTransaction(
            new Transaction.Function<String>() {
              @Override
              public String updateCallback(Transaction transaction) throws Exception {
                DocumentSnapshot snapshot = transaction.get(docRef).get();
                Long newPopulation = snapshot.getLong("population") + 1;
                // conditionally update based on current population
                if (newPopulation <= 1000000L) {
                  transaction.update(docRef, "population", newPopulation);
                  return "Population increased to " + newPopulation;
                } else {
                  throw new Exception("Sorry! Population is too big.");
                }
              }
            });

Can be converted into:
    final DocumentReference docRef = db.collection("cities").document("SF");
    ApiFuture<String> transaction =
        db.runTransaction( transaction1 -> {
                  DocumentSnapshot snapshot = transaction1.get(docRef).get();
                  Long newPopulation = snapshot.getLong("population") + 1;
                  // conditionally update based on current population
                  if (newPopulation <= 1000000L) {
                    transaction1.update(docRef, "population", newPopulation);
                    return "Population increased to " + newPopulation;
                  } else {
                    throw new Exception("Sorry! Population is too big.");
                  }
                });

The code is now less verbose, and easier to read.
Is keeping the samples compliant with java7 needed?

Sometimes yes, Java 7 is needed. It depends on the product.

So for this repo we currently target all the samples in Java 8 (unless it's a specific to a Java version like App Engine), but we also don't actively go back and update existing samples. This sample was likely written for Java 7.
Feel free to PR changes if interested.

Sure. Will look into that, at least for the samples I came across.

FWIW in cases like this I think the most readable and clearest option is to use non-anonymous, non-lambda, outer classes. Both lambdas and inner classes prioritize writability over readability.

I see your point. I think since the goal of the samples is to showcase the usage of services, making the code in one block and keeping it short and concise is what users would usually want to get started.


AffID is printing out in hex

The Affiliate ID is being printed to stdout with the hex value, not the actual decimal value for the affiliate:
Line 609 in Locky_Dump_main.c
printf("affilID: %X\n", ConfigStart->affilID);

The hex value is how we are tracking samples internally.

Roger that - thanks for getting back to me.