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
  • Update dependency webview_flutter to v4

    Update dependency webview_flutter to v4

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | webview_flutter | dependencies | major | ^3.0.0 -> ^4.0.0 |


    Release Notes

    flutter/plugins

    v4.0.1

    Compare Source

    • Exposes WebResourceErrorType from platform interface.

    v4.0.0

    Compare Source

    • BREAKING CHANGE Updates implementation to use the 2.0.0 release of webview_flutter_platform_interface. See Usage section in the README for updated usage. See Migrating from 3.0 to 4.0 section in the README for details on migrating to this version.
    • Updates minimum Flutter version to 3.0.0.
    • Updates code for new analysis options.
    • Updates references to the obsolete master branch.

    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, check this box

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

    dependencies 
    opened by renovate[bot] 1
  • Support predictive back animations on Android 13

    Support predictive back animations on Android 13

    Predictive back animations is a experimental feature currently accessible via the dev menu in Android 13 and is expected to be turned on by default in Androird 14. https://developer.android.com/guide/navigation/predictive-back-gesture

    blocked :shield: 
    opened by VexfulNiko 0
  • Support mixed media types in a single Tweet

    Support mixed media types in a single Tweet

    The following tweet, displayed in Harpy, shows only a single attached media:

    https://twitter.com/RyanLostinTX/status/1577739432337211393

    However, the tweet actually contains four media, one of which is a video, and which are all visible when viewed on web.

    Replies contain similar examples.

    feature :balloon: 
    opened by TerrorBite 2
  • When opening an external Twitter link in Harpy, the user must navigate through Harpy's entire back stack before returning to their previous app

    When opening an external Twitter link in Harpy, the user must navigate through Harpy's entire back stack before returning to their previous app

    Bug description

    On Android, when Harpy is selected as the system default Twitter client and a Twitter link is opened in the app, pressing Back does not navigate directly back to the origin app. Instead, it navigates to Timeline, and the user is only thrown back to the origin app once the app is exited fully.

    This behavior doesn't match the convention of most other "third party clients" for Twitter and other services. Most of the time, the relevant piece of content is opened, and a single back navigation takes the user back to the origin app. For example, most third-party reddit clients will display a post, and then navigate back to the link origin when pressing back once. They will not go back to the frontpage first. This is also how most other third-party Twitter clients behave.

    It's also worth noting that this behavior forces the user to lose their spot in the timeline if they want to go back to the previous app, since the timeline view that comes up when the user hits Back is inherited from when Harpy was launched on its own.


    Expected behavior

    When Harpy is set as my system default Twitter client, open a Twitter link in another app (a web browser, for example). When I'm done reading the tweet, pressing Back once should take me back to the app I originated from.


    Steps to reproduce

    1. Set Harpy as default Twitter client systemwide in Android settings
    2. Find a link to a tweet in some third party app (for example, a web browser) and click on it. The tweet should open in Harpy.
    3. When pressing back once, the user is taken to a higher-level destination within Harpy (a Timeline, for example), and not the app they originated from.

    Harpy version: 0.9.10 Device: Pixel 4a 5G OS: Android 13 October patch

    bug :lady_beetle: 
    opened by mbestavros 1
  • Show tweet edit status & editing history

    Show tweet edit status & editing history

    https://developer.twitter.com/en/blog/product-news/2022/supporting-edit-tweet-functionality

    We need to show an indication that a tweet has been edited with the ability to see the edit history.

    (requires updating twitter_api to include the new field)

    feature :balloon: 
    opened by robertodoering 0
Releases(0.10.1)
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 17 Dec 24, 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 115 Nov 3, 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 669 Dec 28, 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
Flutter Project to delete CuriousCat tweets from your Twitter account!

CuriousCat Deleter App Flutter Project to delete CuriousCat tweets from your Twitter account! Table of Contents Contribute to This Project Repo Issues

Hady Saleh 4 Oct 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 1k Jan 3, 2023
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 2 Oct 1, 2022
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 243 Dec 23, 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 243 Dec 23, 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 136 Dec 7, 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 41 Jan 6, 2023
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