Sign in

Rafael Tonholo

@rafael.tonholo.dev
940 followers 613 following 108 posts

Android Developer 💜 Kotlin lover 📱 Jetpack Compose addicted 💡 Always trying to learn new things 🇧🇷🇨🇦

PostsRepliesMedia
Reposted by Rafael Tonholo
Thunderbird @thunderbird.net · 17/09/2026
We're reworking how settings are organized in Thunderbird Desktop and would love your thoughts. Take our short survey, 10-15 minutes tops. No trick questions, no wrong answers, and your feedback goes straight to the designers. Take the survey 👇 sohub.io/wm2k #opensource #thunderbird #ux
Blue abstract bird logo encircling a white envelope icon on a dark navy background.
3329
Reposted by Rafael Tonholo
Thunderbird @thunderbird.net · 10/09/2026
If you've ever opened Thunderbird's settings and felt like you needed a computer science degree, you're not alone. We're rewriting 250+ settings in plain language, and the results from our user testing are in. Check out the full details on our blog: sohub.io/zxqf #opensource #thunderbird
blog.thunderbird.net
Desktop Settings: Removing technical jargon - The Thunderbird Blog
Our goal is to remove the technical jargon, use plain language, and make it effortless to make decisions about their Thunderbird settings.
0294
Rafael Tonholo @rafael.tonholo.dev · 18/08/2026
Custom shaders?
110
Reposted by Rafael Tonholo
Thunderbird @thunderbird.net · 05/08/2026
Our July Mobile Progress Report is here! Check out our blog to see where we are with iOS development, as well as updates to the Android app. #android #ios #thunderbird #opensource blog.thunderbird.net/2026/07/mobil…
blog.thunderbird.net
Mobile Progress Report: July 2026 - The Thunderbird Blog
The Mobile Progress Report is back with roadmap and iOS updates, Thundermail integration, and notification improvement plans.
1152
Reposted by Rafael Tonholo
Thunderbird @thunderbird.net · 13/08/2026
📅 Thunderbird's calendar is getting a redesign! Jesse from the design team walks through the journey so far, including modernizing the grid, navigation, and calendar sidebar. Read the full post: blog.thunderbird.net/2026/08/deskt… #thunderbird #calendar #design #opensource
2392
Reposted by Rafael Tonholo
Aurimas Liutikas @liutikas.net · 18/07/2026
I am very very excited that Gradle Isolated Projects feature is finally marked as incubating. It is time for folks to try it out and see what breaks :) docs.gradle.org/9.7.0-rc-1/r...
docs.gradle.org
Gradle 9.7.0-rc-1 Release Notes
We are excited to announce Gradle 9.7.0-rc-1.
1141
Reposted by Rafael Tonholo
Thunderbird @thunderbird.net · 13/07/2026
In case you missed it: Thundermail, our new email service, has started sending invites to Early Birds on the waitlist. Early subscribers get a real say in where our #opensource #email service goes next, and we want you along for the ride! Join the waitlist here: www.tb.pro/waitlist
2324
Reposted by Rafael Tonholo
Thunderbird @thunderbird.net · 08/07/2026
One of the things we love most about our community is its passion for every detail. One of our design team recently sat down with ten of our users to learn how they use Thunderbird, and what would make using it even better! 📣 #Thunderbird #OpenSource blog.thunderbird.net/2026/07/deskt…
blog.thunderbird.net
Desktop settings research: what we learned from your feedback - The Thunderbird Blog
Quick overview of the insights gathered from interviewing 10 users about how they manage preferences and configurations in Thunderbird desktop.
2202
Rafael Tonholo @rafael.tonholo.dev · 07/07/2026
So, with the new tiny Maven Central limits, what are the real options for community open source projects? JitPack? Self-hosted Maven repository? Any other options? #AndroidDev #KMP #Gradle #MavenCentral
030
Reposted by Rafael Tonholo
Thunderbird @thunderbird.net · 25/06/2026
Our Thundermail Early Birds have spoken and we're listening: Webmail and two-factor authentication are on the way, as well as better support for custom domains and a smoother onboarding experience. Find out more and join the waitlist! blog.thunderbird.net/2026/06/thund…
blog.thunderbird.net
Thundermail June 2026 update: what we learned after the first few waves of invites - The Thunderbird Blog
Over the past several weeks, we have been welcoming early users from our waitlist into Thundermail, a few waves at a time. Many of you are now setting up your accounts, trying things out, and sharing your thoughts with us. Naming updates You may have noticed that we are now saying Thundermail more often, and […]
1257
Reposted by Rafael Tonholo
Thunderbird @thunderbird.net · 16/06/2026
We're adjusting our roadmaps and making better Android notifications our next stop. iOS development is on track, and we're grateful for our community contributors (and want you to know how to get involved). blog.thunderbird.net/2026/06/mobil…
blog.thunderbird.net
Mobile Progress Report: June 2026 - The Thunderbird Blog
The Mobile Progress Report is back with roadmap and iOS updates, Thundermail integration, and notification improvement plans.
0231
Reposted by Rafael Tonholo
Thunderbird @thunderbird.net · 22/05/2026
How-To Geek wrote a great article about swapping Gmail's app for Thunderbird on Android: "It's a free, open-source, privacy-focused app, and it makes email feel like it used to." www.howtogeek.com/i-ditched-gma… Check out Thunderbird for Android! sohub.io/npmm #thunderbird #opensource
howtogeek.com
I ditched Gmail for Thunderbird, and email feels perfectly boring again
I prefer to keep my email simple.
3308
Reposted by Rafael Tonholo
Kotlin by JetBrains @kotlinlang.org · 22/05/2026
🔐 Starting with Kotlin 2.4, the standard library includes an 18-month security support policy. Security fixes will be backported to all active release lines within the support window. 👉 For more keynote highlights: kotl.in/rm6hir
kotl.in
KotlinConf’26 Keynote Highlights: Advances in Language Design, Tooling, AI-Driven Workflows, and Multiplatform Development | The Kotlin Blog
At KotlinConf’26, the JetBrains team and industry partners shared how Kotlin continues to evolve for developers at every scale.
0121
Reposted by Rafael Tonholo
Zac Sweers @zacsweers.dev · 20/05/2026
I'll be giving a talk about Metro's internals tomorrow at @kotlinconf.com! This'll be an advanced talk that assumes familiarity with Metro, and is a sort of part 2 of my "Navigating Dependency Injection with Metro" talk last year. You can find it here: www.youtube.com/watch?v=jVfm...
The first slide from the talk - "Metro Under the Hood"
1272
Reposted by Rafael Tonholo
Jaewoong Eum (skydoves) @skydoves.bsky.social · 19/05/2026
Introducing Android Performance Analyzer : The Next Evolution in Profiling for Android android-developers.googleblog.com/2026/05/intr...
android-developers.googleblog.com
Introducing Android Performance Analyzer : The Next Evolution in Profiling for Android
News and insights on the Android platform, developer tools, and events.
051
Reposted by Rafael Tonholo
Márton Braun @zsmb.co · 18/05/2026
Last Friday, we announced a ✨ new default structure ✨ for Kotlin Multiplatform projects. (Nothing like a late Friday afternoon release!) In case you missed that, here’s a quick recap of what’s new! 🧵👇
1173
Reposted by Rafael Tonholo
Chris Banes @chrisbanes.me · 12/05/2026
🤖 I've just open-sourced a new set of skills, covering Kotlin, Compose and Android development. Very early days, but it covers a lot of things which crop up in code review regularly. github.com/chrisbanes/s...
github.com
GitHub - chrisbanes/skills: Skills for Kotlin, Jetpack Compose, and Android development
Skills for Kotlin, Jetpack Compose, and Android development - chrisbanes/skills
0453
Reposted by Rafael Tonholo
scrcpy @scrcpy.bsky.social · 13/05/2026
scrcpy 4.0 is out 🚀 Try the new flex display feature (and more): github.com/Genymobile/s...
17112
Reposted by Rafael Tonholo
Thunderbird @thunderbird.net · 08/05/2026
Our new episode of Office Hours is out! We're chatting with Thunderbird contributor Bogomil about how he got involved with the project, mentorship in the open source community and more. Check out the link to watch to the full episode! youtu.be/xSXJsPIVV60?... #Thunderbird #OpenSource
082
Reposted by Rafael Tonholo
Thunderbird @thunderbird.net · 24/04/2026
Our latest Mobile Progress Report is now live on the blog! Notifications on Android? Progress on iOS? 📱 Get the full scoop: blog.thunderbird.net/2026/04/mobil… #Thunderbird #Android #iOS #OpenSource
blog.thunderbird.net
Mobile Progress Report - April 2026 - The Thunderbird Blog
A roadmap focus on modernizing code, a commitment to improving notifications, and our continuing work on the iOS app in this month's report.
0287
Reposted by Rafael Tonholo
sinasamaki @sinasamaki.com · 17/04/2026
✨ New article! How to create Airbnb's beautiful month picker dial in Jetpack Compose www.sinasamaki.com/made-in-comp...
092
Reposted by Rafael Tonholo
Jaewoong Eum (skydoves) @skydoves.bsky.social · 11/04/2026
Compose Stability Analyzer 0.7.3 introduces the runtime Compoes state tracking. By adding the `TraceRecomposition` annotation to your composable function, you can trace all the parameters and in-body Compose states in the logcat. skydoves.github.io/compose-stab...
071
Rafael Tonholo @rafael.tonholo.dev · 05/04/2026
I will keep an eye there! Thanks for sharing and for this great library!!
020
Rafael Tonholo @rafael.tonholo.dev · 05/04/2026
However, an IntelliJ plugin might be also useful for some functionalities like gutter indications, dependency graph rendering, or even reports. If you are open to contributions, I could try scratching something?
100
Rafael Tonholo @rafael.tonholo.dev · 05/04/2026
Probably. I remember trying that a few months ago on AS and suddenly everything went crazy, but I saw you fixed an issue related to that a few versions ago. I started to try again, I can let you know if anything similar happens again, if you want.
100
Rafael Tonholo @rafael.tonholo.dev · 05/04/2026
Someone just shared, out of the blue, my project on another social media! That is the first time it ever happened and I was so happy to see that! Sometimes I wonder if I should ever keep working on it, if ever people are using it or not. It felt heartwarming seeing that, tbh!
020
Rafael Tonholo @rafael.tonholo.dev · 05/04/2026
Yeah, I do that sometimes by disabling the `kotlin.k2.only.bundled.compiler.plugins.enabled`, however the IDE starts to be finicky and often "Redeclaration" issues show... That isn't a bug on Metro, as it happens when I do the same with a compiler plugin I built for testing 😞
100
Rafael Tonholo @rafael.tonholo.dev · 05/04/2026
Metro is so good! If you haven't tried yet, I strongly suggest you to!! I wish IntelliJ allowed non-bundled K2 compiler plugins to contribute their FIR checkers to the IDE so we could see diagnostics in real-time. Perhaps a Metro IntelliJ plugin could bridge the gap until then
153
Rafael Tonholo @rafael.tonholo.dev · 26/03/2026
While the website is fully functional, this is the first version I'm publishing, so feedback is appreciated! And if you are interested in the project, consider starring it on GitHub and contributing! All contributions are welcome! Here is the link: github.com/rafaeltonhol... #AndroidDev #KMP
github.com
GitHub - rafaeltonholo/svg-to-compose: A command-line tool and a Gradle Plugin for convert SVG to Android Jetpack Compose Icons.
A command-line tool and a Gradle Plugin for convert SVG to Android Jetpack Compose Icons. - rafaeltonholo/svg-to-compose
030
Rafael Tonholo @rafael.tonholo.dev · 26/03/2026
I've just released the website for CLI/Gradle Plugin code, built using KMP! It also features a playground editor where you can convert your SVGs without needing to download anything! And the best is that everything runs locally on your browser! svgtocompose.tonholo.dev #AndroidDev #KMP
svgtocompose.tonholo.dev
SVG to Compose - Convert SVG and AVD to Compose ImageVector
Convert SVG and Android Vector Drawables into Jetpack Compose ImageVector code. CLI tool and Gradle plugin for Kotlin Multiplatform.
1110
Reposted by Rafael Tonholo
Jaewoong Eum (skydoves) @skydoves.bsky.social · 20/03/2026
Why Compose HotSwan 🦢 It explains how Compose HotSwan brings true Hot Reload to Android, avoiding rebuilds and app restarts. It enables instant UI updates on a running app while preserving state, improving development speed. hotswan.dev/docs/how-it-...
hotswan.dev
Compose HotSwan - Android Hot Reload for Jetpack Compose
Hot reload your Jetpack Compose UI instantly without rebuilding. Compose HotSwan is a JetBrains IDE plugin for Android developers.
1114
Reposted by Rafael Tonholo
Jaewoong Eum (skydoves) @skydoves.bsky.social · 21/03/2026
Another tweak.
041
Reposted by Rafael Tonholo
Jaewoong Eum (skydoves) @skydoves.bsky.social · 21/03/2026
One of the biggest gems of Compose Hot Reload is the ability to simulate animation variations directly on real Android devices. hotswan.dev/docs/support...
142
Reposted by Rafael Tonholo
Thunderbird @thunderbird.net · 20/03/2026
We have a shiny new roadmap site, and an equally shiny new blog post to tell our community all about it: #Thunderbird #OpenSource blog.thunderbird.net/2026/03/intro…
blog.thunderbird.net
Introducing our Public Roadmaps - The Thunderbird Blog
At Thunderbird, we firmly believe in the strength of listening to our community’s needs and wants, and balancing it with our resources and capabilities. While this has always been part of our ethos, we want to start 2026 by making our goals easier to read and comprehend at roadmaps.thunderbird.net, where you will find our roadmaps […]
2287
Reposted by Rafael Tonholo
Thunderbird @thunderbird.net · 19/03/2026
Thundercast is back! Our hosts are steering us through the roadmaps for the desktop and mobile clients. Tune in for all the information on what's coming next, and minimal backseat driving. #Thunderbird #ThunderCast #OpenSource share.transistor.fm/s/4db3895e
share.transistor.fm
ThunderCast | ThunderCast - S3E1 - Roadmaps
ThunderCast, the official Thunderbird podcast is back for another season! Let's kick things off with some insights on our roadmaps and what's ahead for our desktop and email clients.User testing discussions: https://thunderbird.topicbox.com/Roadmaps: https://roadmaps.thunderbird.net/Developer...
184
Rafael Tonholo @rafael.tonholo.dev · 18/03/2026
I can't believe that I will attend KotlinConf this year 😱
080
Rafael Tonholo @rafael.tonholo.dev · 12/03/2026
Thanks for sharing that! I will be glad to help test it, or even contribute!
010
Rafael Tonholo @rafael.tonholo.dev · 12/03/2026
When are you planning to release/open source it?
100
Rafael Tonholo @rafael.tonholo.dev · 12/03/2026
I NEED THIS SO MUCH!
031
Reposted by Rafael Tonholo
Marcello Galhardo @marcellogalhardo.dev · 11/03/2026
Just published "Scoping ViewModels in Compose". marcellogalhardo.dev/posts/scopin... #AndroidDev #Kotlin #KMP #CMP
marcellogalhardo.dev
Scoping ViewModels in Compose
Lifecycle ViewModel 2.11.0-alpha02 introduces rememberViewModelStoreOwner, an API to scope ViewModelStore directly within the Compose hierarchy. Why It Matters Until now, ViewModelStore scoping was ti...
0245
Reposted by Rafael Tonholo
Matt McKenna @mmckenna.me · 09/03/2026
Today I’m open-sourcing Dejavu! Testing UI performance in Jetpack Compose is frustrating. We profile and watch tools, yet regressions still creep in. I built Dejavu to make recomposition behavior something you can actually test.
A screenshot of code that reads:

// Create a Recomposition Tracking Rule
@get:Rule
val composeTestRule = createRecompositionTrackingRule()

@Test
fun incrementCounter_onlyValueRecomposes() {
  // Perform an action
  composeTestRule.onNodeWithTag("inc_button")
    .performClick()

  // Assert that Composables change like you expect
  composeTestRule.onNodeWithTag("counter_value")
    .assertRecompositions(exactly = 1)

  // Or assert that they remain stable
  composeTestRule.onNodeWithTag("counter_title")
    .assertStable() // asserts recompositions = 0
}
74011
Reposted by Rafael Tonholo
Konstantin Klassen @konstantinklassen.bsky.social · 01/03/2026
🫨 Trying to build a library out of the snappy drag thing that I build for one of my apps. #JetpackCompose
1172
Reposted by Rafael Tonholo
Thunderbird @thunderbird.net · 06/03/2026
Everything's coming up roses in Pasadena for @socallinuxexpo.bsky.social! Come visit us in the Expo Hall at booth 221 to chat with our team, learn what we're up to, and grab some stickers from: 14:00-18:00 Today 10:00-18:00 Saturday 10:00-14:00 Sunday #Thunderbird #SCaLE23x
1172
Reposted by Rafael Tonholo
Thunderbird @thunderbird.net · 03/03/2026
We're excited to shine a light on Michaela Martin, the design artist behind our appeal illustrations. We chat about her background, her process, and how Roc and his world went from first sketches to final drafts. 🎨 #Thunderbird #Illustration blog.thunderbird.net/2026/03/desi...
blog.thunderbird.net
Illustrating Roc's World: A Spotlight on Michaela Martin - The Thunderbird Blog
Design artist Michaela Martin shows us how she expanded our mascot Roc's world and brought it to vivid, illustrated life.
091
Reposted by Rafael Tonholo
iury souza @iurysouza.dev · 17/02/2026
🎙️Check out the new @fragmentedpodcast.com episode on subagents! They can be a huge unlock once you understand how it all works and you can get real benefits without having to a swarm them. @kau.sh and I built an RTS mental model for how they work (yes, we did that). Check it out!
062
Reposted by Rafael Tonholo
Kaushik Gopal @kau.sh · 17/02/2026
new episode is out! spot the easter 🥚? recent models have shown massive improvement owing to clever use of "modes" and subagent dispatch. it really clicked for me after chatting with @iurysouza.dev listen to improve your fundamentals! (not just tactics).
092
Reposted by Rafael Tonholo
Thunderbird @thunderbird.net · 13/02/2026
And our Mobile Progress Report provides an early look into how development on Android AND iOS (!) will take shape over the coming year. #Thunderbird #Android #iOS #OpenSource blog.thunderbird.net/2026/02/mobi...
blog.thunderbird.net
Mobile Progress Report: February 2026 - The Thunderbird Blog
In the first Mobile Progress Report of 2026, we're going over our plans and priorities for the Android and iOS Thunderbird apps.
0172
Reposted by Rafael Tonholo
Thunderbird @thunderbird.net · 26/01/2026
Heading to CHAOSSCon at @fosdem.org? Be sure to check out @linuxflower.bsky.social and Wayne Mery's Lunch and Learn on Thursday Jan 29 at 13:00 on how we're using community metrics and how we can improve! #Thunderbird #OpenSource #Community chaoss.community/chaosscon-20...
chaoss.community
CHAOSSCon EU 2026 - Schedule and Speakers - CHAOSS
CHAOSScon Europe 2025, co-located with FOSDEM in Brussels, Belgium on Thursday, January 30, 2025.
182
Reposted by Rafael Tonholo
Martin Bonnin @mbonnin.net · 06/01/2026
Heads up it looks like Sonatype is starting to enforce stricter throttling on Maven Central. If you see 429/403 errors from your runneres, you're not alone. github.com/actions/runn... www.sonatype.com/blog/maven-c...
github.com
CI Runners Suddenly Failing with 403 Forbidden for Maven/Gradle Repositories (ubuntu-latest) · Issue #4180 · actions/runner
Since today, our CI pipelines running on ubuntu-latest and other hosted runners have started failing while downloading dependencies from Maven/Gradle repositories, returning HTTP 403 Forbidden erro...
162
Rafael Tonholo @rafael.tonholo.dev · 06/01/2026
I've just added the latest version, but I'm planning to add the previous ones as well. If you want to help, here is the repo: github.com/rafaeltonhol... #android #kmp #AndroidDev #intellij
github.com
GitHub - rafaeltonholo/agp-intellij-compatibility-matrix: Compatibility Matrix for Android Gradle Plugin and Intellij
Compatibility Matrix for Android Gradle Plugin and Intellij - rafaeltonholo/agp-intellij-compatibility-matrix
020