Releases: jimmykane/quantified-self
Releases · jimmykane/quantified-self
Release list
7.0.10
7.0.9
7.0.8
What's Changed
- SSR Compatibility Refactoring & Testing by @jimmykane in #323
- Release: SEO Enhancements, Suunto Pro Guard, UI Improvements, and Functions v7 by @jimmykane in #322
Full Changelog: 7.0.4...7.0.8
7.0.4
Do not deploy extensions
Full Changelog: 7.0.2...7.0.3
Fix for rules testing
Full Changelog: 7.0.1...7.0.2
7.0.1
🚀 Release: Payments, Admin Dashboard & Angular 20 Upgrade
📝 Overview
This release represents a transformative update to the Quantified Self platform. It consolidates major infrastructure improvements, a complete commercial layer (Payments/Subscriptions), a new Admin Dashboard, and a modernization of the entire technology stack to Angular 20.
This merge brings master up to date with develop, incorporating months of feature development and hardening.
✨ Key Features & Improvements
💳 Payments & Subscriptions
- Tiered Access: Introduced Free, Basic, and Premium modes to cater to different user needs.
- Stripe Integration: Full integration with Stripe for handling subscriptions.
- Role-Based Access Control: Introduced
StripeRoleandProOnlyDirectiveto gate premium features. - Billing Portal: Self-service subscription management via Stripe Customer Portal.
- Restore Purchases: Improved dialog and flow for restoring purchases.
🛡️ Admin Dashboard (/admin)
- New Admin Module: A centralized dashboard for platform administration.
- User Management: Tools to search, view, and inspect user profiles and subscription statuses.
- System Health: Visualization of system stats using Chart.js.
- Admin Bypass: Capabilities for support staff to troubleshoot user issues effectively.
👤 User Account & Security
- Account Linking: Enhanced login support allowing users to link Google and GitHub accounts seamlessly.
- Onboarding: Significant improvements to the onboarding flow and authentication stability.
- Coros Integration: Added support for Coros device history imports and authentication.
⚙️ Backend Reliability & Performance
- Faster Sync: Optimized synchronization processes resulting in significantly faster service updates.
- Live Updates: Implemented listeners for real-time status updates.
- Dead Letter Queues (DLQ): Robust handling of failed background jobs to prevent data loss.
- Enhanced Logging: implementation of a centralized
LoggerServicewith standardized error codes. - Queue Optimization: "Stuck" job cleanup scripts, better handling of multiple tokens, and improved retry logic.
- Maintenance Mode: Granular control splitting maintenance modes for Prod and Beta.
📂 Files & Data Management
- Fit File Handling: Upload and download Fit files without losing the original file data.
- Bulk Actions: Support for multiple fit file downloads.
- Export Fixes: Resolved issues with JSON and GPX downloads.
- Flattened Activities: Significant schema optimization (commit
5eb268a) to flatten activity data structures for better query performance.
🎨 UI/UX Refinements
- New Styles: Comprehensive style updates for a fresh, modern look, including better mobile responsiveness for tables.
- Performance: Faster transitions and smoother interactions throughout the application.
- Dark Theme: Extensive improvements to dark mode consistency (labels, checkboxes).
- User Settings: A complete rewrite of the User Settings page.
- Brand Refresh: Updated logos, icons, and footer attributions.
🔧 Technology Stack
- Modernization: Upgraded to all the latest technologies, including Angular 20,
dayjs, and updated dependencies (Sports Lib). - Vitest: Migration to Vitest for faster and more reliable unit testing.
- Build System: Streamlined npm management (removed
yarn.lock).
🐛 Bug Fixes
- Suunto Uploads: Fixed a critical bug preventing activity uploads to Suunto.
- Comparisons: Resolved issues regarding activity comparisons logic.
- Cleanup Scripts: Improved logic for Firestore cleanup to handle metadata correctly.
🧪 Quality Assurance
- Detailed Testing: Unit tests have been migrated to Vitest and are passing (including new Admin tests).
- Security: Firestore Security Rules are now rigorously tested via the Firebase Emulator.
- CI/CD: Added CodeQL workflow for automated security auditing.
- Beta Deployment: Note: Automatic deployment to Beta on push has been temporarily disabled in this branch to facilitate safe merging.
⚠️ Breakdown of Changes
| Category | Details |
|---|---|
| Frontend | Angular 20 upgrade, Admin Dashboard, UserModule, Dark Theme, Faster Transitions. |
| Backend | DLQ, Logger Service, Remote Config, Faster Sync, Coros Integrations. |
| Data | Flat Activity Schema, Fit File preservation. |
| Testing | Vitest migration, Firestore Rules suites. |
| Ops | GitHub Workflows updates, Maintenance Splitting. |