1
0
mirror of https://github.com/craigerl/aprsd.git synced 2026-06-02 06:04:42 -04:00
Commit Graph

1121 Commits

Author SHA1 Message Date
hemna caa4bb8bd0 Update Makefile
to help clean.
2024-12-11 15:54:49 -05:00
hemna bc709b377c Update Changelog for 3.4.4 3.4.4 2024-12-06 09:17:44 -05:00
hemna 63bcd4139b Fixed some pep8 failures 2024-12-06 09:16:21 -05:00
hemna 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
hemna 0d8a1ac334 Update requirements.dev 2024-12-01 21:29:13 -05:00
hemna 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
hemna 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
hemna 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
hemna 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
hemna 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
hemna 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
hemna 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
hemna 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
hemna 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
hemna 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
hemna aba5bb03a2 Fix call in kiss consumer
Fixes a log entry in the kiss client consumer
2024-11-25 17:10:20 -05:00
hemna 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
hemna 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
hemna 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
hemna 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
hemna 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
hemna 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
hemna 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
hemna 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
hemna c82e9ba597 Fixed broken unit tests
This patch fixes some broken unit tests with the aprsis client.
2024-11-21 09:01:49 -05:00
hemna 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
hemna 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
hemna 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
hemna 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
hemna 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
hemna 257fa0db7d Update requirements 2024-11-18 11:07:47 -05:00
hemna 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
hemna 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
hemna 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
hemna 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
hemna 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
hemna bd0bcc1924 Fixed the protocol for Stats Collector
The stats() method had an inconsistent name for serializable.
2024-11-08 13:22:53 -05:00
hemna 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
hemna 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
hemna 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
hemna 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
hemna 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
hemna 229155d0ee updated README.rst
this patch includes information on building your own
plugins for APRSD
2024-11-05 20:49:11 -05:00
hemna 7d22148b0f Merge pull request #181 from craigerl/unit-tests
Added unit test for client base
2024-11-05 20:48:27 -05:00
hemna 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
hemna 579d0c95a0 optimized Packet.get() 2024-11-05 15:04:48 -05:00