Replace complex UnreadMessageData system with elegant path-based wildcard notification tracking inspired by Coracle's pattern. This simplifies the codebase while adding powerful batch "mark as read" capabilities.
Key changes:
- Add notification store with path-based wildcard support (chat/*, chat/{pubkey}, *)
- Remove UnreadMessageData interface and processedMessageIds Set tracking
- Implement timestamp-based "seen at" logic with wildcard matching
- Add markAllChatsAsRead() for batch operations
- Integrate ChatNotificationConfig for module configuration
- Create useNotifications composable for easy notification access
Benefits:
- Simpler architecture (removed processedMessageIds complexity)
- Flexible wildcard-based "mark as read" operations
- Future-proof for Primal-style backend sync
- User-scoped storage via StorageService
- Clean separation of concerns
refactor: enhance chat service with activity tracking and sorting
- Updated the ChatService to track lastSent, lastReceived, and lastChecked timestamps for peers, improving message handling and user experience.
- Implemented sorting of peers by last activity to prioritize recent conversations.
- Adjusted message handling to update peer activity based on message direction.
- Ensured updated peer data is saved to storage after modifications.
These changes streamline chat interactions and enhance the overall functionality of the chat service.
refactor: improve ChatService and notification store initialization
- Updated ChatService to ensure the notification store is initialized only after user authentication, preventing potential errors.
- Introduced a new method to safely access the notification store, enhancing error handling.
- Enhanced peer activity tracking by calculating last activity based on actual message timestamps, improving sorting and user experience.
- Added debounced saving of notification state to storage, optimizing performance and reducing unnecessary writes.
- Improved logging for better debugging and visibility into notification handling processes.
These changes enhance the reliability and efficiency of the chat service and notification management.
refactor: clean up logging in ChatService and notification store
- Removed unnecessary console logs from ChatService to streamline the code and improve performance.
- Simplified the initialization process of the notification store by eliminating redundant logging statements.
- Enhanced readability and maintainability of the code by focusing on essential operations without excessive debug output.
These changes contribute to a cleaner codebase and improved performance in chat service operations.
FIX BUILD ERRORS
refactor: update chat module notification configuration
- Refactored the notification settings in the chat module to use a nested structure, enhancing clarity and organization.
- Introduced `wildcardSupport` to the notification configuration, allowing for more flexible notification handling.
- Maintained existing functionality while improving the overall configuration structure.
These changes contribute to a more maintainable and extensible chat module configuration.
refactor: optimize ChatComponent and ChatService for improved performance
- Removed unnecessary sorting of peers in ChatComponent, leveraging the existing order provided by the chat service.
- Updated the useFuzzySearch composable to directly utilize the sorted peers, enhancing search efficiency.
- Cleaned up logging in ChatService by removing redundant console statements, streamlining the codebase.
- Added critical checks to prevent the current user from being included in peer interactions, improving user experience and functionality.
These changes contribute to a more efficient and maintainable chat module.
refactor: simplify message publishing in ChatService
- Removed unnecessary variable assignment in the message publishing process, directly awaiting the relayHub.publishEvent call.
- This change streamlines the code and enhances readability without altering functionality.
These modifications contribute to a cleaner and more efficient chat service implementation.
This commit is contained in:
parent
0447549fa5
commit
0da23e9332
8 changed files with 535 additions and 119 deletions
|
|
@ -54,7 +54,12 @@ export const appConfig: AppConfig = {
|
|||
config: {
|
||||
maxMessages: 500,
|
||||
autoScroll: true,
|
||||
showTimestamps: true
|
||||
showTimestamps: true,
|
||||
notifications: {
|
||||
enabled: true,
|
||||
soundEnabled: false,
|
||||
wildcardSupport: true
|
||||
}
|
||||
}
|
||||
},
|
||||
events: {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue