- Eliminate console.log and console.warn statements to enhance code clarity and maintainability.
- Replace error logging with comments to silently handle errors during market, stall, and product loading processes.
- Streamline the preloading process by removing unnecessary logging, improving overall code readability.
- Replace console.log statements with comments to enhance code readability and maintainability.
- Streamline the loading and processing of market, stall, and product events by removing unnecessary logging.
- Ensure that the code remains functional while improving overall clarity for future development.
- 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.
- Update the loadStalls and loadProducts functions to filter events based on the active market's merchants instead of fetching from all authors.
- Improve logging to provide clearer insights into the loading process and the merchants involved.
- Add checks to handle cases where no active market or merchants are found, preventing unnecessary API calls.
- Modify the event fetching process to retrieve all stalls and products from all authors instead of filtering by market and stall pubkeys directly.
- Enhance logging to reflect the broader scope of data being loaded, improving clarity in the console output.
- Adjust comments to clarify the application logic for filtering events based on market and stall membership.
- Introduce a queue for products that arrive before their corresponding stalls are loaded.
- Add a new function to process pending products and match them with available stalls.
- Enhance event handling to ensure pending products are processed when stalls are added, improving data integrity and user experience.
- Modify product and stall event processing to find stalls using stall IDs instead of pubkeys, improving data accuracy.
- Enhance logging for better visibility into event processing and stall matching, including detailed warnings when stalls are not found.
- Introduce a Set to track processed event IDs, ensuring that each event is handled only once.
- Update event handling logic to skip already processed events, improving efficiency and data integrity.
- 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.
- Implement grouping of stall and product events by their unique IDs to retain only the most recent versions.
- Update event processing logic to sort events by creation timestamp, ensuring the latest data is used for stalls and products.
- Improve logging for better visibility into the processing of events and the creation of market entities.
- Modify the useMarket composable to utilize unique IDs from parsed stall and product data instead of Nostr event IDs for better data integrity.
- Implement logging for unsigned event creation, indicating that signing with the user's private key is required for publishing products and stalls.
- Introduce MarketTest.vue for testing market loading and state management.
- Update error handling in Market.vue and useMarket composable to utilize marketStore for consistent error reporting.
- Enhance logging throughout market loading processes for better debugging and user feedback.
- Update useMarket composable to set loading state in marketStore during market loading.
- Refine loading condition in Market.vue to only check marketStore.isLoading, enhancing clarity and performance.
- 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.
- 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.
- 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.
- 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.