Tonic release notes

🐦
Follow us on Twitter to get live updates, leave comments, and alert us with issues for the team to address.

Release 38.4

Rollout date: July 10, 2024

A very exciting release with features including Streak Freezes, Zen Mode, Inventory, and Contact list pairing. Also a huge fix to various reports of studios closing after 5 minutes. Streak freezing allows a user to save their streak if they missed a day in the past. When you play a studio, there’s a chance you may find a streak freeze. Zen Mode allows you to opt out of Leagues, pausing your ranking until you opt back in. Contact list pairing allows you to find friends to follow on Tonic.

Some people have reported studios with incorrect time logged. Digging into this issue, it’s attributed to users backgrounding their app when practicing. We now are able to support this behavior and log studio time correctly. Past studios that suffered from this problem will be patched up in the coming days.

New features & updates

  • πŸš€ New: View your inventory (streak freeze and other items)
  • πŸš€ New: Earn a streak freeze, view reward screen during end of studio flow
  • πŸš€ New: Use a streak freeze on a calendar date
  • πŸš€ New: Show streak frozen days in the calendar
  • πŸš€ New: Show current streak and all-time max streak on profile
  • πŸš€ New: Enable Zen Mode to opt out of Leagues
  • πŸš€ New: Show Zen Mode on dashboard, profile, league screen
  • πŸš€ New: Show current league and all-time top league on profile
  • πŸš€ New: Add globe explore to groups screen to find groups and friends
  • πŸš€ New: Use your contact list to find friends to follow
  • πŸš€ New: Show app update sheet with inventory and streak freeze alert
  • 🧬 Update: Prevent group invite if the user is blocked from the group, or if the user has blocked the inviter
  • 🧬 Update: Add report option on studio day screen
  • 🧬 Update: Inviter receives notification when invitee joins group (cloud)
  • 🧬 Update: Increase variety of "member just joined" messages in the group
  • 🧬 Update: Remove follow all button in suggested friends

Bug fixes & polish

  • πŸ’’ Fix: XP is awarded incorrectly for playing studio
  • πŸ’’ Fix: Studio is closing after 6 to 7 minutes
  • πŸ’’ Fix: Liking a message is crashing the group
  • πŸ’’ Fix: Sending an invitation to yourself in the group removes you as an admin and member
  • πŸ’’ Fix: Leaderboard is stuck on 23 hrs and resets an hour early
  • πŸ’’ Fix: Remove "fingering", β€œwang” as censored word
  • 🐞 Fix: Hoop earrings missing for avatar after earning it
  • 🐞 Fix: Unable to add piece that was removed back into Works
  • 🐞 Fix: Censor the last message that shows up in preview for a group
  • 🐞 Fix: Edge case where group shows that everyone is an "Admin” if there exists no admin
  • 🐞 Fix: Edge case where chat messages are appearing duplicated in a Group
  • 🐞 Fix: Edge case where forgot password flow creates a broken link for emails that aren't associated with accounts in Firebase
  • ✨ Polish: "Start the trend" prompt is at the bottom of the "Experience" filter in "Live now”
  • ✨ Polish: Remove Rise Zone on Diamond league leaderboard
  • ✨ Polish: Group preview is shown shortly before seeing group messages
  • ✨ Polish: Tapping on a blank Search bar and tapping on a user, group, or work sends user back to "My groups" screen

Release 37.4

Rollout date: July 4, 2024

This release introduces new features around blocking users, removing messages from blocked users and users you’ve blocked, streak badges, an all-new studio visitors stat, and adding a group to favorites. Not to mention a major navigation change, removing the search tab in favor of a notifications tab.

We have various bugs fixed too in this release, including a few around bugs in blocking due to some users on older versions. We now have many layers of safeguards against this.

New features & updates

  • πŸš€ New: Streak badge on profile avatar
  • πŸš€ New: Show Streak Badge on profile info sheets in studio and groups
  • πŸš€ New: Show number of studio visitors on profile
  • πŸš€ New: Censor messages that violate guidelines
  • πŸš€ New: Blocked user's messages not shown in groups
  • πŸš€ New: Users who block you shown as inaccessible
  • πŸš€ New: Show blocking implications on blocked user sheet
  • πŸš€ New: Your messages in groups are not shown to a user you blocked
  • πŸš€ New: Favorite a group, unfavorite a group
  • πŸš€ New: Sort your groups by β€œAll”, β€œFavorites”, and β€œAdmin”
  • πŸš€ New: Show a message in group when new member has joined
  • πŸš€ New: Show a message in group when name or description are changed
  • πŸš€ New: Inviter sees notification in-app when invitee joins group
  • πŸš€ New: Move Search to the Groups tab
  • πŸš€ New: Move notifications and group invitations to new Messages tab
  • 🧬 Update: Move notification settings into the notifications tab
  • 🧬 Update: Blocked user's messages are auto-removed from your studio
  • 🧬 Update: Blocked user's messages are not added to the chat
  • 🧬 Update: Remove deleted / banned users from search list
  • 🧬 Update: Add studio message content to database
  • 🧬 Update: Remove joined date from profile
  • 🧬 Update: Change all instances of studios "joined" to studios "visited”

Bug fixes & polish

  • πŸ’’ Fix: Blocked user should not see your groups, works, or badges
  • πŸ’’ Fix: User is seeing a white screen on Admin Groups screen
  • πŸ’’ Fix: Blocked user still able to enter Studio from Live now list
  • πŸ’’ Fix: Force older versions to update
  • 🐞 Fix: Prevent editing name to an empty string
  • 🐞 Fix: Soho outfit image not showing up when earned
  • 🐞 Fix: Notifications are not refreshing
  • 🐞 Fix: Return to studio sheet should not be able to be dismissed
  • 🐞 Fix: Not loading the full list of my works
  • 🐞 Fix: Some works not showing up with adding
  • 🐞 Fix: Ensure usernames to be alphanumeric
  • 🐞 Fix: Report id for studio report incorrect
  • 🐞 Fix: Migrate group names to have no emojis
  • 🐞 Fix: Milestones badges are missing, number of badges incorrect
  • 🐞 Fix: Featured "See all" list not showing accurate member count


Release 36.4

Rollout date: June 27, 2024

Major updates to the groups experience! Now you can explore studios in your group to see who’s live right now. Other important features include filtering my groups by groups I admin, auto blocking users from a group, and displaying my streak on my profile. A few badge related fixes and other edge case fixes to help overall experience feel more smooth.

New features & updates

  • πŸš€ New: Studios live within a group
  • πŸš€ New: Show my streak on profile
  • πŸš€ New: Filter my groups list by all vs. admin (if admin groups exist)
  • πŸš€ New: Automatically add my blocked users when I create a group
  • πŸš€ New: Add first layer of email verification
  • πŸš€ New: If no friends yet, studio invite sheet shows link to invite non-Tonic users
  • 🧬 Update: In the activity list, user's avatar should navigate to their profile
  • 🧬 Update: Live now to show hours played since local midnight (instead of rolling 24 hours)
  • 🧬 Update: Updated bug report link
  • 🧬 Update: Move group invitations alert to nav bar in groups tab

Bug fixes & polish

  • πŸ’’ Fix: Some milestone badges are not showing or have wrong image
  • πŸ’’ Fix: Getting stuck on loading a group initially
  • πŸ’’ Fix: Music lover badge is missing for some users
  • 🐞 Fix: Crash on viewing a group’s blocked users if no blocked users exist
  • 🐞 Fix: Sometimes group chat will crash after awhile
  • 🐞 Fix: Some users have incorrect badge count
  • 🐞 Fix: Dashboard is not fetching the updated play stats in some cases
  • 🐞 Fix: During studio, invite list user search is not rendering accurately
  • 🐞 Fix: Group member count is not refreshing
  • 🐞 Fix: Pulling down to refresh studios is not refreshing
  • ✨ Polish: Copy update plural "blocked users"
  • ✨ Polish: Toggle blocked icon to a different icon when viewing blocked list
  • ✨ Polish: When only one user in activity list, margin is off


Release 35.0

Rollout date: June 25, 2024

This release adds in a robust layer of key security features as well as moderation tools for groups and admins of groups. We now ensure that blocked users are not only unable to join groups and studios they are blocked from, but also that if they are blocked during the studio or while in the group, they are immediately kicked out, permissions revoked, and unable to rejoin. Additionally, this release has privacy updates to give users more control, as well as verification checkmarks to prevent impersonation.

New features & updates
  • πŸš€ New: Add SecureStorage and device info for security
  • πŸš€ New: Kick user immediately out of a studio if the player blocks them
  • πŸš€ New: Admin can block a user from a group, immediately kicking them out
  • πŸš€ New: Add a link to streak appeal form
  • πŸš€ New: Group admins can view list of blocked users
  • πŸš€ New: Add verification checkmarks to users in the search tab
  • πŸš€ New: Ensure only group member can access chat
  • 🧬 Update: Add timestamps to groups list, sort by time of last message
  • 🧬 Update: Remove showing timezones for other user's studios
  • 🧬 Update: For my studios, only show timezone note for anomaly studios (ie. during travel)
Bug fixes & polish
  • πŸ’’ Fix: Blocked user is still able to enter a studio
  • πŸ’’ Fix: Prevent user who is blocked from rejoining a public group
  • πŸ’’ Fix: "Experience" filter does not show any studios
  • 🐞 Fix: Highlights are not appearing in the Highlights section of the group settings
  • 🐞 Fix: Refresh all live studios after you exit from a studio (as a listener)
  • 🐞 Fix: Leaving a group is not refreshing the list of groups
  • 🐞 Fix: Live studios experience section not showing users
  • ✨ Polish: Remove activity reset time from group detail screen


Release 34.3

Rollout date: June 23, 2024

This patch is a quick fix to ensure users who are banned cannot create duplicate accounts. A permanently banned user is immediately logged out without ability to return.

New features & updates
  • πŸš€ New: If user is banned or deleted, immediately log them out
  • πŸš€ New: Save device to automatically delete the user if banned
  • πŸš€ New: Save the release build version for each user
  • πŸ’’ Fix: Streaks fallback timezone is now set to user's default time zone
  • πŸ’’ Fix: Some users not appearing in group members list


Release 34.0

Rollout date: June 21, 2024

Note: All streaks are accurate now to reflect your travels, timezones, and daylight savings time changes around the world. There may be edge cases for certain geographies or for short travel in the past. For those cases, we have an appeal process to fix streaks on a case-by-case basis found here.

New features & updates
  • πŸš€ New: Activity Leaderboards for public groups
  • πŸš€ New: Add Apple ID login for iOS
  • πŸš€ New: Add onboarding Tonic message in studio listen FTE
  • πŸš€ New: On profile sheets in studio, show follow button module
  • πŸš€ New: Release notes popup to all listing updates
  • 🧬 Update: On the calendar day screen, tap to navigate to studio detail
  • 🧬 Update: Order live studios by time created (oldest at the top)
  • 🧬 Update: Add release notes link to the settings screen
  • 🧬 Update: When joining via group link, welcome sheet should navigate to groups
  • 🧬 Update: Add timezone to reporting a lost studio
  • 🚀 Performance: Faster initial loading for fetching stats
Bug fixes & polish
  • πŸ’’ Fix: Edge case broken streaks for users traveling across different timezones
  • πŸ’’ Fix: Remove stale studios that were stuck
  • πŸ’’ Fix: Group activity empty state shown only for admins
  • πŸ’’ Fix: Some users stuck without name and username
  • πŸ’’ Fix: After joining a private group, stuck on preview screen for a few seconds
  • πŸ’’ Fix: When creating group, onboarding invite flow does not send invite
  • 🐞 Fix: Live count is not accurate
  • 🐞 Fix: Group member count is inconsistent with formatting
  • 🐞 Fix: User profile picture not showing for recent group message
  • 🐞 Fix: Long names are overflowing the screen in the group activity list
  • 🐞 Fix: On practice time screen, empty state CTA is repeating
  • 🐞 Fix: Ensure usernames are alphanumeric
  • 🐞 Fix: Follow button glitches while loading on opening profile
  • ✨ Polish: Make landing page animate faster
  • ✨ Polish: Studio heart counter is the incorrect color


Release 33.0

Rollout date: June 18, 2024

This release gives Groups a rework and makes them easy to use, performant, and more lively with activity. 

Another massive release with a slew of backlogged fixes that our community has been clamoring for us to fix for months. Key new features in this release include activity leaderboards for public groups sorted by time, seeing who invited you to a group, saving emoji reactions into the practice summary, another uptick in speed for loading groups and invitations, and significant improvements to the group invitation experience.

New features & updates
  • πŸš€ New: Toggle hiding and showing your activity stats in the Group
  • πŸš€ New: Group invite notification shows which user invited you
  • πŸš€ New: Sending a message reaction in studio saved to log, can view it afterwards
  • πŸš€ New: Show saved reactions in audience list
  • πŸš€ New: Show your current timezone in your account settings
  • 🧬 Update: Show timezone abbreviations in other users’ practice logs
  • 🧬 Update: Add the last message for each group to my groups view
  • 🧬 Update: When user achieves the goal, change the ring to gold colored
  • 🧬 Update: Enhance metadata for user and groups invite links (add photo)
  • 🧬 Update: Sort the group activity list by time practiced
  • 🧬 Update: Reorder so advanced users to the top of studios live screen
  • 🧬 Update: Add group invite icon to group detail screen
  • 🏁 Speed: For loading groups, use getGroups for my groups, user’s groups, group invites
  • 🏁 Speed: Make loading group invitations accurate and performant
Bug fixes & polish
  • πŸ’’ Bug: Set timezones calculations for different user’s calendars, set all graphs to local timezones
  • πŸ’’ Bug: Hours left for League is not accurate
  • πŸ’’ Bug: Creating a group is stuck after creation, not showing members
  • πŸ’’ Bug: Reply and liking recent group messages are not saving
  • πŸ’’ Bug: Navigating to user profile from notifications is stuck on loading
  • πŸ’’ Bug: Editing a group’s name is not changing in my group list
  • πŸ’’ Bug: Challenge admin are not showing up
  • πŸ’’ Bug: Some users render the goal count bars incorrectly within the group activity board
  • 🐞 Bug: Playlist doesn’t update if I search for a new work and select it
  • 🐞 Bug: XP listened alert appearing multiple times
  • 🐞 Bug: Hearts on a studio message jump to other messages when a new message is added
  • 🐞 Bug: When backing out from old challenge, old challenge card appears
  • 🐞 Bug: Cannot view all people practicing in the live now list view
  • 🐞 Bug: Joining via a group invite is not decrementing the number of group invites
  • 🐞 Bug: Joining a public group is not working sometimes
  • 🐞 Bug: Joining a group in my invites does not remove it if I’m already part of the group
  • 🐞 Bug: After joining from invited, group list not updating
  • 🐞 Bug: Group invitation persists even after joining the group, and hitting the join button
  • 🐞 Bug: Group invitation not appearing if no data for the inviter
  • 🐞 Bug: Leaving a group is not updating my groups list
  • 🐞 Bug: After leaving a group, list is not auto reloading
  • 🐞 Bug: Deleted groups are still accessible
  • 🐞 Bug: Deleting a group is not removing the user group invitations
  • 🐞 Bug: Tap targets of group activity leaderboard are too small, hard to tap
  • 🐞 Bug: Group activity board not showing top 3 unless more than 6 total users
  • 🐞 Bug: Weekly practice screen is showing duplicate β€œOpen a studio” section
  • 🐞 Bug: Sending an image in a group should show the sender’s name
  • 🐞 Bug: Reply input is not avoiding keyboard (only iOS)
  • ✨ Polish: In cloud and rectangle stages, the piano is off-center
  • ✨ Polish: Jasmine hair earned screen image sizes are off
  • ✨ Polish: Challenge filters cut off a little bit
  • ✨ Polish: Following pill is cut off a bit

Release 32.0

Rollout date: June 12, 2024

The release we’ve been awaiting for months is finally here! This build solves the problems regarding inaccurate streaks, inaccurate practice days in the log, and gives the overall app a massive loading speed bump because of new efficiency in these calculations. The only minor design changes in this update are that you can now see your friends’ streaks and accurate practice logs (in that user’s timezone) if you’re in the same private group.

We’ve been hearing that the greatest grievance users have is streak loss and inaccurate practice day logging. It’s demotivating when these stats are stale or off by a day. A lot of users lost their 100+ day streaks because they traveled to a new timezone or practiced at the junction of a daylight savings time shift.

On the technical side, there is no easy solution because of timezone accounting around the world (and even different regions having different daylight savings protocols).

New features & upgrades
  • πŸš€ New: Show another user’s stats calendar in their local timezone
  • πŸš€ New: Add timezones to user data, show timezone for other users in their stats
  • πŸš€ New: View another user’s streak (if in same private group)
  • 🏁 Speed: Initial load time for dashboard significantly faster
  • 🏁 Speed: Initial load time for studios significantly faster
  • 🏁 Speed: Load time for ending a studio rewards flow is significantly faster
Core fixes
  • 🚨 Data Fix: User progress in groups is now accurate to timezones
  • 🚨 Data Fix: User dashboard stats for play and listen is now accurate to timezones
  • 🚨 Data Fix: User streaks are now accurate to timezones
  • 🚨 Data Fix: User practice time leaderboards within a group is now accurate
  • 🚨 Data Fix: User days practiced this week and goal completion is now accurate to timezones


Release 31.2

Rollout date: June 10, 2024

This minor release has a few critical hot fixes, as well as some UI polish, small bug fixes, and push notification deeplink fixes. It also collects the user’s timezone, setting us up for the next major release later this week that resolves issues with streaks.

New features & upgrades
  • πŸš€ New: Add in timezone collection
  • 🚀 Performance: User getUsers challenge_members, rank members, checkmarks added everywhere
Bug fixes & polish
  • πŸ’’ Fix: Older messages are missing user data
  • πŸ’’ Fix: Group invite link fixed (auto join the group)
  • 🐞 Fix: Jasmine hair not showing up
  • 🐞 Fix: Remove weekCount in progress wheel for user group progress
  • 🐞 Fix: Make Friends screen, following 1 user not working
  • 🐞 Fix: Suggested friends not fetching users from getUsers
  • 🐞 Fix: Remove requirement of purpose, description for private group
  • 🐞 Fix: FTE highlight message stuck at bottom for group admins
  • 🐞 Fix: Joining a private group from invited not working
  • 🐞 Fix: Group highlight / reply push notification deeplink not working
  • 🐞 Fix: Group invite push notification not deeplinking to invites page
  • 🐞 Fix Push notification doesn’t deeplink to studio
  • ✨ Polish: League empty state cactus image not showing up
  • ✨ Polish: Theme color not showing up in avatar selection
  • ✨ Polish: UI for bar graph
  • ✨ Polish: Stack for user avatars


Release 31.0

Rollout date: June 8, 2024

This release significantly improves performance for the product in any area that loads lists of users or other user data. Importantly, we’re now able to render all of the user data (including username, avatar, checkmark) that is up-to-date and accurate.

New features & upgrades
  • πŸš€ New: User data within lists show checkmarks and usernames
  • πŸš€ New: Add deletion link into app settings
  • 🚀 Performance: New API getUsers to cache user data, fast loading for user lists
Bug fixes & polish
  • πŸ’’ Fix: Works leaderboards loading
  • 🐞 Fix: User data within lists are always up to date
  • 🐞 Fix: Deleted users removed within lists
  • 🐞 Fix: Author data always up to date (notifications, highlights, messages, studios)
  • 🐞 Fix: Group admins show at the top of group member list
  • 🐞 Fix: Group member’s week count sometimes not accurate
  • ✨ Polish: UI for group goal progress wheel


Release 31.0

Rollout date: June 5, 2024

This release fixes a number of critical bugs, upgrades performance of app loading, and increases reliability of multiple key user actions. Also introduces new improvements on invitations, ratings campaign, and group explore experience. Lots of fixes users have been alerting us about for awhile now!

New features & upgrades
  • πŸš€ New: Improve group explore, add explore to group pages
  • πŸš€ New: Notification loop after an invited user joins
  • πŸš€ New: Updated invite UI at account creation
  • πŸš€ New: Any public group, anyone should be able to invite
  • πŸš€ New: Ratings campaign at studio close (if 14-day streak)
  • πŸš€ New: XP for invites
  • πŸš€ New: Request a custom work
  • πŸš€ New: All new users get a welcome notification
  • πŸš€ New: Show total invitations at bottom of dashboard, CTA
  • 🚀 Performance: Graceful firebase error handling with retries
  • 🚀 Performance: Reliability upgrades for follows, songs, group members add/delete
  • 🚀 Performance: Faster loading for profiles
  • 🚀 Performance: Improve search for users
Bug fixes & polish
  • πŸ’’ Fix: Keyboard going overtop of message composer
  • πŸ’’ Fix: Leagues not resetting at right time
  • πŸ’’ Fix: Tonic crashes after tapping on a Studio notification that is no longer live
  • πŸ’’ Fix: App is kicking me back to my profile after tapping on a friend’s profile
  • πŸ’’ Fix: Bug in adding time in league diamond
  • πŸ’’ Fix: Group may be missing a user, create user in group if missing from table
  • 🐞 Fix: Mozart Challenge hair is not appearing and showing a different hairstyle instead
  • 🐞 Fix: Alert notifications not muting for user
  • 🐞 Fix: Works are not loading the full list correctly (stale)
  • 🐞 Fix: β€œNext” button hovers over list items when creating a group
  • ✨ Polish: Confetti during onboarding not appearing after setting goal iOS
  • ✨ Polish: Fix loading star sizes
  • ✨ Polish: Group top nav is white, UI polish
  • ✨ Polish: In-studio timer container size