Commit Graph

49 Commits

Author SHA1 Message Date
SpudGunMan 8a0e1cba7c Update bbstools.py 2025-10-24 21:25:58 -07:00
SpudGunMan fa76a76203 BIG OLD PATCH 🍠
pz days ... haha. I hope this works.
fancy potato
2025-10-24 19:54:46 -07:00
SpudGunMan a11a2780db Update bbstools.py 2025-10-24 11:55:39 -07:00
SpudGunMan b6e80ae576 Update bbstools.py 2025-10-24 09:18:31 -07:00
SpudGunMan ae5991ee39 moreTime
to spare
2025-10-20 13:03:33 -07:00
SpudGunMan 2b420022f9 timeFix
will be make year 2000
2025-10-20 09:54:25 -07:00
SpudGunMan 6e89762f1d bbsCompression
not enabled yet
2025-10-18 08:39:43 -07:00
SpudGunMan 4c33b30f14 addMessageData
Co-Authored-By: Martin Bogomolni <martinbogo@igotu.com>
2025-10-13 15:22:29 -07:00
SpudGunMan 6c1e0cc2f9 bits&bytes 2025-10-08 09:20:09 -07:00
Martin Bogomolni 9f3446b605 feat: Implement comprehensive memory management and stability improvements
🔧 Memory Management Enhancements:
- Add memory cleanup constants (MAX_CMD_HISTORY=1000, MAX_SEEN_NODES=500, MAX_MSG_HISTORY=100)
- Implement cleanup_memory() function to prevent unbounded list growth
- Add periodic cleanup every hour via watchdog process
- Clean up stale game tracker entries automatically
- Limit cmdHistory and msg_history sizes to prevent memory bloat

🚀 Async Task Management Improvements:
- Fix async task management in both mesh_bot.py and pong_bot.py
- Implement proper task cleanup and cancellation on shutdown
- Add task names for better debugging and monitoring
- Use asyncio.gather() with return_exceptions=True for better error handling
- Prevent task hanging and resource leaks

🛡️ Enhanced Resource Management:
- Improve exit_handler() with proper interface cleanup
- Add atexit.register() for automatic graceful shutdown
- Ensure all meshtastic interfaces are properly closed
- Save persistent data (BBS, email, SMS, game scores) on exit
- Perform final memory cleanup during shutdown

🔍 Better Exception Handling:
- Replace bare except: blocks with specific exception handling
- Add proper error logging throughout the codebase
- Improve BBS database operations with better error recovery
- Add try/catch blocks for file operations and imports

📈 System Stability Improvements:
- Prevent memory leaks from growing lists and dictionaries
- Add automatic cleanup of stale player tracking data
- Improve error recovery in watchdog and async loops
- Better handling of interface connection failures

These changes address critical memory management issues that could cause
the bot to consume increasing memory over time, eventually leading to
system instability. The improvements ensure long-term reliability and
better resource utilization.

Fixes: Memory leaks, async task hanging, resource cleanup issues
Improves: System stability, error handling, resource management
Tested: Code analysis and review completed
2025-10-05 23:45:40 -07:00
SpudGunMan 006c9f58c6 enhance bbsLink 2025-10-05 19:44:00 -07:00
SpudGunMan 3d582e9b77 enhance import of BBS
for ssh copy
2025-10-05 19:20:44 -07:00
SpudGunMan 47280f4330 Update bbstools.py
comment from https://github.com/SpudGunMan/meshing-around/issues/194
2025-10-05 15:26:50 -07:00
SpudGunMan 1a49a81cf5 load_bbsdb with 'api'
allows for ssh file synch?
2025-10-04 12:54:20 -07:00
SpudGunMan 13ee6d4fd6 enhance bbsDM
enable a new 'API' to inject into the pkl file for DM's also see https://github.com/SpudGunMan/meshing-around/commit/2d44faac98bb977d9b3b9f840ca4dfbec71af3dc
2025-10-03 19:02:15 -07:00
SpudGunMan eb2d809fe4 from: in bbs_read_message
Reading Messages has the last 4 of the HexID now "from"
2025-08-31 20:37:40 -07:00
SpudGunMan a06819dbda enhance bbsack 2025-03-30 11:49:54 -07:00
SpudGunMan 9818cccbbf fix BBSLink for open mode
fix for issue raised https://github.com/SpudGunMan/meshing-around/discussions/142
2025-03-30 11:29:00 -07:00
SpudGunMan 27accb0d4a Update bbstools.py 2024-12-02 16:33:30 -08:00
SpudGunMan fd84505ad1 typo 2024-12-02 16:25:48 -08:00
SpudGunMan cdfe4bb844 Update bbstools.py 2024-12-02 16:14:40 -08:00
SpudGunMan f30e9cd8b8 Update bbstools.py 2024-12-02 16:14:01 -08:00
SpudGunMan 931bc7b9f7 Update bbstools.py 2024-12-02 16:08:22 -08:00
SpudGunMan 049c0d5ad7 bbsLinkEnhancments 2024-12-02 16:05:14 -08:00
SpudGunMan a5f1e452e4 Update bbstools.py 2024-12-01 13:13:20 -08:00
SpudGunMan 4e518758e5 Update bbstools.py 2024-10-31 16:56:43 -07:00
SpudGunMan e1b3dd311f Update bbstools.py 2024-10-31 16:42:09 -07:00
SpudGunMan bb0f923155 bbslink
first attempt at giving BBS link over the air
2024-10-31 16:38:16 -07:00
SpudGunMan e8caf704fe cleanup 2024-10-05 20:49:22 -07:00
SpudGunMan 726cd7d4d2 woahLottaRefactoring 2024-10-05 20:08:33 -07:00
SpudGunMan 3566016f7b Update bbstools.py 2024-10-04 17:05:19 -07:00
SpudGunMan 22a2a64861 Update bbstools.py 2024-09-26 21:08:29 -07:00
SpudGunMan d841fdf02c bbsinfo 2024-09-26 21:03:57 -07:00
SpudGunMan 78b3bf1475 Update bbstools.py 2024-09-24 19:32:32 -07:00
SpudGunMan 8d8014b157 Update bbstools.py 2024-08-31 22:20:27 -07:00
SpudGunMan 5cc46fed8f colog
colors and logging
2024-08-06 13:04:05 -07:00
SpudGunMan 5ee0eae4f3 Update bbstools.py 2024-07-25 01:05:46 -07:00
SpudGunMan 3cdc9ca253 Update bbstools.py 2024-07-24 20:31:14 -07:00
SpudGunMan 48ff30d310 refactorSettings 2024-07-24 13:53:45 -07:00
SpudGunMan 388e47dbd9 fixes 2024-07-20 01:20:58 -07:00
SpudGunMan 5c3f8ad1f4 @node Mail 2024-07-19 00:05:41 -07:00
SpudGunMan 9c5f54f91c Update bbstools.py 2024-07-18 23:54:54 -07:00
SpudGunMan 92630ee3d5 Update bbstools.py 2024-07-18 22:11:18 -07:00
SpudGunMan 1dc1f7a965 Update bbstools.py 2024-07-09 20:38:13 -07:00
SpudGunMan 6dc58fb491 Update bbstools.py 2024-07-02 15:06:43 -07:00
SpudGunMan db98358fc9 Update bbstools.py 2024-07-02 14:14:48 -07:00
SpudGunMan ae1df4ae3d Update bbstools.py 2024-07-02 14:09:46 -07:00
SpudGunMan 18fa848e47 delete message enhancment 2024-07-02 11:07:26 -07:00
SpudGunMan afdd16f010 RC1 2024-06-26 21:14:29 -07:00