this patch changes webchat to not call REPEAT automatically to fetch the
location of a remote callsign if the client is on kiss.
Only fetch the location if the user clicks the button to fetch the
location.
Lots of APRS messages don't have message ids in the packet. This
prevents packet.msgNo from having a value. so when we look the packet
up in the packet_list, the packet key has a None for a value for the
msgNo portion of the key. This results in every packet after the first
from that callsign that doesn't have a msg id, will be marked as a dupe
and will never be processed.
This patch checks to see if msgNo is None. If it is, then just
mark the packet as never being seen and pass it on the chain to
be processed. This also means that there should never be an Ack
sent for those packets that don't container a msgNo value.
This patch adds the logical ability to pause and unpause a thread.
This enables the base class decide to call the main loop() method or
not. If the thread is paused, it will simply call sleep for a second
and then continue. Only when the thread is unpaused will the main
loop() get called again.
This patch updates the aprsd client base class to report login succes
and any error string associated with a login failure. Also exposes
the login status so anyone using the client to check for login failure.
Update webchat, listen, server commands to check for initial login
failures and exit if the login failed. No reason to continue on
if the login fails.
This patch changes the location string to include Compass rose
instead of bearing degrees. Also adds the time timeago package
for calculating how much time since the beacon to format to something
like "12 days ago".
Fixed a few issues with webchat UI. When sending a message,
make sure the recipient tab is selected after sending.
Also, don't reset the path selection after sending a message.
The trace call now include the filename from where the call was
made as well as the qualname for the function/method being called
so you can see from the logs what class the call is from
Email thread by default runs every 5 minutes to check for email.
The healthcheck max timeout for a loop run is also 5 minutes, leaving
little room for a race condition for the healthcheck.
This patch updates the healthcheck timout to 5 minutes 30 seconds.
Changed the default to not log incoming packets. If you want to see
the packets logged, then pass in --log-packets.
Added the ability to specify a list of plugins to load by passing in
--enable-plugin <fully qualified python path to class>
You can specify --enable-plugin multiple times to enable multiple
plugins.
Added new switch to enable the packet stats thread logging of stats
of all the packets seen. --enable-packet-stats. This is off by
default.
This patch adds a try except block around the APRSIS
consumer. This gives us a chance to log the specific
exception, so we can see why the consumer failed.
This patch adds a new config option 'enable_sending_ack_packets', which
is by default set to True. This allows the admin to disable sending Ack
Packets for MessagePackets entirely.
this patch adds table formatted output for the stats in the
aprsd dump-stats command. You can also show the stats in raw json/dict
format by passing --raw. You can also limit the sections of the
stats by passing --show-section aprsdstats
When a packet _send_direct() failed to send due to a network
timeout or client issue, we don't want to count that as a send
attempt for the packet. This patch catches that and allows for
another retry.