Skip to content

zeromake/FastHub

Repository files navigation

License: GPL v3 Releases

This project is on hold due to no time to put on it. The project is not dead, just delayed. Meanwhile any PR and bug report will be still accepted and processed, release build will be available anytime if a important bug is addressed, just poke me. Let's hope for a better time to bring the app back from the death :)

FastHub-RE(vival)

Logo

This fork aim to attempt the revival of the awesome FastHub application. The code base is based on a set of changes done on the original FastHub repository by thermatk. We can sum up these changes with:

  • Porting to Kotlin and Gradle upgrade, all thanks to zeromake, he is doing a god-like work!
  • Cleaned from blobs (Removed firebase dependencies and analytic stuff);
  • Notifications works using native JobScheduler without any push messaging involved, although the minimum supported update interval becomes 20 minutes;
  • It's possible to unlock premium features, if needed, in a manner which nudges to still try to find a way and support upstream developers. Once again, please find a way to financially support upstream developers.

The reasons behind the initial changes by thermatk are:

  • Technical reasons
  • Ideological reasons
    • Upstream developers get offended by the high standards of the F-Droid community, which inevitably result in an Anti-Feature: Non-Free Network badge for any Github client
    • Upstream developers don't adequately account for users of Android devices without GMS
    • Upstream app has some PRO-features. Users without GMS have no way to unlock these features, turning the software into unfixable crippleware
    • Upstream developers have shown in the past that they lack a general understanding of the GPL
    • Upstream developers strongly disapprove that in this fork one can access the PRO features without paying
      • This fork will have to carry on without approval until a better solution will surface
      • The unlocking page and the way to this page is made respective and nudging to go and support

Moreover, a set of fixes has been cherry picked from KaustubhPatange's fork.

My project, FastHub-RE, tries to continue the awesome job of the original and currently unmaintained FastHub and the good intentions of FastHub-Libre.

Description

Yet another open-source GitHub client app based on FastHub looking forward for newer features.

⚠️IMPORTANT NOTE: I am not a professional/senior Android developer. I started my adventure on Android development not so long ago so I am new here, I am not able to work with this code easily yet, but I will try my best. This code is not helping me neither, it is generally a mess: most of the stuff is deprecated or so sticked together that if you mess something it will be a pain to stacktrace the error 😢

Any help and contribution is very appreciated!

Features

  • App
    • Login with OAuth or Access Token
    • Multiple Accounts
    • Enterprise Accounts
    • Themes mode
    • Offline-mode
    • Markdown and code highlighting support
    • Notifications overview and "Mark all as read"
    • Search Users/Orgs, Repos, Issues/PRs & Code.
    • FastHub & GitHub Pinned Repos
    • Trending
    • Wiki
    • Projects
  • Repositories
    • Browse & Read Wiki
    • Edit, Create & Delete files (commit)
    • Edit, Create & Delete files (Project Columns Cards)
    • Search Repos
    • Browse and search Repos
    • See your public, private and forked Repos
    • Filter Branches and Commits
    • Watch, star and fork Repos
    • Download releases, files and branches
  • Issues and Pull Requests
    • Search Issues/PRs
    • Filter Issues/PRs
    • Long click to peak Issues/PRs & add comments otg.
    • Open/close Issues/PRs
    • Comment on Issues/PRs
    • Manage Issue/PR comments
    • React to comments with reactions
    • Edit Issues/PRs
    • Lock/unlock conversation in Issues/PRs
    • Assign people and add Labels and Milestones to Issues/PRs
    • Manage Milestones
    • Merge PRs
    • PRs reviews (reply, react with emojis, delete & edit comment)
    • PRs request review changes/approve & comment.
    • PRs statuses
  • Commits and Gists
    • Search Code/Gists
    • View Gists and their files
    • Comment on Commits/Gists
    • Manage Commit/Gist comments
    • Create/Delete Gists
    • Edit Gist & Gist Files
    • React to Commit comments with reactions
    • Comment on line number in Files/Code changes.
  • Organisations
    • Overview
    • Feeds
    • Teams & Teams repos
    • Repos
  • Users
    • GitHub Pinned Repos
    • Follow/Unfollow users
    • View user feeds
    • Contribution graph.
    • Search Users, Repos, Issues,Pull Requests and Code
  • Much more...
    • FastHub-RE will try to implements all the newest GitHub features!

⚙️ Building

Thanks to zeromake we are now able to compile the project using the latest Android Studio available!

We don't need anymore Android Studio 4.1 and Gradle 3.5! Hallelujah!

To build a debug version you can just import the project and start the building process. All the needed IDs (for debugging purpose) are hard-coded inside the build.gradle.kts meanwhile the debug keys are located in /app/keys_debug.jks.

To build your own release application you need to create a secrets.properties inside /app/ with your custom credentials:

  • PASSWORD=here
  • KEY_ALIAS=here
  • GITHUB_CLIENT_ID=here
  • GITHUB_SECRET=here
  • IMGUR_CLIENT_ID=here
  • IMGUR_SECRET=here

Then, create your own keystore and put it in /app/keys_release.jks.

📖 Spec / Open-Source libraries:

Language Contributors

Thanks for those who contributed to FastHub by adding their language

- Chinese (Simplified) @Devifish

- Chinese (Traditional) @maple3142

- German @failex234

- Indonesian @dikiaap

- Italian @Raffaele74

- Japanese @Rintan

- Lithuanian @mistermantas

- Russian @dedepete

- Turkish @kutsan

- Portuguese @caiorrs

- Czech @hejsekvojtech

- Spanish @alete89

- French @ptt-homme

- Korean @Astro36 @cozyplanes

FAQ

Why can't I see my Organizations either Private or Public ones?

Open up https://github.com/settings/applications and look for FastHub, open it then scroll to Organization access and click on Grant Button, alternatively login via Access Token which will ease this setup.

I tried to login via Access Token & OTP but why isn't it working?

You can't login via Access Token & OTP all together due to the lifetime of the OTP code, you'll be required to login in every few seconds.

Why are my Private Repo and Enterprise Wiki not showing up?

It's due to FastHub scraping GitHub Wiki page & Private Repos require session token that FastHub doesn't have.

I login with Enterprise account but can't interact with anything other than my Enterprise GitHub.

Well, logically, you can't access anything else other than your Enterprise, but FastHub made that possible but can't do much about it, in most cases since your login credential doesn't exists in GitHub server. But in few cases your GitHub account Oauth token will do the trick.

Why am I having problems editing Issues/PRs?

If you are unable to edit an issue in a public organization, please contact your Organization Admin to grant access to FastHub. Alternatively you can login using an Access Token with the correct permissions granted.

I'm having this issue! / I want this and that!

Head to https://github.com/LightDestory/FastHub-RE/issues/new and create new issue for bugs or feature requests. I really encourage you to search before opening a ticket. Any duplicate request will result in it being closed immediately.

License

Upstream: FastHub:

Copyright (C) 2017 Kosh.
Licensed under the GPL-3.0 license.
(See the LICENSE file for the whole license text.)

FastHub-Libre changes:

Copyright (C) 2017 Ruslan Boitsov. Licensed under the GPL-3.0 license.

Screenshots

Feeds Drawer
Repo Profile

FastHub-RE Logo

FastHub-RE logo is made by Freepik from www.flaticon.com.

FastHub Logo

FastHub logo is designed by Cookicons.
Twitter
Designer website Cookicons.

OLD FastHub logo was designed by Kevin Aguilar.
Twitter
Designer at Kevin Aguilar.
Laus Deo Semper