Giter Club home page Giter Club logo

devhubapp / devhub Goto Github PK

View Code? Open in Web Editor NEW
9.5K 9.5K 811.0 118.37 MB

TweetDeck for GitHub - Filter Issues, Activities & Notifications - Web, Mobile & Desktop with 99% code sharing between them

Home Page: https://devhubapp.com

License: GNU Affero General Public License v3.0

JavaScript 1.65% TypeScript 96.12% CSS 0.48% Starlark 0.03% Java 0.40% Ruby 0.88% Objective-C 0.17% HTML 0.27% C 0.01% Swift 0.01% Shell 0.01%
android cross-platform desktop devhub electron github github-api graphql hacktoberfest ios javascript macos notifications react react-native react-native-web redux typescript web windows

devhub's People

Contributors

amorist avatar arminkhodaei avatar brunolemos avatar d2s avatar dependabot[bot] avatar diegohaz avatar dkniffin avatar edxds avatar gregoryfm avatar jletey avatar leocolomb avatar lucasgdb avatar mrchocolatine avatar mtsmfm avatar pocka avatar rchinerman avatar svenefftinge avatar tusharjoshi avatar zhigang1992 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

devhub's Issues

Permit enhanced filtering of issue notifications for a repository

Feature request:

When I'm looking at the available options for a repository, it's not obvious how to (or if it's possible to) limit notifications in the column to only those issues where I have subscribed, been mentioned, have participated, or have had my review requested. On a high-traffic repository like wordpress/gutenberg the noise can quickly drown out the signal without this sort of limiting filter, so I'd like to request that DevHub be enhanced with the ability to focus on issues where we have explicitly participated.

Thanks much!

Push notifications

Issuehunt badges

Related #90

  • Add option on each column
  • Electron (macOS, Windows, Linux)
  • Web
  • iOS
  • Android

There are two possible ways to check for new items:

  1. Run a script on app background every X minutes (has limitations on iOS: if app gets closed it will stop updating, minimum 15 minute interval to update, etc)
  2. Move this responsibility to the server (probably would not scale well, imagine the server having to do thousands of github API requests per minute)

We can do option 1 for android and desktop, but for ios and web needs to be option 2.


IssueHunt Summary

Backers (Total: $100.00)

Become a backer now!

Or submit a pull request to get the deposits!

Tips


IssueHunt has been backed by the following sponsors. Become a sponsor

Improve notifications layout

I think that it's hard to understand the context of the notifications. In this example, it's not clear that the Tooltip Issue is related to devhub's rep. Icons and fonts have the same size and identation.

screen shot 2018-12-12 at 22 04 41

Maybe some margin-right will do the job.

ToolTips

Set ToolTips to the buttons and other components without description for better UX

E.g:

Rename columns

I've got more columns of same "repo" but with different "notifications" settings, could be useful if I could rename column to understand well what I'm seeing.

Feature Request: Make columns draggable

๐Ÿ™„ What?

  1. Make columns draggable without having to use < > buttons.
  2. -or- change column order by dragging users on the left most column panel

๐Ÿค” Why?

  1. Requires two clicks to move each column
  2. Attention is lost when moving a column
  3. To match TweekDeck behavior (as the tag line is DevHub: TweetDeck for GitHub [BETA] ๐Ÿ™‚)

As I add more users/repos/groups, it was hard to organize them.

๐Ÿš€ Demo

Below image shows first 2 problems mentioned in why? (requires two clicks, & attention is lost).

It's hard to move gaearon to other columns by more than one column.

2018-12-16_08-50-18

While TweekDeck allows dragging (using icons on the left panel & dragging columns directly) as shown below.

2018-12-16_08-54-42

๐Ÿ™ Suggestion

Make following areas drag'n'droppable.

image

Improve theme change performance on mobile

Currently it triggers a rerender of almost all components, which is very slow, specially on low end devices. On web it's fast because I used CSS Variables to avoid rerenders.

If you can, please contribute.
If you have ideas on how to improve this, comment below.

Visibility lib on web

Curious why the web implementation of visibility is custom and not based on AppState. Something missing?

Offline support

Accessing the app without Internet access is redirected to it from login
Local cache request done showing the last data seen and display an information (in the header) that this without Internet

Theme change is not intuitive

Hello,

I've decided to check your project and looks great so thanks for creating it ๐Ÿ˜„ ๐Ÿ‘

When I try to choose one of the three dark themes, they don't work. Any button that I press on the light theme changes the ui straight away but not the dark ones.

On my first try of DevHub I tried to change the theme to Dark Blue and nothing changed, then later on the ui changed to the dark blue theme out of nowhere - I tried to refresh the page but it doesn't seem to have any effect.

Are the dark themes only activated after a certain time (like night time)? Or is this a bug?

I'm using Safari 12.0.1

License alternatives

Any recommendation that could fit this project well?

One that allows open source contribution, but avoids clones. One that allows this to be a commercial project, but doesn't allow others to bypass its paid features or charge people on their own. One that limits liability.

AGPL-3.0 doesn't tick all the boxes but looks interesting. Which others?

Styled-Components

Would there be any downsides to introducing styled-components to the project? Documentation link.

Perhaps the biggest benefit from this would be the ability to access more advanced CSS features that can't be easily done using normal inline styles, like :hover.

Improve iOS bottom bar design

The icons are small to the dictionary some columns, ends up disturbing the usability (it's my point of view)

The icons are small to the dictionary some columns, ends up disturbing the usability (it's my point of view)

46b0fe19-ed09-4674-914e-6ad6c626a7b9

Web: remove reset.css

Global reset (or CSS files) should not be used in this context. If there's a reason why you have the reset, please let me know. Same goes for the styles in index.css.

GitLab support

Would be great, especially after the news of many projects migrating to gitlab this year (after purchasing from GitHub by Microsoft)

Feature Request: Prevent users from adding more than 20 columns

๐Ÿ™ Feature Request

Would you be able to prevent users from adding more than 20 columns by disabling the "โž•" button?

Current behavior looks as shown below

  • Some columns fail with following message

โš  Too many columns
You have reached the limit of 20 columns. This is to maintain a healthy usage of the GitHub API.

image

โž• Additional Context

Not sure if it's the GitHub issue or DevHubApp throttling the API call as it's been working until this morning.. ๐Ÿค”

Support for private repositories

If you want this feature for your personal private repositories, please react with a ๐Ÿ‘.
If you want this for your team/company/organization private repositories, react with a โค๏ธ.
Follow @devhub_app on Twitter to be notified when this becomes available.

Add support for:

  • Showing activities of private repositories
  • Enhance notifications of private repositories

Implementation requirements

  • Request only the permissions that are strictly necessary
    • For this reason, we will need to migrate from OAuth App to GitHub App (see comparison)

Why not enable private access using the current implementation?

GitHub OAuth Apps have a very broad and dangerous permission scope. See this petition for details. For example, to be able read activities (issue comments, ...) from private repositories, we need to request the repo scope. And this is what it gives access to:

screen shot 2018-12-14 at 22 45 22

As a security precaution, DevHub does not intend to ask for this permission, since it doesn't ever need any code or write access.


TL/DR: This feature is planned and is high priority.
But to do it right, first we need to make DevHub work as a GitHub App instead of OAuth App. This will cause an increase of server usage and costs.

Follow @devhub_app on Twitter to be notified when this becomes available.

Typescript project setup

Thank you for a great project, learned a lot from it. ๐Ÿ˜„

Currently, we have TypeScript setup in all the places except www.

But most of our TypeScript code is in component and core, and both mobile and web are only referencing on component.

Right now, mobile doesn't have any TypeScript in it. And I was actually surprised to see it's working without an rn-cli.config.js to do react-native-typescript-transformer. (I see react-native-typescript-transformer listed in component/packages.json, but it's never used anywhere.)

web has one index.tsx, but in order for that to work, we need a config-overrides.js which took me a long time to understand ๐Ÿ˜ญ . I'm guessing it's there for TypeScript support and also references source files outside of web/src. I have some questions regarding it.

  1. Isn't react-scripts already working with typescript?
  2. react-app-rewired says they don't support CRA2, should we consider switching to customize-cra, for readability. ๐Ÿ˜„
const {
  override,
  babelInclude
} = require("customize-cra");
const path = require('path');

module.exports = override(
  babelInclude([
    path.resolve("src"),
    path.resolve("../component/src"),
    path.resolve("../core/src"),
  ])
);

In the component repo, we are doing yarn tsc -w, but I don't think we are using the dist folder anywhere right? Because we are always referencing @devhub/component/src/component/App.

How would you feel about the following two options?

Option 1

  1. In components/tsconfig.json, change jsx to react.
  2. Then referencing @devhub/components/dist/App in web and mobile.
  3. Remove typescripts from mobile, web and perhaps root.
  4. Remove react-app-rewired altogether because we no longer need to include source files outside of web/src for babel to compile.

And optionally, we need to find a way to surface Typescript error on the web page.

With this option, we can also benefit from it in #47 because it'd be less code to duplicate. ๐Ÿ˜„

Option 2

  1. Remove TypeScript from component and core and have TypeScript setup in all the shell workspaces.
  2. And reference .ts code directly in shell projects?

Again, thank you for an awesome project. would love to learn more context behind it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.