Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Desktop App #812

vHanda started this conversation in Feature Requests
May 14, 2020 · 54 comments
Discussion options

It might be even easier to provide a desktop app of GitJournal over a web-app via go-flutter.

You must be logged in to vote

Replies: 54 comments

Comment options

This will be amazing :-)

You must be logged in to vote
0 replies
Comment options

vHanda
May 31, 2020
Maintainer Author

Screenshot 2020-05-31 at 09 00 09

I got a basic version of the app running on osx. Lots of stuff to do in-order for this to work properly though -

  • Replace libgit2 with dart_git
  • Replace firebase analytics
  • Remove Crashlytics
  • Implement payment handling for Pro version
  • Make the UI far more responsive. It's currently clearly a UI for a mobile.

The good news is that all of these tasks need to be done regardless of the desktop version. A large number are required to publish this on fdroid, and the responsive UI will also help GitJournal be more usable on Tablets and ChromeOS.

You must be logged in to vote
0 replies
Comment options

So it sounds like this issue might deprecate #45 ...?

You must be logged in to vote
0 replies
Comment options

vHanda
Jun 10, 2020
Maintainer Author

So it sounds like this issue might deprecate #45 ...?

Nah. I would like to have both Desktop and Web Version. The Web requires more work as we cannot use git directly or communicate via ssh. One would need to integrate with the GitHub and GitLab specific APIs.

You must be logged in to vote
0 replies
Comment options

So I'll definitely need a web or desktop option, as it is really the only thing holding me back from using this as my "One true notebook". You have done some amazing work here @vHanda with GitJournal. Such a refined experience, like you actual are dog-fooding this app yourself daily.

If you could get even a beta Windows App out there I'd use it right away.

You must be logged in to vote
0 replies
Comment options

vHanda
Jun 27, 2020
Maintainer Author

So I'll definitely need a web or desktop option, as it is really the only thing holding me back from using this as my "One true notebook". You have done some amazing work here @vHanda with GitJournal. Such a refined experience, like you actual are dog-fooding this app yourself daily.

Thanks. I really appreciate your kind words. I've been a bit demotivated lately, so your comment really helps. I'll try to get the desktop version out as soon as I can.

You must be logged in to vote
0 replies
Comment options

@vHanda your job is great. Make sure that even few users see it with a big difference in their daily lives.

You must be logged in to vote
0 replies
Comment options

Desktop App for which platform(s)? Since the connection to the GIT is necessary in realtime, maybe the web app is sufficient. Synchronization seems to be the issue for me.

You must be logged in to vote
0 replies
Comment options

vHanda
Jul 31, 2020
Maintainer Author

Desktop App for which platform(s)? Since the connection to the GIT is necessary in realtime, maybe the web app is sufficient. Synchronization seems to be the issue for me.

All 3? Linux, Mac and Windows. I don't use Windows at all, so that will be a bit more challenging.

The issue with the web version is that it will only work with GitHub or Gitlab, and I will have to rewrite large parts to use their specific APIs, instead of normal SSH + git or even http + git.

Also, with the web-version, since GitHub and Gitlab don't have fine grained permissions, you will need to give GitJournal access to read+write to all your repos (public and private)

I'm the author of GitJournal, and I don't feel comfortable giving it access to all my repos. I wonder how others will feel.

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Comment options

vHanda
Jul 31, 2020
Maintainer Author

Yeah, I thought I noticed that the SSH key way had more targeted permissions, not requiring unlimited API permission like the https style. Is that true Vishesh?

Classically Git can be accessed via 2 transport mechanisms -

  • SSH - Fine grained permissions are possible via GitHub and GitLab
  • HTTPS - Fine grained permissions also possible via GitHub and GitLab

However this https method cannot be easily used over the browser because of certain restrictions - You can read more about it over here - https://github.com/isomorphic-git/isomorphic-git#cors-support

Therefore in order to access Git over a browser, we need to use the custom APIs provided by Github and Gitlab. These custom APIs (as far as I can tell) do not allow fine grained permissions. It's an all or nothing approach - link.

GitHub (not GitLab) does have a newer concept called "GitHub Apps" which in theory can be granted lesser permissions than all or nothing - via the typical OAuth, but it's not clear to me if this would give per repository access. The docs aren't very clear.

Alternatively, there is always an option that users could create a new GitHub account and give that account write access to that one repo, and then give GitJournal full access to that alternative account. This sounds very cumbersome though.

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Comment options

Desktop App

A humble opinion: for as long as GitJournal is a filesystem-based, Markdown-based note app with git integration, there's no need for "Desktop App", because for that, a user can use:

  1. Any filesystem-based markdown note app, and there're many of them.
  2. Any git client app, and there many of them (starting from the standard command-line git).

Please don't spread thin, please make a good mobile note-taking app, period. All other areas are overcrowded already.

You must be logged in to vote
0 replies
Comment options

@pfalcon Let me extend that:
Instead of developing a Desktop App, it would suffice (at least in my opinion) to write down a standard on how to handle notes in every detail. So other people could write for example a vscode plugin and call it a day. My reasoning for this is, that writing notes manually is possible but not desirable.

You must be logged in to vote
0 replies
Comment options

vHanda
Sep 10, 2020
Maintainer Author

Thanks for the feedback. I haven't worked much on the desktop app in a while. I won't be giving it much/any love for at least a few months. There are too many things todo on the mobile app.

@tionis : Could you please give me a rough example of what kind of standard you would like. it's not clear to me.

You must be logged in to vote
0 replies
Comment options

vHanda
Jun 4, 2021
Maintainer Author

I have good news. I've been using the desktop app for the past week. I can release a beta version soon. I've only used it on osx so far.

Also, it requires you to have "git" installed.

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Comment options

I have good news. I've been using the desktop app for the past week. I can release a beta version soon. I've only used it on osx so far.

Good news, indeed.

P. S. I think for most people syncing functionality will be enough on a desktop. Just because there are so many text editing tools already out there that can be used separately.

You must be logged in to vote
0 replies
Comment options

I agree with @glow12121. I want a file watcher, not an app.

For as many notetaking apps as there are, the only thing really missing is file syncing. I would prefer to choose my own desktop app (sublime text?, text edit?, github?) It shouldn't matter what the app is. The only thing I am missing is this: when I save, I want the note to sync across devices without overwriting. GitJournal is an attractive mobile app because it understands that git or something similar is needed for proper sync to avoid files overwriting each other when they connect to the internet. The missing piece: when I update a file from my laptop (with any app), I want it to push the changes to git without having to run any commands or do any extra steps. CMD+S (saving the file) itself should be what triggers the git commands. I think what that means is that I want a file watcher, not an app.

There is a useful git script on the GJ docs here. But how do I get it to run on save? To me, THAT is the missing piece, not a desktop app. The reason that the GJ mobile app is important is that consumers can't run scripts and file watchers from their phones. So, with a phone you need an app like GJ. With a desktop, you should be free to use any text editor, but also saving the file should sync

But doesn't the file watcher sound like a separate project from GJ? I'm willing to make it happen, but I might need some guidance. I'm a web developer, so I'd need some advice on how to implement a file watcher and make it distributable (i.e. easy for others to get and use)

You must be logged in to vote
0 replies
Comment options

vHanda
Jun 18, 2021
Maintainer Author

Rough Update. Steps are missing for the desktop app -

  • Creating ssh keys - My native dart implementation isn't reliable
  • Cloning with those keys

(Both of these steps will involve calling a process on the desktop)

  • Integrate the freshly implemented merge mechanism in Dart into GJ
  • Figure out the packaging

@nth-chile : I agree with you. However, I think we should track this in another bug report. If it helps, I've already started working on an electron app which (for now) polls the folder. Could you please open another bug report? Once the basic scaffolding is in place, I can add watching.

PS: I know electron has its issues, but Flutter isn't mature enough for this right now.

If anyone wants to help, I would love a better icon. For me this is something independent of GitJournal, as it's just is just to sync to another git repo. The green folder is the temporary icon.

Screenshot 2021-06-18 at 17 14 30

You must be logged in to vote
0 replies
Comment options

For me this is something independent of GitJournal

Awesome @vHanda, is it in a separate repo?

You must be logged in to vote
0 replies
Comment options

vHanda
Jun 18, 2021
Maintainer Author

For me this is something independent of GitJournal, as it's just is just to sync to another git repo.

Awesome @vHanda, is it in a separate repo?

I haven't pushed it so far, the code is todos and my experiments while I learn electron. Please just open the bug in this repo for now. It's just to create the Desktop App which polls / watches for changes.

You must be logged in to vote
0 replies
Comment options

vHanda
Jun 18, 2021
Maintainer Author

The final repo will be here - https://github.com/GitJournal/git-auto-sync . I've pushed some of the changes. It's just me experimenting right now. My local copy has a lot of uncommitted changes.

You must be logged in to vote
0 replies
Comment options

Created feature request #515

You must be logged in to vote
0 replies
Comment options

vHanda
Jul 29, 2021
Maintainer Author

Update: I never landed up figuring out the osx code signing, so we don't yet have a build you guys can use.

However, I did create an AppImage for Linux. It's built with each commit on the CI. Eg - https://github.com/GitJournal/GitJournal/runs/3191857379 (Look at the artifacts).

Please keep in mind that GitJournal needs a lot of UI work to make it more "responsive". Right now it clearly feels like a mobile app just running on the desktop.

You must be logged in to vote
0 replies
Comment options

For macOS you will need an Apple Developer Account: https://learnappmaking.com/how-to-create-a-free-apple-developer-account/ (no need to pay for the AppStore stuff)

Then see here for example: https://wiki.lazarus.freepascal.org/Code_Signing_for_macOS#Using_codesign_to_sign_your_application

You must be logged in to vote
0 replies
Comment options

vHanda
Aug 25, 2021
Maintainer Author

Hi. I've done the basic codesigning for MacOS. However, I'm still figuring out the notarization, until then you'll have to explicitly allow GitJournal -

Eg -

Screenshot 2021-08-25 at 10 53 25

You'll have to go to "Security and Privacy" and explicitly allow GitJournal.

Screenshot 2021-08-25 at 11 02 30

You can get it from the CI. Eg - https://github.com/GitJournal/GitJournal/actions/runs/1165846131

You must be logged in to vote
0 replies
Comment options

Thanks, you're awesome!

ps. That's why I'm delaying the Big Sur update (viz. notarization)...

You must be logged in to vote
0 replies
Comment options

Just want to say, it's really cool seeing the effort going into this project. Going with Flutter seems like an awesome choice, given their continued efforts to try and support Desktop, arm64, etc. as time goes on.

I picture a world where I can one day use GitJournal on a PinePhone :)

You must be logged in to vote
0 replies
Comment options

Just poking my head in, has there been any movement on this? Thanks!

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Converted from issue

This discussion was converted from issue #137 on November 19, 2022 02:33.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.