Harpy - a Twitter app built with Flutter 🐦

Overview

a feature rich Twitter experience built with Flutter

Get it on Google Play



harpy is currently still in development. See the project for more information about the progress.


Buy Me a Coffee at ko-fi.com


More images
Home Media timeline Theme selection
Menu Trends Tweet search filter

About

harpy is a fully featured Twitter client that focuses on great UI/UX and a clean experience.

This project aims to provide a good example for a medium-big sized Flutter app in hopes that it will be useful for some.

Some interesting features of the app include:

  • flutter_bloc for the main state management, using blocs and cubits.
  • get_it as a service provider that includes the ability to navigate and to show on screen messages from anywhere in the app.
  • sentry as an online error tracking service to report unhandled exceptions.
  • Fully featured theme customization.
  • Fully featured video player using the video_player package.
  • A 'pro' and 'free' android product flavor.

Development / Setup

harpy is being released in the Play Store for Android, therefore only Android devices are used for testing the builds.

Run the build runner once after cloning the project

  • flutter packages pub run build_runner build

Twitter API key

Follow these instructions for setting up your Twitter API key.

Building

The app can be built with the "free" or "pro" flavor by running:

  • flutter run --flavor free --dart-define=flavor=free --dart-define=twitter_consumer_key=your_consumer_key --dart-define=twitter_consumer_secret=your_consumer_secret
  • flutter run --flavor pro --dart-define=flavor=pro --dart-define=twitter_consumer_key=your_consumer_key --dart-define=twitter_consumer_secret=your_consumer_secret
Comments
  • Add search screen navigation in drawer

    Add search screen navigation in drawer

    Since the search tab in the home screen can be hidden (pro only).

    • Wrap the current search screen in a scaffold (in a new widget)
    • Add list tile in home drawer
    enhancement :sparkles: easy :baby_chick: 
    opened by robertodoering 25
  • Authentication Failed, please try again.

    Authentication Failed, please try again.

    Bug description

    I entered harpy and was surprised that I was logged out, and tried to log in, I was faced with a toast notification "Authentication Failed, please try again." And it's occurring in the free and pro versions for me.

    Screenshot_20220307-163731_harpy.jpg


    Expected behavior

    Being forwarded to the Twitter sign-in site


    Steps to reproduce

    Steps to reproduce the behavior:

    1. Open the app while logged out
    2. Click on 'Login with Twitter'
    3. See error

    What I tried to fix it

    1. Deleting cache and data didn't work
    2. Uninstalling Harpy and reinstalling didn't work
    3. Checking Twitter "Apps and Sessions" harpy wasn't on there
    4. Restarting My phone didn't work

    OS Version

    • Android 10
    • Samsung Note 9 - Exynos
    • February 1 Security Patch
    • Harpy Free & Pro 0.8.4

    bug :lady_beetle: 
    opened by FerasK0 10
  • Custom API keys

    Custom API keys

    Please allow Pro users to use custom Twitter API keys.

    This will resolve rate limits for users who use this feature, and also alleviate it for every one else.

    feature :balloon: 
    opened by nielspeen 9
  • Authentication Problem

    Authentication Problem

    I compiled harpy (commit) with my own api key. After successful login, the application returns to the home page where there is a 'login with twitter' button

    I see that this line being called after successful login

    I have tried to enable both OAuth 1.0a and OAuth 2.0

    opened by rzlamrr 9
  • Update home tab bar styling

    Update home tab bar styling

    A nice-to-have I would love to see is the addition of some kind of (mostly opaque?) backdrop behind the bottom bar, because the secondary icons become difficult to see/read in certain scenarios (e.g. when there's text behind them).

    For example:

    image

    enhancement :sparkles: easy :baby_chick: 
    opened by solargent 9
  • Problem authintication falied

    Problem authintication falied

    Hi bro : After replace api key and secret key to flavor run and run in physical android phone about login for twitter show error authintication failed try again

    Whats problem ? Must change code in config-envo.dart about api key and secret key ? Or problem about twitter devlopment issue Thanks for responsing

    opened by shiravi433 8
  • Logging in

    Logging in

    First time i logged in it worked but after signing out i can never log back in where when i log in it goes to a browser page with api.twitter.com and its an error page. So essentially cant login.

    Ive cleared the app, reinstalled it and the issue is still there.

    Android 11 Samsung A52 Latest build

    opened by aabithly 8
  • Fix #285 parsing user handle in profile description

    Fix #285 parsing user handle in profile description

    Hello !

    I changed the approach to detecting entities in user profile descriptions.

    I am new to this so if I am making mistakes do not hesitate to tell me. Any way I can improve the quality of my future contributions I'll be glad to hear.

    Best regards.

    opened by ADcorpo 7
  • Add opening Twitter & Tweet links through harpy

    Add opening Twitter & Tweet links through harpy

    When opening a tweet url outside of harpy, harpy should be able to open and show the tweet.

    Additionally, when tapping a twitter url inside of harpy, the user shouldn't navigate out of harpy.

    feature :balloon: 
    opened by robertodoering 7
  • Add Android 10 Edge-to-Edge (transparent navigation bar) support.

    Add Android 10 Edge-to-Edge (transparent navigation bar) support.

    Harpy has transparent navigation bar supported for android 11, but Android 10 also has similar navigation gesture as android 11. Please consider add transparent navigation bar for android 10. Thank you.

    bug :lady_beetle: 
    opened by Steve-Mr 6
  • Latest beta not keeping position

    Latest beta not keeping position

    Bug description

    The latest beta is not holding my timeline position.


    Expected behavior

    When I open the app again it should keep my last spot, instead it jumps straight to top everytime in the latest beta


    Steps to reproduce


    Android 12, Pixel 6 Pro latest security update

    bug :lady_beetle: 
    opened by dnestico 5
  • The 'Share tweet' button overlaps with navigation bar

    The 'Share tweet' button overlaps with navigation bar

    Bug description

    When touching the three dots to open a menu in a tweet, the last option (Share tweet) overlaps with the navigation bar of the smartphone, so I can't use it and need to open the tweet with another app in order to share it. (Huawei P20 Lite)

    harp


    bug :lady_beetle: question :question: 
    opened by Cripy-P 1
  • Update dependency go_router to v5

    Update dependency go_router to v5

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | go_router | dependencies | major | ^4.0.0 -> ^5.0.0 |


    Release Notes

    flutter/packages

    v5.0.3

    Compare Source

    v5.0.2

    Compare Source

    v5.0.1

    Compare Source

    v5.0.0

    Compare Source


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Galaxy Fold 4 - occasional blurry text

    Galaxy Fold 4 - occasional blurry text

    Recently switched to a Galaxy Fold4 and started seeing blurry text in several places. Seems to happen on both the main display and the inner display. Font type and font size does not matter. Curious to see if this is an app issue or a device issue, but I haven't seen this issue in other apps.

    Screenshot_20220916_113506_harpy free

    Screenshot_20220916_114217_harpy free

    Screenshot_20220916_114337_harpy free

    Screenshot_20220916_114657_harpy free

    bug :lady_beetle: 
    opened by pengrd 2
  • Update dependency com.android.tools.build:gradle to v7.3.0

    Update dependency com.android.tools.build:gradle to v7.3.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | com.android.tools.build:gradle (source) | 7.2.2 -> 7.3.0 | age | adoption | passing | confidence |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Load all author replies when viewing an individual tweet (aka Threads)

    Load all author replies when viewing an individual tweet (aka Threads)

    There is currently a stacked card view for tweet threads/chains by the same author

    Screenshot_20220829-225155

    However this view isn't triggered if the tweets aren't loaded by the timeline manager (even if the individual tweets are by the same author)

    Screenshot_20220829-225341

    When viewing any individual tweet, Harpy should recursively search for parents and replies from the author and load them in that same stacked card view.

    What to do about replies from all the non-author commenters: Replies to only the originally opened tweet should be shown in the current replies section.

    enhancement :sparkles: 
    opened by JonathanWolfe 1
Releases(0.9.10)
  • 0.9.10(Sep 18, 2022)

  • 0.9.8(Sep 7, 2022)

  • 0.9.6(Jul 17, 2022)

  • 0.9.4(Jun 23, 2022)

    • Added Material You light and dark themes (for Android 12+)
    • Added option to hide sensitive media
      • Can be enabled in settings › media
    • Fixed image loading animation not showing
    • Fixed spamming like / retweet caused the count to decrement (Thanks AliceGrey!)
    • Fixed scroll-to-top button sometimes overlaps with the bottom app bar (Thanks corylowry12!)
    • Minor bug fixes & improvements
    Source code(tar.gz)
    Source code(zip)
  • 0.9.3(Jun 5, 2022)

    • Added localized compact number formats
    • Updated color picker styling
    • Updated connection count tooltip
    • Fixed & improved layout for right-to-left languages throughout the app
      • For Arabic, Persian, Hebrew, Pashto and Urdu
      • Tweet text is now laid out based on the Tweet's language (this does not include the description of a user)
    • Fixed translate language setting not persisting across sessions
    Source code(tar.gz)
    Source code(zip)
  • 0.9.2(May 23, 2022)

  • 0.9.1(May 22, 2022)

  • 0.9.0(May 22, 2022)

    • Fixed tweeting with mentions was not possible
    • Fixed saving images & videos didn't show up in media galleries
    • Added android 12 overscroll effect
    • Added showing exact follower / following count on long press
    • Improved video player
      • Updated design
      • Added quality selection
      • Seeking is now more sensitive and easier
      • Videos will now pause when off-screen
      • Videos will now pause when another video is played
    • Improved loading images
      • Image loading will now be retried up to 5 times before showing the error placeholder
    • Added option to remember scroll positions in lists when switching tabs
      • In settings › general (disabled by default)
    • Fixed applying invalid tweet search filter was possible
    • Date & time formatting is now based on device locale
    • Horizontally scrolling in the home page is now less sensitive
    • Many style and UX improvements
    Source code(tar.gz)
    Source code(zip)
  • 0.8.4(Feb 4, 2022)

    • Added optional floating compose button
      • Can be enabled in Settings > General
    • Updated settings screen styling
    • Updated retweet & like colors for better visibility (Thanks FerasK0!)
    • Minor bug fixes & style improvements
    Source code(tar.gz)
    Source code(zip)
  • 0.8.3(Jan 24, 2022)

    • Added timeline filter selection for list timelines
    • Updated selecting and creating timeline filters
      • Filters can now be saved and shared across timelines
    • Updated privacy policy link
      • harpy does not collect or store any data. A proper privacy policy was still necessary and is now available
    • Changed pressing the retweet button now always shows the retweet menu
    • Fixed tweets sometimes stayed hidden until the first scroll
    • Minor style and stability improvements
    Source code(tar.gz)
    Source code(zip)
  • 0.8.2(Dec 30, 2021)

    · Added download dialog to customize filename & download path · Can be disabled in settings > media > show download dialog · Added 'retweeted by' screen (thanks Demondre!) · Added following & followers count for user cards (thanks Demondre!) · Added compose text default sentence capitalization · Changed default download location to Pictures/harpy/ · Fixed not returning to home screen after composing a Tweet

    [free] · Fixed default theme on first login

    Source code(tar.gz)
    Source code(zip)
  • 0.8.1(Dec 10, 2021)

    · Fixed copying tweet text does not display some characters correctly (Thanks Pedro!) · Fixed app bar cut off content when displayed at the bottom

    [free] · Added links to harpy pro which were previously disabled

    Source code(tar.gz)
    Source code(zip)
  • 0.8.0(Nov 26, 2021)

    [pro] · Initial release of harpy pro

    [free] · Added unread tweets counter & pull-to-refresh in all timelines · Added loading mentions older than the last 200 tweets · Added toggle to always show the absolute tweet creation time (Thanks Pedro!) · In Settings > display · Added 'show members' button in list timelines (Thanks Pedro!) · Added keeping screen awake while watching a video (Thanks Pedro!) · Fixed images / gifs are not posted with a Tweet · Fixed drawing error image when user has no banner

    Source code(tar.gz)
    Source code(zip)
  • 0.7.2(Nov 7, 2021)

    · Added font customization (pro) (thanks Nino) · In settings > display · Updated user profile banner · Fixed retweet menu text color for light themes (thanks @Miku_998) · Fixed a bug that caused the composed text to reset when replying or quoting a tweet · Fixed a bug that caused the new mentions notifications to always show

    Source code(tar.gz)
    Source code(zip)
  • 0.7.1(Oct 25, 2021)

    · Added option to change the timeline position behavior when restoring a session · In settings > general · Added option to not hide the home tab bar when scrolling down / up · In settings > general · Improved home tab bar icon visibility · Updated home tab bar tab styling · Fixed android 10 and below not correctly displaying system ui transparency

    Source code(tar.gz)
    Source code(zip)
  • 0.7.0(Oct 6, 2021)

    · Improved setup screen · Please log out to see the improved setup · Added logout dialog (thanks Nino) · Added donation link to about screen (thanks Nino) · Added search screen navigation in home drawer (thanks Nino) · Fixed updating the selected theme when deleting a custom theme (thanks altynbek132) (Pro) · Performance & stability improvements (thanks Goooler) · Minor style improvements

    Source code(tar.gz)
    Source code(zip)
  • 0.6.13(Aug 15, 2021)

    · Added unread tweets counter in home timeline · Added refresh button to mentions and lists · Updated home drawer · Minor style improvements

    Source code(tar.gz)
    Source code(zip)
  • 0.6.12(Aug 10, 2021)

  • 0.6.11(Aug 9, 2021)

    · Updated home app bar · Added option to show home app bar at the bottom · in settings > general · Enabled transparent navigation bar for Android 10 and below (Thanks Steve-Mr!) · Minor style improvements · Fixed frequent 'rate limit reached' errors (requires re-login)

    Source code(tar.gz)
    Source code(zip)
  • 0.6.10(Jul 22, 2021)

  • 0.6.9(Jul 20, 2021)

    · Improved theme customization · Added support for system light & dark themes · Updated default themes · Removed 'phoenix' theme · Lots of minor style improvements

    Source code(tar.gz)
    Source code(zip)
Owner
Roberto Doering
Roberto Doering
A working Twitter clone written in Flutter using Firebase auth,realtime,firestore database and storage

A working Twitter clone written in Flutter using Firebase auth,realtime,firestore database and storage

The Github Mafia 14 Jul 13, 2022
Flutter widget library containing buttons for authenticating with popular social networks: Apple, Google, Facebook, Twitter and Microsoft.

Flutter Auth Buttons This library is now in maintenance mode I'm no longer actively using Flutter and don't have the time to keep this library maintai

Duncan Jones 114 Sep 22, 2022
My Flutter Tips & Tricks on Twitter 👇

Flutter Tips & Tricks A collection of all the Flutter tips & tricks I share on Twitter. If you find this useful, give it a star! ?? Preview Full List

Andrea Bizzotto 612 Sep 25, 2022
This library provides the easiest way to integrate Twitter Cards in Flutter web apps 🐦

The Easiest Way to Integrate Twitter Cards into Your Flutter Web App ?? 1. Guide ?? 1.1. Features ?? 1.2. Getting Started ⚡ 1.2.1. Install Library 1.2

Twitter.dart 3 Aug 7, 2022
The lightweight and powerful wrapper library for Twitter Ads API written in Dart and Flutter 🐦

TODO: Put a short description of the package here that helps potential users know whether this package might be useful for them. Features TODO: List w

Twitter.dart 2 Aug 26, 2022
A privacy-friendly Twitter frontend for mobile devices

Fritter A privacy-friendly Twitter frontend for mobile devices. Features Device-local subscriptions and groups, Newpipe-style, including a feed view D

Jonjo McKay 802 Sep 27, 2022
Github Trending app built with Flutter+Redux+Built(Immutable Data)

Github Trending app built with Flutter+Redux+Built(Immutable Data)

huangyanxiong 9 May 13, 2020
A fully functional Movies Application built with Flutter. The application built with null safety and clean architecture, also uses OMDB API for fetching movies in the search item

Cinema DB Project Details This project uses null safety feature Project uses clean code architecture (Uncle Bob's Architecture) Project can run on bot

Dhruvam 1 Dec 18, 2021
Flutter-for-Wordpress-App - Cross platform wordpress news app built with Flutter and WP REST API

Flutter for Wordpress A flutter app for a wordpress websites with clean and elegant design. This app is available in free and pro version. You can cho

Madhav Poudel 237 Sep 25, 2022
Flutter-Wordpress-App - Cross platform wordpress news app built with Flutter

Flutter for Wordpress A flutter app for a wordpress websites with clean and elegant design. This app is available in free and pro version. You can cho

Madhav Poudel 237 Sep 25, 2022
App-flutter-real-estate - Real Estate App Built With Flutter

Real Estate App - Flutter Preview video: https://youtu.be/11u0KeymAAs My Twitter

Sangvaleap Vanny 131 Aug 30, 2022
Flutter-nikz-app-D - A Nike app built using flutter

flutter Flutter_Reduce_pollution You can change the information and link it to t

abenkoula71 5 Aug 22, 2022
Food-Ordering-App - Food Ordering App UI Built With Flutter

Food Ordering App - Flutter UI Packages I'm using: flutter_svg: link smooth_star

Ashirbad Swain 5 Apr 26, 2022
Gatrabali-app - BaliFeed (formerly Gatra Bali) - News reader app built using Flutter

BaliFeed (formerly Gatra Bali) - Balinese News Reader App Balinese news reader app built using Flutter, available on Google Play: https://play.google.

Apps4Bali 39 May 31, 2022
COVID-19-App - COVID-19 App UI Built Using Flutter

COVID-19 App UI A covid-19 tracker app, where you gonna see all statistics like

Ashirbad Swain 3 Jul 14, 2022
Horoscope app - Horoscope App Built With Flutter

horoscope_app Burç uygulamasında sabit veri ile hero animasyon wigdet'ının işley

null 2 Jan 22, 2022
Home-Service-App - Home Service App Built With Flutter

Home-Service-App Home Service App Sample Images

Justin Roy 2 Sep 4, 2022
Exercises App - Exercises App Built With Flutter

Exercises_App Packages we are using: flutter_svg: link Fonts Cairo link creating

null 4 Feb 14, 2022
Equalis-App - Equalis App Built with Flutter and Flask

Equalis Arjun Sarao, Bram Ogus, Connor Wilson, Rene Gonzalez Pina ?? Inspiration

Westdale Software Dev Club 5 May 19, 2022