Open MrBlenny opened 7 years ago
Another change would be to add a redux store to the main-thread using something like electron-redux. This makes sure the redux state is synced between the main-thread and renderers.
This would be particularly useful because the API (running in the main-thread) does not currently have access to the redux store so it is relatively complicated to return data in the redux store (as we must run a function in the renderer in order to do so).
Thoughts?
Depends on how much data you need to be shared, ATM it is not much if any
Remote playback
Hell yes
Shared library
I'll let this one up to you :smile:
===
About electron-redux
, if it can solve the problem nicely, why not ?
What's the plan on this remote service discovery? I guess that would need a UI to copy link or whatever...
Yep, I think network discovery will be on the SettingsLibrary page but I'll give it some more thought.
It will automatically discover other instances of Museeks running on the same network by pinging all IPs in its range X.X.X.1-255:SomePort Might be a good idea to add a pin/password for auth but I'll leave that for later.
by pinging all IPs in its range X.X.X.1-255:SomePort
That sounds expensive
I don't really see other ways to be honest
There are whisper protocols there, but they would need investigations... Though remote access does not have to be Skynet scale right away, we can start just by the ability to copy and paste a link...
Yep, I think network discovery will be on the SettingsLibrary page but I'll give it some more thought. It will automatically discover other instances of Museeks running on the same network by pinging all IPs in its range X.X.X.1-255:SomePort Might be a good idea to add a pin/password for auth but I'll leave that for later.
Look into the Broadcast address which is part of the IP spec. I think this is how it works, I might be wrong.
We could have as Museeks opens it broadcasts a "HELLO" packet with some relevant information about itself on the Broadcast address. If it's the first one no one will hear it. (Tree Fall Woods) If there is another app open on the network, it will receive the "HELLO" and send a "REPLY" with some information to Sync the two or more servers together with information about each other.
I'm looking at adding a few different networking features over the next few days.
Features
To begin with - this will only work locally (computer A and B must be on the same network) - but streaming over the internet should be trivial.
After this I'd be keen to make a few interface improvements such as sorting/filtering/resizing columns.
Changes
In order to add these features I see one major change that is required... I'll be adding an express server that is initiated by the main-process with an API to call a bunch of actions inside the main renderer window.
I understand that these network features may be considered out of the scope of this project - maybe they are better suited as a plugin. In any case - I think the express API it depends on should be considered a relatively core feature that will allow a bunch of other interesting dev.