Tonic release notes
Release 41.0
Rollout date: September 11, 2024
Features & updates
- π New: Tab bar new play button
- π New: Add timestamps for studio message
- π New: Add nomination form for featured users
- 𧬠Update: Add league to the featured users in search
- 𧬠Update: Show date joined on profile
Bug fixes & polish
- π Bug: Group count is inaccurate
- π Bug: Challenge reply keyboard is blocking the input
- π Bug: Challenge highlight replies are not loading all replies
Release 40.3
Rollout date: August 29, 2024
Minor release with zen mode asset changes, completing this round of League updates.
Features & updates
- 𧬠Update: Zen mode lotus icon
- 𧬠Update: Zen mode copy updates
Release 40.2
Rollout date: August 27, 2024
Minor release which addresses bugs relating to the Challenge.
Features & updates
- 𧬠Update: Update Challenge for Rosin (guidelines, copy, assets)
Bug fixes & polish
- π’ Bug: Listening XP not counting to Challenge
- π Bug: Revise challenge members to use new API (improve accuracy)
- π Bug: Sending reply in challenge highlight not working
Release 40.1
Rollout date: August 22, 2024
Minor release with usability tweaks to the forum screens, improved CTAs, and some polish.
Features & updates
- 𧬠Update: View all posts from the music/technique screen
- 𧬠Update: Add CTA to "add to my music" at end of question list
- 𧬠Update: Add "Ask the community" CTA on main screen
- 𧬠Update: Revisions to creating a prompt (remove tags, change copy)
Bug fixes & polish
- π Bug: For responses, the question text is overflowing screen
Release 40.0
Rollout date: August 17, 2024
Major change in this release is separating works into two different categories: music and techniques.
Features & updates
- π New: Separate music and techniques in user profile
- π New: Separate music and technique modules in my dashboard
- π New: Separate screen to view music from dashboared
- π New: Separate screen to view techniques from dashboard
- π New: Separate music and techniques in search (when adding to studio)
- π New: Separate music and techniques in explore with separate filtering
Release 39.7
Rollout date: July 27, 2024
A HUGE update introducing community content creation for works. Users may now ask questions, respond to questions, and create educational content for individual works. Our goal is to create a lasting knowledge-base for learning, built by the community. We hope that users will find the growing collection of knowledge to not only aid in their learning via different perspectives, but also serve as a springboard for connecting and new friendships. This first version is very much an MVP and weβll be iterating in the coming weeks in tandem with feedback.
Other major updates include the explore feature which improves ability to find new groups, featured profiles, and works, a rehaul of the dashboard to clean it up and put works front and center, and moving the groups tab into your dashboard. A slew of other updates to caching, performance, and some long awaited bug fixes.
Features & updates
- π New: Work screen with community content (view posts, questions, leaderboard)
- π New: Create flow for adding a post (add multiple images, reference techniques, add tags, instrument)
- π New: View a post (and view comments)
- π New: Add upvote and downvote to posts
- π New: Add a comment to a post
- π New: Reminder note to be kind when commenting on a post
- π New: For posts, handle reporting, deleting, and blocked user cases
- π New: View a question
- π New: View posts associated with a question
- π New: Create flow for adding a question (add tags, instrument)
- π New: On work screen empty state, prompt user to add if not added yet
- π New: Show recent activity of users who played the work
- π New: Notify if a question you follow receives an answer
- π New: Explore groups (show featured, popular, recent, search)
- π New: Explore profiles (by instrument, featured, studios visited, search, and find friends)
- π New: Explore works (filter by popular, recent, featured, search)
- π New: Add background image to songs
- π New: Restructure dashboard to show goal and stats at top
- π New: Change instrument via weekly stats screen
- 𧬠Update: Add practice time into weekly practice screen
- 𧬠Update: Make the live now section light mode
- 𧬠Update: Restructure dashboard to navigate to my groups, remove group tab
- 𧬠Update: Notion URL for new guidelines
- 𧬠Update: Main tab icons (home and bell) and remove labels
- 𧬠Update: Revised groups screen with pinned favorites sorted at top
- 𧬠Update: Remove groups module from public profiles
- π¨ Infra: Tracking for works
- π¨ Infra: Works posts, questions, comments architecture
- π¨ Infra: Fetching lists of posts, question, comment
- π¨ Infra: Create post, question, comment
- π¨ Infra: Helpfulness scores
- π Speed: Improve performance for get live studios
- π Speed: Better tab bar handling for refreshing studios
Bugs & polish
- π’ Bug: XP not awarded for Studio
- π’ Bug: Studio shows "Connect with friends first" sheet for users that have friends already
- π’ Bug: User cannot sent Studio invites from their own Studio or someone else's
- π’ Bug: No ability to block user from the Group without going through member list
- π Bug: Works list can only be loaded one time per app restart
- π Bug: Cannot use playlist feature in Studio
- π Bug: Infinite loading stars for pieces and techniques
- π Bug: Cannot find unblocked user in Live now
- π Bug: Deleted message is still appearing as the Group preview message
- π Bug: Don't give streak freeze if studio ended while away
- β¨ Polish: New UI for groups in explore tab
- β¨ Polish: New UI for works in explore tab
- β¨ Polish: Groups screen UI polish for usability
- β¨ Polish: Toast notification position is too low
- β¨ Polish: Copy updates on the report screen
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