Skip to content

walter-juan/ghd

Repository files navigation

Note

This is a personal project created to solve a need and play with it, try some libraries, etc.

That said, I'm not responsible if one day the app stops working or doesn't work properly and you need to re-install it. This should not happen, but if a re-installation is needed it will be written in the release notes.

Caution

Migrated to Compose navigation, view models and Room KMP with non-final versions it could be unstable

Things to solve in a future:

  • Whole database encryption removed, PAT will be stored as plain text
  • Relations with Intermediate data class, seems not to be working (search for TODO relations)

GHD

GHD (GitHub Dashboard), is an application to show the pull requests and releases from your GitHub repositories.

Features:

  • List of the pull requests (open, draft, merged & closed)
    • Mark a pull request as seen to know later if it has been updated
    • Filter pull request by branch
  • List latest releases from a repository
  • Notifications
    • Notify when pull request is created or updated
    • Notify when a new release is created
  • Light and dark themes
☀️ Light Theme 🌒 Dark Theme
ghd-pull-requests-light ghd-pull-requests-dark
ghd-releases-light ghd-releases-dark

Installation

Windows application

Download the exe file from releases and install.

macOS application

The macOS application is unsigned and to be able to run the com.apple.quarantine has to be removed. Right now, as this app is more for personal use, I don't want to register and do all the stuff about signing with Apple.

The com.apple.quarantine attribute is used to determine if an application should be checked (and blocked if needed.)

So if you want to use this app you should remove the com.apple.quarantine.

How to install

  1. Download the dmg file from releases
  2. Open the dmg file and move the application to Applications folder
  3. Open terminal and run:
xattr -d com.apple.quarantine /Applications/ghd.app

Sources

Commands

  • Show the attributes

    xattr /path/to/my-app.app
  • Remove the com.apple.quarantine attribute

    xattr -d com.apple.quarantine /path/to/my-app.app
  • Remove the com.apple.quarantine attribute recursively for the entire targeted .app directory contents

    sudo xattr -dr com.apple.quarantine /path/to/my-app.app
  • Remove the all attributes + recursively

    sudo xattr -cr /path/to/my-app.app

Useful Gradle commands

By default, the debug flag is enabled, example how to remove it:

$ ./gradlew build -PdebugConfig=false
  • Run the app
    ./gradlew run
  • Build the project
    ./gradlew build
  • Clean the project
    ./gradlew clean
  • Clean the debug app folder
    ./gradlew ghdCleanDebugAppFolder
  • Create the packages
    ./gradlew packageDistributionForCurrentOS
  • To know which dependencies have updates
    ./gradlew dependencyUpdates
  • Update Gradle version
    ./gradlew wrapper --gradle-version latest
    ./gradlew wrapper --gradle-version 7.5.1

Scripts

The folder scripts contains some scripts in Ruby:

  • Scripts must be executed from the scripts folder
    cd scripts
  • Download tabler icons
    bundle exec ruby tabler-icons-download.rb

Links