
From: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com> v4: - server_loop with the socket listen was daemonized v3: - changed listener registration to be message specific instead of generic. v2: - Simplified UI code. Using now an array instead of a hashmap to prevent the need of inserting a listener identifier; - Changed the push server initialization. Moved it to server.py to avoid execution in the unit tests, but allow execution in the test mode. Do the same treatment with the ws_proxy initialization; - Socket file was moved to /run/user/<user_id>/woknotifications - Inserted notifications in base model level. Put code in base WoK classes to allow notifications for every model event without the need of adding it manually; - Standardization of messages sent. Messages are being sent in the pattern METHOD:plugin/entity/action; - Minor code fixes (imports, remove kimchi references); - Added websockify as a WoK runtime dependency. See patch commit message for more information. Daniel Henrique Barboza (1): Asynchronous UI notification implementation contrib/DEBIAN/control.in | 1 + contrib/wok.spec.fedora.in | 1 + contrib/wok.spec.suse.in | 1 + docs/fedora-deps.md | 2 +- docs/opensuse-deps.md | 3 +- docs/ubuntu-deps.md | 3 +- src/wok/config.py.in | 8 ++ src/wok/control/base.py | 16 ++-- src/wok/model/notifications.py | 2 +- src/wok/pushserver.py | 164 +++++++++++++++++++++++++++++++++++++++++ src/wok/reqlogger.py | 11 ++- src/wok/root.py | 3 + src/wok/server.py | 13 +++- src/wok/websocket.py | 123 +++++++++++++++++++++++++++++++ ui/js/src/wok.main.js | 54 ++++++++++++++ ui/js/wok.user-log.js | 4 + 16 files changed, 395 insertions(+), 14 deletions(-) create mode 100644 src/wok/pushserver.py create mode 100644 src/wok/websocket.py -- 2.9.3