v0.18.0 - Bluesky Support is Imminent
Hey! the holidays are a couple week away 🥳
But, so is proper Bluesky support in Dhaaga 😈.
I have been putting my head down and writing boatloads of code to ensure consistency and seamless integration of AT proto APIs onto every existing feature within the app.
Summary
A lot of QA testing and backfilling the implementations of a lot of modules, screens and app features for Bluesky.
The UX is also now locked in. So, every UI experiment that did not make it to the finals were cleaned up. This streamlines future development on a solid base and allows more consistency (I will create a musium for all those UI experiments, don't worry 😉)
Features
- ✨ The "Zen Exploration" is an innovative, anti-recommendation take on how we browse the fediverse
- ✨ [Bluesky] Implemented chatroom interface
- ✨ [Bluesky] Implemented the inbox module
- ✨ There is a new screen now to visualize app features
- ✨ An initial draft of app skins (cosmetic enhancement) has been conceptualized
- ✨ The explore tab navbar is now a dropdown selection of tab destinations (idea scrapped later)
- ✨ Improved onboarding flow and intuitive screens to diagnose session related errors
- ✨ Significantly prettier and more informative error screens.
Bug Fixes
- 🛠️ Fixed an issue where the videos were not interactible in timelines
- 🛠️ Fixed an issue where the pressable items would trigger hgihlight effect while scrolling
Styling
- 💅 Consistent height, typography and icon sizes for all the top navigation bars
- 💅 Consistent styling for bottom sheet menu headers and action items
- 💅 Swipe actions for the Mentions tab
- 💅 The text inputs now auto-open the keyboard when prompted
- 💅 Link attachments render prettier now
- 💅 Reduced the usage of complementary color for hashtags and links, to improve readability and emphasis
- 💅 Reduced the number of samples required for certain color schemes
Performance
- ⚡️ Optimised RAM usage with a more efficient event hub architecture for information exchange between UIs
- ⚡️ [Misskey] [Pleroma] Prevent loading of posts with excessive amount of emoji use
- ⚡️ Move the image width estimation to the expo-image component, to prevent duplicate data fetching
- ⚡️ Nonfree dependencies are loaded dynamically and omitted in the lite edition
- ⚡️ Removed
@rneui/themed(100% of Dhaaga's UI is now hand-crafted) 😎 - ⚡️ Removed
link-preview-js(as it is not considered secure to run this client side) - ⚡️ Removed dev dependencies to bring the base app size down to almost 18MB
- ⚡️ Removed any custom (read fancy) error handling logic being used by the app previously
- ⚡️ Removed all legacy animations (everything
now uses react-native-reanimated) - ⚡️ Removed all custom fonts (except BabesNeue, used to stand out)
- ⚡️ The global state management now uses the redux slicing patttern
- ⚡️ The user data and at proto preference object is now aggressively cached to save network bandwidth
See you next release,
Deb 😄