090e7d6de8
Support for specifying the application Redis queue from the command line or service constructor
2021-03-06 19:22:13 +01:00
b4f9472fc5
- Proper expansion of the context variables on functional procedure call
...
- Expanded and refactored tests framework
- Added test_procedure
2021-02-27 15:01:25 +01:00
2800bac3fb
Make sure that all hanging threads, backends and services are stopped and their resources cleaned up when the application stops.
2021-02-23 23:09:26 +01:00
04a23d555d
Updated README (it hadn't been updated for ages)
2021-02-22 02:53:20 +01:00
6df336465f
Fixed nested list style in backend.http documentation
2021-02-22 01:35:42 +01:00
ffb7a3e5a3
Extended and updated pieces of documentation on the HTTP server, Zigbee2mqtt and mpd. Also added example dashboard template and event hook script.
2021-02-22 01:20:01 +01:00
Fabio Manganiello
04cb2324aa
Removed dashboard configuration from HttpBackend, removed old HTTP
...
static files and replaced them with Vue app target dist/ directory.
2020-11-26 11:54:28 +01:00
Fabio Manganiello
7e8bef40cd
Added Zeroconf integration [ closes #105 ]
2020-08-14 00:36:39 +02:00
Fabio Manganiello
c5adc141ea
More robust mechanism for websocket message send section locking
2020-02-06 19:30:40 +01:00
Fabio Manganiello
ca030c9b25
Websocket notifications delivery should be thread-safe.
...
If multiple threads process events and notify the websocket
clients at the same time then we may end up with inconsistent
messages delivered on the websocket (and websockets is not
designed to handle such cases). Protecting the send call with
a per-socket lock makes sure that we only write one message
at the time for a certain client.
2020-02-06 01:04:36 +01:00
Fabio Manganiello
8bfe875483
We don't need to fail hard in backend.http if the backend is configured
...
to run the web server externally but without spawning uswgi directly
(e.g. if nginx takes care of spawning and wrapping the uwsgi instance)
2019-08-14 20:02:13 +02:00
Fabio Manganiello
4cd2e6949f
New media webplugin WIP
2019-06-21 02:13:14 +02:00
Fabio Manganiello
8b478ede45
vue.js migration commit - WIP
2019-05-28 19:16:55 +02:00
Fabio Manganiello
68f985d2c6
Copy websockets list before iterating over it to prevent race conditions upon list changed upon iteration
2019-03-27 02:25:06 +01:00
Fabio Manganiello
811af1bf9d
Removed conflict leftovers
2019-02-26 23:55:00 +01:00
Fabio Manganiello
17367f5b3e
Added camera plugin over cv2
2019-02-26 23:50:48 +01:00
Fabio Manganiello
150d95d0dc
Support for launching uWSGI directly from the HTTP backend
2019-02-25 10:52:48 +01:00
Fabio Manganiello
8ef3aafb52
Added missing doc line in backend.http
2019-02-24 15:53:01 +01:00
Fabio Manganiello
8153d8476f
Added uWSGI optional dependency for HTTP backend
2019-02-24 12:35:26 +01:00
Fabio Manganiello
c74b939660
Renamed app->application for the main Flask webapp to make sure that the default uwsgi configuration can pick it up
2019-02-24 00:11:35 +01:00
Fabio Manganiello
0e794cd1b0
Refactored HTTP server to split the routes on separate files and keep the main Flask app object in a separate file as well so it can be easily wrapped by a WSGI instance
2019-02-23 21:19:00 +01:00
Fabio Manganiello
6e1b6686c2
Revert "Running Flask webserver in another thread instead than another process"
...
This reverts commit 0a5c42fdfd
.
2019-02-21 16:15:06 +01:00
Fabio Manganiello
0a5c42fdfd
Running Flask webserver in another thread instead than another process
2019-02-21 14:33:41 +01:00
Fabio Manganiello
5cbd0fdfe7
Added support for VTT subtitles and subtitles toggling both in local and browser media players
2019-02-12 01:30:55 +01:00
Fabio Manganiello
41c34b4bc5
Attempt to support subtitle tracks in web player
2019-02-11 18:46:25 +01:00
Fabio Manganiello
34f0264d5e
Subtitles support
...
- Added support for local and OpenSubtitles media subs
- Added management of media events in web panel
2019-02-11 00:55:20 +01:00
Fabio Manganiello
e2b0bf8462
More consistent management of media devices icons and added devices refresh button
2019-02-08 19:48:18 +01:00
Fabio Manganiello
b3f2974c4c
Support for streaming media to browser
2019-02-08 00:43:43 +01:00
Fabio Manganiello
9ec3365413
Support for media streaming over internal HTTP server
...
Dropped the additional node.js dependency of localstream and relied
instead on a built-in solution to stream files
2019-02-07 14:27:14 +01:00
Fabio Manganiello
7a80cd08ce
Handling dashboards widget configuration as a list instead of a hash to preserve the order of the widgets
2019-01-28 23:14:12 +01:00
Fabio Manganiello
2d8b2ba55a
Removed pp- prefix from the name of the spawned processes and threads
2019-01-13 20:41:15 +01:00
Fabio Manganiello
fbf3600e91
Setting thread and process names properly through prctl
2019-01-10 23:45:13 +01:00
Fabio Manganiello
56c7258c74
Setting names for threads
2019-01-10 23:08:29 +01:00
Fabio Manganiello
a349b45ba4
Removed get_plugin utils method from web server, it messes up with also with the reentrant locks as it runs in another process. Refactored Snapcast frontend to get the backend hosts asynchronously through a plugin method
2019-01-10 11:52:39 +01:00
Fabio Manganiello
004868f526
Added skeleton UI for Snapcast plugin on web panel
2019-01-07 15:34:31 +01:00
Fabio Manganiello
62045c2b5c
Support for multiple resource_dirs on the HTTP backend
...
It is now possible to map multiple static resource directories to the
Flask HTTP server
2018-12-30 18:40:03 +01:00
Fabio Manganiello
a226aad669
Added python-dateutil requirement
2018-12-19 00:09:21 +01:00
Fabio Manganiello
6603f64757
Enforced cast to string for any object posted to the Redis bus
2018-11-20 14:24:14 +00:00
Fabio Manganiello
cda64865f3
Set the correct mimetype on the /execute endpoint
2018-11-09 23:43:47 +01:00
Fabio Manganiello
c05fc9ee3f
Added logic to propagate events to the websockets backend
2018-11-02 10:14:06 +00:00
Fabio Manganiello
e571d8ea41
Typo
2018-11-02 00:03:10 +01:00
Fabio Manganiello
a77a9c04b7
Missed SSL flag
2018-11-02 00:02:11 +01:00
Fabio Manganiello
727b604bb4
Added SSL to HTTP backend websockets as well
2018-11-01 23:57:50 +01:00
Fabio Manganiello
a253e5f49e
Removed old line of code
2018-11-01 23:48:25 +01:00
Fabio Manganiello
667d5e8a45
HTTPS support on the web server
2018-11-01 23:43:02 +01:00
Fabio Manganiello
92a3759721
Added websocket backend and plugin
2018-10-26 21:55:49 +02:00
Fabio Manganiello
284e0638f8
Always define msg so the function doesn't fail on exception
...
Reverted the previous retry logic for backend - it didn't really work
This reverts commit 4e0e4863a0
.
This reverts commit 964c7b5cf0
.
This reverts commit 6ce348365f
.
2018-10-25 20:46:34 +02:00
Fabio Manganiello
6ce348365f
Refactored backends to be more robust by wrapping the core logic into a try-except logic with sleep and retry
2018-10-25 19:46:13 +02:00
Fabio Manganiello
7adfb67c12
Fixed Kodi plugin
2018-10-20 19:27:15 +02:00
Fabio Manganiello
74d23262b7
Implemented TCP backend
2018-10-11 14:02:29 +00:00