This documentation is organized into three main sections:
- User Guides - Human-friendly explanations of how MuteSky works
- Architecture - Technical documentation of system design and implementation
- Development - Implementation details and troubleshooting guides
Easy-to-understand explanations for users and developers.
-
- Simple vs Advanced Mode explained
- When to use each mode
- Real-world examples
- Pro tips and best practices
-
- How muting works with Bluesky
- Keyword preservation
- Settings and options
- Common questions answered
-
- When changes are saved
- What gets saved
- Real-world examples
- Troubleshooting guide
Technical documentation for developers.
-
- Two-mode system overview
- State management hierarchy
- Persistence model
- Multi-user support
-
- OAuth implementation
- Session management
- Token refresh mechanism
- Callback system
-
- Keyword types and management
- Muting behavior
- Case sensitivity handling
- API integration
-
- Simple mode components
- Advanced mode components
- Mode synchronization
- State management
-
- Core optimizations
- Bulk operations
- State updates
- Memory management
-
- Set operations optimization
- Enhanced caching system
- Deferred UI updates
- Response time improvements
Implementation details and troubleshooting.
- Known Issues
- Mode-related issues
- Case sensitivity problems
- Authentication issues
- Performance concerns
- Advanced mode is source of truth
- State only saves on mute/unmute
- DID-specific storage keys
- Case-insensitive comparisons
- Set operations for O(1) lookups
- Debounced UI updates
- Progressive bulk operations
- Efficient caching system
- Simple mode: Context-based filtering
- Advanced mode: Direct keyword management
- Synchronized state between modes
- Exception handling for granular control
- Bluesky OAuth integration
- Token refresh mechanism
- Session state management
- Multi-user support
When working with this codebase:
-
State Management
- Follow the established hierarchy
- Respect the persistence model
- Maintain case sensitivity rules
- Handle exceptions properly
-
Performance
- Use provided optimization patterns
- Implement proper caching
- Follow bulk operation patterns
- Monitor memory usage
-
Error Handling
- Follow established patterns
- Provide clear error messages
- Implement proper recovery
- Log relevant context
-
Testing
- Verify mode transitions
- Test case sensitivity
- Check state persistence
- Monitor performance
When updating documentation:
-
Consider Both Audiences
- Add/update technical docs in Architecture
- Add/update user guides in Guides
- Keep explanations appropriate for each audience
-
Maintain Structure
- Keep sections focused and concise
- Include relevant code examples
- Update the README.md index
- Cross-reference related sections
-
Include Real-World Context
- Add practical examples
- Explain the "why" not just the "how"
- Address common questions
- Provide troubleshooting tips