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.