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

1110 Commits

Author SHA1 Message Date
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
579d0c95a0 optimized Packet.get() 2024-11-05 15:04:48 -05:00
224686cac5 Added unit test for APRSISClient 2024-11-05 13:39:44 -05:00
ab2de86726 Added unit test for ClientFactory 2024-11-05 12:32:16 -05:00
f1d066b8a9 Added unit test for client base
This patch adds a unit test for the APRSClient base class.
2024-11-05 12:15:59 -05:00
0be87d8b4f Calculate delta once and reuse it 2024-11-05 11:54:07 -05:00
d808e217a2 Updated APRSClient
Added some doc strings and some types for returns as well
as an exception catching around create_client
2024-11-05 11:46:50 -05:00
7e8d7cdf86 Update PacketList
This patch updates some of the code in PacketList to be
a bit more efficient.  Thanks to the Cursor IDE :P
2024-11-05 11:34:12 -05:00
add18f1a6f Added new dump-stats command
This new command will dump the existing packetstats from the
last time it was written to disk.
2024-11-05 11:33:19 -05:00
c4bf89071a
Merge pull request #180 from craigerl/walt-listen-test
Walt listen test
2024-11-05 11:32:38 -05:00
df0ca04483 Added some changes to listen
to collect stats and only show those stats during listen
2024-11-05 11:29:44 -05:00
3fd606946d Fix a small issue with packet sending failures
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.
2024-10-31 18:10:46 -04:00
dependabot[bot]
fbfac97140 Bump werkzeug from 3.0.4 to 3.0.6
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 3.0.4 to 3.0.6.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/3.0.4...3.0.6)

---
updated-dependencies:
- dependency-name: werkzeug
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-31 18:10:45 -04:00