Home
Shows
Merch
About RT
Community
Home
Shows
Merch
About RT
Community

© 2025 Box Canyon Productions LLC. All rights reserved. Terms of Service / Privacy Policy

Back to All Discussions

Release Notes

Where the RT engineering folks let you know what we're up to and you can let us know what you think of the site.

Rules

  1. There are no rules.
  2. Please wait until we have decided the rules.

We're not done! On the website we just launched a new and improved Search! We're showing you what you're looking for without even needing to type something (it's based on data and updates daily, theoretically it's probably what you're looking for 😅), we're showing you groups in search results and most importantly, WE'RE SHOWING YOU BONUS FEATURES IN SEARCH RESULTS 👏👏👏. On top of all that, we're continually improving search to help you find exactly what you're looking for! Huge shoutout to our web development, data, and UX/UI teams for their amazing hard work! We'll continue to monitor search, investigate feedback, and make changes as necessary. Thanks for reading!

oddlittleduck
2 years ago
1

Hello iOS users! It's not just an Android update day, we've also got an iOS update for you! 3.8.6 has been rolled out to 100% of users, so if you don't see it updated on your end just head over to the app store and tap Update. Let's get into what's going on with this build! ⭐ Added Ad Choices to the Settings Page for all account types ⭐ Added Loading Ad Choices to Loading page ⭐ Added New AppIcons ⭐ Changed Logo on Launch Screen, Web Store, and Web Loading Screens ⭐ Added new asset for correct size ⭐ Adjusted Icon to be centered on all screens that show the icon, label and the spinner for loading for the 2 different pages that show it. ⭐ Fixed a crash when the videoPlayer would disappear and not have a reference to the parent view and would crash. ⭐ Reworked method for saving playBackTime to fix bug missing strong parent reference ⭐ Added new custom error handling when the user gets an error when we sync the data to prevent the crash. As always, if you have any questions or run into any bugs, please send those to Support! I'm happy to chat here in the comments, but reporting bugs to Support is always going to be what I recommend so we can keep track of it. Next up we're working on a new video player for iOS, so it'll be very similar to Android functionality and stability! Thanks for your patience as we continue to knock out these updates and improve the app :D

oddlittleduck
2 years ago
0

Hello hello! We just pushed update 3.9.11 out to 100% of beta users over the weekend. We'll continue to monitor and roll out to production over the next few days. If you're interested in joining the beta and providing feedback to new updates, you can sign up in the Google Play Store on our app page. We've added a lot of support for Android 13 features, fixed a PiP bug for devices that don't support PiP, and fixed updating profile photos! Here are the extended release notes for anyone interested in the details! Android 13 & Gradle 8: ⭐ Incremented app version name from 3.9.10 to 3.9.11 ⭐ Updated project compileSdkVersion from 32 to 33. ⭐ Updated project targetSdkVersion from 32 to 33. ⭐ Updated proguard rules now that R8 is in full mode and more code is being removed by us and other libraries. ⭐ build.gradle files have been updated to use the lint block versus the legacy lintOptions block. ⭐ Removed android.enableJetifier from gradle.properties since no modules in the project are depending upon legacy support libraries. ⭐ Updated all references to legacy Transformations static calls for switchMap & map lambdas to the new extension style implementation using LiveData as the source of the extension. ⭐ Updated media playback notification logic for users on Android 13+. ⭐ Users should now see a background image on the notification that reflects the current content. ⭐ Updated contentTitle value for notification text. ⭐ Ex: Chapter 1: Ruby Rose. UI: ⭐ Updated app icons. ⭐ Added logic to add a still image to playable content based on the content. ⭐ It used to be a combination of both our legacy rooster teeth logo with a gray background followed by a white icon on a black background. ⭐ This change should apply to all users. ⭐ Updated SettingsFragment to also show an Ad Choices selection under the Privacy section under the privacy policy item. Edit Profile: ⭐ Fixed an issue when uploading a profile picture where the body for the call was not serializing properly causing a failed response. ⭐ Updated permission check for reading external media based on the user’s Android version since Android 13+ offers more granular media permissions. PiP: ⭐ Fixed an issue where the PipManager was trying to be used by devices that did not support PiP (< Oreo). As always, if you run into any bugs or problems, please report them to Support at support.roosterteeth.com! Next up we're investigating some reports of Chromecast and PiP. Let me know if you have any questions!

oddlittleduck
2 years ago
0

Hello iOS users! We're back, we're grooving, and we're making things happen on iOS! This is a small update to get the app icon all new and shiny, but rest assured we're continuing on and can't wait to show you what we've got cooking. Update 3.8.5 is now available for everyone and you can wait for it to automatically update or head over to the App Store and update manually. On to the extended release notes! Extended Release Notes 🎆 New App Icons for Staging and Production 🎆 New WebView Logos & Dynamic Text 🎆 Link to Notifications 🎆 Link to Support 🎆 Link to FAQs 🎆 Link to Privacy Policy 🎆 Link to Terms of Use 🎆 Link to Cookie Policy 🎆 Link to Webstore 🎆 Updated WebView background color 🎆 Added a new SplashScreen with new RoosterTeeth Logo and new Text Logo 🎆 New Header Bar Logo added 🎆 Fixed Download Icon Crash for missing asset 🎆 Fixed Default Spalsh Screen Crash for missing asset 🎆 Changed the default image to our new Splash Screen Image. 🎆 New Text Logo added to the App 🎆 Changed ForceUpdate Screen with new Splash Screen ImageUpdated Pods SDKs 🎆 Changed Launch Screen background color 🎆 Updated the Icon on Launch Screen with new asset and size 🎆 Fixed Background Header on WebStore 🎆 Changed Icons on WebStore Loading Screen 🎆 Changed Splash Screen with new Light Splash Screen 🎆 Changed Splash Screen to blurred version when Terms and conditions shows 🎆 Changed onboarding images 🎆 Welcome 🎆 Login 🎆 Signup 🎆 Forgot Password 🎆 Added New Text Logo to the SplashScreen Up next we have some work to do on the iOS Video Player and other enhancements. If you have any problems with this update, please reach out to Support at support.roosterteeth.com. Thanks for your patience and we're so excited for more consistent iOS updates!

oddlittleduck
2 years ago
1

Hello Android users! We just pushed update 3.9.8 out to 100% of beta users this afternoon. This is a big one, so strap in for the expanded release notes! We'll continue to monitor and roll out to production over the next few days. If you're interested in joining the beta and providing feedback to new updates, you can sign up in the Google Play Store on our app page. SSAI: Architecture: Created AdRepository.kt to handle ad related logic attached to video playback like analytics. Created PlayerRepository.kt and moved good chunk of logic into it from PlayerViewModel.kt. Removed lower level module project dependencies that are transitively exposed by other dependencies from app/build.gradle, core/coreliveui/build.gradle, core/coreplayerui/build.gradle, core/corevodui/build.gradle, legacy/build.gradle. Moved image loading dependency to :core:coreui. Created new build flavorDimension called style. This allows us to maintain our existing assets as well as add new ones based on a certain style while the underlying code references the same asset names like ic_launcher. This removes the need for maintaining extra branches for brand level changes and provides opportunities to work ahead on other style based changes like the specific app icons. UI: Added video_ad_fragment_layout to fragment_video.xml. Added logic to AdCoordinator.kt to support ad viewing. Created VideoCoordinator.kt Added logic to VideoFragment.kt & VideoCoordinator.kt to support ad viewing. Added PaidContentAdFree MessagingType to WelcomeFragment.kt & SubscribeFragment.kt. Updated UpsellCoordinator’s upsellAds function with new messaging types. Disabled Ad CTA when click through link is null Updated played position logic to work with free users. Updated seek logic around ad breaks and back navigation from ad views. Data: Renamed AdPostion.kt to AdRollType.kt Added AdEventAdBreakStarted, AdEventAdBreakCompleted & AdEventAdClicked events for analytics. Created AdBreakAd.kt to represent an ad within the ad break. Created AdInterruption.kt to represent an ad to be played as an interrupt event to video playback due to a user seeking passed an ad marker. Created AdState.kt as a sealed class consisting of AdStateDefault, AdStateContinuing, AdStateComplete & AdStateFailed Created AdTimeline.kt to represent an ad within an ad break with formatted data and information about it’s ad break. Added clickThroughLink property to AdBreakAd.kt Extensions: Created splitDuration function in StringExtensions.kt to handle time format from backend. Legacy Code Deletions: Deleted AdViewInterface.kt, RTAdManager.kt, PrioritizedRTAdManager.kt, VideoAnalytcsProvider.kt & VideoAnalyticsManager.kt. Removed legacy WatchtimeBeatListener.kt, AnalyticsBeatListener.kt & PlayerAnalyticsListener.kt. Functionality: Heartbeats now stop on ad break starts and start on ad break completion. Ad breaks are now properly tracked by analytics for anon and free users. Added logic to show an ad overlay for non-premium users when ads come up during video playback. Ad playback can be paused/resumed. Regular playback controls are disabled during ad playback. Ad playback seekbar is disabled for user interaction. Seeking passed an ad break or group of ad breaks triggers an ad interruption showing the most recent ad break and then resuming to the original seek to position. Added upsellAds function to UpsellCoordinator.kt to be used when an ad upsell has been triggered. Dedicated Networking Layer Goal: Decouple existing networking layer from UI layer. Build components to allow other features to decouple their networking logic. Improve error handling. Reduce duplicated code. Increase performance. Architecture: Created :core:corefeature, :core:coreio, :core:coretransceiver, :core:coreuser:coreapi & :features:billing modules. :core:corefeature includes :core:coreui, :core:coreauth, :core:coreuser, :core:storage, :core:coretransceiver, :core:coreanalytics. :core:corefeature will be implemented by all modularized features moving forward. Created FeatureViewModel to allows for quick access to the AuthRepo & UserRepo. Currently LoginViewModel & ForgotPasswordViewModel inherit from this. Moving forward all feature ViewModels will inherit from FeatureViewModel. UI: Created AuthCoordinator.kt as an abstract class to be implemented by Login/Sign up related feature coordinators. Created CreateAccountCoordinator.kt which extends AuthCoordinator.kt. This allows for error handling based on different types of errors that can occur during account creation. Refactored ChatFragment & ChatViewModel to utilize new approach for reading the User and handling anonymous users. Added member_required_title_chat string resource to :core:coreui for upselling RTTV chat for anonymous users. Added PaidContentChat to MessagingTypes enum in WelcomeFragment.kt. Proper messaging now shows when anonymous user taps the RTTV chat EditText, previously was default messaging. Created EditProfileViewModel. Fixed crash when opening image picker for updating the profile picture on the EditProfileFragment on Android 11 + due to how we requested all apps on device based on intents MediaStore.ACTION_IMAGE_CAPTURE & Intent.ACTION_GET_CONTENT. Android decided that on Android 11 + that apps on a user’s device were considered personal information. Upload of image fails with 400 InvalidParameter, but the app no longer crashes. Will work with backend to resolve. Created WelcomeCoordinator to handle UI interactions on the WelcomeFragment. Created LoginCoordinator to handle UI interactions on the LoginFragment. Created CreateAccountViewModel. Created ForgotPasswordCoordinator to handle UI interactions on ForgotPasswordFragment. Created ForgotPasswordState sealed class with children; ForgotPasswordDefault, ForgotPasswordAttempting, ForgotPasswordComplete & ForgotPasswordFailure. Created ForgotPasswordViewModel. Created SettingsViewModel. Created DebugRtSettingsViewModel. Created UpdateEmailViewModel. Created UpdatePasswordViewModel. Created UpdatePasswordState sealed class with children; UpdatePasswordDefault, UpdatePasswordAttempting, UpdatePasswordComplete, UpdatePasswordFailure. Data: Updated ErrorResponse.kt to include the errors property, which is populated in cases where multiple errors occur from a single call, like create account. Created HttpApiException to be a base Exception type for RT APIs. Created BadRequestException, UnauthenticatedException, UnauthorizedException, NotFoundException, RequestTimeoutException, ConflictException, ContentGoneException, TooManyRequestException, InternalServerException, BadGatewayException, GatewayTimeoutException, EmptyExceptions to allow for more manageable consumption of common network, parsing, storage errors. Created ApiResponse sealed class, meant to replace legacy NetworkResource. Has 3 children; Loading, Success, Failure. ApiResponse is meant to be returned only from a Transceiver (networking) to the repository layer. Created EmptyResponse to handle empty responses. Created ErrorResponse to wrap information regarding why and API call failed whether locally or from request/server problems. Created IoResponse to act as an object to be returned from either the Transceiver (network) layer or Local Storage layer to the Repository layer. This allows us to completely remove the need for UI components to directly require knowledge(depend upon) of Networking related models/logic. The screen should only care about getting data or how to handle an error. Created IoError to handle wrapping errors that may occur in the networking/storage layers and make it consumable to the UI components. Extensions: Updated ErrorResponseExtensions’s toIoError() function to sort the addition of multiple errors. Created HttpExceptionExtensions to easily convert response codes into HttpApiException. Created ErrorResponseExtensions to easily allow for conversion from ErrorResponse to IoError. Created ThrowableExtensions to easily convert a Throwable object to our ApiException. Networking: Created BearerTokenInterceptor to handle appending the Authorization header to our API calls. Created Authenticator to handle challenges/refreshes to 401 (Unauthorized) response codes. Created ApiRepository to handle single instance setup of our networking related configuration and client setup(timeouts, JSON settings, interceptors, etc.). Created BaseTransceiver to be implemented by our current networking client features. Created NetworkTransceiver which extends BaseTransceiver and handles making our requests using Kotlin Flows or regular suspending functions. The Flow wrapped request logic handles updating(emitting) our ApiResponse(Loading, Complete, Failure) states based on the API interaction. This easily allows us to modify how we handle response from our APIs in singular place. Removed NetworkErrorInterceptor.kt. Errors are now handled by the Repository layer and transformed into consumable information for the ViewModel layer to update the UI accordingly. Updated OkHttp from 4.9.0 to 4.10.0 Auth: Created AuthenticationRepository to act as Base Repository for our various auth options. Created OauthRepository to handle standard email/password functionality as well as token related logic(revoke, etc.). Created GoogleAuthRepository, child of AuthenticationRepository which handles our Google related authentication logic. Created FacebookAuthRepository, child of AuthenticationRepository which handles our Facebook related authentication logic. Created AuthStorage to handle read/write of access token/refresh tokens. Created AuthTransceiver as an abstract implementation of our NetworkTransceiver class, meant to be used with the networked RT API calls for Authentication. Created OauthApi Created OauthTransceiver, child of AuthTransceiver. Created GoogleAuthApi Created GoogleTransceiver, child of AuthTransceiver. Created FacebookAuthApi Created FacebookTransceiver, child of AuthTransceiver. Created BillingApi Removed ChatAuthenticationInterceptor. If you made it through all of that, bravo! Next up we're going to be fixing the Report Bug button and getting that autoplay setting to remember what you set it as before leaving the Settings page. If you have any questions, I'll try to answer what I can here, or you can reach out to our wonderful Support team at support.roosterteeth.com. Thanks everyone!

oddlittleduck
2 years ago
0

I've got another update, this time for all the web viewers that use the video player! I am thrilled to announce the release of our new video player on RoosterTeeth.com! Our team has worked hard to make significant improvements to our platform, and we're excited to share with you some of the features and benefits of this update. First, we removed the video start delay, resulting in faster loading times. In addition, we've added a new Up Next popup that will make it easier to see what's playing next, and we've given our video player a UI/UX overhaul to make it more visually appealing and user-friendly. If you run into any bugs that need to be squashed or have general feedback, please reach out to our Customer Service team so they can collect info about the bug or pass that feedback along to our engineering team! The easiest way to reach them is at bit.ly/RT-Support.

oddlittleduck
2 years ago
2

Hello Android users! Sorry for the delay in your usual expanded notes, we've been hard at work on this big update as well as a quick bug fix! These updates are available to 100% of users as of April 6, 2023. This update includes the following: We're celebrating 20 years with a brand new logo and new episodes of old favorites every Friday! Various bug fixes and under the hood improvements The public notes for the app store were short and sweet, there was no way we could condense all of the following info into something short for the app store. For everyone interested, here's all of the additional work included in the 3.9.6 and 3.9.7 update! Created layout_rt_label.xml to be used as a reusable component when needing the Rooster Teeth wordmark logo. Currently reused as an included layout on fragment_welcome.xml, fragment_subscribe.xml & fragment_login.xml. Updated small icon used for notifications to the new logo icon rt_logo Updated ToolbarManager.kt to use rt_logo as it’s centerImage image resource. Updated fragment_web_view.xml to include logo image view. Updated the store_loading string resource. Created ImageTypes constants object to easily access & maintain our various image types for image loading from our data models. Removed all hardcoded references to existing image_types. Updated image type used for Series from title_card to poster Updated fragment_browse_item_channel_show.xml & view_show_item.xml to reflect portrait image. Added card_corner_radius as a dimension value to :core:coreui All card corners are rounded with this value. Wrapped fragment_browse_item_channel_show.xml’s series_image_view in a CardView. Updated item_video_on_demand.xml’s included vod_preview to use carousel_item_width & carousel_item_height dimensions. Wrapped live_carousel_item.xml in a CardView. Wrapped marketing_carousel_item.xml in a CardView. Wrapped view_live_current.xml’s stream_preview in a CardView. Wrapped view_show_item.xml’s series_image_view in a CardView. Wrapped vod_preview.xml in a CardView. Updated fragment_browse_item_channel_show.xml’s series_image_view to use centerCrop scaleType. Updated DownloadViewHolder to reference CardView instead of ConstraintLayout. This fixes a crash happening to Production users when navigating to Downloads screen with downloaded videos. Up next we're working on getting the bug reporting button working again (the irony isn't lost on us lol), adding a download option to the expanded menu, and some other improvements to the app as a whole! Please reach out to CS with any bug reports or if you have questions! They can be reached at support.roosterteeth.com. Have a great weekend everyone!

oddlittleduck
2 years ago
0

Hello Android users! We just pushed update 3.9.5 out to 100% of beta users this afternoon. We'll continue to monitor and roll out to production over the next week. If you're interested in joining the beta and providing feedback to new updates, you can sign up in the Google Play Store on our app page here: https://play.google.com/store/apps/details?id=com.roosterteeth.roosterteeth This update includes the following: ♥️ By popular request, we’ve added a “tap to dismiss” option for the video player overlay! You can still swipe left or right to fast forward or reverse, and now tap to dismiss the play/pause button ♥️ Updated login screen imagery to show some different faces around Rooster Teeth ♥️ Added a background play toggle to Settings in case you don’t want background play on your videos Here are some additional expanded notes, for all the technical brains out there! ♥️ Updated splash screen background color. ♥️ Added androidx.core:core-splash to :legacy to bring splash screen logic to current. ♥️ This supports Android 12+ as well as maintains backwards compatibility. ♥️ Created Theme.App.Starting to handle splash screen styling. ♥️ Added auth_background & auth_background_blur as webp drawables. ♥️ Created auth_bg.xml to be used like onboard.bg.xml as a reusable background component for our auth screens. ♥️ Deleted login_bg.webp auth images. ♥️ Removed legacy splash screen style. ♥️ Enabled our gesture recognizer to response to both single tap and left, right swipe. ♥️ Removed UI related to restore purchase google play billing feature. ♥️ Moved playback analytics models to :features:video:playback. ♥️ Updated proguard-rules.pro with latest move of playback related analytics models. ♥️ Added background play switch back to SettingsFragment.kt. ♥️ Created IntExtensions in :core:coreuser for quick member tier int checking. ♥️ Added check for background play preference before playing a video. ♥️ Created MessagingType.PaidContentBackground to SubscribeFragment.kt & WelcomeFragment.kt for upselling background play. Up next we're working on some under the hood improvements to make future updates even easier. We'll have some really technical updates for that! Please reach out to CS with any bug reports or if you have questions! They can be reached at support.roosterteeth.com. Have a great weekend everyone!

oddlittleduck
2 years ago
0

So the uh front page of the site got a facelift? It looks nice but it's not exactly as easy to navigate now, or at least for the time being. To me personally it's a lot easier to click buttons that will do the scroll to left/right than it is trying to use a horizontal scroll bar. I'm sure I'll probably get used to it or find my own way of making do but at the moment navigating the front page doesn't feels nearly as intuitive as it used to. *edit*: have included a screenshot to show what i see when viewing the front page (had to go full screen to show it effectively), and am definitely on a non-touch device PC.

kerouaille
2 years ago
4

Hello Android users! We just pushed update 3.9.4 out to 100% of beta users this morning. We'll continue to monitor and roll out to production over the next week. If you're interested in joining the beta and providing feedback to new updates, you can sign up in the Google Play Store on our app page here: https://play.google.com/store/apps/details?id=com.roosterteeth.roosterteeth This update includes the following: ❣️ Captions are no longer on by default! ❣️ Fixed a bug around disconnecting and reconnecting to the internet during playback Additionally, it looks like people really like the expanded notes! Happy to keep providing those to y'all. We love how technical this community is and it's fun to see everyone get excited! ❣️ Fixed an issue where captions were always displayed by default. ❣️ Captions now need to be selected before being shown. ❣️ Updated captions button visibility handling. ❣️ Created ApiExceptionExtensions to allow for more readable consumption of Google Services related exceptions. ❣️ Now when attempting to use Google Sign In while offline we display a message to “Please check internet connection and try again”. ❣️ Fixed an issue where OfflineFragment would show during loss of connection while on DownloadsFragment / PlayerFragment watching an offline video. ❣️ Removed offline red banner. ❣️ Removed unused BroadcastReceiver in MainActivity. ❣️ Fixed an issue on LiveVideoFragment when reconnecting from offline connectivity status while previously on RTTV that prevented the player from reloading the stream correctly as well as the playback control bar. ❣️ Refactored BillingManager restorePurchase logic to use a more modern threading approach. This should prevent an ANR(App Not Responding) that was occurring for some users. ❣️ Created PurchaseListener interface. ❣️ Created SubscribeViewModel. ❣️ Consolidated click listener logic in SubscriptionFragment. ❣️ Added View extensions to handle view enabling/disabling for clicks that are followed by long running tasks. ❣️ Fixed an issue where third party login responses were not serializing properly on lower Android OS versions. ❣️ :coreuser no longer depends on :coreauth. Up next we're working on adding back some tools, like the toggle for background play and updating some graphics! Please reach out to CS with any bug reports or if you have questions! They can be reached at support.roosterteeth.com.

oddlittleduck
3 years ago
0

Hello Android users! We just pushed update 3.9.3 out to 100% of beta users this afternoon. Which means.... BACKGROUND PLAY IS BACK! We'll continue to monitor and roll out to production over the next few days. If you're interested in joining the beta and providing feedback to new updates, you can sign up in the Google Play Store on our app page here: https://play.google.com/store/apps/details?id=com.roosterteeth.roosterteeth For 3.9.3, here are the release notes: 💥Background play is back! Enable picture in picture and lock your device to continue listening in the background. 💥Squashed a bug where RTTV chat was not showing to users 💥The first item in your Watchlist now plays correctly And for those interested, here are some more in-depth release/patch notes about what's been accomplished behind the scenes: 💥Background play enabled for VOD & RTTV. 💥Added a check in our deeplink routeLink() logic for Web app banner schema. 💥Created MediaNotificationListener interface to allow updating of the media playback notification. 💥Wrapped Background Play notification in First member check. 💥Wrapped onUserLeaveHint() logic in First member check. 💥Fixed an issue where a newly signed out user could still PiP one time. 💥Fixed an issue where playback position saving logic when exiting a VOD player screen, was being used by anonymous users without an account to associate with causing a crash. 💥Added string resources to WelcomeFragment & SubscribeFragment for PiP upselling. 💥Clicking PiP icon as non-First user will upsell accordingly. 💥Added PaidContentPiP to the MessagingTypes enum for upsell. 💥Added upsellPip() & upsellFeature() to UpsellCoordinator. 💥Cleaned up unneeded logs. 💥Moved Toolbar to :core:coreui and remove synthetic usages app-wide. 💥Moved more core related styles to :core:coreui. 💥Moved several extension functions from :legacy and moved them into separate core level modules. 💥Updated obfuscation rules to reflect the package change to fix an issue with RTTV chat models. 💥Removed UrlShowListFragment (Related tab) from list of Fragments in the ShowPagerAdapter. 💥Removed use of the EpisodeDetailTab.RELATED from ItemType.Episode usages of the VODItemDetailFragment. Tab should no longer be visible to the user. 💥Fixed an issue where the Watchlist tab titles were not being shown and set properly and prevented playback. 💥Fixed crash when resuming internet connection while on RTTV. 💥Created PlayerNotificationCoordinator to handle setup and UI of foreground media playback notifications from the Player screen. 💥Added RTTV thumbnail to :core:coreui. Playback Foreground Media Notification Behavior: 💥Behavior may vary based on Android OS version. 💥While on Player screen & in background play and watching/listening a video/stream swiping open your Android device notification drawer you will see a notification based on VOD/RTTV. 💥The notification will be minimized, only showing text, small and large image and the Play/Pause button. 💥The notification can be swiped/dragged down to open/expand to the full size. The seekbar, rewind & fast forward are now shown for VOD media. 💥Seekbar can be manually seeked in-app, in-PiP and in background play. 💥Rewind & fast forward can be used watching VOD media in-app, in-PiP and in background play. 💥Playback output source can be changed from Phone speaker to other bluetooth devices. 💥Notification will dismiss when content is completed, player exited via non-pip navigation, or app closed. 💥When locking the device while watching a video/stream on the Player screen playback will pause and the lock screen notification will reflect it. 💥Playback can be played via notification. 💥When locking the device while watching a video/stream in PiP the playback will continue to play. Next up, we've got some offline/reconnection bugs we're going to fix and then move on to other bug reports we've seen from Customer Service. If you have any questions, please reach out to our CS department for help!

oddlittleduck
3 years ago
1

Hello Android users! We just pushed update 3.9.2 out to 100% of beta users this morning. We'll continue to monitor and roll out to production over the next few days. If you're interested in joining the beta and providing feedback to new updates, you can sign up in the Google Play Store on our app page here: https://play.google.com/store/apps/details?id=com.roosterteeth.roosterteeth For 3.9.2, here are the release notes: 🎇 Returning to the app after using picture in picture will no longer open another instance of the app 🎇 Fixed the picture in picture icon from disappearing after returning to the app 🎇 Added the fullscreen button back to the video player. Now users that lock their screen orientation can go fullscreen! 🎇 Added a close button to the video player. You can still swipe left to right to go back or use your device's back button if you prefer! Now, I've always been a big fan of behind the scenes content from Rooster Teeth, and as a gamer, I love digging through patch notes. We thought it would be fun to share the longer list of everything that was accomplished in this update as well. If this is something you'd like to continue to see, definitely let me know! Here are the more technical, all encompassing release notes for 3.9.2: 🎆 Fixed crash occurring in CommentsFragment due to observing user properties with null data. 🎆 Updated com.android.billingclient:billing to 4.1.0. 🎆 Updated BillingManager, SubscribeFragment, PriceChangeHelper with v4 changes. 🎆 Added additional Crashlytics logging & Performance traces. 🎆 Fixed an issue where the Offline Downloads swipe to delete for pending videos was attempting to delete in-progress videos. 🎆 Refactored DownloadsAdapter to better handle data synching between remote videos and our local offline video data. 🎆 Fixed caching issue when swipe deleting downloaded videos. 🎆 Refactored SearchViewModel to be lifecycle aware. 🎆 Fixed an issue where navigating from Search to series would cause a crash due to ContainerActivity attempting to launch the fragment when it should be launched from FragmentNavigator, MainActivity currently. 🎆 Improved Offline Downloads stability. Specifically for in progress downloads across screens. 🎆 Improved Downloads page syncing of remote videos and the various states with our local offline video metadata. 🎆 Fixed an issue where deleted offline videos wouldn’t update the Downloads list fast enough and the remote video would still exists in the cache. 🎆 Fixed an issue where the series selection wouldn’t update with user’s choice. 🎆 Added full screen button to the VOD & Live control bars. 🎆 Created PlayerCoordinator to handle video player related logic including orientation changes. 🎆 Updated facebook-login dependency from 8.2.0 to 14.1.1. 🎆 Added additional thread safety to CallHelperSingle & SingleKeyPagedRepository 🎆 Refactored VOD & Live control bars to use custom button implementations for PiP & captions. 🎆 Refactored control bar setup in PlayerFragment to reflect XML changes. 🎆 Fixed an issue in SeasonsFragment where entering SeasonsFragment for a second time with a different series the list of episodes would show previous entry’s list of data. Now am forcing update of data in SeasonsFragment on entry. 🎆 Fixed nav issue with Offline Downloads screen. 🎆 Fixed player control bar setup bug when in offline mode. 🎆 Un-modularized feature:video:live into :legacy. This module was modularized by a previous developer. The logic related to RTTV Live was not ready to be modularized due to it’s heavy dependency on :legacy core logic that has yet to be modularized. It was causing conflicts with the flattened structure. 🎆 Created :core:corenavigation module to allow navigation logic to be shared between :legacy and new feature modules like downloads. 🎆 Ran into an issue where the PlayerFragment instances aren’t destroyed as expected and in the case where a user navigates from a VOD video from Home screen and navigates to RTTV via newly exposed bottom navigation menu thanks to single activity. Back navigating in the stack causes the player to try and play the video due to current state management. Need to refine that to have proper back nav experience. 🎆 Implemented workaround to double audio issue by using an exposed function on the PlayerFragment to stop playback and other Fragments like VideoFragment & LiveFragment call this when their onDestroy functions are fired. Sometimes the PlayerFragment is still retained, but only until the next instance is instantiated, or it appears that way. It seems RemoteVideoFragment is not firing it’s destroy logic until later for some reason. Will monitor for performance hits and memory leaks. 🎆 Playback position handling updated. 🎆 Created BottomNavigationViewModel functions to help features update MainActivity with the app state. This helps hide now available navigation UI until later updated to maintain current behavior. 🎆 Implemented more dynamic Connectivity awareness logic. We were previously using function meant for debug only state checking. Removed OfflineActivity. MainActivity now launches OfflineHomeFragment during loss of connection. 🎆 Removed ActivityLauncher interface from our Application class. It only handles login launching now. To be removed in future update. Navigation is now handled at the root Activity level for the most part. 🎆 Updated logic around OfflineHomeFragment displaying/dismissing due to connectivity state. MainActivity handles launching, but the OfflineHomeFragment can observe the connectivity and dismiss itself in the case of a reconnection event. 🎆 Updated MainActivity XML with CoordinatorLayout to better handle combined showing of bottom components like bottom navigation, chat entry view, keyboard, Chromecast mini controller, etc. 🎆 PiP is entered automatically when on the video player screen and the app is placed into the background, or system events like from users engaging Google Assistant prompts. And if you got this far, we've officially resumed work on fixing background play! 3.9.3 will include background play and some additional bug fixes. We really appreciate your patience and look forward to bringing you more updates in the future!

oddlittleduck
3 years ago
1

Good afternoon everyone! Coming at you to let you know we've released Android 3.9.1 to 100% of users this weekend! Here's what's included: 🍂 Added a close button to RTTV and VOD. You can still use gestures or the back button, but now you have a third option! 🍂 Fixed a bug that would cause some users to crash after receiving a notification. 🍂 Removed unused options from Settings 🍂 Tidying up of the code to help things run faster and more smoothly Next up we're working on getting Background Play working and addressing two bugs, one about watchlist videos not playing and the other about PiP opening multiple instances of the app! Thanks for all of the great feedback and bug reports to Customer Service, as they really help us see what's going on. If you need to report anything, you can do so at bit.ly/RT-Support. Thanks!

oddlittleduck
3 years ago
2

Hey everyone! We've got an iOS update coming at you, version 3.8.1! Here's what's included in the update: ⭐ You thought we were done? Chromecast now works in RTTV! ⭐ Added a little sparkle with some minor UI changes ⭐ Invisible changes to RTTV that'll help it run more smoothy This means we can get started working on some of the feedback we've seen from the iOS 3.8.0 update, like Background Play, various bugs, and some UX/UI improvements as well! We appreciate all of the great feedback we've seen and can't wait to keep improving the experience. If you have any questions, feedback, or bugs to report, you can always reach out to our amazing Customer Service team at bit.ly/RT-Support.

oddlittleduck
3 years ago
2

hello world

ColdOstrich89
3 years ago
0

Heya, hopefully this is the right place to post this - ever since the mobile update my downloads have gone missing: even things I only just downloaded disappear from the list.

Dreamsandweirdness
3 years ago
1

Hello! We just fixed the missing caption issue for our living room apps. You should see the English captions now for RWBY Ice Queendom episodes. We are working on fixing the rest of the episodes in our library.

cfanpnk1988
3 years ago
0

Are there any plans to bring back Chromecast compatibility for the RT app? Or make it possible to view RT content on Playstation instead of just the Xbox? To this day I am still baffled by the decision to remove the ability to use Chromecast with the RT app and have found myself practically never watching RT content anymore. Netflix and chill became a phrase for a reason. It used to be very relaxing to be able to just sit down in front of the tv, tap a few buttons on my phone and then watch the latest RT content on the big screen while chilling on the couch. Netflix, Disney+, etc still has that functionality so if I want to chill I pick those streaming services instead of RT. I don't believe making RT less competitive compared to other streaming services is something people at RT would want, so I don't understand why the decision was made to do exactly that.

AenarTenthSkraeling
3 years ago
1

Happy Thursday everyone! Wanted to let everyone know we've got a new button on the site! As you scroll through your podcasts to check out new series like D&D, but... or catch up on old favorites like Black Box Down, you'll see this RSS button in the right hand corner. If you're logged in as a FIRST user, clicking this button will take you to the Premium RSS feed for that series so you can set up an ad-free listening experience on your favorite podcasting platforms! As new podcasts come out, that button will show up for any that have a supported Premium RSS feed. This'll make it a lot easier to set up those feeds and see what's supported going forward. If you have any questions, let me know! Also, happy 8 days until RTX! 😊

oddlittleduck
3 years ago
1

Happy St. Patrick's Day everyone! We've got another iOS app update rolling out, update 3.7.6! Here are some highlights of what's included: ☘️: Fixed an issue where RTTV was crashing for some users ☘️: Added the ability to get to RTTV from the homepage carousel ☘️: Fixed a bug that caused some carousel images to appear stretched out on the homepage You can update right away by going to the App Store or wait for it to roll out over the next few days. If you have any questions or feedback, you can reach out to support at bit.ly/RT-Support. Have a great rest of your Thursday!

oddlittleduck
3 years ago
3