Desktop electron app based

Hello GitLab community :slight_smile:
At some point, my team and I moved to GitLab, a fantastic company! But we missed a desktop client as well as GitHub Desktop, thinking that I decided to create a client for GitLab based on Electron to help us and also help those who use and work with GitLab.

Our repository:

It’s not ready, it’s in beta yet, but I’ll soon release a trial version. I’ve tried to be as faithful as possible with the whole UX of the company services, if something did not go as expected, I apologize, I’m working to create the best and most beautiful desktop client for GitLab, and if they have any errors they will be corrected soon, today it only works on Windows, however we have plans to take it to Linux and MacOS.

Tell me what you think, leave your opinions, it helps a lot.

Would like to help?
You can help us in many ways by making a donation in patreon, helping to test it, providing feedback, requesting resources, the list is great hopefully it can help all those who want a desktop client!



Wow, this is just fantastic, great work Patrick!

I’m having a second go at the installation, as I initially tested it on a machine with an outdated nodejs version. I’ll report back with some feedback :slight_smile:

Hello @dplanella , I’m glad you liked it!
Looking forward to feedback :smiley:

I got it running :slight_smile:

@patrickalima, here’s my initial feedback:

  • I don’t quite follow the format of the projects file mentioned in the README. Is it just a src/projects.js file that needs to be manually added to the local code checkout? I did that, but no repositories are shown in the app. Am I understanding this incorrectly, or am I perhaps using the wrong syntax? Do you have any examples?
  • Unfortunately, due to this, other than saying that the app looks good, I couldn’t do much with it without a repo.
  • File > New repository: opens a dialog in Portuguese. Nothing wrong with that, but for consistency’s sake it’d be good to have it in English :slight_smile:
  • File > Options: has no effect
  • View > Toggle developer tools: toggles developer tools on, but it does not toggle them off

I’ve also submitted a couple of merge requests with some small fixes =>

Keep up the good work, happy to help testing!

Wow, I’m sorry, the project is in an early stage, I’m finishing translating it into English, we’re working to create a language system.

It has some errors that I’m also correcting as config and projects.js

To run the App you need to do the following:
1 - Create an access token in GitLab so that we can use Integration apis:

2-) Create a config file in the src / directory without extension (Just to make it run now)

3-) Create the ‘projects’ file in the src / directory without extension (Just to make it run now)

4-) npm install

5-) npm run serve: electron

No worries, it was clear to me that it is in early stages. The steps, except for 2 and 3 were clear to me. I got the app running so far.

I don’t quite understand the syntax of the projects file yet, but here is what I’ve done now:

  1. Renamed src/config.js to src/config (without extension)
  2. Renamed src/projects.js to src/project (without extension)
  • Now the app starts same as before, but I get a new message that didn’t appear before: “Fetch origin branch” (see the screenshot below).
  • Still I cannot select any projects, though.
  • Now none of the menu options work. If I click on them, e.g. “Create Repository”, it doesn’t show up a dialog as it used to do before I changed the file extensions.

Any ideas?

Terminal output:

$ npm run serve:electron

> gitlab-discovery@0.1.0 serve:electron /tmp/gitlab-discovery
> vue-cli-service serve:electron

Starting development server:

 INFO  Starting development server...
 98% after emitting CopyPlugin                                                          

 DONE  Compiled successfully in 6379ms                                                                                                               22:55:37

  App running at:
  - Local:   http://localhost:8080/ 
  - Network:

  Note that the development build is not optimized.
  To create a production build, run npm run build.

Bundling main process:

Hash: 9d72484b692086400cbe
Version: webpack 4.16.4
Time: 1476ms
Built at: 2018-09-25 22:55:39
        Asset     Size      Chunks             Chunk Names
background.js  641 KiB  background  [emitted]  background
Entrypoint background = background.js
[./node_modules/glob/glob.js] 19 KiB {background} [built]
[./node_modules/rimraf/rimraf.js] 8.78 KiB {background} [built]
[./node_modules/unzip-crx/dist/index.js] 2.33 KiB {background} [built]
[./node_modules/vue-cli-plugin-electron-builder/lib/createProtocol.js] 1.22 KiB {background} [built]
[fs] external "fs" 42 bytes {background} [built]
[0] multi ./src/background.js 28 bytes {background} [built]
[./node_modules/vue-cli-plugin-electron-builder/lib/index.js] 132 bytes {background} [built]
[./node_modules/vue-cli-plugin-electron-builder/lib/installVueDevtools/downloadChromeExtension.js] 1.81 KiB {background} [built]
[./node_modules/vue-cli-plugin-electron-builder/lib/installVueDevtools/index.js] 1.6 KiB {background} [built]
[./node_modules/vue-cli-plugin-electron-builder/lib/installVueDevtools/utils.js] 1.28 KiB {background} [built]
[./src/background.js] 1.9 KiB {background} [built]
[electron] external "electron" 42 bytes {background} [built]
[https] external "https" 42 bytes {background} [built]
[path] external "path" 42 bytes {background} [built]
[url] external "url" 42 bytes {background} [built]
    + 107 hidden modules

Launching Electron...
[2833:0925/225540.407798:ERROR:CONSOLE(7574)] "Extension server error: Object not found: <top>", source: chrome-devtools://devtools/bundled/inspector.js (7574)

Do you have anything on the console? I’ll test here on another machine, just wait a few minutes please

Here’s the output of the developer tools console =>

Can you pass me the projects and config files please?

Our excuse, I made a mistake, I’m really sorry.
please rename ‘config’ to ‘config.js’ this was from an old version, it is the motives that is not working. Only project remains without extension

Ok, renamed to src/config.js and sent you a PM with the contents of the two files.

  • Now the app starts without warnings on the developer console
  • However, I can still not see any projects

Continuing the discussion from Desktop electron app based:

I would like to tell everyone that thanks to the help of @dplanella , we have been able to identify several errors in the App, we are working to correct them, because the amount of errors is great, create a proposal in the App repository to rewrite the App using nw.js and updated versions of modules, so we can solve problems 1 to 7.

You can find more details about our plans in our proposal:

We are very happy and very grateful for all the help, care and attention :slight_smile:

We will update our to-do list as we progress, soon we will post again on this forum to announce the beta, I am looking forward to this :smiley: