Changelog

  • feat: enhance subscription management and user experience
    • Added functionality to preview subscription upgrades, including proration amounts and next billing details.
    • Updated the API to handle subscription upgrades and downgrades, allowing users to change their plans seamlessly.
    • Enhanced the SettingsPage component to display subscription status, billing intervals, and options for managing subscriptions.
    • Integrated subscription data into the user state for better access across the application.
    • Improved Stripe webhook handling to accurately update user subscriptions and entitlements based on events.
    • Refactored code for clarity and maintainability
  • feat: add subscription upgrade preview functionality and enhance settings page
    • Introduced a new API endpoint for previewing subscription upgrades, allowing users to see proration amounts and next billing details before confirming changes.
    • Updated the routes to include the new preview subscription upgrade endpoint.
    • Enhanced the SettingsPage component to display upgrade and downgrade information, including proration amounts and next billing dates
    • Added functionality to handle upgrade and downgrade modals, providing users with clear information on their subscription changes.
  • feat: add subscription upgrade functionality and update settings page
    • Introduced a new API endpoint for upgrading user subscriptions, allowing users to change their subscription plans via a POST request.
    • Updated the routes to include the new subscription upgrade endpoint.
    • Enhanced the SettingsPage component to provide users with options to upgrade their subscriptions, including UI elements for managing current plans and licenses.
    • integrating subscription management features directly into the settings interface.
    • added modal to confirm up/downgrades of the plan
  • fix: correct entitlements assignment in Stripe webhook handler
    • Updated the entitlements assignment in the Stripe webhook handler to directly use the updated entitlements data
  • refactor: update Docker workflow and Stripe webhook handling
    • Commented out the Docker cache pruning step in the workflow for clarity and potential future use.
    • Refactored the Stripe webhook handler to replace ProductID with LookupKey for entitlement mapping, enhancing accuracy in user plan assignments.
  • feat: enhance Docker cache management and improve Stripe webhook handling
    • Added a new step to the Docker workflow to clear the build cache, improving build efficiency.
    • Refactored the Stripe webhook handler to correctly parse entitlements from the event data, ensuring proper user updates.
    • Converted entitlements data from a map to a slice of Entitlement structs for better handling and validation.
    • Updated entitlement mapping logic to use ProductID instead of LookupKey for improved accuracy in user plan assignments.
  • feat: enhance heap management and licensing functionality
    • Introduced a new API endpoint for fetching heap block counts, improving the backend's ability to manage and display heap data.
    • Updated the getHeapHandler to support pagination with offset and limit parameters for better data handling.
    • Added a new getHeapCountHandler to return the count of blocks associated with a workspace.
    • Implemented EdDSA key generation and management for enhanced security in license handling.
    • Added functionality for generating license keys based on user subscriptions and licenses, including JWT token creation for secure access.
  • fix: adjust column drag icon size and improve tag removal timing
    • Increased the size of the drag icon in the BoardColumn component for better visibility.
    • temporary fix for the race condition of 2 simultaneus tag edits
  • feat: add VideoPlayer component for enhanced video playback experience
    • Introduced a new VideoPlayer component with a customizable video player interface.
    • Implemented features such as play/pause toggle, mute/unmute functionality, and a progress bar for scrubbing through video content.
    • Added global event listeners for improved scrubbing experience on both mouse and touch devices.
    • Included time formatting for displaying current and total video duration.
  • feat: enhance block validation and error handling in backend and frontend
    • Added tag validation in insertBlock and manageBlockLink functions to ensure proper tag formats.
    • Improved error handling for loading blocks in BlockTag component, providing user feedback on failures.
    • Enhanced BoardColumn component with better layout and interaction for opening lanes.
    • Updated GridApp component to handle potential null values in cached_db_blocks for improved stability.
  • feat: add user settings management and tasks and board now work with tags
    • Introduced new API endpoints for managing user settings, including fetching and updating user preferences.
    • Implemented frontend functionality to support user settings management, allowing users to customize their task and board app configurations.
    • Enhanced the Tasks and Board components to utilize user settings for improved user experience, including dynamic tag handling for tasks.
  • chore: bump version to 15.87.0
  • feat: implement user profile update functionality
    • Added a new API endpoint for updating user profiles, allowing users to change their username and name.
    • Implemented frontend functionality to support profile updates, including validation for existing usernames.
    • Enhanced the SettingsPage component to provide a user-friendly interface for updating profile information.
    • Updated entitlement checks to consider user roles for storage limits and account types.
  • feat: add user impersonation functionality and enhance file upload UI
    • Implemented admin impersonation feature allowing admins to log in as users with the 'tester' role.
    • Added a new API endpoint for impersonation and corresponding frontend functionality.
    • Enhanced the file upload modal UI for better user experience, including improved layout and visual feedback.
    • Updated user entitlement checks to include block limits during file uploads.
    • Refactored related components for consistency and clarity.
  • feat: implement user entitlement checks for block creation and file uploads
    • Added user entitlement verification in insertBlock and uploadFile functions to ensure users have the necessary permissions before creating blocks or uploading files.
    • Introduced userEntitlementForTask function to manage entitlement logic based on user roles and usage statistics.
    • Enhanced BlockSearchBox component to improve search functionality and keyboard interactions, including handling for empty search results and submission logic.
    • Refactored createAndAddTag function to streamline block creation and tagging process based on user input.
  • admin: assign roles to users
  • chore: bump version to 15.86.3
  • feat: extend AppSettings and enhance filtering capabilities across components
    • Added new types for TableAppOptions and KanbanAppOptions to support specific app configurations.
    • Updated AppSettings to utilize the new options types, improving type safety and clarity.
    • Enhanced fetchBlocksForApp function to accept filter parameters, allowing for more dynamic data retrieval.
    • Modified BoardApp, TableApp, and TasksApp components to incorporate filtering logic, improving user experience.
    • Refactored FilterModal and related components for better integration with the new filtering system.
  • feat: enhance Block and Global Search components with improved tagging and filtering
    • Refactored BlockSearchBox to improve search functionality and keyboard interactions.
    • Enhanced GlobalSearch to support tagging multiple blocks at once
    • Streamlined DatabaseBlock component by removing unused title input and optimizing view icons.
    • Improved GridApp component to utilize updated AppSettings and filter logic for better data querying.
    • Cleaned up WorkspacePage to reset selected block keys on route updates, ensuring accurate state management.
  • chore: bump version to 15.86.2
  • handling for iphon enter which does not work on keyup (shift issue)
  • remove cache after successful build
  • chore: bump version to 15.86.1
  • fixed a build error oversight
  • chore: bump version to 15.86.0
  • feat: enhance BlockSearchBox and FilterModal components for improved user interaction
    • Refactored BlockSearchBox to streamline search functionality and improve UI elements.
    • Added new visual indicators and actions for block creation and tagging within the BlockSearchBox.
    • Updated FilterModal to utilize BlockSearchBox for tag management, enhancing the filtering experience.
    • Improved the layout and interaction of filter conditions, allowing for better user management of tags and conditions.
    • Cleaned up unused code and optimized the overall structure for better maintainability.
  • feat: implement Block and Global Search components for enhanced user interaction
    • Added BlockSearchBox component for searching and tagging blocks within a workspace.
    • Introduced GlobalSearch component to manage the display and interaction of the BlockSearchBox.
    • Updated WorkspacePage to include GlobalSearch, allowing users to trigger searches via keyboard shortcuts and UI elements.
    • Removed unused search input from GridApp component to streamline the interface.
  • feat: add advanced filtering system and UI enhancements in DatabaseBlock
    • Introduced a new FilterModal component for creating and managing filters.
    • Updated AppSettings type to support complex filter structures with FilterGroup and FilterCondition.
    • Enhanced DatabaseBlock component to integrate the filter modal and manage filter states.
    • Improved UI elements to indicate active filters and streamline user interactions with filtering options.