this patch fixes some issues with webchat not loading css and js
when there is no internet. The index.html was relying on internet
being available to fetch remote css and js.
This patch adds the ability to webchat to set the path
on every outbound packet for the KISS clients as well as
the fake client. The path dropdown includes the options for
Default path (which will default to the config setting)
WIDE1-1,WIDE2-1
ARISS
After the refactor of the messages object in webchat, we are sending
a direct json dict version of the packet now. This means there is no
msg.id in the dict, but msg.msgNo instead. This should help fix
the display of dupes.
This patch adds an auto mouseover hover popover for displaying
the raw APRS packet.
This patch also adds the notification counter for an unselected tab.
This patch changes the layout containers a bit. Moved the tabs to the
header section and made the tab contents fill the rest of the height of
the browser and it is the only portion that scrolls.
This patch will set the to_call form field to the callsign of the
tab when the tab is activated in the UI.
NOTE: still need to populate it when clicking on the already active
tab.
This patch reworks the webchat UI to work in both desktop
and mobile layouts. Comprimises were made, but there is 1
codebase now between both desktop and mobile.
This patch also includes the new imessage/sms chat look.
This patch saves the webchat conversations messages in the browser's
local storage. When the user comes back to the page, the
conversations are restored.
This patch updates the web ui for webchat to suppress the displaying
of duplicate recieved messages. Dupes can happen over the KISS
interface due to packets being encapsulated by nearby repeaters into 3rd
party packets.
When a dupe message is recieved, the dupe message is flashed 3 times.
This patch makes use of the gps settings in the webchat section.
If the user sets the latitude and longitude in the config file, then
the gps beacon button will be enabled. The gps button will still be
enabled if the http connection is over SSL.
This patch starts the work to replace flask-socketio with
python-socketio so that uwsgi can be used instead of gunicorn.
uwsgi can support websockets.
Have to rework webchat command next
This patch introduces rpyc based RPC client/server for
the flask web interface to call into the running aprsd server
command to fetch stats, logs, etc to send to the browser.
This allows running the web interface via gunicorn command
gunicorn -k gevent --reload --threads 10 -w 1 aprsd.flask:app --log-level DEBUG
With more testing of the webchat beaconing, found a problem
with the packet format for the beacon. This patch fixes the
packet format of the beacon.
Also added a timeout when trying to get the GPS location in the browser,
otherwise it could never come back.
This patchset allow getting the GPS coordinates from the browser's
geolocation API (which can be denied by user), then send's the GPS
coordinates to aprsd via socketio and then aprsd sends a beacon.
This allows the APRS network to know the location of the person running
the webchat app via browser so packets can get routed back to it.
This allows the admin interface to see which plugins are registered and
enabled. Enabled is a flag that is set in the setup() method of the
plugin. This gives the plugin developer a chance to disable the plugin
if something isn't right at setup time. This allows aprsd to ignore
plugins that are registered but not emabled.
This patch adds a live view of the aprsd logfile in
the admin ui. This uses a new Log QueueHandler and the
threads.logging_queue to push log entries into a queue.
The flask websockets server will push those log entries up
to a connected client browser.