FastHub is currently under a huge refactoring, please make sure to submit an issue only if necessary.
PR
You could follow the development on V5 in thisFastHub
Yet another open-source GitHub client app but unlike any other app, FastHub was built from scratch.
Features
- App
- Three login types (Basic Auth), (Access Token) or via (OAuth)
- 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 emojies, 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 is actively developed. More features will come!
> FastHub contain Ads, which are disabled by default. You could enable them if you'd like to support the development.
Ads currently not available.
Specs / Open-source libraries:
- Minimum SDK 21, but AppCompat is used all the way ;-)
- Kotlin all new modules starting from 2.5.3 will be written in #Kotlin.
- MVP-architecture: ThirtyInch because its ThirtyInch.
- RxJava2 & RxAndroid for Retrofit & background threads
- Retrofit for constructing the REST API
- Requery for offline-mode
- Stream API for dealing with
Collections
- ButterKnife for view binding
- Android State for saving instance states
- Lombok for getters and setters
- Material-BottomNavigation for
BottomBar
tabs - Glide for loading images
- commonmark for Markdown conversion to html
- Toasty for displaying error/success messages
- ShapedImageView for round avatars
- Material-About-Library for the about screen
- Fabric analytics & crash reporting.
- Lottie for animations
- Android Support Libraries, the almighty ;-)
Contribution
You love FastHub? You want new features or bug fixes?
Please contribute to the project either by creating a PR or submitting an issue on GitHub.
Read the contribution guide for more detailed information.
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/k0shk0sh/FastHub/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
Copyright (C) 2017 Kosh.
Licensed under the GPL-3.0 license.
(See the LICENSE file for the whole license text.)
Screenshots
Feeds | Drawer |
---|---|
Repo | Profile |
---|---|
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
Fork Change & Plan List
- fix: trending html dom selector
- feat: upgrade gradle to 7.4
- feat: build.gradle migration build.gradle.kts
- feat: requery upgrade to 1.6.1
- feat: aboutlibraries upgrade to 10.0.0
- fix: lombok plugin remove use kotlin
- feat: use tencent/mmkv replace
SharedPreferences
- fix: webview onPageFinished measure view height
- fix: setGithubContent html tag duplicate
- feat: graphql upgrade to apollo3
- feat: partial code butterknife convert to findViewById
- feat: partial code file convert to kotlin
- feat: partial code Stream convert to kotlin
List|Sequence
-
fix: migration code favorite page cannot be viewed - fix: top navigation back button event change to system back button consistent
- fix: background app click icon but forced back to the home page
- fix: profile overview contribution view does not display properly(github html change)
- feat: migration ui/widgets, ui/base dir java to kotlin is finish
- feat: migration ui/adapter dir java to kotlin
- feat: migration ui/modules dir java to kotlin
- ui/modules/about
- ui/modules/code
- ui/modules/editor
- ui/modules/login
- ui/modules/feeds
- feat: feeds view fork item click is default open origin repo
- feat: settings module storage to mmkv
- fix: migration kotlin BaseRecyclerAdapter.data is shared variables
- fix: Install the app for the first time, switch page left nav drawer turns on by default and closes immediately
- feat: add history page
- feat: remake search page support
star
sorted and code search page - fix: gist public page request is http 500
- feat: support actions page
- feat: main timeline pages support grouping aggregation
修改
- fix: 升级所有依赖,废弃 jcenter,删除一些非必须的依赖,以支持在最新的 android studio 开发
- fix: 排行榜的 html 选择器错误
- fix: 排行榜的全部语言选择失败
- fix: 更新日志和 release 的详情的底部 dialog 里的 webview 会有大量的底部空白可以滚动
- fix: github content 的 html 渲染的标签与属性错误
- fix: graphql 库过时,并且更新 graphql 结构
- fix: 应用在三级页面 (例如排行榜打开的 repo) 点左上的导航返回会强制返回到首页并清空打开页面历史
- fix: 个人详细页的一年贡献分布无法显示,github 的格式发生变化
- feat: 修改首页的 fork 项目点击默认进入的是原项目
- feat: 设置的 SharedPreferences 全部使用 mmkv 替换
- feat: release 的下载会调起系统下载器无需再申请写入权限,默认保存到设备支持的 Download 目录里
- fix: gist 的创建页面打不开(迁移问题)
- fix: InputHelper 转换为 kotlin 方法的
Any
会对其它类型造成遮蔽效果与java
效果不同,gist 创建的文件名会格式化为组件名字 - fix: repo 的 readme 滚动比较卡顿
- feat: 通知里的 issue 点击后从顶部开始浏览,需要修改为从通知的位置开始浏览
- fix: gist 的公共列表拉取发生 500 错误
- fix: 使用 token 登录时无限 loading 但是重开 app 就已经是登录状态了