Modernizes testing infrastructure with dedicated Cloudflare Workers test pool:
- Replaces Nuxt Test Utils with @cloudflare/vitest-pool-workers
- Adds structured test organization for API endpoints
- Introduces comprehensive testing patterns and examples
- Implements schema-based test data generation with zod-mock
- Enhances test utilities with proper CF Workers environment
The new testing setup provides better isolation, more realistic worker runtime environment, and improved test data management through structured schemas and generators.
- Adds new path aliases for improved code organization
- Updates dependencies to latest versions including vue-sonner v2.0.0
- Removes sourcemap configuration from Nuxt config
- Enhances API documentation with OpenAPI schemas
- Removes unused security schemes and Wrangler configuration
These changes modernize the project setup while improving documentation and removing unnecessary configurations.
Enhances API documentation by adding OpenAPI metadata to location and verify endpoints. Includes:
- Security requirements for both endpoints
- Detailed description of endpoint purposes
- Response documentation for verify endpoint with success/error cases
- Adds cleanup timer for globe arcs to prevent accumulation
- Conditionally renders chart header when stats are available
- Improves event handling in AnimatedList by passing props
- Fixes traffic event animation by clearing previous timeouts
These changes improve visualization performance and user experience by preventing memory leaks from accumulated arcs and ensuring smoother animations.
Adds real-time visualization of traffic flow between user locations and data centers on the 3D globe:
- Implements arc animations for traffic visualization
- Adjusts globe colors and atmosphere for better visibility
- Adds data center (colo) location mapping
- Centers initial view on user's current location
- Improves mobile responsiveness and layout
- Adds cleanup handling for globe resources
Performance and UX improvements:
- Optimizes globe rotation speed and controls
- Updates time picker layout with logical grouping
- Enhances responsive design for dashboard components
Implements comprehensive time filtering and visualization improvements:
- Adds time range picker with presets from 5min to 24h
- Enhances chart visualization with minute-level granularity
- Updates globe visualization to respond to time/filter changes
- Implements animated event log display
- Swaps primary/secondary color scheme for better contrast
Improves realtime data handling with automatic updates and proper cleanup on unmount. Includes i18n support for new time picker UI across all supported languages.
Add Cloudflare COLO data to the access log tracking system to capture datacenter location information. This enables better monitoring of request distribution across Cloudflare's global infrastructure.
The COLO field is mapped to blob16 in the blobs map and populated from the Cloudflare request headers.
- Reintroduced the realtime dashboard tab in the navigation menu.
- Updated Globe component to utilize geographic coordinates for live session locations.
- Added dynamic resizing for the globe based on viewport width.
- Implemented stop rotation feature on mouse down for better user interaction.
- Cleaned up commented code and improved type definitions in event logging.
Extends access logging system to support geographic coordinates:
- Adds `doublesMap` for latitude/longitude data
- Updates type definitions to handle numeric values
- Implements conversion functions for double values
- Captures coordinates from Cloudflare headers
Enhances analytics capabilities for real-time globe visualization
- Moved `app.config.ts` to the `app` directory
- Migrated `.vue` files and other assets to the `app` directory
- Updated import paths to reflect the new file locations
- Adds a new API endpoint for creating and retrieving links
- Validates link data using LinkSchema
- Supports case sensitivity for link slugs
- Handles existing links by returning the short link and status
- Creates new links with expiration metadata in Cloudflare KV store
Adds configuration option NUXT_DISABLE_BOT_ACCESS_LOG to exclude bot/crawler traffic from access statistics
- Updates ua-parser-js to stable v2.0.3
- Detects bots via CloudFlare bot management and user agent analysis
- Documents new config option in configuration.md and FAQs
Updates query filter to support multiple values by splitting on commas.
Removes debug logging statement for cleaner code.
The change allows for more flexible query filtering by accepting
comma-separated values instead of single values only.
Refactors time-based filtering by combining startAt/endAt into a single time object
Adds support for additional filter types in stats API queries
Implements deep watching for both time and filter changes
Improves code organization and maintainability while enabling more flexible data filtering
Refactors URL slug case sensitivity implementation:
- Moves case conversion to creation time instead of lookup
- Updates middleware to handle case sensitivity more efficiently
- Adds configuration docs for case sensitivity and list query limits
- Simplifies nanoid implementation to always use lowercase
This change improves performance and consistency in URL handling while maintaining backwards compatibility with existing links.
Expands the limit of the KV.list call from 1 to 1000.
This enhancement allows for more efficient data retrieval, reducing the number of requests needed to fetch all relevant entries.
Improves performance in scenarios with a large number of links.
Adds logging when a case-insensitive URL slug fallback is attempted. This helps track when and how often the fallback mechanism is used.
Also improves code readability by renaming variable to match camelCase convention.
Enhances link edit endpoint by including a fully-qualified short link URL in the response, constructed from request protocol and host alongside the slug
Returns link object separately from shortLink in response to maintain clearer API structure and prevent unnecessary data duplication in the response payload
Enhances the link creation API response by including a formatted short link URL
Combines protocol, host, and slug to create a complete, ready-to-use short URL
Moves undefined fallback from client to server side for cursor parameter
Ensures consistent pagination behavior when fetching links from KV storage
This prevents potential edge cases where undefined cursor values could be handled differently between client and server.
- Activated AI functionality in Nuxt configuration
- Updated AI model to a newer version for enhanced performance
- Bumped @nuxthub/core to 0.7.3 for critical bug fixes and improvements
Improves response times by introducing a configurable link cache TTL, defaulting to 60 seconds, to ensure quick access to frequently requested links while maintaining responsiveness to updates.