chore(config): update tool versions in Trunk configuration - Updated trunk plugin from v1.7.3 to v1.7.4 - Updated checkov from 3.2.490 to 3.2.495 - Updated markdownlint from 0.45.0 to 0.46.0 - Updated prettier from 3.6.2 to 3.7.1 - Updated trufflehog from 3.90.12 to 3.91.1
docs: update plugin development guide for bot_command require_mention parameter The Plugin Development Guide has been updated to document the new `require_mention` parameter added to the `bot_command()` function. This parameter allows plugins to specify whether bot commands should require an explicit mention of the bot user. The guide now includes updated code examples showing proper usage of the parameter and reflects the latest implementation changes to the `bot_command()` helper function in `matrix_utils.py`.
Updated Community Plugin List (markdown)
docs: update plugin development guide configuration and bot command handling - Rename `plugin_response_delay` to `message_delay` throughout documentation - Update config.yaml examples to use new `message_delay` option (defaults to 2.5s) - Enhance bot_command() function to handle simple !command format - Improve regex patterns for bot mention and command detection - Update Matrix room reference from meshnet.club to matrix.org
docs: improve documentation formatting and structure - Add consistent section headers to documentation files - Convert HTML img tags to markdown image format - Improve code block formatting with proper language specifiers - Reformat table alignment for better readability - Enhance JSON code block indentation for clarity These changes improve the overall readability and consistency of the project documentation across multiple files.
chore(config): add Trunk configuration and launcher files Adds .trunk directory with configuration files and launcher script for Trunk development tool setup.
Update Plugin-Development-Guide.md
Remove outdated __init__ pattern from plugin examples - Replace explicit __init__ method with comment explaining BasePlugin handles initialization - Change example to show setup_data_directories() method instead of __init__ - Prevents confusion about plugin constructor requirements - Aligns with current template that doesn't override __init__ This addresses the source of confusion that led to developers using outdated plugin patterns.
Add clarification section for plugin installation methods - Distinguish between community plugins (automatic Git cloning) and custom plugins (manual installation) - Explain directory structure requirements for each type - Provide clear examples of configuration and setup - Emphasize that custom plugin config key must match directory name and plugin_name attribute This addresses confusion where users try to use community plugin templates for custom plugin installation.
Fix Python code indentation in DM detection example - Add proper 4-space indentation to Python code within code block - Ensures code examples are properly formatted and readable - Maintains consistent indentation throughout the guide
Fix indentation in best practices section - Correct sub-bullet indentation under item 9 - Ensure consistent formatting throughout guide
Update plugin guide with balanced approach to helper methods - Remove harsh warnings about direct connect calls - Present helper methods as convenient options, not requirements - Show both helper method and direct call approaches for DM detection - Update best practices to be more permissive and practical - Focus on enabling developers rather than restricting them - Maintain clean, readable guidance for new developers
Update Plugin Development Guide to use new BasePlugin DM detection helpers - Replace direct connect_meshtastic() calls with self.is_direct_message(packet) - Update DM detection examples to use new BasePlugin helper method - Add documentation for get_my_node_id() and is_direct_message() methods - Simplify DM detection from 8+ lines to 1 line in examples - Remove need for plugins to import connect_meshtastic for DM detection - Provides consistent, clean API for common plugin pattern
Clean up Plugin Development Guide - remove legacy method references - Remove entire 'Message Queue System' section that was confusing for new developers - Replace all sendText() examples with modern send_message() method from BasePlugin - Update import examples to remove connect_meshtastic references - Simplify Meshtastic utilities documentation to focus on BasePlugin methods - Update best practices to recommend BasePlugin.send_message() approach - Remove legacy method references from code examples throughout guide This provides a clean, modern approach for new plugin developers without legacy confusion.
Remove version-specific language from documentation - Remove 'As of v1.1.0' from installation instructions - Remove 'As of v1.0.0' from plugin location descriptions - Simplify language to focus on current functionality without version references
Remove obsolete upgrade guide reference - Remove reference to UPGRADE_TO_V1.md which is no longer relevant - Streamline documentation flow for current users - Focus on installation rather than outdated upgrade paths
Updated Plugin Development Guide (markdown)
Update addresses
Simplify Plugin Development Guide - remove complexity - Remove detection sensor section (too advanced/niche for getting started guide) - Simplify message queue section to focus on what plugin developers need to know: - Emphasize that existing code works unchanged - Keep simple explanation of automatic rate limiting - Remove advanced queue monitoring and error handling details - Simplify best practices to remove overly technical queue items - Clean up code examples to be more straightforward - Focus on helping people get started rather than covering every feature The guide is now simpler, more focused, and better suited for developers getting started with plugin development.
Rename and update Plugin Development Guide with message queue system - Rename Community-Plugin-Development-Guide.md to Plugin-Development-Guide.md - Add comprehensive Message Queue System section covering: - Key benefits (rate limiting, FIFO ordering, connection awareness) - How the queue system works transparently for plugins - Plugin development considerations and best practices - Detection sensor support with binary data - Queue status monitoring and error handling - Update all examples to include message queue context - Update cross-references in other wiki pages - Add new best practices for working with the queue system - Maintain backward compatibility information for existing plugins The message queue system is now fully documented for plugin developers, ensuring they understand how their plugins integrate with the new rate-limiting and queuing infrastructure introduced in v1.1.
Update room aliases temporarily
Update wiki - v1.1.0 & docker support
Update Community Plugin Development Guide for v1.0 Matrix client best practices - Remove outdated references to importing matrix_client directly from matrix_utils - Update all examples to use BasePlugin.send_matrix_message() method exclusively - Clarify that send_matrix_message() handles client initialization and error checking automatically - Update import examples to remove matrix_client import (only bot_command needed) - Revise Matrix Utilities section to emphasize BasePlugin methods over direct client access - Update Best Practices section to reflect current v1.0 architecture patterns - Ensure all code examples follow the same patterns as working plugins in mmrelay - Improve clarity around when and how to use Matrix messaging in plugins These changes align the documentation with the current v1.0 codebase where: - BasePlugin.send_matrix_message() is the recommended approach for all Matrix messaging - Direct matrix_client usage is discouraged to prevent client reinitialization - Plugin developers should rely on BasePlugin abstractions for consistency and reliability This update ensures new plugin developers get accurate guidance that matches the actual implementation patterns used in core plugins and prevents common mistakes around Matrix client management.
Merge pull request #1 from jeremiah-k/update-plugin-guide Update plugin guide
📖 Improve introduction and plugin system explanation - Make introduction more engaging with concrete examples - Explain what plugins can do in practical terms - Improve flow and readability of the opening sections - Focus on helping developers understand the possibilities
✨ Improve practical examples and readability - Make data persistence examples more practical with real use cases - Simplify file system storage explanation - Update Meshtastic command handling with cleaner, more readable example - Focus on practical patterns developers will actually use
📝 Improve configuration examples and best practices - Remove outdated initialization advice from best practices - Add clearer configuration examples for both community and core plugins - Make configuration section more readable with better comments
🔧 Update plugin guide: Remove outdated initialization complexity - Remove confusing warnings about initialization order - Update examples to use simplified plugin pattern - Replace long 'critical detail' section with small legacy support note - Focus on current, clean approach for new plugin developers