Commit graph

334 commits

Author SHA1 Message Date
ab5d2bc88d Fix: Build Errors 2025-08-10 19:21:27 +02:00
a71c715bc3 feat: Update Navbar to replace MessageSquare icon with Activity icon
- Import the Activity icon from lucide-vue-next and replace instances of the MessageSquare icon in the Navbar component.
- Enhance visual representation in the dropdown menu and button for the Relay Hub Status feature.
2025-08-10 19:02:47 +02:00
bb91ceace7 feat: Implement Relay Hub Status page with connection and subscription testing features
- Add a new RelayHubStatus.vue component to monitor and test the centralized Nostr relay hub functionality.
- Include sections for Relay Hub Status, Subscription Details, Connection Test, Subscription Test, Mobile Visibility Test, and Configuration Info.
- Implement reactive state management for connection testing and subscription events, enhancing user interaction and visibility into relay hub operations.
- Update router configuration to route to the new RelayHubStatus component.
2025-08-10 19:01:30 +02:00
355fb6e94b refactor: Rename Relay Hub Demo to Relay Hub Status and update routing
- Change the title and content of the RelayHubDemo component to reflect its new purpose as Relay Hub Status.
- Update routing paths and component names in the Navbar and router configuration to align with the new naming convention.
- Enhance user navigation by ensuring consistent terminology across the application.
2025-08-10 19:00:03 +02:00
260806e690 refactor: Simplify subscription details display in RelayHubDemo component
- Remove the subscription details section from RelayHubStatus.vue to streamline the component.
- Implement a toggle button in RelayHubDemo.vue to show/hide subscription details, enhancing user interaction.
- Update the layout and messaging for better clarity when no active subscriptions are present, improving overall user experience.
2025-08-10 18:54:50 +02:00
13f6f44a89 style: Improve RelayHubStatus and RelayHubDemo components for better dark mode support and UI consistency
- Update styles in RelayHubStatus.vue to enhance dark mode appearance, including adjustments to colors, borders, and font weights.
- Refactor RelayHubDemo.vue to improve layout and responsiveness, ensuring better visibility and usability in both light and dark themes.
- Add dark mode styles for various elements, including headers, buttons, and informational texts, to provide a cohesive user experience across the application.
2025-08-10 18:48:55 +02:00
48761e8035 feat: Add subscriptionDetails getter to RelayHub for detailed subscription information
- Implement a new getter method in RelayHub to return an array of subscription details, including IDs, filters, and associated relays.
- Enhance the ability to track and manage subscriptions more effectively within the RelayHub component.
2025-08-10 18:40:41 +02:00
8fb0c40797 feat: Update useRelayHub to manage reactive relay and subscription counts
- Introduce reactive properties for connectedRelayCount, totalRelayCount, and totalSubscriptionCount in useRelayHub.ts to track relay and subscription states.
- Enhance event listeners in useRelayHub to update these counts on connection and subscription events.
- Simplify getter methods in relayHub.ts by removing unnecessary logging and directly returning counts.
- Emit subscriptionCreated and subscriptionRemoved events to keep track of active subscriptions.
2025-08-10 18:37:52 +02:00
36e9694c1b feat: Enhance RelayHub component with subscription count details (still not working)
- Update RelayHubStatus.vue to display both local and global subscription counts, improving user visibility into active subscriptions.
- Add totalSubscriptionCount computed property in useRelayHub.ts to track the total number of subscriptions.
- Implement totalSubscriptionCount getter in relayHub.ts to return the size of the subscriptions map.
- Include debug logging in relayHub.ts for connected relay counts and statuses to aid in troubleshooting.
2025-08-10 18:19:18 +02:00
356f42d209 feat: Add HTML test page for formatting functions
- Introduce a new HTML file that tests various formatting utility functions, including number, Satoshi, millisatoshi, currency, event price, and wallet balance formatting.
- Implement a structured layout with sections for each test type and a summary of test results.
- Include JavaScript to run tests on page load, displaying success and error results for each formatting function.
- Update import paths in the existing TypeScript test file to ensure compatibility with the new structure.
2025-08-10 18:07:16 +02:00
9aa9ab5d2c feat: Add Mobile Relay Connection Management Evaluation documentation
- Introduce a comprehensive documentation file detailing the evaluation of mobile relay connection management, highlighting strengths, areas for improvement, and recommended enhancements.
- Outline best practices for mobile-specific implementation, including battery-aware connection management, progressive web app support, and service worker integration.
- Provide testing recommendations and a current implementation score to guide future development efforts.
2025-08-10 18:00:44 +02:00
54860d1e2f feat: Add Central Relay Hub Architecture documentation
- Introduce a comprehensive documentation file detailing the Central Relay Hub architecture for managing Nostr relay connections in the Ario application.
- Outline key components, integration patterns, benefits, and best practices for utilizing the relay hub, enhancing developer understanding and facilitating easier implementation.
2025-08-10 18:00:44 +02:00
4f2cf7885d feat: Add debug logging for message sorting in Nostr chat
- Enhance the computed property in ChatComponent to include detailed debug logging for message sorting by timestamp. This addition aids in development by providing insights into the message order and content, improving troubleshooting capabilities.
2025-08-10 17:59:59 +02:00
22b3c430fa feat: Sort Nostr chat messages by timestamp for chronological display
- Update the computed property in ChatComponent to sort messages by their creation timestamp, ensuring they are displayed in chronological order for better user experience.
2025-08-10 17:59:59 +02:00
de918419fa feat: Enhance Nostr chat debugging and unread message management
- Introduce debug functions in ChatComponent for resetting unread counts and displaying unread message details for specific peers, improving troubleshooting capabilities.
- Update unread count management in useNostrChat to ensure accurate tracking and storage of unread messages, including recalculating counts based on message timestamps.
- Implement logic to prevent duplicate message processing and enhance overall message handling efficiency.
2025-08-10 17:59:59 +02:00
94c85e3a0e feat: Enhance user authentication in LNBits API
- Update getCurrentUser method to fetch Nostr keys alongside basic user info, improving user data retrieval.
- Implement error handling to ensure basic user info is returned if Nostr key fetching fails, enhancing robustness of the authentication process.
2025-08-10 17:59:59 +02:00
390f77539e feat: Enhance Nostr chat functionality and debugging
- Improve console logging in ChatComponent and useNostrChat for better tracking of message sending, user authentication, and key management.
- Update user authentication checks to ensure valid Nostr keypairs are available before sending messages.
- Refactor message handling logic to streamline subscription and processing of incoming messages, enhancing overall chat experience.
2025-08-10 17:59:59 +02:00
8e94216c02 feat: Enhance debugging and authentication in Nostr chat
- Add detailed console logging in ChatComponent to track message sending attempts, selected peers, and authentication status.
- Integrate authentication checks in useNostrChat, ensuring users have valid Nostr keypairs before sending messages.
- Implement logic to generate and store new Nostr keys if none are found, improving user experience and key management.
2025-08-10 17:59:59 +02:00
59e0496ad9 feat: Add debug logging for LNBits API and configuration
- Introduce console logging for LNBits API requests, providing visibility into endpoint calls and full URLs.
- Add debug logging for configuration loading, displaying key configuration values while masking sensitive information.
- Enhance overall debugging capabilities to facilitate easier troubleshooting and monitoring of API interactions.
2025-08-10 17:59:59 +02:00
7d7bee8e77 feat: Integrate Relay Hub for centralized Nostr connection management
- Introduce a new composable, useRelayHub, to manage all Nostr WebSocket connections, enhancing connection stability and performance.
- Update existing components and composables to utilize the Relay Hub for connecting, publishing events, and subscribing to updates, streamlining the overall architecture.
- Add a RelayHubStatus component to display connection status and health metrics, improving user feedback on the connection state.
- Implement a RelayHubDemo page to showcase the functionality of the Relay Hub, including connection tests and subscription management.
- Ensure proper error handling and logging throughout the integration process to facilitate debugging and user experience.
2025-08-10 17:59:59 +02:00
df7e461c91 feat: Format event price and wallet balance in PurchaseTicketDialog and events page
- Implemented formatting functions for event ticket prices and wallet balances to enhance readability and user experience.
- Updated PurchaseTicketDialog.vue and events.vue to utilize the new formatting functions, ensuring consistent display of financial information.
2025-08-10 17:56:20 +02:00
147cf31f0f style: Update Badge colors in Navbar and ChatComponent for better visibility
- Change Badge background color from red to blue in both Navbar and ChatComponent to enhance visual consistency and improve user experience.
- Ensure that unread message indicators are more visually appealing and aligned with the overall design theme.
2025-08-10 10:50:14 +02:00
9b280be1a1 refactor: Update Navbar to remove chat link and simplify navigation
- Remove the chat link from the Navbar, filtering out the '/chat' route from the navigation items.
- Simplify the rendering of navigation items by displaying only the item names without additional chat-related elements, enhancing clarity and user experience.
2025-08-10 10:50:14 +02:00
2d5c395d6c feat: Add mobile chat button to Navbar for authenticated users
- Introduce a mobile chat button in the Navbar that is only visible to authenticated users, enhancing accessibility to chat features on mobile devices.
- Include a notification badge to display the count of unread messages, improving user engagement and awareness of new messages.
2025-08-10 10:50:14 +02:00
2dec184c42 refactor: Replace Nostr chat preloader with a singleton pattern for improved state management
- Remove the useNostrChatPreloader composable and integrate its functionality into the useNostrChat composable, streamlining chat data handling.
- Update App.vue and ChatComponent to utilize the new singleton instance for managing chat connections and peer subscriptions.
- Enhance Navbar and ChatComponent to reflect changes in unread message tracking and peer management, improving user experience.
- Ensure proper error handling and logging during chat connection and peer loading processes.
2025-08-10 10:50:14 +02:00
855a003962 feat: Integrate Nostr chat preloader for improved chat data handling
- Introduce a new composable, useNostrChatPreloader, to manage chat data preloading, including peer loading and subscription for notifications.
- Update ChatComponent to utilize the preloader, ensuring chat data is ready before connecting.
- Enhance Navbar to display unread message counts with notification badges for better user experience.
- Refactor App.vue to trigger both market and chat preloading upon successful login, streamlining the user experience.
2025-08-10 10:50:14 +02:00
b0101915c7 feat: Implement sorting of peers by latest message timestamp and unread status in Nostr chat
- Introduce a computed property to sort peers based on the latest message timestamp and unread message count, enhancing the user experience by prioritizing relevant conversations.
- Add methods to track and retrieve the latest message timestamp for each peer, ensuring accurate sorting.
- Update the ChatComponent to utilize the new sorting logic, improving the display of peers in the chat interface.

refactor: Reorganize fuzzy search and mobile detection logic in ChatComponent

- Move fuzzy search implementation and mobile detection methods to improve code clarity and maintainability.
- Ensure consistent functionality for searching peers by username or pubkey with typo tolerance.
- Maintain mobile navigation logic for better user experience on smaller devices.
2025-08-10 10:50:14 +02:00
91e9756bf0 fix: build errors 2025-08-10 10:50:14 +02:00
93b0e28e34 feat: Enhance unread message tracking in Nostr chat
- Introduce a Set to track processed message IDs, preventing duplicate counting of unread messages.
- Update localStorage handling to serialize and deserialize processed message IDs correctly.
- Add methods to clear processed message IDs and debug unread data for specific peers, improving visibility and control over unread message state.
- Enhance logging for unread message processing to aid in debugging and understanding message flow.
2025-08-10 10:50:14 +02:00
a0ae70670d feat: Enhance peer subscription and logging in Nostr chat
- Improve the subscription process for peers by adding detailed logging for subscription attempts and results.
- Update the ChatComponent to provide a summary of successful and failed subscriptions.
- Enhance the useNostrChat composable with additional logging for subscription filters and incoming message handling.
- Ensure better visibility into connection state changes and subscription readiness.
2025-08-10 10:50:14 +02:00
d48cbbeec0 feat: Add peer notification subscriptions in Nostr chat
- Implement a new method to subscribe to peers for notifications without loading full message history.
- Enhance the ChatComponent to automatically subscribe to peers when the connection is established.
- Update the useNostrChat composable to include the new subscription method and handle notification events.
- Improve logging for subscription status and errors to aid in debugging.
2025-08-10 10:50:14 +02:00
5fa3fcf60f feat: Add unread message notifications and tracking in Nostr chat
- Implement unread message indicators in the ChatComponent for both total unread messages and per-peer unread counts.
- Enhance the useNostrChat composable to manage unread message data, including saving and loading unread counts from localStorage.
- Introduce methods to mark messages as read and update unread counts dynamically as new messages are received.
- Refactor the message handling logic to ensure accurate tracking of unread messages based on the last read timestamp.
2025-08-10 10:50:14 +02:00
aa3509d807 feat: Improve Nostr chat encryption with enhanced key validation and error handling
- Add validation for the hex format of private and public keys before encryption, ensuring they contain only valid characters.
- Implement error handling during the encryption process to log failures and provide clearer error messages.
- Refactor the encryption logic to improve reliability and security in the message encryption workflow.
2025-08-10 10:50:14 +02:00
dc053ad1be feat: Enhance Nostr chat encryption with key validation and logging
- Implement validation for private and public keys before encryption, ensuring they are present and in the correct hex format.
- Add detailed console logging for key lengths and encryption success, improving debugging and transparency in the message encryption process.
- Refactor the encryption call to use validated keys, enhancing security and reliability.
2025-08-10 10:50:14 +02:00
7241789c9e refactor: Update FuzzySearch component and composable for improved class handling and code clarity
- Modify the class prop in FuzzySearch.vue to accept both string and array types for greater flexibility.
- Adjust the template to correctly reference props.class for consistent styling.
- Remove unused variables in FuzzySearchDemo.vue to streamline the code.
- Update the updateData function in useFuzzySearch.ts for better parameter clarity.
2025-08-10 10:50:14 +02:00
fd795df8ac refactor: Enhance layout structure in ChatComponent for improved responsiveness
- Update the layout of the peer list and scrolling area to utilize flex properties, ensuring better responsiveness and clarity.
- Adjust the structure of the ChatComponent to maintain consistent spacing and alignment across different screen sizes.
2025-08-10 10:50:14 +02:00
11fb45e527 feat: Add fuzzy search functionality to peer list in ChatComponent
- Implement a search input for filtering peers by name or pubkey, enhancing user experience.
- Display search results count and a message when no peers match the search query.
- Update peer list rendering to utilize filtered results, improving performance and usability.
- Refactor layout for better responsiveness and clarity in the chat interface.
2025-08-10 10:50:14 +02:00
74ae2538cb feat: implement vue-use integration of Fuse.js for fuzzy search
- Introduce a new FuzzySearch component for Vue 3, leveraging Fuse.js
for intelligent search capabilities.
- Implement a useFuzzySearch composable for flexible search
functionality, allowing configuration of search options.
- Create demo and README files to showcase usage and features of the
fuzzy search implementation.
- Update package.json and package-lock.json to include
@vueuse/integrations version 13.6.0 for enhanced performance.

- Introduce async-validator version 4.2.5 to package.json and
package-lock.json for enhanced validation capabilities.
- Update tmp package from version 0.2.3 to 0.2.4 in package-lock.json to
ensure compatibility and security improvements.
2025-08-10 10:50:14 +02:00
3d1bc94183 fix: Update private key field in chat integration documentation
- Change the private key field name from "prvkey" to "prvkey_hex" in the CHAT_INTEGRATION.md file for clarity and consistency with expected data formats.

feat: Add Fuzzy Search Component and Composable

- Introduce a new FuzzySearch component for Vue 3, leveraging Fuse.js for intelligent search capabilities.
- Implement a useFuzzySearch composable for flexible search functionality, allowing configuration of search options.
- Create demo and README files to showcase usage and features of the fuzzy search implementation.
- Update package.json and package-lock.json to include @vueuse/integrations version 13.6.0 for enhanced performance.
2025-08-10 10:50:14 +02:00
37a539bc2d Fix Build Errors (Clean up ChatComponent and useNostrChat)
- Remove unused ChatMessage interface from ChatComponent to streamline
the code.
- Update getPeerAvatar function parameter for clarity by renaming it to
_peer.
- Remove unnecessary useNostrStore import in useNostrChat, simplifying
the composable's structure.
2025-08-10 10:50:14 +02:00
0e40b62466 feat: Prevent duplicate message processing in Nostr chat
- Add logic to track processed message IDs, ensuring that messages are not processed multiple times, which enhances the reliability of message handling in the chat component.
2025-08-10 10:50:14 +02:00
55e051146e feat: Implement message addition callback and enhance scrolling behavior
- Introduce a callback for when new messages are added, allowing for automatic scrolling to the bottom of the chat when relevant peers are selected.
- Update the ChatComponent to reference the scrolling area correctly and improve the logic for scrolling to the latest messages.
- Enhance console logging for better debugging and tracking of message flow and scrolling actions.
2025-08-10 10:50:14 +02:00
7bef56f630 refactor: Update chat component for improved scrolling behavior
- Change the reference for the scrolling target to a hidden element at the bottom of the chat, enhancing the user experience during message loading.
- Adjust scrolling logic to automatically scroll to the bottom when a peer is selected, ensuring users see the latest messages immediately.
2025-08-10 10:50:14 +02:00
ce81b9d2bf feat: Enhance Nostr chat functionality with historical message loading
- Implement a new function to load historical messages for peers before subscribing to new messages, improving user experience by providing context.
- Add detailed console logging for both historical and live message events to aid in debugging and understanding message flow.
- Ensure consistent handling of conversation keys for both sent and received messages, enhancing message management.
2025-08-10 10:50:14 +02:00
55958a0822 style: Update ChatPage layout for improved height responsiveness
- Adjust the height of the chat container to use dynamic calculations based on viewport height, enhancing the layout for various screen sizes.
- Ensure the chat interface maintains a consistent appearance across different devices, improving overall user experience.
2025-08-10 10:50:14 +02:00
dd7d13f41b refactor: Improve chat component layout and message handling
- Ensure the chat header is always present to maintain layout consistency, even when no peer is selected.
- Update message display logic to only scroll to the bottom when new messages arrive, enhancing user experience.
- Refactor message input and display sections for better responsiveness and usability across devices.
2025-08-10 10:50:14 +02:00
d5e6b54c78 fix: Require VITE_NOSTR_RELAYS for chat functionality
- Update getRelays function to throw an error if VITE_NOSTR_RELAYS is not configured, ensuring proper relay setup for chat.
- Remove fallback relays to enforce the use of configured relays only, improving reliability in chat connections.
2025-08-10 10:50:14 +02:00
c30e4ba6c5 feat: Enhance Nostr chat functionality with improved authentication and error handling
- Integrate authentication token retrieval for loading peers and current user data.
- Update API endpoints to use a configurable base URL for better flexibility.
- Implement enhanced error handling for API responses, including JSON parsing and logging.
- Refactor relay connection logic to utilize a SimplePool for managing multiple relays efficiently.
- Improve user feedback with console logs for connection status and error details.
2025-08-10 10:50:14 +02:00
3bd87ee712 fix: Refine mobile chat layout and peer selection logic
- Adjust mobile chat component to ensure proper display of peer list and chat view based on selection.
- Enhance avatar and username rendering for selected peers, ensuring fallback options are in place.
- Improve responsiveness and usability of the chat interface, particularly for mobile users.
- Update message display logic to maintain consistency across different screen sizes.

refactor: Update desktop chat layout for improved structure

- Change the layout of the desktop chat component to use a full-height column flexbox, enhancing the overall structure and responsiveness.
- Ensure better alignment and spacing within the chat interface for a more organized appearance.
2025-08-10 10:50:14 +02:00
87663d1d87 feat: Enhance mobile chat experience with responsive design and navigation
- Implement mobile-first design for the chat interface, optimizing touch interactions and navigation.
- Introduce a peer list view that displays only peers until a selection is made, followed by a full-width chat view.
- Add a back button for easy navigation and ensure touch-friendly elements for better usability.
- Optimize message bubbles and avatars for mobile readability and visibility.
- Update documentation to reflect new mobile-responsive features and navigation improvements.
2025-08-10 10:50:14 +02:00