1
0
mirror of https://github.com/craigerl/aprsd.git synced 2024-12-21 00:51:06 -05:00
Commit Graph

1122 Commits

Author SHA1 Message Date
e5d8796cda Enable packet stats for listen command in Docker
Update the docker listen.sh to enable tracking packet stats.
2024-12-12 08:59:28 -05:00
caa4bb8bd0 Update Makefile
to help clean.
2024-12-11 15:54:49 -05:00
bc709b377c Update Changelog for 3.4.4 2024-12-06 09:17:44 -05:00
63bcd4139b Fixed some pep8 failures 2024-12-06 09:16:21 -05:00
3c058f3e7b Added new acked property to the core Packet
This is intended to be a flag for message packets that are sent out.
When we get an ack for that sent packet the acked should be changed
to True.
2024-12-02 20:11:43 -05:00
0d8a1ac334 Update requirements.dev 2024-12-01 21:29:13 -05:00
db73a540ba Remove dataclasses from requirements
dataclasses are no part of python proper since python 2.7 and >.
2024-12-01 21:28:31 -05:00
7fb0c7454e Update healthcheck
Check for keepalive with connection_keepalive to support more than
1 of the client types.
2024-11-27 20:53:53 -05:00
d94a3e7b90 Added __contains__ to threadlist
This patch adds the __contains__ to the APRSDThreadList
class so we can do things like

if name in APRSDThreadList:
  # do something
2024-11-27 11:40:53 -05:00
d4ae72608b Fixed webchat packets without msgNo
This patch makes a fix in the webchat UI for packets that
don't have a msgNo in the RX'd packets.  Previously the packets
would just show up as a dupe of the previous RX'd packet from
the same callsign.  Webchat UI will now properly show the message
by creating a fake msgNo value based on the contents of the RX'd packet
from_call+addressee+message_text
2024-11-26 19:48:50 -05:00
f66b96288f Fixed issue with packet object and prepare()
If any part of the code had a packet object and called prepare()
on it, it would create a msgNo if it wasn't set.  Sometimes we
get packets on the wire/RF that don't have a msgNo, so adding one
locally is wrong.   We should ONLY create a msgNo on a packet that
is destined for transmission.

This patch ensures that even if prepare() is called, that only
packets that are created locally for TX get a msgNo unless it
already exists from RX'd packets.
2024-11-26 16:52:39 -05:00
3a8b8f26dd Fixed webchat popovers not working.
We have to call reload_popovers() every time we insert
new chat bubbles or the popovers on the new bubbles won't work.
2024-11-26 12:59:37 -05:00
8529f1f8d1 Updated keepalive thread to report client
This patch updates the keepalive thread and the
aprsis client and kiss client to report keepalive.
2024-11-26 12:35:36 -05:00
a17b80ddd8 Fixed issue not processing null msg ids
Fixed a problem where we weren't sending packets with no msg id
to process.
2024-11-26 12:31:33 -05:00
e8ae3807db Webchat: Don't automatically fetch location KISS
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.
2024-11-26 10:00:59 -05:00
8f3da961e7 Update RX Packet dupe checking
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.
2024-11-25 17:17:32 -05:00
aba5bb03a2 Fix call in kiss consumer
Fixes a log entry in the kiss client consumer
2024-11-25 17:10:20 -05:00
3e488db3d7 Properly report TCPKISS connection
This patch updates the KISS client to properly report the
connection as being valid or failed.
2024-11-25 14:37:49 -05:00
be6357a552 Put safety checks around the timeago for keepalive
If the client isn't running yet, the keepalive date will be
None, so we need a check around it before running timeago on it.
2024-11-23 09:15:30 -05:00
98a96cbe34 Make sure to sleep(1) in the main RX thread
In case the consumer can't run, we need to sleep in the
main loop of the RX thread in case we are paused.
2024-11-23 09:14:43 -05:00
76d275db9c Added pause_all, unpause_all in threadlist
This patch adds methods for pausing and unpausing all threads in
the APRSDThreadList.
2024-11-23 09:13:35 -05:00
505565d3a6 Added client_exists() for client factory
This patch adds a method in the factory to detect if we have
created the client yet or not.
2024-11-23 09:12:11 -05:00
95094b874c Added APRSDThread pause/unpause capability
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.
2024-11-22 10:45:22 -05:00
e99c906fed No reason to create the client in init
The RX thread shouldn't create the client in init.  It should only be
checked in the loop prior to calling consumer
2024-11-21 20:35:42 -05:00
1eaa4b8e10 Fixed pep8 failure on counter.py
this patch fixes small pep8 issues on the updated
counter.py
2024-11-21 09:08:57 -05:00
c82e9ba597 Fixed broken unit tests
This patch fixes some broken unit tests with the aprsis client.
2024-11-21 09:01:49 -05:00
c372e1a1e9
Merge pull request #182 from Novfensec/Novfensec-patch-1
Update counter.py
2024-11-21 08:07:09 -05:00
Kartavya Shukla
e7d8947810
Update counter.py 2024-11-21 13:38:30 +05:30
1c50c39e61 Updated server client checks
Moved the client settings and configuration checks prior to
trying to start the client.
2024-11-20 18:01:21 -05:00
06c1fb985e Update Client to report login status
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.
2024-11-20 15:55:02 -05:00
9f7d169c18 Update WebChat
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".
2024-11-20 11:47:56 -05:00
Craig Lamparter
d42638efe3
Sending message to new callsign displays in an active tab 2024-11-19 10:31:05 -08:00
f0b99564d1 Fixes for webchat UI.
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.
2024-11-18 14:29:32 -05:00
257fa0db7d Update requirements 2024-11-18 11:07:47 -05:00
192726ee51
Merge pull request #177 from afourney/option-to-disable-help
Added an option to disable the loading of the help plugin.
2024-11-14 15:06:37 -05:00
c3df974004 Update utils.trace
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
2024-11-13 21:18:08 -05:00
Adam Fourney
24714923be Addressing comments in PR. 2024-11-11 20:49:23 -08:00
afourney
c460cefc1a
Merge branch 'master' into option-to-disable-help 2024-11-11 20:40:33 -08:00
03ce5a3d50 Change healthcheck email thread check timeout
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.
2024-11-11 12:44:01 -05:00
98a62102b7 Don't break logging aprslib failures
this patch removes the newline when logging failures to parse
aprs packets in aprslib
2024-11-08 13:47:02 -05:00
7d1e739502 Added new features to listen command.
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.
2024-11-08 13:28:46 -05:00
bd0bcc1924 Fixed the protocol for Stats Collector
The stats() method had an inconsistent name for serializable.
2024-11-08 13:22:53 -05:00
adcf94d8c7 Catch and log exceptions in consumer
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.
2024-11-08 13:21:38 -05:00
9f3c8f889f Allow loading a specific list of plugins
Updated the PluginManager to allow only activating a
specific list of plugins passed in, instead of what is
in the config file.
2024-11-08 13:20:42 -05:00
6e62ac14b8 Allow disabling sending all AckPackets
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.
2024-11-06 18:21:46 -05:00
d0018a8cd3 Added rich output for dump-stats
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
2024-11-06 11:39:50 -05:00
2fdc7b111d Only load EmailStats if email is enabled
This patch updates the stats collector to only register the EmailStats
when the email plugin is enabled.
2024-11-06 08:43:25 -05:00
229155d0ee updated README.rst
this patch includes information on building your own
plugins for APRSD
2024-11-05 20:49:11 -05:00
7d22148b0f
Merge pull request #181 from craigerl/unit-tests
Added unit test for client base
2024-11-05 20:48:27 -05:00
563b06876c fixed name for dump-stats output
Also added a console.stats during loading of the stats
2024-11-05 20:15:52 -05:00