Feature Request: Allow EventSub WS consumers to attach listeners to onConnect/onDisconnect/onReconnect

I'm using Twurple in my frontend for EventSub Websocket subscriptions, and I'd like to be able to notify to the end user whether the websocket connection is functional.
Right now, after getting the confirmation that my connection+subscription was established, I change the UI to let the user know the program is ready to be used, but I have no way to inform them when  the connection was disrupted.
As a workaround, I'm listening to offline events to let them know something went wrong and they might have to refresh the page, but since this library can already auto-reconnect+resubscribe (really nice QoL btw!), it would be more convenient for them if I just updated the UI when this reconnection happened.

In 6.0, each user gets a separate socket. Therefore this is a bit less trivial.
Would it make sense to fire the events with the user ID as parameter?
Also, I don't think I'd add onReconnect. Instead I'd just trigger another onConnect when reconnecting, as the underlying library already does the same.

I wasn't aware about there being multiple sockets. In that case, the library consumers would need to be able to identify which one lost connectivity. Since you said each user gets a separa socket, I think it makes sense to use the userId as a proxy for the socket identifier.
And not providing onReconnect is fine, I think that can be implemented on userland (would just be a flag like wasAlreadyConnected that gets checked on onConnect).

While we're on the topic of providing information to the end user, I noticed that in 6.0 I don't have a way to know if the subscriptions were established or not. There's onSubscriptionCreateFailure for failures, but there's no such equivalent for successes.
In 5.0 I could wait until the subscription promise resolved/reject to decide whether to show the end user. Would it also be possible to expose this "subscriptionCreateSuccess" event?

In hindsight, I think what I'm interested in is not the websocket state, but the subscriptions state. Knowing the websocket connection was opened but not knowing if the subscription went though is pretty much useless

Well, you still need a disconnect event to cover transitioning to that state from an existing established connection, even if you say you don't. I'm adding connect/disconnect events in the next patch.
I don't see the utility of adding a new event for this. On receiving a connect event, consider all existing subscriptions as "being recovered". New subscription objects are returned immediately (synchronously) when any EventSub subscription method is called.
Will be added.
Already exists as onSubscriptionCreateFailure, as you noticed. Also, another possible way to transition to this state (from "subscribed") would be onRevoke.


[WIP] Feat #1969

Fixes #1969
Changes proposed in this pull request:

New component PageComponent (Shows: Previous Button, Current Page Number, Next Button)
PageRequest Interface
Wrap Patient[] in Page<Patient>
Add index on Patient
Add methods searchPaged and findAllPaged in PatientRepository
Changes in test cases

Added methods searchPaged and findAllPaged in PatientRepository to avoid any breaking changes in other Components.
Once changes looks good, searchPaged can be replaced with serach and findAllPaged with findAllPaged respectively and paging can be extended to Labs.

@jackcmeyer is your change request still valid?

@akshay-ap do you need help?

@akshay-ap do you need help?

Any kind of help will be welcome!!! Code review, contribution, suggestions for this PR. :)


update clob fields

if you update a clob field, the clob contentes will appear in the redo_sql , not in data section in json.
"SQL_REDO": "update "XTHIS"."TESTA" set "CL" = 'aaaaaaaaa'      ' where "DRUG_CODE" = '1'",
"OPERATION": "UPDATE",
"data": {
"DRUG_CODE": "1",
"CODE1": null,
"C": null,
"CL": null
},
"before": {
"DRUG_CODE": "1",
"CODE1": null,
"C": null,
"CL": null
}

Hi,
Because of CLOB column which is  updated is  not in where expressions  , capture can not write it  data section. Capture assumes all columns are in where . Connector needs development for this issue . I am taking this issue to plan.
Thanks.

thanks for your reply.


Rework files for asset checking

@samnang @robwise Thoughts?

lib/react_on_rails.rb, line 16 [r2] (raw file):
As I remember, invoke is most common method for callable objects in Java or C#, but it's not so common in Ruby community.

Comments from the review on Reviewable.io

Review status: 0 of 5 files reviewed at latest revision, 1 unresolved discussion.

lib/react_on_rails.rb, line 16 [r2] (raw file):
ReactOnRails.ensure_assets_compiled looks better.
Agree?

Comments from the review on Reviewable.io

This ONE is READY....

Reviewed 20 of 21 files at r3.
Review status: all files reviewed at latest revision, 2 unresolved discussions.

node_package/src/StoreRegistry.js, line 76 [r3] (raw file):
What's this file?

Comments from the review on Reviewable.io

See #253


When the first folder is empty and opened, we cannot select it with the arrow keys

When the group custom_variables is expanded, and I select the first down item, I can no longer go up

Done


Investigate Adding a CMakePresets.json File

Just realized that this file is not a Visual Studio specific add-on but an actual official CMake meta .json file.
We can use it to have better support in various programs in both Windows and Linux. Part of the trouble though is that it doesn't allow us to run scripts before or after cmake is called.
We have one script in particular that right now cannot be called in the cmake config time through execute_process, and that is the make_cmake_lists tool. It can't be run in the config time because it would try to update the top cmakelists of the project. So if we stop altering that file in the tool and instead move the dynamically generated part to another cmakelists file, such as in nkr_tests folder where it would be most appropriate, then we can probably get away with doing some of the scripts in the cmake config time, but not all. We wouldn't be able to do the test scripts and I don't have an interest trying to hook into CTest.
However, we could just leave that functionality in the build script itself and have the first part pertaining to the actual generation process handled by the CMakePresets.json file.

Okay after the last couple of commits I can confirm that using the execute_process function in CMake does work for our updated tools. That means that no matter the meta program calling cmake, these scripts that need to occur before config time (or right at the start technically) will be called.
This means we should be able to start making a CMakePresets.json file.


SPFx Command Set Extension does not fire onListViewUpdated when navigating to/from folders

Category

[x] Bug

Expected or Desired Behavior
The onListViewUpdated event should fire when the user navigates to or from a folder in a list view.
Observed Behavior
The onListViewUpdated event does not fire when the user navigates to or from a folder in a list view..
Steps to reproduce
Create a command set extension
Add an alert dialog in the onListViewUpdated event handler
Test the command set extension
The alert dialog will show on initial load or when selecting/deselecting items but it will not show when navigating to/from folders.
This bug is related to #5034
Demo link:
https://user-images.githubusercontent.com/5740654/71101049-1205ef80-2184-11ea-97c0-331ce709438f.gif

Dito same problem. Our command button is displayed based on the permissions of the user on the current folder. When navigating to a subfolder we want to check the permissions again. Currently this is not possible.

This should be WW now.


Version 2.0 availability

the new version only appears available in HACS is if I show BETA ?

I think that's because it's a draft release? I upgraded to master because I wasn't sure how to enable the beta mode.. I'm unable to authenticate to amazon. The dialog appears and I hit confirm then it's empty and disappears and no devices show up. I've deleted the pickle file

I ran into an issue on my production server where I couldn't log in anymore so I stopped the general release. Let me know if it works for you and provide your system info.
0.97.2 and python 3.6 running on venv had the issue.

All worked well for me on the reboot on V2.0
but it worked after i did what i did on 1.4.1
my system is the same as yours
i did have the issue before so i don't think the difference in the python version has anything to do with it.
what i suspect is that the login session expired and it needed to be redone. but at the same time the bluetooth query was throwing up an error. remove the bluetooth, allow the regen of the login and pickle file. re-enable the bluetooth. and all is well.
But i'm no expert
arch | x86_64

dev | false
docker | true
hassio | true
os_name | Linux
python_version | 3.7.4
timezone | Australia/Sydney
version | 0.97.2
virtualenv | false

I went ahead and released it as it may have been an Amazon issue. Tried it again tonight without changes and the login started working again. I'll do a post about it assuming we don't get massive problems reported.

I agree it felt like an Amazon issue.
All good.
Sent from my Samsung Galaxy smartphone.
-------- Original message --------
From: Alan Tse<EMAIL_ADDRESS>Date: 23/8/19 3:48 pm (GMT+10:00)
To: keatontaylor/alexa_media_player<EMAIL_ADDRESS>Cc: George Georgas<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [keatontaylor/alexa_media_player] Version 2.0 availability (#297)
I went ahead and released it as it may have been an Amazon issue. Tried it again tonight without changes and the login started working again. I'll do a post about it assuming we don't get massive problems reported.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/keatontaylor/alexa_media_player/issues/297?email_source=notifications&email_token=AMNWOQO7ZXOOPMB4CDIUYDLQF522XA5CNFSM4IOSIZM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD47F7EY#issuecomment-524181395, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMNWOQIGY7T6534WSRGZAZLQF522XANCNFSM4IOSIZMQ.

Hi there. Thanks for your hard work on this project. Since upgrading to v2.0 I'm getting a "Setup of alexa_media is taking over 10 seconds"; however, I can't see any additional info clicking "LOAD FULL HOME ASSISTANT LOG". I've installed via HACS. Uninstalled and reinstalled a couple times and still get the message. When I revert to 1.4.1 the message goes away.

Enable debugging for alexapy and maybe hacs. I've seen this if HACS crashes for some reason. It will take down HA and you won't see anymore logs.
Alternatively you can try renaming your pickle file to see if a new login helps.

Renamed pickle, restarted, went through fresh login with captcha, followed by two-factor authentication.  No "Setup of alexa_media is taking over 10 seconds" error. Promising. But on restart, the message returned in logs. Seeing about turning on debugging and will report back.

I have a problem.
I dont see chaptcha.
I would to bei downgrade to 1.41 where I find it ?

Hello,
I'm seeing the version in HACS but face the following message: "You have version '0.97.2' of Home Assistant, but version 'v2.0.0' of 'Alexa Media Player' require version 'None' of Home Assistant, installation and upgrades are disabled for this integration untill you upgrade Home Assistant."
Do you know how to resolve this? It simply won't install.
Thanks

Hello,
Just leaving this here. This message appears when you clone the master branch for install. Install instructions are here for HACS: https://hacs.netlify.com/installation/manual/
Following this solves the issue!
Cheers

Sorry for the delay in posting my log file. I've updated to 2.0.1 and am still getting the same message as before:
2019-09-01 14:07:48 INFO (MainThread) [custom_components.alexa_media]
-------------------------------------------------------------------
alexa_media
Version: 2.0.1
This is a custom component
If you have any issues with this you need to open an issue here:
https://github.com/custom-components/alexa_media_player/issues
-------------------------------------------------------------------

2019-09-01 14:07:48 INFO (MainThread) [custom_components.alexa_media] Loaded alexapy==1.0.1
2019-09-01 14:07:50 DEBUG (MainThread) [custom_components.alexa_media] Testing login status: {'login_successful': True}
2019-09-01 14:07:50 DEBUG (MainThread) [custom_components.alexa_media] Setting up Alexa devices
2019-09-01 14:07:50 DEBUG (MainThread) [custom_components.alexa_media]<EMAIL_ADDRESS>Websocket created: <alexapy.alexawebsocket.WebsocketEchoClient object at 0x7eff2e1dd410>
2019-09-01 14:07:54 DEBUG (MainThread) [custom_components.alexa_media]<EMAIL_ADDRESS>Websocket succesfully connected
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media]<EMAIL_ADDRESS>Found 26 devices, 1 bluetooth
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for B************15P
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for B************15P
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for B************1KE
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for B************1KE
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for G************07K
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for G************07K
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for G************173
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for G************173
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for G************N6B
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for G************N6B
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for G************Q3B
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for G************Q3B
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for G************CTF
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for G************CTF
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for G************42W
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for G************42W
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for G************42J
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for G************42J
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for G************QCA
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for G************QCA
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for 1****************************b8c
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for 1****************************b8c
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for a****************************ecd
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for a****************************ecd
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for 3****************************468
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for 3****************************468
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for 7****************************c73
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for 7****************************c73
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for G************M32
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for G************M32
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for 6****************************008
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for 6****************************008
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for f****************************8c6
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for f****************************8c6
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for 6****************************749
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for 6****************************749
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for d****************************9e7
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for d****************************9e7
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for 8****************************87c
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for 8****************************87c
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for c****************************a29
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for c****************************a29
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for e****************************2a3
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for e****************************2a3
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for 6****************************3dc
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for 6****************************3dc
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for G************F9T
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for G************F9T
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for 5****************************F94
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for 5****************************F94
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] Locale en-us found for B****************************346
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media] DND False found for B****************************346
2019-09-01 14:07:59 DEBUG (MainThread) [custom_components.alexa_media]<EMAIL_ADDRESS>Existing: [] New: ['Guest Room Echo', 'Bedroom Echo', 'Bathroom Echo Dot', 'My Dash', 'Entryway Echo Dot', 'Dining Room Echo Dot', 'Living Room Echo Dot', 'Garage Echo Dot', "Matthew's 5th Echo Dot", 'Kitchen Echo Dot', 'Bedroom', 'Kitchen', 'Living Room', 'Dining Room', 'Closet Echo Dot', 'Garage', 'Backyard 2', 'Backyard 1', "Matthew's Roav Car Charger", 'Backyard 3', 'Hot Tub', "Matthew's Sonos One Second Edition", 'Backyard Beam', "Matthew's Fire", 'This Device', "Matthew's Alexa Apps"]; Filtered by: include_devices: [] exclude_devices:[]
2019-09-01 14:08:00 DEBUG (MainThread) [custom_components.alexa_media]<EMAIL_ADDRESS>Updated last_called: {'serialNumber': 'G************N6B', 'timestamp':<PHONE_NUMBER>714}
2019-09-01 14:08:00 DEBUG (MainThread) [custom_components.alexa_media]<EMAIL_ADDRESS>last_called changed:  to {'serialNumber': 'G************N6B', 'timestamp':<PHONE_NUMBER>714}
2019-09-01 14:08:00 DEBUG (MainThread) [custom_components.alexa_media.switch] Loading switches
2019-09-01 14:08:00 DEBUG (MainThread) [custom_components.alexa_media.switch] Media Players not loaded yet; delaying load
2019-09-01 14:08:00 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Guest Room Echo
2019-09-01 14:08:00 DEBUG (MainThread) [custom_components.alexa_media.media_player] Guest Room Echo: Last_called check: self: B************15P reported:
2019-09-01 14:08:00 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Bedroom Echo
2019-09-01 14:08:00 DEBUG (MainThread) [custom_components.alexa_media.media_player] Bedroom Echo: Last_called check: self: B************1KE reported:
2019-09-01 14:08:00 DEBUG (MainThread) [custom_components.alexa_media.alarm_control_panel]<EMAIL_ADDRESS>No Alexa Guard entity found
2019-09-01 14:08:00 DEBUG (MainThread) [custom_components.alexa_media.alarm_control_panel]<EMAIL_ADDRESS>Skipping creation of uninitialized device: <Entity Alexa Guard: None>
2019-09-01 14:08:00 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Bathroom Echo Dot
2019-09-01 14:08:00 DEBUG (MainThread) [custom_components.alexa_media.media_player] Bathroom Echo Dot: Last_called check: self: G************07K reported:
2019-09-01 14:08:00 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Entryway Echo Dot
2019-09-01 14:08:00 DEBUG (MainThread) [custom_components.alexa_media.media_player] Entryway Echo Dot: Last_called check: self: G************N6B reported:
2019-09-01 14:08:00 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Dining Room Echo Dot
2019-09-01 14:08:00 DEBUG (MainThread) [custom_components.alexa_media.media_player] Dining Room Echo Dot: Last_called check: self: G************Q3B reported:
2019-09-01 14:08:01 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Living Room Echo Dot
2019-09-01 14:08:01 DEBUG (MainThread) [custom_components.alexa_media.media_player] Living Room Echo Dot: Last_called check: self: G************CTF reported:
2019-09-01 14:08:01 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Garage Echo Dot
2019-09-01 14:08:01 DEBUG (MainThread) [custom_components.alexa_media.media_player] Garage Echo Dot: Last_called check: self: G************42W reported:
2019-09-01 14:08:01 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Kitchen Echo Dot
2019-09-01 14:08:01 DEBUG (MainThread) [custom_components.alexa_media.media_player] Kitchen Echo Dot: Last_called check: self: G************QCA reported:
2019-09-01 14:08:01 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Bedroom
2019-09-01 14:08:01 DEBUG (MainThread) [custom_components.alexa_media.media_player] Bedroom: Last_called check: self: 1****************************b8c reported:
2019-09-01 14:08:02 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Kitchen
2019-09-01 14:08:02 DEBUG (MainThread) [custom_components.alexa_media.media_player] Kitchen: Last_called check: self: a****************************ecd reported:
2019-09-01 14:08:02 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Living Room
2019-09-01 14:08:02 DEBUG (MainThread) [custom_components.alexa_media.media_player] Living Room: Last_called check: self: 3****************************468 reported:
2019-09-01 14:08:03 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Dining Room
2019-09-01 14:08:03 DEBUG (MainThread) [custom_components.alexa_media.media_player] Dining Room: Last_called check: self: 7****************************c73 reported:
2019-09-01 14:08:03 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Closet Echo Dot
2019-09-01 14:08:03 DEBUG (MainThread) [custom_components.alexa_media.media_player] Closet Echo Dot: Last_called check: self: G************M32 reported:
2019-09-01 14:08:03 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Garage
2019-09-01 14:08:03 DEBUG (MainThread) [custom_components.alexa_media.media_player] Garage: Last_called check: self: 6****************************008 reported:
2019-09-01 14:08:03 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Backyard 2
2019-09-01 14:08:03 DEBUG (MainThread) [custom_components.alexa_media.media_player] Backyard 2: Last_called check: self: f****************************8c6 reported:
2019-09-01 14:08:03 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Backyard 1
2019-09-01 14:08:03 DEBUG (MainThread) [custom_components.alexa_media.media_player] Backyard 1: Last_called check: self: 6****************************749 reported:
2019-09-01 14:08:04 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Backyard 3
2019-09-01 14:08:04 DEBUG (MainThread) [custom_components.alexa_media.media_player] Backyard 3: Last_called check: self: 8****************************87c reported:
2019-09-01 14:08:04 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Hot Tub
2019-09-01 14:08:04 DEBUG (MainThread) [custom_components.alexa_media.media_player] Hot Tub: Last_called check: self: c****************************a29 reported:
2019-09-01 14:08:04 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Matthew's Sonos One Second Edition
2019-09-01 14:08:04 DEBUG (MainThread) [custom_components.alexa_media.media_player] Matthew's Sonos One Second Edition: Last_called check: self: e****************************2a3 reported:
2019-09-01 14:08:04 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Backyard Beam
2019-09-01 14:08:04 DEBUG (MainThread) [custom_components.alexa_media.media_player] Backyard Beam: Last_called check: self: 6****************************3dc reported:
2019-09-01 14:08:05 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing This Device
2019-09-01 14:08:05 DEBUG (MainThread) [custom_components.alexa_media.media_player] This Device: Last_called check: self: 5****************************F94 reported:
2019-09-01 14:08:05 DEBUG (MainThread) [custom_components.alexa_media.media_player] Adding [<Entity Guest Room Echo: standby>, <Entity Bedroom Echo: standby>, <Entity Bathroom Echo Dot: standby>, <Entity My Dash: standby>, <Entity Entryway Echo Dot: standby>, <Entity Dining Room Echo Dot: standby>, <Entity Living Room Echo Dot: standby>, <Entity Garage Echo Dot: standby>, <Entity Matthew's 5th Echo Dot: standby>, <Entity Kitchen Echo Dot: standby>, <Entity Bedroom: standby>, <Entity Kitchen: standby>, <Entity Living Room: standby>, <Entity Dining Room: standby>, <Entity Closet Echo Dot: standby>, <Entity Garage: standby>, <Entity Backyard 2: standby>, <Entity Backyard 1: standby>, <Entity Matthew's Roav Car Charger: standby>, <Entity Backyard 3: standby>, <Entity Hot Tub: standby>, <Entity Matthew's Sonos One Second Edition: standby>, <Entity Backyard Beam: standby>, <Entity Matthew's Fire: standby>, <Entity This Device: standby>, <Entity Matthew's Alexa Apps: standby>]
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Loading switches
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Guest Room Echo: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found B************15P dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Guest Room Echo: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found B************15P shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Guest Room Echo: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found B************15P repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Bedroom Echo: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found B************1KE dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Bedroom Echo: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found B************1KE shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Bedroom Echo: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found B************1KE repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Bathroom Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************07K dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Bathroom Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************07K shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Bathroom Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************07K repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity My Dash: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************173 dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity My Dash: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************173 shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity My Dash: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************173 repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Entryway Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************N6B dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Entryway Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************N6B shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Entryway Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************N6B repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Dining Room Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************Q3B dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Dining Room Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************Q3B shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Dining Room Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************Q3B repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Living Room Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************CTF dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Living Room Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************CTF shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Living Room Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************CTF repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Garage Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************42W dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Garage Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************42W shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Garage Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************42W repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Matthew's 5th Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************42J dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Matthew's 5th Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************42J shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Matthew's 5th Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************42J repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Kitchen Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************QCA dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Kitchen Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************QCA shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Kitchen Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************QCA repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Bedroom: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 1****************************b8c dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Bedroom: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 1****************************b8c shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Bedroom: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 1****************************b8c repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Kitchen: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found a****************************ecd dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Kitchen: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found a****************************ecd shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Kitchen: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found a****************************ecd repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Living Room: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 3****************************468 dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Living Room: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 3****************************468 shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Living Room: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 3****************************468 repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Dining Room: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 7****************************c73 dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Dining Room: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 7****************************c73 shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Dining Room: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 7****************************c73 repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Closet Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************M32 dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Closet Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************M32 shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Closet Echo Dot: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************M32 repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Garage: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 6****************************008 dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Garage: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 6****************************008 shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Garage: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 6****************************008 repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Backyard 2: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found f****************************8c6 dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Backyard 2: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found f****************************8c6 shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Backyard 2: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found f****************************8c6 repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Backyard 1: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 6****************************749 dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Backyard 1: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 6****************************749 shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Backyard 1: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 6****************************749 repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Matthew's Roav Car Charger: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found d****************************9e7 dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Matthew's Roav Car Charger: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found d****************************9e7 shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Matthew's Roav Car Charger: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found d****************************9e7 repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Backyard 3: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 8****************************87c dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Backyard 3: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 8****************************87c shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Backyard 3: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 8****************************87c repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Hot Tub: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found c****************************a29 dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Hot Tub: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found c****************************a29 shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Hot Tub: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found c****************************a29 repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Matthew's Sonos One Second Edition: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found e****************************2a3 dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Matthew's Sonos One Second Edition: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found e****************************2a3 shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Matthew's Sonos One Second Edition: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found e****************************2a3 repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Backyard Beam: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 6****************************3dc dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Backyard Beam: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 6****************************3dc shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Backyard Beam: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 6****************************3dc repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Matthew's Fire: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************F9T dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Matthew's Fire: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************F9T shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Matthew's Fire: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found G************F9T repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity This Device: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 5****************************F94 dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity This Device: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 5****************************F94 shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity This Device: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found 5****************************F94 repeat switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating do not disturb switch for <Entity Matthew's Alexa Apps: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found B****************************346 dnd switch with status: False
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating shuffle switch for <Entity Matthew's Alexa Apps: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found B****************************346 shuffle switch with status: None
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch] Creating repeat switch for <Entity Matthew's Alexa Apps: standby>
2019-09-01 14:08:06 DEBUG (MainThread) [custom_components.alexa_media.switch]<EMAIL_ADDRESS>Found B****************************346 repeat switch with status: None
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Matthew's Fire
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Matthew's Sonos One Second Edition
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Matthew's Sonos One Second Edition: Last_called check: self: e****************************2a3 reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Living Room Echo Dot
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Living Room Echo Dot: Last_called check: self: G************CTF reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Kitchen Echo Dot
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Kitchen Echo Dot: Last_called check: self: G************QCA reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Backyard Beam
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Backyard Beam: Last_called check: self: 6****************************3dc reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Matthew's Roav Car Charger
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Matthew's 5th Echo Dot
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Garage Echo Dot
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Garage Echo Dot: Last_called check: self: G************42W reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Dining Room
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Dining Room: Last_called check: self: 7****************************c73 reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Bedroom
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Bedroom: Last_called check: self: 1****************************b8c reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Bathroom Echo Dot
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Bathroom Echo Dot: Last_called check: self: G************07K reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Backyard 2
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Backyard 2: Last_called check: self: f****************************8c6 reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Backyard 3
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Backyard 3: Last_called check: self: 8****************************87c reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Bedroom Echo
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Bedroom Echo: Last_called check: self: B************1KE reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Garage
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Garage: Last_called check: self: 6****************************008 reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Living Room
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Living Room: Last_called check: self: 3****************************468 reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Matthew's Alexa Apps
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Backyard 1
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Backyard 1: Last_called check: self: 6****************************749 reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Dining Room Echo Dot
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Dining Room Echo Dot: Last_called check: self: G************Q3B reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Kitchen
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Kitchen: Last_called check: self: a****************************ecd reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Entryway Echo Dot
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Entryway Echo Dot: Last_called check: self: G************N6B reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Hot Tub
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Hot Tub: Last_called check: self: c****************************a29 reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing This Device
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] This Device: Last_called check: self: 5****************************F94 reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Closet Echo Dot
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Closet Echo Dot: Last_called check: self: G************M32 reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for My Dash
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player]<EMAIL_ADDRESS>Refreshing Guest Room Echo
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Guest Room Echo: Last_called check: self: B************15P reported: G************N6B
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Bathroom Echo Dot
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Guest Room Echo
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Closet Echo Dot
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Bedroom Echo
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for This Device
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Matthew's Sonos One Second Edition
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Entryway Echo Dot
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Dining Room Echo Dot
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Garage Echo Dot
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Kitchen Echo Dot
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Backyard 1
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Backyard 2
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Garage
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Living Room Echo Dot
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Backyard 3
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Hot Tub
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Dining Room
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Living Room
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Backyard Beam
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Kitchen
2019-09-01 14:08:16 DEBUG (MainThread) [custom_components.alexa_media.media_player] Disabling polling for Bedroom
2019-09-01 14:10:54 DEBUG (MainThread) [custom_components.alexa_media]<EMAIL_ADDRESS>Received websocket command: PUSH_EQUALIZER_STATE_CHANGE : {'destinationUserId': 'A3CO7O0VX55PN6', 'bass': 0, 'treble': 0, 'dopplerId': {'deviceSerialNumber': 'G090U60883741CTF', 'deviceType': 'A32DOYMUN6DTXA'}, 'midrange': 0}
2019-09-01 14:16:04 DEBUG (MainThread) [custom_components.alexa_media]<EMAIL_ADDRESS>Received websocket command: PUSH_EQUALIZER_STATE_CHANGE : {'destinationUserId': 'A3CO7O0VX55PN6', 'bass': 0, 'treble': 0, 'dopplerId': {'deviceSerialNumber': 'G090U5098502142W', 'deviceType': 'A32DOYMUN6DTXA'}, 'midrange': 0}
2019-09-01 14:18:25 DEBUG (MainThread) [custom_components.alexa_media]<EMAIL_ADDRESS>Received websocket command: PUSH_EQUALIZER_STATE_CHANGE : {'destinationUserId': 'A3CO7O0VX55PN6', 'bass': 0, 'treble': 0, 'dopplerId': {'deviceSerialNumber': 'G090U50985050QCA', 'deviceType': 'A32DOYMUN6DTXA'}, 'midrange': 0}

Here's what alexapy debug posts in the log. Note: I removed any session or ID info. If you need that info let me know.
2019-09-01 14:34:54 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for alexa_media which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-09-01 14:34:54 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-09-01 14:34:55 DEBUG (MainThread) [alexapy.alexalogin] Trying to load cookie from file<EMAIL_ADDRESS>2019-09-01 14:34:56 DEBUG (MainThread) [alexapy.alexalogin] cookie loaded: <class 'dict'> { [I'M REMOVING SESSION/ID INFO FROM THIS PUBLIC POST] }
2019-09-01 14:34:57 DEBUG (MainThread) [alexapy.alexalogin] Logged in as<EMAIL_ADDRESS>2019-09-01 14:34:57 DEBUG (MainThread) [alexapy.alexalogin] Using cookies to log in
2019-09-01 14:34:57 DEBUG (MainThread) [alexapy.alexalogin] Log in successful with cookies
2019-09-01 14:34:57 DEBUG (MainThread) [alexapy.alexawebsocket] Connecting to wss://dp-gw-na-js.amazon.com/?x-amz-device-type=[I'M REMOVING SESSION/ID INFO FROM THIS PUBLIC POST], 'Origin': 'https://alexa.amazon.com', 'csrf': '-SOME-OTHER-NUMBER:)'}
2019-09-01 14:34:57 DEBUG (MainThread) [alexapy.alexawebsocket] Initating Async Handshake.
2019-09-01 14:34:57 DEBUG (MainThread) [alexapy.alexawebsocket] Starting message parsing loop.
2019-09-01 14:34:57 DEBUG (MainThread) [alexapy.alexawebsocket] msg: WSMessage(type=<WSMsgType.BINARY: 2>, data=b'0xbafef3f3 0x000000cd {"protocolName":"A:H","parameters":{"AlphaProtocolHandler.supportedEncodings":"GZIP","AlphaProtocolHandler.maxFragmentSize":"16000","AlphaProtocolHandler.receiveWindowSize":"16"}}TUNE', extra='')
2019-09-01 14:34:57 DEBUG (MainThread) [alexapy.alexawebsocket] Received WebSocket MSG.
2019-09-01 14:34:57 DEBUG (MainThread) [alexapy.alexawebsocket] Received b'0xbafef3f3 0x000000cd {"protocolName":"A:H","parameters":{"AlphaProtocolHandler.supportedEncodings":"GZIP","AlphaProtocolHandler.maxFragmentSize":"16000","AlphaProtocolHandler.receiveWindowSize":"16"}}TUNE'
2019-09-01 14:34:58 DEBUG (MainThread) [alexapy.alexawebsocket] Encoding WebSocket Handshake MSG.
2019-09-01 14:34:59 DEBUG (MainThread) [alexapy.alexawebsocket] Encoding Gateway Handshake MSG.
2019-09-01 14:34:59 DEBUG (MainThread) [alexapy.alexawebsocket] msg: WSMessage(type=<WSMsgType.BINARY: 2>, data=b'MSG 0x00000361 0x6f6d04ad f 0x00000001 0x2eb7e60d 0x000000b9 ACK 0x00000003 1.0 0x00000024 01e09e62-f504-476c-85c8-9c97c8da26ed 0x00000064 0x0000016978ff598c 0x0000016cee1bdd3b END FABE', extra='')
2019-09-01 14:34:59 DEBUG (MainThread) [alexapy.alexawebsocket] Received WebSocket MSG.
2019-09-01 14:34:59 DEBUG (MainThread) [alexapy.alexawebsocket] Received b'MSG 0x00000361 0x6f6d04ad f 0x00000001 0x2eb7e60d 0x000000b9 ACK 0x00000003 1.0 0x00000024 01e09e62-f504-476c-85c8-9c97c8da26ed 0x00000064 0x0000016978ff598c 0x0000016cee1bdd3b END FABE'
2019-09-01 14:34:59 DEBUG (MainThread) [alexapy.alexawebsocket] Received ACK MSG for Registration.
2019-09-01 14:35:00 DEBUG (MainThread) [alexapy.alexawebsocket] Encoding Gateway Register MSG.

@xeospeed wow that's a lot of devices. Is the only issue you're seeing just the Setup of alexa_media is taking over 10 seconds warning? The performance improvements we got from moving to async probably wasn't enough to get your setup under that warning threshold.  That is a HA warning threshold so we can't directly silence it.
Assuming you aren't seeing any other issues, you're probably fine. Let me know if you're seeing something else.

@alandtse Thanks for taking a look at the log. I haven't really been seeing any issues. I get an occasional websocket error, but other components sometimes generate a similar message. I think everything is good. Thanks again for creating this component!


How create a new module without artisan (in cms like photo)

Hi  Mr Widart.
i  used your  package  and  i'm creating my cms  .  my cms is modular system. and i prepare a cms that developers  can  install plugin on that .
for be easy to create  basic module I decided to design a page that developers can Give the name and  create a new module and download that as a zip file and develop that.  like below photo :

I tried so hard , i tired with your Generators class  but i dint have any result .
can  you  help  me ? I would be grateful if you guided me through this.

Sorry I won't make a cms in your place.

No dear  .  i just want  to  know how create  module without artisan command.
please  help me  sir .

You can use the command for your UI too.
You can look at the code of that command to find that out.

You can use the command for your UI too.
You can look at the code of that command to find that out.

how ? please tel me  where is  that  commands  code  ? I tried so hard :(


Standardize LSP Command like 'references', 'implementations', 'triggetSuggest', 'openUri'

A lot of language server provides references and implementations CodeLens. As there are no standardization about those 2 commands, it causes extra code:

On server side, it requires that :

CodeLens creates a custom references and implementations command name (ex: java.show.references for jdt.ls)
This command name is generated only if client can support references (click on references CodeLens must open the client references dialog). For instance client send a custom capability (ex : supportReferences) in the InitializeParams.

On client side:

Client send a custom capability (ex : supportReferences) in the InitializeParams.
Client implement the custom command (ex: java.show.references for jdt.ls) to open the references dialog.

To avoid doing those extra code (on server and client side) and give the capability to have references and implementations which works directly (without implementing custom command on client side and without implementing custom capability on server side), we could standardize the 2 commands. The idea is to consume a language server in a client and click on references and implementations works directly without extra code.
The idea is to provide for instance CodeLensKind (or perhaps a CommandKind) like this:
export namespace CodeLensKind {

	export const References: CodeLensKind = 'references';

	export const Implementations: CodeLensKind = 'implementations';

}

The client will send a CodeKindKindCapabilities in the InitializeParams with (references and implementations for instance).
vscode could implement those 2 commands by sending references or implementations request to the server. The only requirement is that server must return a CodeLens with the standardized Command  name (ex: references, or implementations) and an argument list with the URI document and position.

Here the vscode implementation for references:
context.subscriptions.push(commands.registerCommand(CodeLensKind .References, (uriString: string, position: Position) => {
        const uri = Uri.parse(uriString);
        workspace.openTextDocument(uri).then(document => {
          // Consume references service from the Language Server
          let param = languageClient.code2ProtocolConverter.asTextDocumentPositionParams(document, position);
          languageClient.sendRequest(ReferencesRequest.type, param).then(locations => {
            commands.executeCommand('editor.action.showReferences' uri, languageClient.protocol2CodeConverter.asPosition(position), locations.map(languageClient.protocol2CodeConverter.asLocation));
          })
        })
      }));

on server side, Codelens must be created with a Command whit name CodeLensKind.References (only if client support it) and with the uri and position and that's all!

Makes sense to me.

Here the default command that LSP could provide:

open references
open implementations
open URL (ex : in Java we can show URL of the REST services as codelens)

@dbaeumer I retrigger the issue and I think the best thing is to standardize LSP commands because commands acn be used in Codelens, CodeAction, and Completion.
I discover today a new usecase with CSS language server when you open completion, it provides color completion item:;
{
            "label": "color",
            "documentation": {
                "kind": "markdown",
                "value": "Sets the color of an element's text\n\n(Edge 12, Firefox 1, Safari 1, Chrome 1, IE 3, Opera 3)\n\nSyntax: <color>\n\n[MDN Reference](https://developer.mozilla.org/docs/Web/CSS/color)"
            },
            "tags": [],
            "textEdit": {
                "range": {
                    "start": {
                        "line": 6,
                        "character": 12
                    },
                    "end": {
                        "line": 6,
                        "character": 13
                    }
                },
                "newText": "color: $0;"
            },
            "insertTextFormat": 2,
            "kind": 10,
            "command": {
                "title": "Suggest",
                "command": "editor.action.triggerSuggest"
            },
            "sortText": "d_a1"
        }

and when you apply completion,  it generates color: |; and reopen the completion at | to show available colors as completion.
to do that it uses
"command": {
                "title": "Suggest",
                "command": "editor.action.triggerSuggest"
            },

As you can notice editor.action.triggerSuggest is a vscode command, so it will work only with vscode. If we standardize command like lsp.editor.action.triggerSuggest, any language servers could use it and all LSP client which implement the spec will benefit with this reopen completion when CSS color is applied.
We could have a CommandKind list and LSP client could set the list of CommandKind which are supported. Language servers could use this command kind list to know if iy should generate the command or not.

@aeschli what do you think with my LSP CommandKind  lsp.editor.action.triggerSuggest propsoition?

For the completion case mit might be easier to just add a property retrigger and use it as a hint for clients.

On the other hand, completion can include a command and in that case it might be less clear when the "retrigger" should trigger. I feel that a dedicated command might have more obvious semantics.
Also, if we have "retrigger" for completions then we'd still need something else for other cases anyway and we end up with more ways of doing the same.
Not saying that those points make you suggestion unfeasible but something to think about.

We have two other issues that are related to this (#565 and #1611) and this one was most recently commented on (January 2024).
What is the best way to help move this forward and get some consensus? 🤔


Update SIV mode documentation

Fixes #18440

Checklist

[x] documentation is added or updated
[ ] tests are added or updated

ping @mattcaswell @t8m

This pull request is ready to merge

Merged, thanks!


Bad Credentials

We are trying to set this up for GitHub Enterprise Server.
Is it mandatory that a GitHub App for barecheck needs to be installed. With github-token, keep getting "Bad Credentials".

Hi, @vaishnav-canarys thanks for opening an issue.
No, the app is not required and is only needed if you'd like to send metrics to simple cloud and see a view over all your projects.
Here is an example how you can use it with GitHub Actions: https://github.com/barecheck/code-coverage-action/pull/271


Question: Dev server caching

Hi Matt,
I'm doing some work on a fork of your repo at the moment and having some problems. I made some initial changes to the templates and then did npm run build (npm start doesn't seem to watch for some reason) and although the first set of changes took, the second and subsequent ones didn't.
Do you know if somehow it caches templates??
Thanks
James

npm run build only builds files to the dist folder - if you look in index.html you will see it only points to a local file which is served by webpack. Thus you shouldn't use it for dev. npm start should automatically watch and reload the page on changes, you should see debug in your browser console / the terminal window you're running it on.
FYI if you're only making template changes just use a decorator to avoid making changes to the source - the calendar is deliberately designed so that you can override and customise it to your needs without having to edit the source :smile:

Thanks Matt. :)
I'm actually trying to modify it to be a hybrid of calendar and datepicker (so an 'add' button for each cell, or maybe drag and drop from somewhere). As I said, the watch function seems really sketchy for some reason - it either takes AGES and then does it, or it doesn't seem to pick up the changes at all. I don't know why - could be something to do with my machine, maybe?! (If I find something out I'll mention)
Thanks again... :)

It might be an issue with webpack, what OS are you running?

Mac OSx Yosemite 10.10.5
Ever since Mavericks some things have been a bit shaky... I'll have a look into it and see if anything comes up.
Thanks Matt...

Really odd, I'm on the same setup and am using webpack successfully across several projects. The best thing I can recommend is check the terminal output as its pretty verbose.

On 11 Sep 2015, at 18:26, James Sherry<EMAIL_ADDRESS>wrote:
Mac OSx Yosemite 10.10.5
Ever since Mavericks some things have been a bit shaky... I'll have a look into it and see if anything comes up.
Thanks Matt...
—
Reply to this email directly or view it on GitHub.


Node shutsdown after loading utxos and pruning nodes

Hey guys, my raspiblitz lnd node is shutting down moments after unlocking it for some reason that are still not clear to me.
At first glance I thought it could be that the raspi was halting it because of under voltage since I was using a 2A charger. Have changed it to a 3A but still have the issue.
2019-05-06 15:44:16.226 [TRC] CRTR: Updating chain filter with new UTXO's: [1df27448422019c12c38d21c81df5c98c32c19cf7a312e612f78bebf4df20000:1 f6b888b7b804f23aae68fcfd0dc2cbfabd7f1640f477d7eb6e9e1f3af4fa0100:1 c53bd436039f391f33219bd304d5a8b217d063c30b19d8c58c2b500ada650300:0 ff4eaff6d94f0c38d8967d086f568992dc

......

2019-05-06 15:44:17.952 [TRC] CHDB: Pruning nodes from graph with no open channels
2019-05-06 15:44:19.712 [INF] CHDB: Pruned unconnected node 02e5353624ec2180f6fd1b584dea493b91f982764db8e2cf520a0f1d18cf0f9d7e from channel graph
2019-05-06 15:44:19.723 [INF] CHDB: Pruned unconnected node 02706e5a81f7cead49f1761d611d773754187850e089246dfda39f640cf9a0b5c1 from channel graph
2019-05-06 15:44:19.723 [INF] CHDB: Pruned 2 unconnected nodes from the channel graph
2019-05-06 15:44:19.728 [INF] RPCS: Stopping RPC Server
2019-05-06 15:44:19.728 [INF] RPCS: Stopping SignRPC Sub-RPC Server
2019-05-06 15:44:19.728 [INF] RPCS: Stopping ChainRPC Sub-RPC Server
2019-05-06 15:44:19.728 [INF] RPCS: Stopping InvoicesRPC Sub-RPC Server
2019-05-06 15:44:19.728 [INF] RPCS: Stopping WalletKitRPC Sub-RPC Server
2019-05-06 15:44:19.782 [INF] LTND: Shutdown complete
2019-05-06 15:45:20.398 [INF] LTND: Version: 0.6.0-beta commit=v0.6-beta, build=production, logging=default
2019-05-06 15:45:20.399 [INF] LTND: Active chain: Bitcoin (network=mainnet)
2019-05-06 15:45:20.405 [INF] CHDB: Checking for schema update: latest_version=8, db_version=8
2019-05-06 15:45:20.466 [INF] RPCS: password RPC server listening on [::]:10009
2019-05-06 15:45:20.466 [INF] RPCS: password gRPC proxy started at <IP_ADDRESS>:8080
2019-05-06 15:45:20.467 [INF] LTND: Waiting for wallet encryption password. Use `lncli create` to create a wallet, `lncli unlock` to unlock an existing wallet, or `lncli changepassword` to change the password of an existing wallet and unlock it.```

Ok, just checked that I'm getting the following as well.
****************************************
* The LND service is running with error.
****************************************
If you just started some config/setup, this might be OK.

9 RESTARTS DETECTED - LND might be in a error loop
May 11 20:12:02 adolfosrs lnd[7346]: panic: runtime error: index out of range
May 11 20:12:02 adolfosrs lnd[7346]: goroutine 1 [running]:
May 11 20:12:02 adolfosrs lnd[7346]: github.com/coreos/bbolt.(*DB).page(...)


Ability to get presented month view's allowScrollToPrevious(Next)Month value

[x] I have verified there are no duplicate active or recent bugs, questions, or requests
[x] I have verified that I am using the latest version of CVCalendar.
[x] I have given my issue a non-generic title.

Summary
Currently you can implement disableScrollingBefore(After)Date which will disallow scrolling to the previous month when the presentationMode is .monthView. But if you additionally implement buttons the user can tap to switch months, I'm not seeing any way to determine if the buttons should be enabled or disabled.
Looking into it I see CVCalendarMonthView has a property allowScrollToPrevious(Next)Month, but it's not accessible publicly, nor is there a way to get the current month view. It'd be great to expose this!

Ew stale gross no thanks


generators: support off-chain Java SDK

Task linked: CU-86a11pzrf Implement Java SDK generation on CPM

Thank you!


add url params to a separate geordi field

(as we do with userAgent, IP etc)

Investigated this a little, the data is not readily available on the server side. Would need to be posted in the geordi client code. Will close this until we have a strong need for this.


CONTRIBUTING.md

fixes #91

Current coverage is 61.01%

Merging #92 into master will not affect coverage as of a37fd82

@@            master     #92   diff @@
======================================
  Files            2       2
  Stmts          177     177
  Branches         0       0
  Methods         19      19
======================================
  Hit            108     108
  Partial          0       0
  Missed          69      69

Review entire Coverage Diff as of a37fd82

Powered by Codecov. Updated on successful CI builds.


Question: How do I build/run the TS compiler?

So this seems pretty basic, but I've been struggling with it for a few hours and I was hoping you guys could help point me in the right direction.
I'm trying to get the TS compiler building and running from within Visual Studio. I'm brand new to the TypeScript world and my only experience with JS has been basic front end web dev, so I'm probably misunderstanding a few things here.
What I've tried:

Clone the TS Repo
Run all of the jake commands in the README to ensure everything is fine. (I can build/run tests fine)
Installed the various build tools (I doubt I needed them all but I wanted to be sure)

This is where I've started to run into issues. I'm not even 100% sure how to open a Typescript project. I've tried:

Opening an individual file, which loads all the sibling files found in the tsconfig.json file. However, I'm faced with ~3000 various errors. (A lot are complaining about hasProperty not being defined)

Creating a NodeJS project from existing code and pointing it at the root Typescript folder. This loads all of the various .ts files and folders, but I'm still looking at thousands of build errors. (I'm not even sure if TS even is a NodeJS project, but there aren't many options when creating a new TS project in Visual Studio).

I see there's a wiki page on Dev Mode in VS but it seems to assume you can build and run the project.
Is there any other material that would help me get off the ground and figure out what I'm doing wrong?

looks like you are trying to open latest TS sources on an older version of the TS language service.
the TS repo is biilt using the jake build command, and there is not a .proj file for it that you can build in VS.
To build the TS repo:

jake local

To run tests:

jake runtests

To update to latest Language Service, either install TS1.6-beta or enable devMode.
Personally, i have a folder c:\ls that has the latest copy of the language service i want to run, and i enable DevMode to point to it. i can then update it whenever i need to.

jake local
copy built\local\typescriptservices.js c:\ls
copy built\local\lib.*.d.ts c:\ls
powershell
scripts\VSDevMode.ps1 -enableDevMode -tsScript c:\ls 14

Please let us know if you are still running into issues.

also looks like our documentation need some work.

Thanks, I'll try installing the 1.6 beta.
So if I use jake to run tests and follow the steps in Dev Mode in VS will I also be able to place breakpoints, use edit and continue etc.?

breakpoints, yes. just open your .ts files (e.g. src\compiler\tsc.ts), and place your breakpoints, run the compiler with cscript /x tsc.js and you should be good to go.
to get edit and continue i.e. compile-on-save to work; what i do is i start tsc --w --p src\compiler and that gives me the same effect as compile on save in VS.

Shameless (but genuinely helpful) plug: you might have an easier time looking at https://github.com/TypeStrong/ntypescript :rose:
Feel free to fork it to create your own flavor of build.


Non HTTP triggers react to errors

Fail Google Function if shim executable exits with non-zero signal.

Looks good!


Refactor tests in exec and vector to use VectorTestBase base class

Refactor HashTableTest, VectorHasherTest, EnsureWritableVectorTest, and
IsWritableVectorTest to use VectorTestBase base class.

CI is red. Would you take a look?

CI is red. Would you take a look?

Fixed, Thank you for your review.


downgrade jquery to version 2.2.4 as bootstrap need a version lower t…

This will solve #90

You are correct, I never noticed that.
Did you see any issues with using jQuery 3.x?

Yes, every thing related to bootstrap is not working.
On the console you will find an error like this one:
bootstrap.min.js:6 Uncaught Error: Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3

I never noticed it. Thanks for contributing.

Not at all.


Add support for listing tests (without running them).

This patch adds support for listing tests without running them.
I occasionally run into test failures leading to the entire test run to fail, without a clear indication which test it was that caused the failure. Having the ability to list an (ordered) list of tests allows me to see the "current" test (i.e. the one following the last completed one) without hacking the code.
This isn't quite working yet, as the numba 'runtests.py' script invokes multiple instances of test suites, not all of them using a TestRunner. So this needs more work to be complete.
(I'm wondering whether this use-case is interesting enough in general for it to be submitted upstream.)

The last commit modifies the cudapy tests to not require jit-compilation at global scope, which would fail in the presence of cudadrv tests which reset the cuda context, thereby invalidating the pre-compiled functions.
(An alternative would be to insulate the cudadrv tests so they don't interfer with the (global) cuda context.)

Can you add a short section to the developer documentation describing how to list the tests?:
https://github.com/numba/numba/blob/master/docs/source/developer/contributing.rst#running-tests

On 12.10.2015 13:30, Stan Seibert wrote:

Can you add a short section to the developer documentation describing
how to list the tests?:
https://github.com/numba/numba/blob/master/docs/source/developer/contributing.rst#running-tests

I have added a patch for that. (Note that this is quite a bit more
substantial than just listing tests. It also makes it easier to run
sub-suites as well as individual tests.)
With this change we may remove the various non-toplevel runtests.py
scripts from sub-suites, as they are now obsolete.
--
  ...ich hab' noch einen Koffer in Berlin...

Great!  Merging...


Data download gets an incorrectly written error

As discussed with @madprime, downloading data yielded an incorrectly written error.
Error:
Traceback (most recent call last):
  File "/usr/local/bin/ohproj-download", line 9, in <module>
    load_entry_point('open-humans-api==0.1.3', 'console_scripts', 'ohproj-download')()
  File "/Library/Python/2.7/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/Library/Python/2.7/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/Library/Python/2.7/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Library/Python/2.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/Library/Python/2.7/site-packages/ohapi/command_line.py", line 54, in download
    excludelist = read_id_list(excludelist)
  File "/Library/Python/2.7/site-packages/ohapi/utils.py", line 291, in read_id_list
    raise('Each line in whitelist or blacklist is expected '
TypeError: exceptions must be old-style classes or derived from BaseException, not str

this isn't raising the error correctly: https://github.com/OpenHumans/open-humans-api/blob/master/ohapi/utils_fs.py#L507

(Related to leading zero's being removed by excel when I opened a project metadata; I then copy/pasted into a .txt. Adding the missing leading zero's to usernames resolved the root issue)


UnhandledPromiseRejectionWarning: TypeError: text is not iterable

The checkForPassword() function attempts to submit a password stored in process.env.AMAZON_PASSWORD.
However, if the password was supplied through a command line argument (--password=) rather than an environmental variable, process.env.AMAZON_PASSWORD will be null.  This is causing the script the crash with the error  UnhandledPromiseRejectionWarning: TypeError: text is not iterable

Thanks for catching this. On it!

Fixed


Add ability to skip local/remote precompile if assets havent changed

We already have manual skip mode but it would be nice to have automatic capabilities.
PR Wanted. Lets discuss.

Going to close this issue as its unlikely to be resolved. Someone can open a PR if they think this can be done.


Add brackets for better understanding

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] Searched the bugtracker for similar pull requests
[x] Read adding new extractor tutorial
[x] Read youtube-dl coding conventions and adjusted the code to meet them
[x] Covered the code with tests (note that PRs without tests will be REJECTED)
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[x] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
Explanation of your pull request in arbitrary form goes here. Please make sure the description explains the purpose and effect of your pull request and is worded well enough to be understood. Provide as much context and examples as possible.
Added brackets in the line ... (requires ffmpeg or avconv and ffprobe or avprobe) ... to make it ...requires (ffmpeg or avconv) and (ffprobe or avprobe)... . This makes it easier to understand.
Closes #27878

This is autogenerated.

This is autogenerated.


Transpose square matrix

It is an important question and it should be in the project.
Have you read the Contributing Guidelines on Pull Requests?
yes
(Write your answer here.)
Description
(Write your answer here.)
Checklist

[ yes] I've read the contribution guidelines.
[yes ] I've checked the issue list before deciding what to submit.
[ yes] I've edited the README.md and link to my code.

Related Issues or Pull Requests
(Write your answer here.)
#4867

@siddharth25pandey I've made the changes. Please check it and merge it.

@siddharth25pandey I've made the changes. Please check it and merge it.

Please read complete message

@ANSHIKA1806 Also, include Sample Input & Output and Time & Space Complexity at the end of Program in commented form.

@ankitaggarwal23 @siddharth25pandey I've made the changes, Please check it and merge it.


Bug Fix Delta Green V2.04

Submission Checklist
Required

[x] The pull request title clearly contains the name of the sheet I am editing.
[x] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[ ] The pull request makes changes to files in only one sub-folder.
[ ] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

New Sheet Details

The name of this game is: <   >  (i.e. Dungeons & Dragons 5th Edition, The Dresden Files RPG)

The publisher of this game is: <   > (i.e. Wizards of the Coast, Evil Hat)

The name of this game system/family is: <   > (i.e. Dungeons & Dragons, FATE)

[ ] I have followed the Character Sheets Standards when building this sheet.

[x] I have authorization from the game's publisher to make this an official sheet on Roll20 with their name attached.
[ ] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: <   >
[ ] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description

Compound change of Version 2.03 (recently submitted) and Version 2.04
v2.03: recovers helplessness and violence using new name, set up craft,art,... to craft_1, art_1 (see other commit)
v2.04: Correct the value of bonds. Value of bond is set to CHA instead of WP_MAX. Moreover, the versioning will update all bonds that are >= MAX WP to the current value of CHARISMA
(other bonds will not be updated because it means they were already used in play)

Character Sheet Info Roll20 Internal Use only.


[Discussion] Know Your Nodes: Path2D and PathFollow2D

Discussion for http://godotrecipes/kyn/path2d/

offset and unit_offset - these properties represent the distance along the path relative to the beginning. offset is measured in pixels while unit_offset is a percentage (eg 0 is the start, .05 is halfway, 1.0 is the end)
Since when is 0.05 halfway to 1.0?? :)

Fixed :)


feat(cli): add new command

:tada: This PR is included in version 0.2.0-alpha.1 :tada:
The release is available on:

GitHub release
v0.2.0-alpha.1

Your semantic-release bot :package::rocket:

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

GitHub release
v0.2.0

Your semantic-release bot :package::rocket:


RNG slows down data parallel training

Discussed in https://github.com/google/jax/discussions/15783

Originally posted by jjyyxx April 27, 2023
I was working with a transformer model in jax and haiku, and found that dropout greatly slows down data parallel training, the main training step looks like
self._train_state, batch_scalars = self._train_step(train_key, self._train_state, batch)

where

Sharding is created with sharding = jax.sharding.PositionalSharding(jax.devices()), containing GPU:0 and GPU:1
train_key is a PRNGKeyArray, not sharded
self._train_state is a PyTree of params and opt_states, replicated with jax.device_put(train_state, sharding.replicate())
batch is a PyTree of data and labels, sharded with jax.device_put(batch, sharding)
Every operation in this model (except final loss reduction) is independent between each sample in batch, so this should be trivially data parallel.

Without x = hk.dropout(hk.next_rng_key(), self.dropout, x) (boils down to a jax.random.split and a jax.random.bernoulli), every thing works well (Single device: 4.2 it/s, Two devices: 7.5 it/s). But when dropout is enabled (called 20 times), I got

Single device: 3.75 it/s
Two devices: 1.9 it/s
Two devices with jax.config.update('jax_threefry_partitionable', True): 5.32 it/s (I was aware of the document)
which is far from expected.

Did I miss somthing? Could this performance be optimized?

@jjyyxx, do you have a minimal code example that reproduces this?

@froystig I could give it a try. But can a snippet containing haiku be considered minimal? I suspect at least a medium-sized model could reveal the difference. But I will try it first anyway.

"""
conda create -p .conda/jax python=3.9 numpy scipy ipykernel
conda activate .conda/jax
pip install "jax[cuda11_cudnn86]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
pip install optax dm-haiku

# Run on Single GPU
CUDA_VISIBLE_DEVICES=0 python rng.py
# Run on Multi GPU
CUDA_VISIBLE_DEVICES=0,1 python rng.py
"""

from typing import NamedTuple

import jax, jax.numpy as jnp
import haiku as hk
import optax

class TrainState(NamedTuple):
    params: hk.Params
    opt_state: optax.OptState

class Batch(NamedTuple):
    x: jax.Array
    y: jax.Array

def model_fn(x: jax.Array) -> jax.Array:
    def dropout(x: jax.Array) -> jax.Array:
        # return x
        return hk.dropout(hk.next_rng_key(), 0.1, x)

    def attn(x: jax.Array) -> jax.Array:
        residual = x
        x = hk.MultiHeadAttention(8, 64, w_init=hk.initializers.VarianceScaling(1.0), model_size=256)(x, x, x)
        x = hk.LayerNorm(axis=-1, create_scale=True, create_offset=True)(x)
        x = dropout(x)
        x += residual
        return x

    def ff(x: jax.Array) -> jax.Array:
        residual = x
        x = hk.Linear(256 * 4)(x)
        x = jax.nn.relu(x)
        x = dropout(x)
        x = hk.Linear(256)(x)
        x = jax.nn.relu(x)
        x += residual
        return x

    for _ in range(10):
        x = attn(x)
        x = ff(x)

    x = hk.Linear(10)(x)
    x = jnp.max(x, axis=-2)
    return x

transformed = hk.transform(model_fn)
optimizer = optax.adam(1e-3)

@jax.jit
def init_fn(key: jax.random.KeyArray, batch: Batch) -> TrainState:
    x, _ = batch
    params = transformed.init(key, x)
    opt_state = optimizer.init(params)
    return TrainState(params, opt_state)

def loss_fn(params: hk.Params, key: jax.random.KeyArray, batch: Batch) -> jax.Array:
    x, y = batch
    logits = transformed.apply(params, key, x)
    return optax.softmax_cross_entropy(logits=logits, labels=y).mean()

@jax.jit
def step_fn(key: jax.random.KeyArray, state: TrainState, batch: Batch) -> TrainState:
    params, opt_state = state
    grads = jax.grad(loss_fn)(params, key, batch)
    updates, new_opt_state = optimizer.update(grads, opt_state)
    new_params = optax.apply_updates(params, updates)
    return TrainState(new_params, new_opt_state)

if __name__ == "__main__":
    master_key = jax.random.PRNGKey(42)
    init_key, step_key = jax.random.split(master_key)

    batch_size = 256
    batch = Batch(
        x=jnp.zeros((batch_size, 64, 256)),
        y=jnp.zeros((batch_size, 10)),
    )
    state = init_fn(init_key, batch)

    sharding = jax.sharding.PositionalSharding(jax.devices())
    batch = jax.device_put(batch, jax.tree_util.tree_map(lambda x: sharding.reshape(-1, *[1] * (x.ndim-1)), batch))
    state = jax.device_put(state, sharding.replicate())

    state = step_fn(step_key, state, batch)

    # Time it
    import time
    start = time.perf_counter()
    n = 100
    for _ in range(n):
        state = step_fn(step_key, state, batch)
    end = time.perf_counter()
    elapsed = end - start
    per_step_ms = elapsed / n * 1000
    print(f"Time per step: {per_step_ms:.1f} ms")

@froystig A hopefully not too long code example (dispatch cost for small models obscure the difference). Compare return x with return hk.dropout(hk.next_rng_key(), 0.1, x), then run single & multi GPU training to see the difference.
My local experiment on two RTX 3090 Ti shows

No dropout
With dropout

Single GPU
66.4 ms
73.0 ms

Multi GPU (2)
45.8 ms
119.6 ms

Thank you!

Try using jax.lax.with_sharding_constraint on dropout?
Specifically try this in def dropout: return jax.lax.with_sharding_constraint(kh.dropout(...), some_sharding)

@yashk2810 I am afraid it's not a direct sharding issue. I further simplify the dropout function to this
    def dropout(x: jax.Array) -> jax.Array:
        def print_sharding(x: jax.Array, name: str):
            if not hk.running_init():
                jax.debug.inspect_array_sharding(x, callback=lambda sharding: print(name, sharding))

        print_sharding(x, "x before")

        keep = jax.random.bernoulli(jax.random.PRNGKey(42), 0.9, shape=x.shape)
        print_sharding(keep, "keep")

        x *= keep
        print_sharding(x, "x after")

        return x

For two GPU case, all calls to dropout print
x before GSPMDSharding({devices=[2,1,1]0,1})
keep GSPMDSharding({devices=[2,1,1]0,1})
x after GSPMDSharding({devices=[2,1,1]0,1})

It should also be noted that even a constant PRNG key jax.random.PRNGKey(42) for bernoulli could reproduce this. But of course this slowdown will go away with
        with jax.ensure_compile_time_eval():
            keep = jax.random.bernoulli(jax.random.PRNGKey(42), 0.9, shape=x.shape)
        # The following line is optional
        keep = jax.lax.with_sharding_constraint(keep, jax.sharding.PositionalSharding(jax.devices()).reshape(2, 1, 1))

Off-topic: could you leave some comment about #15734? The sharding attached to an array must be in a "broadcastable" form, which is especially counter-intuitive to use with PyTree?


Revert "Implement Tutorial Section (+ Some Minor Changes)"

ZedKay1234 reported some potential issues with this merge. Reverting until we get details sorted out and will have PR resubmitted upon resolution.
Reverts sloukit/pydew-valley-uzh#236

Found a block of code was erroneously dropped during conflict resolution. Cancelling this as @Zedkay1234 has graciously agreed to submit an amended PR to resolve.