Giter Site home page Giter Site logo

mlvernay / desktop Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gitterhq/desktop

0.0 0.0 0.0 423 KB

Gitter Desktop Client

Shell 11.04% JavaScript 72.92% HTML 2.02% CSS 0.20% Ruby 0.62% Python 7.54% AppleScript 2.41% Batchfile 0.71% Inno Setup 2.54%

desktop's Introduction

Gitter Desktop Client

Gitter Build Status

This is the desktop client for Linux, Windows and Mac OSX.

Latest Builds

For the official downloads, please visit https://gitter.im/apps.

Running The Development Version

The Gitter Desktop client is written using NW.js, but the only prerequisite is node.js for your platform and npm 3+.

  1. clone this repo: git clone [email protected]:gitterHQ/desktop.git && cd desktop
  2. install all dependencies: npm install
  3. generate your own app oAuth credentials where the redirect url is app://gitter/oauth.html
  4. start the app with your credentials:
  • linux/osx: OAUTH_KEY=yourkey OAUTH_SECRET=yoursecret npm start
  • windows cmd: set OAUTH_KEY=yourkey && set OAUTH_SECRET=yoursecret && npm start
  • alternatively, put your keys and secrets in nwapp/oauth.json

CLI parameters

  • --update-url: The base URL we use to check for package.json manifest updates and downloads. e.g. --update-url=192.168.0.58:3010
  • --current-install-path: The path to install/overwrite and files from an update
  • --new-executable: In combination with --current-install-path, will start the app in update mode and run the specified executable to update
  • --passthrough-remote-debugging-port: Used to debug the update process when we spin up new instances. Just like --remote-debugging-port=port. Unfortunately, nw.js doesn't expose --remote-debugging-port=port when used so we need to use a slightly different name.

We use nw.js, so you can use any of those CLI parameters like --remote-debugging-port=port

Tray Icon on Ubuntu

To see the Gitter tray icon run:

sudo apt-add-repository ppa:gurqn/systray-trusty
sudo apt-get update
sudo apt-get upgrade

More info here.

Enabling Logging on Windows

  1. Install Sawbuck. This tool will capture logs for all chrome-based applications.
  2. Add "Content Shell" to your list of Providers in Sawbuck by adding these registry entries to your machine (NOTE the optional Wow6432Node key for x64 machines):
  3. Find: HKLM\SOFTWARE\[Wow6432Node\]Google\Sawbuck\Providers
  4. Add a subkey with the name {6A3E50A4-7E15-4099-8413-EC94D8C2A4B6}
  5. Add these values: * Key: (Default), Type: REG_SZ, Value: Content Shell * Key: default_flags, Type: REG_DWORD, Value: 00000001 * Key: default_level, Type: REG_DWORD, Value 00000004

Alternatively, use this .reg file to do the above for you (in x86) (courtesy of @mydigitalself). 3. Start Sawbuck and go to Log -> Configure Providers and change Content Shell's Log Level to Verbose. There are additional privacy-related changes that you may wish to make; see Important Privacy and Security Notice, below. 4. Start capturing logs by going to Log -> Capture. 5. Start up your Gitter app and watch those logs!

Important Privacy and Security Notice

Sawback captures logging data from all running Chrome instances (not just the Gitter Desktop client), so its logs may include URLs you visited, search queries you executed, and the like.

To minimize the risk of including sensitive information in a publicly-posted logging session, you are advised to change the Configure Providers options such that the Log Level value is set to None for every Provider except for Content Shell. Always review logs for sensitive information and sanitize as appropriate before posting them publicly.

Releasing the app (win32 and linux32/64)

On osx/linux, run the following commands

  • brew cask install java xquartz then brew install wine
  • brew install gnu-tar then sudo gem install fpm
  • If on osx(because of a bug with Yosemite), Open /Library/Ruby/Gems/2.0.0/gems/ffi-1.9.10/lib/ffi/library.rb and do the fix proposed here: ffi/ffi#461 (comment)
  1. Build all app artefacts
  2. On osx, run gulp cert:fetch:osx
    • You will need to setup AWS CLI with your credentials aws configure (grab from AWS console IME)
  3. On osx, run gulp build:osx
  4. On osx/linux, run gulp build:linux
  5. On osx/linux, run gulp cert:fetch:win
    • You will need to setup AWS CLI with your credentials aws configure (grab from AWS console IME)
  6. On windows, run node ./windows/build.js -p thepfxcertpasswordhere. For more information, see the windows build readme
  7. On osx/linux, run gulp autoupdate:zip:win
  8. On osx/linux, run gulp autoupdate:zip:osx
  9. On osx/linux, run gulp autoupdate:zip:linux
  10. On osx/linux, create the redirect pages with gulp redirect:source
  11. Check that all the binaries work. You should have:
  • GitterSetup-X.X.X.exe
  • Gitter-X.X.X.dmg
  • gitter_X.X.X_amd64.deb
  • gitter_X.X.X_i386.deb
  • latest_linux32.html
  • latest_linux64.html
  • latest_win.html
  • win32.zip
  • osx.zip
  1. Publish the release (all uploads will throw a formatError!)
  2. on osx/linux, publish the artefacts by running: * gulp artefacts:push:win * gulp artefacts:push:osx * gulp artefacts:push:linux32 * gulp artefacts:push:linux64 * gulp autoupdate:push:win * gulp autoupdate:push:osx * gulp autoupdate:push:linux
  3. on osx/linux, publish the redirects by running: * gulp redirect:push:win * gulp redirect:push:linux32 * gulp redirect:push:linux64
  4. on osx/linux, publish the autoupdate manifest by running gulp manifest:push

License

MIT

desktop's People

Contributors

trevorah avatar madlittlemods avatar suprememoocow avatar waltfy avatar cbj4074 avatar malditogeek avatar prayagverma avatar gitter-badger avatar

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.