Coder Social home page Coder Social logo

apiko-dev / gittermobile Goto Github PK

View Code? Open in Web Editor NEW
601.0 38.0 164.0 7.31 MB

Unofficial Gitter.im (chat for GitHub) client for iOS and Android. [build with react-native]

Home Page: https://github.com/JSSolutions/GitterMobile

License: Other

Java 3.47% JavaScript 93.18% Objective-C 2.78% Python 0.49% Ruby 0.08%
gitter react-native javascript android ios open-source gittermobile js reactnative reactjs redux react

gittermobile's People

Contributors

gitter-badger avatar ithinker avatar kohut-andriy avatar martinogg avatar maxymvlasov avatar terrysahaidak 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

gittermobile's Issues

Roadmap

Roadmap

If you have the feature request, just drop the line here.

Features

  • Home screen
  • Basic drawer #1
  • Realtime updates for drawer #4
  • Room messages list screen #7
  • Send message #7
  • Base mark as read #44
  • Edit message #7
  • Delete messages #7
  • Realtime messages updates #12
  • Parsing messages to display mention and links, emoji #24
  • Collapsing messages #25
  • Status (/me) messages type #25
  • Search rooms and peoples #26
  • Favorite/unfavorite room
  • Redux store (ability to restore all the redux state from the AsyncStorage)
  • Parsing messages to display PR/issues, some embedded content (tweets, images)
  • Search messages #53
  • New drawer styles
  • User info screen #30
  • Room info screen #34
  • Push-notifications
  • Authentication screen (while fetching data)
  • Single Navigator #21
  • Ability to create new rooms
  • Ability to upload images
  • Better code documentation
  • Tests
  • Forwarded messages
  • Offline support
  • Error handling
  • IRC commands #47
  • Autosuggesting for mentions, commands #65
  • Favorite messages
  • CodePush for updates
  • Sharing ability and screens
  • Room activity feed #38
  • Message screen #38
  • Add emoji bar #64
  • Deep linking #74
  • Users' online status
  • Add all the room settings #58
  • Styling activity feed #104
  • Upload images #73
  • Save input text draft per room

Mark messages as read

We need to implement the ability to automatically mark messages which are in the viewport as read.
The biggest issue -- find the way to get visible rows in ListView. Currently, I don't know how to do that. There is a lib to determine if the row is in the viewport, but it's pretty laggy. Need a better way to do that.

Version 0.6.0

Features

  • Irc commands #47
  • Commands autocomplete
  • Mention autocomplete
  • Local push notifications
  • Ability to ban/unban people
  • Ability to change room topic

1.0.0-alpha-3 checklist

  • Basic activity
  • Receive messages from snapshot
  • Message screen; read by
  • Automatically read all messages #40
  • Settings screen
  • Save last room and navigate to it after restart
  • Reconnect to faye server if app is on focus
  • Fix message resending
  • Fix double message after relogin

Autocomplete mentions, irc commands

In the web version, there are some types of suggestion showing in the pop-up above message input.

When users types @ sign, suggestion bar will show some users suggestion. By clicking on it, it will be applied to message input:
image
It uses https://gitter.im/api/v1/rooms/${id}/users?q=${query}&limit=10 endpoint to fetch suggestions for users.
Also, where is an additional command @/all that mentions all the users.

When users types / sign, it will display all available commands for that room:
image

if the user is an admin of the room, there are some additional commands:
image

Not all of commands are already implemented. See that code to get current state of available command list.

Some help with JS Import statements

Good day Guys,

Sorry for asking if this is obvious but where is GitterMobile defined from this statement import GitterMobile from './app', in the index.android.js file.

I have looked in the app /folder which is in the root of the project and i still don't see it. Please help and great job too.

Upload image

Ability to upload/capture photos directly to the room.

In the web client users has the ability to upload pictures from the clipboard by pasting it to message input.

The picture after uploading will be posted as the message with content:
[![image-alt](preview-image-url)](full-image-url)

We should add button in message input component which opens the pop-up with two options:

  1. Capture picture
  2. Upload from gallery

After choosing/capturing picture, we should upload it to the server and then post the message to room like described above.
While uploading, we should display linear spinner above message input or below the toolbar.

Since uploading images is a private Gitter API, we should use some another one.

Add room settings screen

If the user is the room owner, there is an ability to change some options.

Room owner can:

  • Change roop topic
    image

  • Welcome message and "Only github users can access this room"
    image

  • Notifications settings (already added, but we should display it like below)
    image

  • Tags
    image

  • Delete this room (I think it's a private API)

1.0.0-alpha-1

  • Add rooms/people search
  • Add markdown support
  • Fix bug issues

Deep linking

Allow users to open app by the link.

After opening some link like https://gitter.im/terrysahaidak/GitterMobile, users should see a pop-up with some options allows open this link with a browser or our app.

If the user opens it with our app, we should parse that link and run screen associated with it. For example, that link (https://gitter.im/terrysahaidak/GitterMobile) should open gm.Room with that room.

Cases we should implement:

  • Link to room (https://gitter.im/terrysahaidak/GitterMobile)
  • Link to message (https://gitter.im/gitterHQ/api?at=592c998a0de3eb3e19a7f235)
  • Link to group (https://gitter.im/gitterHQ/home)

Resources:
https://developer.android.com/training/app-indexing/deep-linking.html
https://facebook.github.io/react-native/docs/linking.html#basic-usage
https://developer.gitter.im/docs/groups-resource

Add personal access token login flow

Add an option to login with a personal access token which some people have wanted: gitterHQ/gitter#519

You can authenticate with a token by visiting gitter.im?access_token=xxx

Version 0.4.0

I decide to start use semver, so next version will be 0.4.0

Main

We have an icon! Also, new versions will be available every two weeks.

Features

  • Settings screen
  • Change notification settings
  • Search field

Bugfixes

  • Logout do not resets navigation to login screen
  • Animation exceptions on startup
  • Login crashes
  • Remove from favorites should not leave room
  • Crash on loosing internet connection

Faye client as service

Currently, Faye works pretty bad, it's cannot connect to the server, android can kill the connection if there is no activity for a long time... These problems can be solved by writing small service around GitteroidSDK Faye client and create the bridge to RN.

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.