Massive code quality improvements, bug fixes, general UX improvements
  • Prevent deletion of default agents:
    You will now see an error message if you try to delete the default agent, preventing accidental removal of essential functionality.
  • Improved agent management:
    Enhanced capabilities for managing agents, including new methods for querying and controlling their status.
  • Restore deleted agents:
    The ability to restore previously soft-deleted agents is now available.
  • Faster data retrieval:
    Implemented caching for shop sessions, details, agents, calls, and SMS messages, significantly improving performance.
  • Standardized data fetching:
    Introduced consistent methods for retrieving and clearing data, making interactions more predictable.
  • Clearer authentication:
    Renamed
    authenticateAdmin
    to
    authenticateAdminShop
    for better clarity on its purpose.
  • Simplified plan information:
    Introduced a dedicated helper to retrieve shop plan details.
  • Immediate shop data updates:
    Shop data now refreshes immediately after installation or reinstallation, ensuring you're always working with the latest information.
  • Streamlined shop and session handling:
    Dedicated helper functions now manage shop and session data retrieval and authentication, improving consistency.
  • Consistent admin authentication:
    Replaced multiple authentication calls with a single, centralized helper function.
  • Improved error handling:
    Refactored
    CustomError
    objects for better consistency and robustness, leading to more specific and user-friendly error messages.
  • Graceful error management:
    A new
    useLoaderData
    hook automatically catches and displays custom errors from data loaders, improving reliability.
  • Fixed checkouts tab issues:
    Addressed bugs that prevented the admin checkouts tab from displaying correctly, ensuring accurate abandoned checkout information is shown.
  • Robust shop context handling:
    Enhanced error reporting to ensure shop names are always included, providing more complete data for debugging.
  • Optimized error logging:
    Reordered middleware to ensure errors are logged and emitted accurately before other processing.