Coder Social home page Coder Social logo

spheresoftware / rebelchat Goto Github PK

View Code? Open in Web Editor NEW
19.0 170.0 2.0 2.24 MB

Rebel Chat ๐Ÿ’ฌ - is a modern way to keep in touch with any team, and keep your messaging under control right in your editor.

Home Page: http://rebelchat.io/

License: Other

JavaScript 99.36% CSS 0.64%
rebels atom slack skype hipchat atom-editor react redux chat messaging

rebelchat's Introduction

RebelChat

Be Rebel - Chat Rebel. ๐Ÿ’ฌ

Build Status appveyor Build Status MIT licensed

RebelChat is an integrated Chat system for the Hackable Atom Editor. It is a modern way to keep in touch with any team, and keep your messaging under control right in your editor.

Why

This project aims to provide unified UI/UX for all available communication channels. We do believe that you don't need to install and track all different chat apps, if all you need is just chat with your friends and colleagues.

RebelChat

How to start

To start RebelChat just press ctrl-alt-cmd-m, enter you credentials and enjoy your chatting experience.

By default RebelChat provides some keymaps. But feel free to change it any way you want. You can read more about keymaps here

Default Keymaps

Here is all default keymaps, but you can always disable it in package settings, or add your own in your ~/.atom/keymap.cson file.

Command macOS Windows Linux
rebel-chat:toggle (toggles main window) ctrl-alt-cmd-m
rebel-chat:choose-channel (open channel select) cmd-shift-k
rebel-chat:focus-input (focus master input) cmd-l
rebel-chat:team-1 (switch to team 1) cmd-1
rebel-chat:team-2 (...) cmd-2
rebel-chat:team-3 (...) cmd-3
rebel-chat:team-4 (...) cmd-4
rebel-chat:team-5 (...) cmd-5
rebel-chat:team-6 (...) cmd-6
rebel-chat:team-7 (...) cmd-7
rebel-chat:team-8 (...) cmd-8
rebel-chat:team-9 (...) cmd-9

Installation

  • In Atom, open Preferences (Settings on Windows)
  • Go to Install section
  • Search for RebelChat package. Once it found, click Install button to install package.

Manual installation

You can install the latest RebelChat version manually from console:

$ apm i RebelChat

If you wish you can install it from source, so you will be able to develop it test it on your own environment.

$ git clone [email protected]:SphereSoftware/RebelChat.git && cd RebelChat
$ apm i
$ apm link .

Then restart Atom editor. This command will clone, install all dependencies, and link RebelChat to the ~/.atom/packages folder

Thanks

This project sponsored by Sphere Software as part of our Open Source initiative.

License


The MIT License (MIT)

Copyright (c) 2017 Anton Shemerey @shemerey

Full license file here

rebelchat's People

Contributors

hron avatar shemerey avatar

Stargazers

 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

Forkers

hron felipejm1984

rebelchat's Issues

consider to replace `react-emoji` with `emoji-mart`

Right now we are using react-emoji to render emoji in messages. Since we are going to use 'emoji-mart' here #1 we should consider to replace it with Emoji from 'emoji-mart'

It should reduce amount of false positive replacement in a code and quotes etc.

Here is an example from README.

import { Emoji } from 'emoji-mart'

<Emoji emoji={{ id: 'santa', skin: 3 }} />
<Emoji emoji=':santa::skin-tone-3:' />
<Emoji emoji='santa' set='emojione' />

Autocomplete `emoji`

In order to support it, we should implement something like https://github.com/atom/autocomplete-emojis, since we will need custom autocomplete provider anyway we should just copy it into our project and upgrade to Autocomplete API v3.0.0 +

This version of API will allow us to scope provider by any class element. we can use

Uncaught RangeError: out of range index

no idea how to reproduce, it just randomly happens sometimes. have slack and hipchat integrations turned on

Atom: 1.15.0 x64
Electron: 1.3.13
OS: Mac OS X 10.11.6
Thrown From: RebelChat package 0.8.1

Stack Trace

Uncaught RangeError: out of range index

At /Users/rsheldon/.atom/packages/RebelChat/node_modules/ws/lib/Receiver.js:414

RangeError: out of range index
    at RangeError (native)
    at fastCopy (/packages/RebelChat/node_modules/ws/lib/Receiver.js:414:24)
    at Receiver.add (/packages/RebelChat/node_modules/ws/lib/Receiver.js:94:3)
    at TLSSocket.realHandler (/packages/RebelChat/node_modules/ws/lib/WebSocket.js:825:20)
    at emitOne (events.js:96:13)
    at TLSSocket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:176:18)
    at TLSSocket.Readable.push (_stream_readable.js:134:10)
    at TLSWrap.onread (net.js:543:20)

Commands

  7x -9:15.7.0 rebel-chat:hide-emoji-picker (div.)
     -2:58.8.0 core:paste (input.hidden-input)
     -2:57.9.0 core:backspace (input.hidden-input)
  2x -2:57.7.0 rebel-chat:send (input.hidden-input)
     -2:53.9.0 core:paste (input.hidden-input)
  2x -2:48.5.0 rebel-chat:hide-emoji-picker (div.)
     -2:46.6.0 core:select-all (input.hidden-input)
     -2:45 core:backspace (input.hidden-input)
     -2:43.4.0 rebel-chat:send (input.hidden-input)

Non-Core Packages

atomify 0.3.0 
autoclose-html 0.23.0 
autocomplete-modules 1.6.8 
busy-signal 1.3.0 
change-case 0.6.3 
editing-diff 0.2.1 
file-icons 2.1.1 
git-time-machine 1.5.6 
goto-definition 1.2.1 
intentions 1.1.2 
language-babel 2.57.0 
language-haml 0.24.1 
language-javascript-jsx 0.3.7 
linter 2.1.0 
linter-coffeelint 1.2.1 
linter-eslint 8.1.4 
linter-ui-default 1.2.1 
markdown-preview-plus 2.4.9 
minimap 4.26.8 
minimap-cursorline 0.2.0 
minimap-find-and-replace 4.5.2 
minimap-git-diff 4.3.1 
minimap-highlight-selected 4.5.0 
minimap-linter 1.6.0 
minimap-pigments 0.2.2 
minimap-selection 4.4.0 
minimap-split-diff 0.3.7 
pain-split 1.4.0 
pigments 0.39.1 
project-manager 3.3.4 
react 0.16.2 
react-es6-snippets 0.3.0 
RebelChat 0.8.1 
set-syntax 0.3.2 
slack-chat 3.4.2 
sort-lines 0.14.0 
split-diff 1.2.1 
Sublime-Style-Column-Selection 1.7.4 

emoji picker

We should be able to use emoji properly

When user click on smile icon in master input component we should display emoji finder. LIke Slack app do. In order to do so, we can use https://github.com/missive/emoji-mart. This npm package provide react component for us. We just need to utilize it properly.

  • click on smile icon, opens emoji finder
    • if emoji finder is open click outside of it will close the finder
    • click on any emoji icon will place it into master input and close finder
    • search filter should work and filter emojis

Failed to activate the RebelChat package

[Enter steps to reproduce:]

  1. ...
  2. ...

Atom: 1.32.1 x64
Electron: 2.0.9
OS: Mac OS X 10.13.6
Thrown From: RebelChat package 0.8.1

Stack Trace

Failed to activate the RebelChat package

At Arguments to CompositeDisposable.add must have a .dispose() method

TypeError: Arguments to CompositeDisposable.add must have a .dispose() method
    at assertDisposable (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:1190499)
    at CompositeDisposable.add (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:1191467)
    at Object.consumeProvider (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:161432)
    at Object.consumeProvider_3 (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:161185)
    at Provider.t.exports.Provider.provide (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:14:1034598)
    at ServiceHub.t.exports.ServiceHub.provide (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:2950316)
    at Package.activateServices (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:2958502)
    at Package.activateNow (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:2955557)
    at activationCommandSubscriptions.add.commandRegistry.onWillDispatch.n (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:14:1717)
    at Function.simpleDispatch (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:1186953)
    at Emitter.emit (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:1188394)
    at CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:346959)
    at KeymapManager.t.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:1227580)
    at KeymapManager.t.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:1223714)
    at WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:282763)

Commands

     -6:14.2.0 application:minimize (input.hidden-input)
     -6:04.5.0 command-palette:toggle (input.hidden-input)
     -6:03.4.0 core:paste (input.hidden-input)
  8x -6:03.1.0 core:move-left (input.hidden-input)
     -6:00.8.0 core:backspace (input.hidden-input)
  4x -5:59.1.0 core:move-right (input.hidden-input)
     -5:58 editor:select-to-end-of-line (input.hidden-input)
     -5:57.5.0 core:backspace (input.hidden-input)
 10x -5:53.8.0 core:move-down (input.hidden-input)
  2x -5:51.9.0 core:move-up (input.hidden-input)
     -5:49.9.0 editor:consolidate-selections (input.hidden-input)
     -5:49.9.0 core:cancel (input.hidden-input)
     -5:47.6.0 settings-view:open (input.hidden-input)
     -5:41.4.0 core:paste (input.hidden-input)
     -0:09.7.0 rebel-chat:toggle (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-one-dark-syntax.theme-one-dark-ui)

Non-Core Packages

atom-beautify 0.33.4 
atom-monokai 0.10.9 
auto-encoding 0.7.1 
auto-indent 0.5.0 
cobalt2-syntax 0.5.3 
emmet 2.4.3 
file-icons 2.1.26 
highlight-line 0.12.0 
highlight-selected 0.14.0 
japanese-menu 1.14.0 
language-markdown 0.27.0 
markdown-preview-enhanced 0.15.8 
markdown-table-editor 1.1.1 
minimap 4.29.9 
minimap-highlight-selected 4.6.1 
new-era-syntax 1.3.4 
platformio-ide-terminal 2.8.4 
RebelChat 0.8.1 
rulerz 0.5.0 
space-cowboy-syntax 1.8.0 
split-diff 1.5.3 

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.