Changelog
Follow along as we build new features and improvements to help you get more from your solar system.
Mar 21, 2026
Organization dashboard & multi-tenant foundations
Vue 3 SPA organization dashboard with Resend-style sidebar layout, role-based permissions, and multi-org support.
- Vue 3 + Pinia + Vue Router integrated alongside existing React via @astrojs/vue
- Catch-all Astro route at /:org/ mounts the Vue SPA with client-side routing
- Resend-style collapsible sidebar with org switcher, nav links (Lucide icons), and user section
- 6 dashboard pages: Overview, Systems, Analytics, Integrations, Members, Settings
- Overview: stat cards (SPI, production, savings, battery), systems summary, activity feed, 7-day SPI trend chart
- Systems: searchable table with status, capacity, SPI score, and provider info
- Analytics: tab-based charts with time range toggles (1D/1W/1M/3M/1Y/ALL)
- Members: team management with role badges (owner/admin/member/viewer) and pending invitations
- Settings: org profile, plan & billing placeholder, danger zone
- Pinia store with computed permission helpers (canEdit, canManage, isOwner)
- Reserved slug validation to prevent routing conflicts with existing pages
- Full spec written to docs/APP.md covering DB schema, permissions, API design, and implementation phases
- Improved middleware error handling with status codes and Zod error support
- Dark-themed scrollbar matching the dashboard UI
Mar 20, 2026
Transactional email & password reset
Full mail system using Resend for transactional email — password reset, email verification, daily SPI digest, and contact form.
- Resend API client with audit logging (email_log table)
- Password reset flow: forgot-password page, token generation, reset-password page, session invalidation
- Email verification: tokens sent on signup, verify-email endpoint, resend button in settings
- Notification preferences (daily SPI digest, system alerts, marketing) with toggle UI in settings
- Daily SPI digest worker job (7 AM UTC) and token cleanup job (3 AM UTC)
- Contact form API endpoint for hello@soladex.co
- Inline-CSS email templates with Soladex branding
- Fixed Docker build: NODE_ENV=production now set in builder stage (fixes 403 on POST endpoints)
Mar 20, 2026
Apple Login fixes & domain migration
Migrated from beta.soladex.co to app.soladex.co and fixed Apple Sign-In issues.
- Updated base URL to app.soladex.co
- Added Astro origin checking with allowed hosts
- Centralized Apple OAuth constants and env helpers
- Fixed Apple redirect URI for callback flow
- Fixed Apple logo SVG icon on login page
- Added prerendering for static pages
Mar 18, 2026
Apple Sign-In with OAuth
Full Apple Sign-In implementation using OAuth with JWT client secret generation.
- Apple OAuth flow with ES256 JWT signing (no external dependencies)
- Handles Apple's form_post response mode
- Captures user name on first authorization
- Server-to-server notifications for consent revocation and account deletion
Mar 16, 2026
Google & Apple OAuth login
Added social login support with Google and Apple OAuth.
- Google OAuth 2.0 login and signup flow
- Google profile picture synced to user avatar
- OAuth accounts database layer for provider linking
- Existing email accounts automatically linked on first OAuth login
Mar 12, 2026
Background jobs & admin dashboard
Introduced pg-boss for background job processing with an admin dashboard.
- pg-boss worker as a separate Docker service
- Daily SPI forecast computation job
- Admin jobs dashboard at /admin/jobs with state counts, history, and manual triggers
- esbuild bundler for worker with tsconfig path alias support
Mar 8, 2026
Smappee dashboard & SPI display fixes
Rewired Smappee pages to use PostgreSQL, fixed dashboard display bugs, and extracted testable SPI helpers.
- Smappee database tables with migration and seed data
- DB query layer mapping rows to existing Smappee API types
- Fixed "Invalid Date" bug in SPI Forecast strip
- Fixed invisible hourly generation chart bars
- 33 new tests for SPI display helper functions
Mar 4, 2026
Smappee RFID tracking
New Smappee EV charging dashboard with RFID tracking and session analytics.
- Service locations, RFID cards, and charging session pages
- Typed Smappee API client with Zod validation
- Reusable DashboardNav and DashboardHeader components
- 40 new unit tests for Smappee helpers and schemas
Feb 28, 2026
Geolocation & weather improvements
Client-side geolocation for automatic weather location with smart fallback chain.
- Browser geolocation with coordinate cookie (1hr TTL)
- Location precedence: user setting > geolocation > client IP > default
- Private IP detection for local development
- Shared extractWeatherLocation utility
Feb 24, 2026
Sentry error tracking
Integrated Sentry for error tracking, performance monitoring, and structured logging.
- Client and server-side Sentry initialization
- Request breadcrumbs and user context in middleware
- Auto-capture of API errors
- Helper module with captureError, captureMessage, and withSentry utilities
May 14, 2025
Soladex platform launch
Initial release of the Soladex platform featuring the Solar Power Index, real-time dashboard, and daily energy forecasting.
Ready to optimize your solar?
Join thousands of solar owners who are making smarter energy decisions every day with Soladex.