This repository was archived by the owner on Jan 19, 2026. It is now read-only.
Repository navigation
v1.2.0 - Multi-Tenant Authentication
Release Notes - v1.2.0
Release Date: November 6, 2025
Build Number: 4
🎉 Web Multi-Tenant Authentication
This major release introduces comprehensive web authentication support, enabling multi-tenant access to the Keystone productivity platform through Firebase Authentication and Google Sign-In.
✨ New Features
Authentication System
- Firebase Authentication Integration: Full Firebase Auth implementation with email/password and Google provider support
- Google Sign-In: Seamless Google account authentication for web users
- Multi-Tenant Support: User-scoped data isolation and authentication state management
- Auth State Management: Automatic route handling based on authentication status using Riverpod
User Interface
-
Landing Page: Beautiful gradient-based landing page showcasing app features
- Feature cards for Tasks, Notes, Journal, Calendar, and Projects
- Responsive design optimized for web
- Clean, modern aesthetic matching the app theme
-
Login/Signup Form: Comprehensive authentication UI
- Email and password authentication
- Google Sign-In button with branding
- Form validation and error handling
- Loading states and user feedback
- Modal popup presentation
-
Auth Wrapper: Smart navigation component
- Shows landing page for unauthenticated users on web
- Automatically navigates to main app after successful sign-in
- Handles loading and error states gracefully
Settings Integration
- Auth status display in settings screen (web only)
- Sign-in/Sign-out functionality
- User email display when authenticated
🔧 Technical Changes
Configuration
- Added
web/index.htmlwith Google Sign-In meta tags - Configured correct web OAuth client ID (client_type 3)
- Fixed OAuth client type mismatch (previously using iOS client ID)
- Added auth state stream providers in Riverpod
Dependencies
- Downgraded
google_sign_into6.3.0for API compatibility - Added
firebase_auth: ^5.3.3 - Added authentication-related packages
Architecture
- Created
AuthServiceclass for authentication logic - Implemented
AuthWrapperfor route protection - Added
authStateChangesProviderstream for real-time auth updates - Integrated Firebase Auth with existing Firestore setup
🐛 Bug Fixes
- Fixed OAuth client type mismatch (was using iOS client ID for web)
- Corrected Google Sign-In client ID configuration in
web/index.html - Fixed navigation flow after successful authentication
- Resolved dialog closing behavior in login form
- Added proper People API support for user profile information
📋 Setup Requirements
For Users
- Enable People API: Visit Google Cloud Console and enable the People API
- Configure Firebase Authentication: Enable Google sign-in provider in Firebase Console
- Wait for Propagation: After enabling APIs, wait a few minutes for changes to propagate
For Developers
- Ensure Firebase project is properly configured
- Verify
web/index.htmlcontains correct OAuth client ID - Check that Firebase Authentication has Google provider enabled
⚠️ Breaking Changes
Web Platform
- Authentication Required: Web users must now sign in before accessing the app
- New Landing Page: Unauthenticated users see landing page instead of direct app access
- Google Sign-In API: Downgraded to version 6.3.0 (some deprecated methods)
Mobile Platform
- No breaking changes for mobile users
- Existing functionality remains unchanged
📦 Files Changed
New Files
lib/features/auth/login_form.dart- Login/signup form componentlib/features/landing/landing_page.dart- Web landing pagelib/providers/auth_provider.dart- Authentication providerslib/services/auth_service.dart- Authentication serviceweb/index.html- Web entry point with OAuth configweb/manifest.json- Web app manifestweb/icons/*- Web app icons
Modified Files
lib/main.dart- Added AuthWrapper and routing logiclib/features/settings/settings_screen.dart- Added auth UI (web only)pubspec.yaml- Updated dependencies
Removed Files
- Cleaned up deprecated Hive-based sync services
- Removed old generated files
🔜 Known Issues
- People API Requirement: Must be manually enabled in Google Cloud Console
- Propagation Delay: API enablement may take a few minutes to activate
- Google Sign-In Deprecation: Current implementation uses deprecated web API (will be updated in future release)
🙏 Acknowledgments
This release enables the foundation for multi-tenant web access, paving the way for collaborative features and cloud-based productivity workflows.
📝 Migration Guide
Upgrading from v1.1.1
-
Pull Latest Changes:
git pull origin master git checkout v1.2.0
-
Update Dependencies:
fvm flutter pub get
-
Enable People API:
- Visit the Google Cloud Console link provided
- Click "Enable" for People API
- Wait 2-3 minutes
-
Test Authentication:
- Run on web:
fvm flutter run -d chrome - Click "Get Started" on landing page
- Try signing in with Google
- Run on web:
-
Verify Firebase:
- Check Firebase Console for Authentication provider
- Ensure Google sign-in is enabled
🔗 Resources
Full Changelog: v1.1.1...v1.2.0