v0.17.0 - Better Onboarding Experience + Expo 53/54 Improvements
Hey! Happy holidays to you and your family, in advance 🥳
I could not get to work on Dhaaga a lot this year, so here's to hoping I get a ton done during the holidays 😎
Summary
Thanks to the ecosystem updates in expo 53/54, a lot of device specific issues reporting against v0.16.x buids should be fixed.
We also have a revamped onboarding and self-service experience (if/when things go south).
Lastly, the UI/UX has been updated, specifically those around Dhagaa's unique "Hub" concept, which should reduce friction while adapting to the experience.
Features
- ✨ Brand new onboarding experience. animated for style points, streamlined for the experience 👌
- ✨ Errors while trying to resume sessions (e.g. - expired tokens, or server being down) are now shown in the app along-with suggestions
- ✨ Tabs are disabled automatically while signed out, for a guided and error-free user experience
Other Changes
- 📢 The 2nd tab has been dedicated to browsing a single feed. Feeds can be kept track of and switched quickly from the hub interface (1st tab)
- 📢 The post button has been moved from 3rd tab to 1st tab
- 📢 The app experience while logged out is more guided and intuitive
- 📢 Your account home, Account management page and Settings page are merged into the landing page of the 5th tab
Bug Fixes
- 🛠️ Using the fifth tab button (short/long press) should no longer produce unexpected behaviour
- 🛠️ Keyboard should no longer cover up various bottom aligned user interface while interacting
- 🛠️ Fixed the loading indicator showing up even after the feed content has been fetched/paginated
- 🛠️ Fixed the react error: cannot pass key as prop in react
- 🛠️ [Bluesky] AbortSignal.any polyfill was required
- 🛠️ Fixed incorrect token being saved for mastodon users (does not impact published app versions)
- 🛠️ Fixed carousel swipe gestures being broken (does not impact published app versions)
- 🛠️ Fixed sqlite migrations not being applied for fresh app installs (does not impact published app versions)
Styling
- 💅 Fixed any spacing/padding inconsistencies between nav bar buttons. Introduced more state accurate icon palette.
- 💅 Added SVG art for empty notification list
- 💅 Tweaked the bottom menu and pager menu height and spacing
- 💅 Tweaked the sizes of software icons, to emphasize text and accommodate wider banners (e.g. - CheryPick)
- 💅 Have started to slowly defined unified component libraries for button variants
- 💅 Bigger top navbar for feed interface
- 💅 Made the post interaction buttons larger
Performance
- ⚡️ Fully replaced axios with fetch
- ⚡️ Updated all internal packages to use es modules exclusively
- ⚡️ Used
react-native-keyboard-controllerto provide native keyboard avaoiding views and animations - ⚡️ Removed @rneui/base as a UI library dependency
- ⚡️ Unified the activitypub/miauth/atproto auth interfaces and extracted to a package
- ⚡️ Converted proxy services to use golang
Documentation
- 📒 The app's landing page has been updated to use Svelte (previously React/NextJs). More guides and documentation should follow!
See you next release,
Deb 😄