Commit graph

41 commits

Author SHA1 Message Date
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
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
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
c2f11f3d96 chore: update LNBits API configuration in environment and documentation
- Added VITE_LNBITS_API_URL to .env.example for LNBits API integration.
- Updated AUTHENTICATION.md to reflect changes in LNBits base URL configuration.
- Refactored ProfileDialog.vue and config files to use VITE_LNBITS_BASE_URL instead of VITE_API_BASE_URL for API calls.
2025-08-10 10:46:49 +02:00
7f05374dd5 refactor: Update fetchEvents function to use public endpoint
- Change fetchEvents to access the new public endpoint for retrieving events without authentication.
- Remove the allWallets parameter and the API key from the request headers for simplified access.
2025-08-05 00:06:29 +02:00
8643eecfe7 refactor: Simplify useMarket composable by removing unused client references and improving parameter naming
- Eliminate unnecessary Nostr client retrieval in publishProduct and publishStall functions.
- Update parameter names in event processing functions for clarity, using underscores for unused parameters.
- Clean up imports in useMarket.ts to streamline the codebase.
2025-08-03 11:20:58 +02:00
e66d976ee8 chore: Update logging and configuration in market-related files
- Enhance logging in useMarket and NostrClient to provide better insights during event fetching and market loading.
- Add local relay support in configuration for improved development and testing.
- Adjust delay in event fetching to ensure more reliable data collection from relays.
2025-08-03 11:20:58 +02:00
54044f165c feat: Enhance useMarket composable with improved error handling and sample data loading
- Add detailed logging for market loading, configuration, stalls, and products to aid in debugging.
- Implement graceful error handling by creating default markets and stalls when data loading fails.
- Introduce a method to add sample products for testing when no products are found, improving development experience.
- Update market data fetching logic to ensure consistent handling of identifiers and event processing.
2025-08-03 11:20:58 +02:00
e6607509c5 refactor: Update useMarket composable to utilize fetchEvents method and improve subscription handling
- Replace direct calls to fetchNotes with the new fetchEvents method in useMarket.ts for better event retrieval.
- Simplify event fetching logic by removing unnecessary filters and enhancing clarity.
- Implement individual relay subscriptions for market updates, allowing for more efficient event handling and cleanup.
2025-08-03 11:20:58 +02:00
4d3d69f527 feat: Implement market functionality with ProductCard, useMarket composable, and market store
- Add ProductCard.vue component for displaying product details, including image, name, description, price, and stock status.
- Create useMarket.ts composable to manage market loading, data fetching, and real-time updates from Nostr.
- Introduce market.ts store to handle market, stall, product, and order states, along with filtering and sorting capabilities.
- Develop Market.vue page to present market content, including loading states, error handling, and product grid.
- Update router to include a new market route for user navigation.
2025-08-03 11:20:58 +02:00
4cf2b769d6 feat: Add wallet balance display and currency formatting
- Implement wallet balance computation and formatting in Navbar.vue, enhancing user experience by displaying wallet balance in both the main navigation and dropdown menu.
- Introduce currency conversion utilities in currency.ts to format wallet balances into EverQuest currency denominations, improving clarity for users.
2025-08-03 11:20:58 +02:00
cd0016744b refactor: Simplify authentication and wallet logic by removing debug logs
- Eliminate console logging from the authentication initialization and login processes in useAuth.ts for cleaner code.
- Streamline wallet computation in useTicketPurchase.ts by removing unnecessary logging while maintaining functionality.
- Refactor LNBits API methods to reduce logging, enhancing code clarity and maintainability.
2025-08-03 11:20:58 +02:00
e1667461be fix: Update getCurrentUser method to use correct API endpoint
- Change the API request in getCurrentUser from '/user' to '/auth' to align with the updated authentication flow.
2025-08-03 11:20:58 +02:00
d9523cc784 refactor: Remove unused getCurrentUser function and clean up imports in events.ts
- Eliminate the unused getCurrentUser function from useAuth.ts to streamline authentication logic.
- Clean up imports in events.ts by removing the unused Event type, enhancing code clarity and maintainability.
2025-08-03 11:20:58 +02:00
0cc0bf3555 feat: Enhance authentication and user management with detailed logging
- Add console logging for authentication initialization, login attempts, and user retrieval to improve debugging and traceability.
- Introduce a new getCurrentUser function in useAuth for better user data management.
- Update useTicketPurchase to include detailed logging for user wallets and balance checks, enhancing visibility into wallet states.
- Refactor LNBits API request and response logging for clearer error handling and debugging.
2025-08-03 11:20:58 +02:00
217ca70334 refactor: Clean up imports and unused variables in ticket-related components
- Remove unused imports from PurchaseTicketDialog.vue and useUserTickets.ts for improved code clarity.
- Update events.ts to eliminate the unused paymentRequest parameter in payInvoiceWithWallet function.
- Simplify MyTickets.vue by removing the unused unregisteredTickets variable and related QR code generation logic, enhancing maintainability.
2025-08-03 11:20:58 +02:00
63d636a8a0 feat: Add My Tickets feature with ticket management
- Introduce MyTickets.vue page to display user tickets with filtering options for paid, pending, and registered tickets.
- Implement useUserTickets composable for fetching and managing user ticket data.
- Update Navbar.vue to include a link to the My Tickets page.
- Enhance events API to support fetching user tickets.
- Define Ticket type in event.ts for better type safety.
2025-08-03 11:20:57 +02:00
f7450627bc refactor: Revamp PurchaseTicketDialog and introduce useTicketPurchase composable
- Update PurchaseTicketDialog.vue to integrate authentication checks and enhance ticket purchasing flow with wallet support.
- Implement useTicketPurchase composable for managing ticket purchase logic, including payment handling and QR code generation.
- Improve user experience by displaying user information and wallet status during the ticket purchase process.
- Refactor API interactions in events.ts to streamline ticket purchasing and payment status checks.
2025-08-03 11:20:57 +02:00
734122ad27 refactor: Simplify logout process and enhance routing in authentication components
- Remove unnecessary async handling in logout functions across UserProfile.vue and Navbar.vue.
- Integrate `useRouter` for consistent redirection to the login page after logout.
- Update `logout` method in useAuth.ts to clear local state without an API call.
2025-08-03 11:20:35 +02:00
be4ab13b32 refactor: Transition to authentication system and remove identity management
- Replace identity management with a new authentication system across the application.
- Update App.vue to integrate LoginDialog and remove PasswordDialog.
- Modify Navbar.vue to handle user authentication state and logout functionality.
- Enhance Home.vue to display user information upon login.
- Implement routing changes in index.ts to enforce authentication requirements for protected routes.
2025-08-03 11:20:35 +02:00
8a9ffc5918 feat: Implement secure VAPID key generation for push notifications
- Replace random key generation with the web-push library for generating cryptographically secure VAPID keys.
- Update console output to guide users on adding keys to their environment configuration.
- Enhance error handling for VAPID key generation issues.
- Add web-push dependency to package.json and package-lock.json for proper functionality.
2025-07-12 18:10:33 +02:00
cc6ba2612d feat: Update app configuration and enhance identity management
- Change app manifest details to reflect new branding for "Ario - Nostr Community Hub".
- Add new properties to the manifest, including categories and language support.
- Refactor identity handling in IdentityDialog and PasswordDialog components for improved profile initialization.
- Update event creation functions in events.ts to use the correct event type from nostr-tools.
2025-07-12 18:10:33 +02:00
c05f40f1ec feat: Implement push notification system for admin announcements
- Add a notification manager to handle push notifications and integrate with Nostr events.
- Create a push notification service to manage subscription and permission requests.
- Introduce components for notification settings and permission prompts in the UI.
- Update Nostr store to manage push notification state and enable/disable functionality.
- Enhance NostrFeed to send notifications for new admin announcements.
- Implement test notification functionality for development purposes.
2025-07-12 18:10:33 +02:00
0324cf8ec5 feat: Centralize configuration management for Nostr and API settings
- Introduce a new config module to manage Nostr relays, admin pubkeys, and API settings.
- Update components to utilize the centralized config instead of environment variables directly.
- Refactor relevant files to improve maintainability and reduce reliance on environment variables.
2025-07-02 19:47:55 +02:00
adcba13806 feat: Refactor event fetching in NostrClient to use subscription method
- Replace the previous get() method with a subscription approach to retrieve multiple events from relays.
- Implement event collection with a timeout to ensure all stored events are fetched before closing the subscription.
- Adjust the format of collected events to match expected structure.
2025-07-02 19:21:43 +02:00
97db2a2fec feat: Add scripts for sending admin and test notes via Nostr
- Introduce `send_admin_note.js` for sending community announcements to Nostr relays.
- Implement `send_test_note.js` for testing note sending with specified private key and relay URL.
- Enhance `NostrFeed.vue` to filter notes based on admin pubkeys and display appropriate titles and descriptions for different feed types.
- Update `Home.vue` to use the announcements feed type for the Nostr feed component.
2025-07-02 19:14:56 +02:00
ee7eb461c4 feat: Implement comprehensive Nostr identity and social features
## Core Identity Management
- Add secure key generation and import functionality
- Implement AES-GCM encryption with PBKDF2 key derivation
- Create password-protected identity storage
- Add browser-compatible crypto utilities (no Buffer dependency)

## User Interface
- Build identity management dialog with tabs for setup and profile
- Add navbar integration with user dropdown and mobile support
- Create password unlock dialog for encrypted identities
- Integrate vue-sonner for toast notifications

## Nostr Protocol Integration
- Implement event creation (notes, reactions, profiles, contacts)
- Add reply thread detection and engagement metrics
- Create social interaction composables for publishing
- Support multi-relay publishing with failure handling
- Add profile fetching and caching system

## Security Features
- Web Crypto API with 100k PBKDF2 iterations
- Secure random salt and IV generation
- Automatic password prompts for encrypted storage
- Legacy support for unencrypted identities

## Technical Improvements
- Replace all Buffer usage with browser-native APIs
- Add comprehensive error handling and validation
- Implement reactive state management with Vue composables
- Create reusable crypto utility functions

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-02 17:14:02 +02:00
b8c881dea2 feat(events): Add comprehensive events management with dynamic fetching and UI
- Integrate Reka UI Tabs component for event browsing
- Create useEvents composable for event data management
- Implement events API integration with error handling
- Add events page with upcoming and past events sections
- Configure environment variables for API connection
- Add internationalization support for events navigation
2025-03-11 22:05:03 +01:00
00f4bfa583 feat(nostr): Implement Nostr Feed with real-time note fetching
- Add NostrFeed component to display Nostr network notes
- Integrate date-fns for human-readable timestamp formatting
- Enhance NostrClient with fetchNotes and subscribeToNotes methods
- Implement loading, error, and empty state handling
- Add scrollable card-based UI for note display
- Configure dynamic relay selection with fallback to environment variables
2025-03-09 16:57:22 +01:00
903636b6f9 update shadcn/tailwind config 2025-03-09 15:40:32 +01:00
2a83972b47 feat(nostr): Add Nostr relay connection and status management
- Integrate nostr-tools for Nostr relay connectivity
- Create NostrClient for managing relay connections
- Implement useNostr composable for reactive connection handling
- Add ConnectionStatus component to display relay connection state
- Configure environment variable for Nostr relay endpoints
- Update App.vue to manage Nostr connection lifecycle
2025-03-09 15:40:32 +01:00
3d356225cd bare repo 2025-03-09 12:28:49 +01:00
2bbb9ae938 refactor 2025-02-16 11:00:41 +01:00
d1ac7da1a6 refactor for better message handling 2025-02-16 11:00:41 +01:00
5eb46e96c3 refactor: improve nostr connection and message handling
- Add WebSocket manager class for better connection handling
- Split message handling into separate store
- Add encryption service class
- Create chat composable for reusable chat logic
- Add error handling service
- Add connection status indicators throughout app
- Add message persistence service
- Improve subscription reliability with EOSE handling
- Add connection state management
- Hide status text on mobile for better space usage

These changes improve code organization, reliability, and user experience by:
- Better separation of concerns
- More robust error handling
- Clearer connection status feedback
- Improved message persistence
- More maintainable WebSocket management
- Better mobile responsiveness

Breaking changes:
- Message handling moved to separate store
- WebSocket connections now managed through NostrWebSocketManager
- Encryption now handled through NostrEncryption service
2025-02-16 11:00:41 +01:00
d694f9b645 lots of login dialog and nostr subsription relate updates 2025-02-16 11:00:41 +01:00
ac906ca6c9 big milestone! 2025-02-16 11:00:41 +01:00
a44ee45a38 initial post-installation commit 2025-01-30 13:26:56 +01:00