SailHub

Rating: 
4.833335
Your rating: None Average: 4.8 (12 votes)

SailHub is an inoffical native GitHub app for Sailfish OS using GitHub GraphQL API (v4).

I made this app to familiarize myself with GraphQL API concepts. GitHub API is well documented and ideal for this purpose.

Current state of development

The development is in an early state at the moment.
Lot of functionality is missing.

Authentication with Personal Access Token

To authenticate with GitHub API a personal access token is necessary. You can create one in developer settings on GitHub profile settings page.

Access Token

Dependencies (EMOJI)

This package depends on an emoji pack I released on OpenRepos using the emojis from Twitter Emoji project.

I decided to split the emoji assets from the main app to reduce app size.

Shipping these assets with every app release makes no sence.

The installation should happen automatically.

DBus Interface (not with Sailjail)

Add Star

You can implement an option to add a star to a GitHub repository via a DBus interface inside your own app. SailHub must be installed on the user device for this to work. You need to provide username of the owner and the repository name. See README in GitHub repository.

You can test this function in the App About page.

Implemented Features

  • Basic Markdown rendering using ShowdownJS
  • Very basic notifications (using GitHub APIv3 but I am not happy with it at the moment)
  • Link handler to open links to github.com inside the app

Implemented CRUD Features

Function description: [C]reate, [R]read, [U]pdate, [D]elete, [S]earch

  • Assignee (Issue / Pull Request) [CRUD]
  • Comment (Issue / Pull Request) [CRUD]
  • Commits (Pull Requests) [R]
  • File content [R]
  • Gists [R]
  • Issue [CRUD] + close / reopen
  • Labels (Issue / Pull Request) [R]
  • Notification (Unreaded) [R]
  • Organization [RS]
  • Pull request [RU] + close / reopen
  • Reaction (Comment / Issue / Pull Request) [RU]
  • Releases [R]
  • Release Assets [R]
  • Repository [RS]
  • Repository files [R]
  • User [RS]
  • Discussions [CRUD]
  • Discussion Comments [CRUD]

Implemented Social Features

  • Follow / Unfollow user
  • Watch / Star repository
  • Commenting (Issue / Pull Request) with quoting
  • Reactions (Comment / Issue / Pull Request)
  • Discussion (Create / Comment / Reply) on Repositories (when activated)
  • Sponsoring / Funding
  • Change user profile status
  • Subscription (Repository / Issue / Pull Request)
  • Add star via DBus Interface call to use in external apps (not with Sailjail)

Administration Features

  • Assign users to issues and pull requests

Planned Features

  • Code highlighting
  • Commits
  • Packages
  • Some useful cover action /content
  • Feature requests (any ideas are welcome!)

Translations

Available translations:

Your language is not available? You are welcome to support this project by translating it on my self hosted Weblate server:

https://weblate.nubecula.org/engage/harbour-sailhub/

https://weblate.nubecula.org/engage/harbour-sailhub/

Intention of this project

This app is part of my plan to replace all android apps I use with native ones. If they don't exist, I will try to create one.

Testing

If you like to test the functionality you can use my dummy repository:

black-sheep-dev/dummy-repo

Attributions

This project uses the emoji from Twitter Emoji (twemoji) - Graphics licensed under CC-BY 4.0

Source code is available on Github:

https://github.com/black-sheep-dev/harbour-sailhub

Donation

If you like my work you can buy me a beer.

Donate

Donate using Liberapay

Screenshots: 
Application versions: 
AttachmentSizeDate
File harbour-sailhub-0.0.1-1.armv7hl.rpm155.64 KB07/04/2021 - 15:58
File harbour-sailhub-0.0.2-1.armv7hl.rpm142.76 KB08/04/2021 - 12:50
File harbour-sailhub-0.0.3-1.armv7hl.rpm144.39 KB08/04/2021 - 16:39
File harbour-sailhub-0.0.4-1.armv7hl.rpm147.63 KB08/04/2021 - 22:18
File harbour-sailhub-0.0.5-1.armv7hl.rpm154.05 KB09/04/2021 - 19:05
File harbour-sailhub-0.0.6-1.armv7hl.rpm154.06 KB09/04/2021 - 19:51
File harbour-sailhub-0.0.7-1.armv7hl.rpm154.62 KB09/04/2021 - 22:15
File harbour-sailhub-0.0.9-1.armv7hl.rpm159.77 KB10/04/2021 - 15:35
File harbour-sailhub-0.0.10-1.armv7hl.rpm161.91 KB11/04/2021 - 16:41
File harbour-sailhub-0.0.11-1.armv7hl.rpm162.9 KB11/04/2021 - 22:31
File harbour-sailhub-0.0.12-1.armv7hl.rpm179.57 KB18/04/2021 - 12:12
File harbour-sailhub-0.0.13-1.armv7hl.rpm179.44 KB18/04/2021 - 12:33
File harbour-sailhub-0.0.14-1.armv7hl.rpm179.81 KB19/04/2021 - 20:53
File harbour-sailhub-0.0.14-1.aarch64.rpm191.4 KB19/04/2021 - 20:53
File harbour-sailhub-0.0.15-1.armv7hl.rpm213.68 KB19/04/2021 - 23:39
File harbour-sailhub-0.0.15-1.aarch64.rpm225.02 KB19/04/2021 - 23:39
File harbour-sailhub-0.0.16-1.armv7hl.rpm214.78 KB20/04/2021 - 22:01
File harbour-sailhub-0.0.16-1.aarch64.rpm225.9 KB20/04/2021 - 22:01
File harbour-sailhub-0.0.17-1.armv7hl.rpm224.24 KB22/04/2021 - 21:42
File harbour-sailhub-0.0.17-1.aarch64.rpm237.22 KB22/04/2021 - 21:42
File harbour-sailhub-0.0.18-1.armv7hl.rpm231.37 KB22/04/2021 - 23:52
File harbour-sailhub-0.0.18-1.aarch64.rpm244.23 KB22/04/2021 - 23:52
File harbour-sailhub-0.0.19-1.armv7hl.rpm232.05 KB23/04/2021 - 17:03
File harbour-sailhub-0.0.19-1.aarch64.rpm244.48 KB23/04/2021 - 17:03
File harbour-sailhub-0.0.20-1.armv7hl.rpm238.21 KB24/04/2021 - 18:25
File harbour-sailhub-0.0.20-1.aarch64.rpm252.47 KB24/04/2021 - 18:25
File harbour-sailhub-0.0.21-1.armv7hl.rpm241.22 KB25/04/2021 - 12:56
File harbour-sailhub-0.0.21-1.aarch64.rpm254.96 KB25/04/2021 - 12:56
File harbour-sailhub-0.0.22-1.armv7hl.rpm269.35 KB29/04/2021 - 18:01
File harbour-sailhub-0.0.22-1.aarch64.rpm285.61 KB29/04/2021 - 18:01
File harbour-sailhub-0.0.23-1.armv7hl.rpm276.68 KB01/05/2021 - 20:36
File harbour-sailhub-0.0.23-1.aarch64.rpm293.46 KB01/05/2021 - 20:36
File harbour-sailhub-0.0.24-1.armv7hl.rpm280.5 KB02/05/2021 - 21:26
File harbour-sailhub-0.0.24-1.aarch64.rpm296.29 KB02/05/2021 - 21:26
File harbour-sailhub-0.0.25-1.armv7hl.rpm286.93 KB14/05/2021 - 13:04
File harbour-sailhub-0.0.25-1.aarch64.rpm303.46 KB14/05/2021 - 13:04
File harbour-sailhub-0.0.26-1.aarch64.rpm306.95 KB16/05/2021 - 17:15
File harbour-sailhub-0.0.26-1.armv7hl.rpm288.91 KB16/05/2021 - 17:15
File harbour-sailhub-0.0.27-1.armv7hl.rpm289.78 KB16/05/2021 - 18:38
File harbour-sailhub-0.0.27-1.aarch64.rpm307.59 KB16/05/2021 - 18:38
File harbour-sailhub-0.0.28-1.aarch64.rpm308.07 KB18/05/2021 - 21:07
File harbour-sailhub-0.0.28-1.armv7hl.rpm290.27 KB18/05/2021 - 21:07
File harbour-sailhub-0.0.29-1.armv7hl.rpm300.14 KB22/05/2021 - 16:17
File harbour-sailhub-0.0.29-1.aarch64.rpm318.68 KB22/05/2021 - 16:17
File harbour-sailhub-0.0.30-1.aarch64.rpm326.82 KB23/05/2021 - 18:36
File harbour-sailhub-0.0.30-1.armv7hl.rpm307.36 KB23/05/2021 - 18:36
File harbour-sailhub-0.0.31-1.armv7hl.rpm309.39 KB24/05/2021 - 12:38
File harbour-sailhub-0.0.31-1.aarch64.rpm328.77 KB24/05/2021 - 12:38
File harbour-sailhub-0.0.32-1.armv7hl.rpm313.31 KB26/05/2021 - 20:20
File harbour-sailhub-0.0.32-1.aarch64.rpm332.63 KB26/05/2021 - 20:20
File harbour-sailhub-0.0.33-1.aarch64.rpm342.31 KB30/05/2021 - 10:20
File harbour-sailhub-0.0.33-1.armv7hl.rpm321.73 KB30/05/2021 - 10:20
File harbour-sailhub-0.0.34-1.i486.rpm364.22 KB16/07/2021 - 23:31
File harbour-sailhub-0.0.34-1.armv7hl.rpm320.53 KB16/07/2021 - 23:31
File harbour-sailhub-0.0.34-1.aarch64.rpm339.45 KB16/07/2021 - 23:31
File harbour-sailhub-0.0.35-1.i486.rpm369.62 KB21/07/2021 - 23:12
File harbour-sailhub-0.0.35-1.armv7hl.rpm326.11 KB21/07/2021 - 23:12
File harbour-sailhub-0.0.35-1.aarch64.rpm344.73 KB21/07/2021 - 23:12
File harbour-sailhub-0.1.0-1.aarch64.rpm1.66 MB24/12/2021 - 16:46
File harbour-sailhub-0.1.0-1.armv7hl.rpm1.65 MB24/12/2021 - 16:46
File harbour-sailhub-0.1.0-1.i486.rpm1.69 MB24/12/2021 - 16:46
File harbour-sailhub-0.1.1-1.aarch64.rpm1.66 MB25/12/2021 - 10:47
File harbour-sailhub-0.1.1-1.armv7hl.rpm1.64 MB25/12/2021 - 10:47
File harbour-sailhub-0.1.1-1.i486.rpm1.68 MB25/12/2021 - 10:47
File harbour-sailhub-0.1.2-1.aarch64.rpm1.65 MB05/01/2022 - 14:44
File harbour-sailhub-0.1.2-1.armv7hl.rpm1.64 MB05/01/2022 - 14:44
File harbour-sailhub-0.1.2-1.i486.rpm1.68 MB05/01/2022 - 14:44
File harbour-sailhub-0.1.3-1.i486.rpm1.69 MB08/01/2022 - 15:09
File harbour-sailhub-0.1.3-1.aarch64.rpm1.66 MB08/01/2022 - 15:09
File harbour-sailhub-0.1.3-1.armv7hl.rpm1.64 MB08/01/2022 - 15:09
Changelog: 
* Sat Jan 08 2022 Black Sheep <blacksheep@nubecula.org> 0.1.3-1
- Fixed problems with link handler

* Wed Jan 05 2022 Black Sheep <blacksheep@nubecula.org> 0.1.2-1
- Removed own implemation for storing secret token (it didn't work reliable, sorry for that :´-)). You need to enter it again.
- Add link handler to the system. You can open links to github.com inside the app
- Translation updates
- Bugfixes

* Sat Dec 25 2021 Black Sheep <blacksheep@nubecula.org> 0.1.1-1
- Fixed TWEMOJI doesn't show in markdown text
- Update showdown.js to 1.9.1
- New internal link handler to open github.com links inside app (Repositories only atm)
- Code improvements / cleanup

* Fri Dec 24 2021 Black Sheep <blacksheep@nubecula.org> 0.1.0-1
- Sailjail support
- Add TWEMOJI content into package (need for Sailjail)
- Replaced Sailfish Secrets with own simple implementation using openssl
- Add Network caching
- Notification count on overview page
- UI improvements
- Code improvements
- Bugfixes

* Wed Jul 21 2021 Black Sheep <blacksheep@nubecula.org> 0.0.35-1
- Add French translation (Thanks to baxyz)

* Fri Jul 16 2021 Black Sheep <blacksheep@nubecula.org> 0.0.34-1
- Code improvements

* Sun May 30 2021 Black Sheep <blacksheep@nubecula.org> 0.0.33-1
- Show refrence to parent repository if is fork
- Commit details added
- Fixed bug SailHub doens't get active when repository is starred via DBus
- Translation updates (polish / chinese)
- UI fixes
- Several other bugfixes

* Wed May 26 2021 Black Sheep <blacksheep@nubecula.org> 0.0.32-1
- Code cleanup and rework
- UI changes
- Bugfixes

* Mon May 24 2021 Black Sheep <blacksheep@nubecula.org> 0.0.31-1
- Add DBus interface for starring a repository from external app (see example in README)
- Bugfixes

* Sun May 23 2021 Black Sheep <blacksheep@nubecula.org> 0.0.30-1
- Updated translations (polish / chinese)
- Code cleanup and optimizations
- Bugfixes

* Sat May 22 2021 Black Sheep <blacksheep@nubecula.org> 0.0.29-1
- Add lock / unlock feature for pull requests and issues
- Show commit list of pull requests
- Show number of changed files and additions / deletions
- Show additional infos of pull requests
- UI fixes / improvements
- Code cleanup / improvements
- Bugfixes

* Tue May 18 2021 Black Sheep <blacksheep@nubecula.org> 0.0.28-1
- Add functionality to close / reopen and update pull requests
- Fixed bug with pull request participants not showing
- Translation updates (chinese)

* Sun May 16 2021 Black Sheep <blacksheep@nubecula.org> 0.0.27-1
- Fixed bug with issue / repo subscription
- Translation updates

* Sun May 16 2021 Black Sheep <blacksheep@nubecula.org> 0.0.26-1
- Fixed bug with issue states
- Add possibility to reopen issue
- Fixed bug with subscription functionality
- Subscription functionality for issues and pull requests
- Code cleanup and improvements
- Bugfixes
- Translation fixes

* Fri May 14 2021 Black Sheep <blacksheep@nubecula.org> 0.0.25-1
- Manage user profile status
- Bugfixes
- UI Improvements

* Sun May 02 2021 Black Sheep <blacksheep@nubecula.org> 0.0.24-1
- New comments layout for issue / pull request
- New repository functions
- Mark / Unmark discussion comment as answer
- UI changes
- Code cleanup
- Bugfixes

* Sat May 01 2021 Black Sheep <blacksheep@nubecula.org> 0.0.23-1
- More repo details (sponsor links / status / vulnurability alerts)
- Code cleanup and improvements
- UI improvements
- Translation updates
- Bugfixes

* Thu Apr 29 2021 Black Sheep <blacksheep@nubecula.org> 0.0.22-1
- Add repository discussion functionality (Comment / Reply / React)
- Add basic gist functionality
- Switch emoji icons to Twemoji pack
- New icons added
- UI redesign
- Code Improvments
- Many Bugfixes

* Sun Apr 25 2021 Black Sheep <blacksheep@nubecula.org> 0.0.21-1
- Add assign user to issues and pull requests functionality
- UI improvements
- Bugfixes

* Sat Apr 24 2021 Black Sheep <blacksheep@nubecula.org> 0.0.20-1
- Add release assets functionality
- UI improvements
- Bugfixes
- Translation updates

* Fri Apr 23 2021 Black Sheep <blacksheep@nubecula.org> 0.0.19-1
- Fixed a bug in organizations list page
- Improved releases functionality
- Translation updates

* Thu Apr 22 2021 Black Sheep <blacksheep@nubecula.org> 0.0.18-1
- Fixed notification can not be turned of at app start
- Add releases to repository page
- Translation updates

* Thu Apr 22 2021 Black Sheep <blacksheep@nubecula.org> 0.0.17-1
- Added very basic notification functionality (unreaded notifications only)
- Added RestAPI V3 functionality (for fetching notifications)
- UI improvements
- Bugfixes

* Tue Apr 20 2021 Black Sheep <blacksheep@nubecula.org> 0.0.16-1
- Improved markdown rendering
- Render all markdown files in the file viewer
- Use markdown instead of HTML
- Translation updates

* Mon Apr 19 2021 Black Sheep <blacksheep@nubecula.org> 0.0.15-1
- Add quote reply for comments
- Add basic markdown rendering to show repository README.md using ShowdownJS
- Bugfixes

* Mon Apr 19 2021 Black Sheep <blacksheep@nubecula.org> 0.0.14-1
- Updated polish translation by atlochowski
- Updated chinese translation by dashinfantry
- Fixed bug with dbus service
- Package for aarch64

* Sun Apr 18 2021 Black Sheep <blacksheep@nubecula.org> 0.0.13-1
- Bugfixes

* Sun Apr 18 2021 Black Sheep <blacksheep@nubecula.org> 0.0.12-1
- Add overview for all open issues in user repositories
- Add reaction functionality to comments, issue and pull requests
- Updated translations
- Bugfixes
- Cleanup

* Sun Apr 11 2021 Black Sheep <blacksheep@nubecula.org> 0.0.11-1
- Add issue selection for ASSIGNED, CREATED_BY, MENTIONED
- Updated translations
- Bugfixes

* Sun Apr 11 2021 Black Sheep <blacksheep@nubecula.org> 0.0.10-1
- Changed chinese translation locale to zh_CN
- Add basic pull request functionality (comments, labels, etc.)
- Bugfixes
- Code improvements and cleanup

* Sat Apr 10 2021 Black Sheep <blacksheep@nubecula.org> 0.0.9-1
- Show assignees, participants and labels for issues
- Fixed a bug with organization list view
- New settings management
- UI changes
- Bugfixes
- Polish translation update by atlochowski

* Fri Apr 09 2021 Black Sheep <blacksheep@nubecula.org> 0.0.7-1
- Bugfixes
- Chinese translation update by dashinfantry

* Fri Apr 09 2021 Black Sheep <blacksheep@nubecula.org> 0.0.6-1
- Fixed a display error in comments list

* Fri Apr 09 2021 Black Sheep <blacksheep@nubecula.org> 0.0.5-1
- Complete CRUD functionality for issues
- Complete CRUD functionality for issue comments
- Code / UI improvements and cleanup
- Chinese translation update by dashinfantry
- Polish translation update by atlochowski

* Thu Apr 08 2021 Black Sheep <blacksheep@nubecula.org> 0.0.4-1
- Chinese translation by dashinfantry
- Browse issue comments

* Thu Apr 08 2021 Black Sheep <blacksheep@nubecula.org> 0.0.3-1
- Polish translation by atlochowski
- Code rework / cleanup

* Thu Apr 08 2021 Black Sheep <blacksheep@nubecula.org> 0.0.2-1
- Add sort function to repo / issue / pull request lists
- Code rework / cleanup

* Wed Apr 07 2021 Black Sheep <blacksheep@nubecula.org> 0.0.1-1
- Initial release

Comments

zipotron's picture

Hello Black_sheep! Thanks for this amazing work! I am writing you because I detect a bug, when I check my updates in the "pill request" is missing the last message sometimes. Also when you have a notification, and you tab on it is not jumping inside. I hope is an useful report!

black_sheep_dev's picture

Thank you for feedback. The notification part of the app is not really functional. I needed to make use of API v3 and I'm not happy with it. I tried to find a way to do the same thing with garphql, but it is not finished at the moment. The notification doesn't open anything at the moment. When I am back from holiday I will check your other problem.

zipotron's picture

Thanks a lot, because I am losing all last new messages in PR when the conversation get large.

I wish you enjoy the holidays!

JacekJagosz's picture

It would be great if you could add an option to see latest commits in a repository. I really miss it from the app, and still use the web browser for that.
An option to see your starred repositories would be great as well

black_sheep_dev's picture

Hi, you can find the starred repositories already on the profile page (Starred). I working on commit functionality already, but at the moment I am very busy at work and don't have much time for hobbies like that. Just wait....

zipotron's picture

Hello, I am trying to install in a Xperia 10 II, sailfish 4.0.23. But I get instalation error

black_sheep_dev's picture

Maybe a dependency is missing. Can you please try in console "devel-su pkcon -v install harbour-sailhub" and provide the output. I am not able to test it on aarch64. Thanks!

zipotron's picture

Hi! This is the log, well, is not really descriptive. If I can help you with anything else just tell me!

Ok, is not possible to upload captures in this chat, I will try to contact you in Github

 

TMavica's picture

Can u build a aarch64 package?

black_sheep_dev's picture

Hi, I can try to build one but it will be untested.

carmenfdezb's picture

Wow!! I have waited a Github app for a long time!! Thank you for your effort :)

attah's picture

Nice job! Great addition to the app ecosystem.

One suggestion though... would reverse chronological order not be better to sort things in?

Yes, I am a terrible person and have some ancient crap still open.

black_sheep_dev's picture

Don't worry I am terrible too! Issues, Pull Requests, Repositories?

attah's picture

Yes, all of those. :)

(But alphabetical for repositories is of course also good, maybe have both?)

Historyscholar's picture

Please add Chinese(zh_CN)汉语 to translation program.

black_sheep_dev's picture

Ok...added