Release Notes — May 17, 2026
This release introduces Sign in / Sign up with Google, the beta programme badge and conditions, a system status banner, in-app feedback, automated NPS survey and weekly activity emails, and GA4 analytics tracking.
Sign in / Sign up with Google
Registration with Google
- A "Sign up with Google" button is now available on the Register page
- Clicking it redirects to the Google consent screen — after granting access, the account is created instantly
- No email verification required for Google-registered accounts
- Profile information (name, profile picture) is pulled from the Google account and stored in your workspace profile
Login with Google
- A "Sign in with Google" button is now available on the Login page
- Works for all accounts registered with Google or auto-linked to a Google account
Auto-linking existing accounts
If you previously registered with email + password and sign in with Google using the same email address, the accounts are automatically linked. No duplicate account is created. Future sign-ins work with either method.
The "Sign in with Google" button on the Login page is restricted to already-registered users. Unregistered Google accounts are rejected with a message and a link to the Register page.
Privacy
- Your Google ID (
sub) is stored only as a SHA-256 hash — the raw ID never touches the CADENSA database - Your email address is stored as a hash in the global user store, identical to email+password accounts
- Profile data (name, picture) is stored only in your unit-specific workspace profile
Beta programme
CADENSA is currently in open beta.
Beta badge and conditions
- A BETA chip now appears next to the page subtitle on the Register and Login pages; hovering it shows a tooltip explaining the current beta status
- A new "I understand and accept the beta conditions" checkbox has been added to the Register page — registration requires this to be ticked
Beta welcome email
- Every new account receives a welcome email immediately after registration
- The email includes links to the documentation and tips for getting started
Beta data reset notification
- If a beta data reset is scheduled, registered users receive an advance notification email with enough time to export any important data before the reset
System status banner
- A system status banner is shown at the top of the app when CADENSA services are degraded or experiencing an outage
- The banner polls
status.cadensa.ioevery 60 seconds - It can be dismissed — if dismissed, it re-appears automatically after 15 minutes if the issue persists
- A "View status" link opens the full status page at
status.cadensa.io
In-app feedback
- A floating Feedback button is now visible in the bottom-right corner of the app
- Clicking it opens a short Formbricks feedback survey
- If Formbricks is unavailable, the button falls back to opening your email client with a pre-filled feedback message to support@cadensa.io
Automated engagement emails
NPS survey (day 7 and day 30)
- A short NPS survey email is sent automatically 7 days and 30 days after registration
- The survey link opens a Formbricks form — results go directly to the product team
- Users who have disabled product-update emails are skipped
Weekly activity summary
- Every Monday, CADENSA sends a weekly activity summary email
- Active users (who tracked time last week) receive a brief stats summary
- Inactive users (no time entries in 7+ days) receive a re-engagement nudge with a direct link to the timer
Analytics event tracking
Key user actions are now tracked as GA4 events via Google Tag Manager — cookie consent is respected at all times:
| Event | Trigger |
|---|---|
sign_up | Successful registration (email or Google) |
tutorial_complete | First login / onboarding complete |
first_timer_start | First time the timer is started |
first_time_entry | First saved time entry |
begin_checkout | Upgrade flow initiated |
purchase | Subscription completed |
first_project_created | First project created |
first_invite_sent | First team member invited |
first_report_viewed | First report generated |
No personal data is included in any of these events.
Summary of changes
| Layer | Change |
|---|---|
Backend GoogleIdentity model | New model: stores SHA-256 hash of Google sub + GlobalUser reference |
Backend googleAuth.service.ts | New service: OAuth code exchange, user lookup / create / auto-link |
Backend auth.routes.ts | New routes: GET /api/v1/auth/google and GET /api/v1/auth/google/callback |
Backend betaWelcomeEmail.ts | New template: welcome email sent on registration |
Backend betaDataResetEmail.ts | New template: advance notice email before a beta data reset |
Backend nps-survey.job.ts | New cron job: NPS survey emails at day 7 and day 30 |
Backend weekly-retention.job.ts | New cron job: weekly activity summary / re-engagement email every Monday |
Frontend Login.tsx | "Sign in with Google" button + BETA badge + beta tooltip |
Frontend Register.tsx | "Sign up with Google" button + BETA badge + beta conditions checkbox |
Frontend SystemStatusBanner.tsx | New component: polls status.cadensa.io, shows banner on degraded / outage |
Frontend FeedbackButton.tsx | Formbricks integration with mailto fallback |
Frontend analytics.ts | New utility: GA4 event tracking functions (consent-aware) |
Frontend main.tsx | Sentry error tracking + Formbricks SDK initialised |
| Frontend locales | auth.google.*, auth.betaConditions.*, common.systemStatusBanner.* keys for all 5 languages |