Code Monkey home page Code Monkey logo

orbit-web's Introduction

Orbit Web

Gitter Matrix CircleCI

A distributed, peer-to-peer chat application built on IPFS

Browser application for Orbit. Try it at https://orbit.chat.

Built with the following packages:

  • orbit-core - Core Orbit communication library.
  • js-ipfs - A new p2p hypermedia protocol for content-addressed storage.

See also:

  • orbit-db - Serverless, p2p database that orbit-core uses to store its data.
  • orbit-textui - Terminal client prototype for Orbit.
  • orbit-electron - Stand-alone desktop application for Orbit Chat built with Electron.
  • IPFS - IPFS

Development

This project uses npm and nodejs.

Run

Get the source code and install dependencies:

git clone https://github.com/orbitdb/orbit-web.git
cd orbit-web/
npm install

Start the application: npm run dev

Run will start a development server, open the app in the browser and watch for changes in the source files. Upon change, it'll automatically compile and reload the app in the browser

Build

npm run build

This produces a fully stand-alone build in dist/ which can be run from dist/index.html file or on a http-server.

Contribute

We would be happy to accept PRs! If you want to work on something, it'd be good to talk beforehand to make sure nobody else is working on it. You can reach us on Gitter, or in the comments of the issues section.

We also have regular community calls, which we announce in the issues in the @orbitdb welcome repository. Join us!

If you want to code but don't know where to start, check out the issues labelled "help wanted".

For specific guidelines for contributing to this repository, check out the Contributing guide. For more on contributing to OrbitDB in general, take a look at the orbitdb welcome repository. Please note that all interactions in @OrbitDB fall under our Code of Conduct.

Deploying to a domain with IPFS

  1. Point the domain to some public IPFS gateway

    • TYPE: A
    • Name: @ (or a subdomain)
    • Value: < IP address of the gateway >
  2. npm run build

  3. Pin dist-folder to IPFS (upload the folder to some pinning service)

  4. Add or update the TXT entry of _dnslink subdomain in DNS records of the domain

    • TYPE: TXT
    • Name: _dnslink
    • Value: "dnslink=/ipfs/< hash from pinning service >"

License

MIT © 2017-2018 Protocol Labs Inc., 2018-2019 Haja Networks Oy

orbit-web's People

Contributors

adam-palazzo avatar aphelionz avatar dependabot[bot] avatar haadcode avatar janianttonen avatar latenssi avatar mohe2015 avatar pokemonchw avatar prabodhmeshram avatar richardlitt 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

orbit-web's Issues

Idea

I had no clue what repo to put an idea in but I love the system going and want to see this turn into something bigger right now it seems like an IRC mainly but I want to see profile pictures, real accounts, email, calls, video calling, DMs, etc. Maybe turn this into something more than just a channel group chat app.

WebSocket Failure !!!!!!!!

Hi @aphelionz and orbit team,
There was failure in Websocket.
I dont know about the solution ? can someone help with this error ?

client.js:18 WebSocket connection to 'wss://ams-1.bootstrap.libp2p.io/ipfs/QmSoLer265NRgSp2LA3dPaeykiS1J6DifTC88f5uVQKNAd' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID
push../node_modules/pull-ws/client.js.module.exports @ client.js:18
dial @ index.js:25
(anonymous) @ queue.js:85
(anonymous) @ timeout.js:86
(anonymous) @ initialParams.js:11
_dialWithTimeout @ queue.js:92
_doWork @ queue.js:45
(anonymous) @ queue.js:28
(anonymous) @ queue.js:10
process @ queue.js:175
(anonymous) @ queue.js:82
(anonymous) @ setImmediate.js:27
f @ VM7072:39
h @ VM7072:39
r @ VM7072:39
client.js:18 WebSocket connection to 'wss://lon-1.bootstrap.libp2p.io/ipfs/QmSoLMeWqB7YGVLJN3pNLQpmmEk35v6wYtsMGLzSr5QBU3' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID
push../node_modules/pull-ws/client.js.module.exports @ client.js:18
dial @ index.js:25
(anonymous) @ queue.js:85
(anonymous) @ timeout.js:86
(anonymous) @ initialParams.js:11
_dialWithTimeout @ queue.js:92
_doWork @ queue.js:45
(anonymous) @ queue.js:28
(anonymous) @ queue.js:10
process @ queue.js:175
(anonymous) @ queue.js:82
(anonymous) @ setImmediate.js:27
f @ VM7072:39
h @ VM7072:39
r @ VM7072:39
client.js:18 WebSocket connection to 'wss://nyc-1.bootstrap.libp2p.io/ipfs/QmSoLueR4xBeUbY9WZ9xGUUxunbKWcrNFTDAadQJmocnWm' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID
push../node_modules/pull-ws/client.js.module.exports @ client.js:18
dial @ index.js:25
(anonymous) @ queue.js:85
(anonymous) @ timeout.js:86
(anonymous) @ initialParams.js:11
_dialWithTimeout @ queue.js:92
_doWork @ queue.js:45
(anonymous) @ queue.js:28
(anonymous) @ queue.js:10
process @ queue.js:175
(anonymous) @ queue.js:82
(anonymous) @ setImmediate.js:27
f @ VM7072:39
h @ VM7072:39
r @ VM7072:39
client.js:18 WebSocket connection to 'wss://sfo-3.bootstrap.libp2p.io/ipfs/QmSoLPppuBtQSGwKDZT2M73ULpjvfd3aZ6ha4oFGL1KrGM' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID
push../node_modules/pull-ws/client.js.module.exports @ client.js:18
dial @ index.js:25
(anonymous) @ queue.js:85
(anonymous) @ timeout.js:86
(anonymous) @ initialParams.js:11
_dialWithTimeout @ queue.js:92
_doWork @ queue.js:45
(anonymous) @ queue.js:28
(anonymous) @ queue.js:10
process @ queue.js:175
(anonymous) @ queue.js:82
(anonymous) @ setImmediate.js:27
f @ VM7072:39
h @ VM7072:39
r @ VM7072:39
client.js:18 WebSocket connection to 'wss://nyc-2.bootstrap.libp2p.io/ipfs/QmSoLV4Bbm51jM9C4gDYZQ9Cy3U6aXMJDAbzgu2fzaDs64' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID
push../node_modules/pull-ws/client.js.module.exports @ client.js:18
dial @ index.js:25
(anonymous) @ queue.js:85
(anonymous) @ timeout.js:86
(anonymous) @ initialParams.js:11
_dialWithTimeout @ queue.js:92
_doWork @ queue.js:45
(anonymous) @ queue.js:28
(anonymous) @ queue.js:10
process @ queue.js:175
(anonymous) @ queue.js:82
(anonymous) @ setImmediate.js:27
f @ VM7072:39
h @ VM7072:39
r @ VM7072:39
client.js:18 WebSocket connection to 'wss://sgp-1.bootstrap.libp2p.io/ipfs/QmSoLSafTMBsPKadTEgaXctDQVcqN88CNLHXMkTNwMKPnu' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID
push../node_modules/pull-ws/client.js.module.exports @ client.js:18
dial @ index.js:25
(anonymous) @ queue.js:85
(anonymous) @ timeout.js:86
(anonymous) @ initialParams.js:11
_dialWithTimeout @ queue.js:92
_doWork @ queue.js:45
(anonymous) @ queue.js:28
(anonymous) @ queue.js:10
process @ queue.js:175
(anonymous) @ queue.js:82
(anonymous) @ setImmediate.js:27
f @ VM7072:39
h @ VM7072:39
r @ VM7072:39
client.js:18 WebSocket connection to 'wss://lon-1.bootstrap.libp2p.io/ipfs/QmSoLMeWqB7YGVLJN3pNLQpmmEk35v6wYtsMGLzSr5QBU3' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID
push../node_modules/pull-ws/client.js.module.exports @ client.js:18
dial @ index.js:25
(anonymous) @ queue.js:85
(anonymous) @ timeout.js:86
(anonymous) @ initialParams.js:11
_dialWithTimeout @ queue.js:92
_doWork @ queue.js:45
(anonymous) @ queue.js:28
(anonymous) @ queue.js:10
process @ queue.js:175
(anonymous) @ queue.js:82
(anonymous) @ setImmediate.js:27
f @ VM7072:39
h @ VM7072:39
r @ VM7072:39
client.js:18 WebSocket connection to 'wss://ams-1.bootstrap.libp2p.io/ipfs/QmSoLer265NRgSp2LA3dPaeykiS1J6DifTC88f5uVQKNAd' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID
push../node_modules/pull-ws/client.js.module.exports @ client.js:18
dial @ index.js:25
(anonymous) @ queue.js:85
(anonymous) @ timeout.js:86
(anonymous) @ initialParams.js:11
_dialWithTimeout @ queue.js:92
_doWork @ queue.js:45
(anonymous) @ queue.js:28
(anonymous) @ queue.js:10
process @ queue.js:175
(anonymous) @ queue.js:82
(anonymous) @ setImmediate.js:27
f @ VM7072:39
h @ VM7072:39
r @ VM7072:39
client.js:18 WebSocket connection to 'wss://nyc-1.bootstrap.libp2p.io/ipfs/QmSoLueR4xBeUbY9WZ9xGUUxunbKWcrNFTDAadQJmocnWm' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID
push../node_modules/pull-ws/client.js.module.exports @ client.js:18
dial @ index.js:25
(anonymous) @ queue.js:85
(anonymous) @ timeout.js:86
(anonymous) @ initialParams.js:11
_dialWithTimeout @ queue.js:92
_doWork @ queue.js:45
(anonymous) @ queue.js:28
(anonymous) @ queue.js:10
process @ queue.js:175
(anonymous) @ queue.js:82
(anonymous) @ setImmediate.js:27
f @ VM7072:39
h @ VM7072:39
r @ VM7072:39
client.js:18 WebSocket connection to 'wss://nyc-2.bootstrap.libp2p.io/ipfs/QmSoLV4Bbm51jM9C4gDYZQ9Cy3U6aXMJDAbzgu2fzaDs64' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID
push../node_modules/pull-ws/client.js.module.exports @ client.js:18
dial @ index.js:25
(anonymous) @ queue.js:85
(anonymous) @ timeout.js:86
(anonymous) @ initialParams.js:11
_dialWithTimeout @ queue.js:92
_doWork @ queue.js:45
(anonymous) @ queue.js:28
(anonymous) @ queue.js:10
process @ queue.js:175
(anonymous) @ queue.js:82
(anonymous) @ setImmediate.js:27
f @ VM7072:39
h @ VM7072:39
r @ VM7072:39
client.js:18 WebSocket connection to 'wss://sfo-3.bootstrap.libp2p.io/ipfs/QmSoLPppuBtQSGwKDZT2M73ULpjvfd3aZ6ha4oFGL1KrGM' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID
push../node_modules/pull-ws/client.js.module.exports @ client.js:18
dial @ index.js:25
(anonymous) @ queue.js:85
(anonymous) @ timeout.js:86
(anonymous) @ initialParams.js:11
_dialWithTimeout @ queue.js:92
_doWork @ queue.js:45
(anonymous) @ queue.js:28
(anonymous) @ queue.js:10
process @ queue.js:175
(anonymous) @ queue.js:82
(anonymous) @ setImmediate.js:27
f @ VM7072:39
h @ VM7072:39
r @ VM7072:39
client.js:18 WebSocket connection to 'wss://sgp-1.bootstrap.libp2p.io/ipfs/QmSoLSafTMBsPKadTEgaXctDQVcqN88CNLHXMkTNwMKPnu' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID
push../node_modules/pull-ws/client.js.module.exports @ client.js:18
dial @ index.js:25
(anonymous) @ queue.js:85
(anonymous) @ timeout.js:86
(anonymous) @ initialParams.js:11
_dialWithTimeout @ queue.js:92
_doWork @ queue.js:45
(anonymous) @ queue.js:28
(anonymous) @ queue.js:10
process @ queue.js:175
(anonymous) @ queue.js:82
(anonymous) @ setImmediate.js:27
f @ VM7072:39
h @ VM7072:39
r @ VM7072:39
client.js:18 WebSocket connection to 'wss://ams-1.bootstrap.libp2p.io/ipfs/QmSoLer265NRgSp2LA3dPaeykiS1J6DifTC88f5uVQKNAd' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID
push../node_modules/pull-ws/client.js.module.exports @ client.js:18
dial @ index.js:25
(anonymous) @ queue.js:85
(anonymous) @ timeout.js:86
(anonymous) @ initialParams.js:11
_dialWithTimeout @ queue.js:92
_doWork @ queue.js:45
(anonymous) @ queue.js:28
(anonymous) @ queue.js:10
process @ queue.js:175
(anonymous) @ queue.js:82
(anonymous) @ setImmediate.js:27
f @ VM7072:39
h @ VM7072:39
r @ VM7072:39
client.js:18 WebSocket connection to 'wss://lon-1.bootstrap.libp2p.io/ipfs/QmSoLMeWqB7YGVLJN3pNLQpmmEk35v6wYtsMGLzSr5QBU3' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID
push../node_modules/pull-ws/client.js.module.exports @ client.js:18
dial @ index.js:25
(anonymous) @ queue.js:85
(anonymous) @ timeout.js:86
(anonymous) @ initialParams.js:11
_dialWithTimeout @ queue.js:92
_doWork @ queue.js:45
(anonymous) @ queue.js:28
(anonymous) @ queue.js:10
process @ queue.js:175
(anonymous) @ queue.js:82
(anonymous) @ setImmediate.js:27
f @ VM7072:39
h @ VM7072:39
r @ VM7072:39
client.js:18 WebSocket connection to 'wss://nyc-1.bootstrap.libp2p.io/ipfs/QmSoLueR4xBeUbY9WZ9xGUUxunbKWcrNFTDAadQJmocnWm' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID
push../node_modules/pull-ws/client.js.module.exports @ client.js:18
dial @ index.js:25
(anonymous) @ queue.js:85
(anonymous) @ timeout.js:86
(anonymous) @ initialParams.js:11
_dialWithTimeout @ queue.js:92
_doWork @ queue.js:45
(anonymous) @ queue.js:28
(anonymous) @ queue.js:10
process @ queue.js:175
(anonymous) @ queue.js:82
(anonymous) @ setImmediate.js:27
f @ VM7072:39
h @ VM7072:39
r @ VM7072:39
client.js:18 WebSocket connection to 'wss://nyc-2.bootstrap.libp2p.io/ipfs/QmSoLV4Bbm51jM9C4gDYZQ9Cy3U6aXMJDAbzgu2fzaDs64' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID
push../node_modules/pull-ws/client.js.module.exports @ client.js:18
dial @ index.js:25
(anonymous) @ queue.js:85
(anonymous) @ timeout.js:86
(anonymous) @ initialParams.js:11
_dialWithTimeout @ queue.js:92
_doWork @ queue.js:45
(anonymous) @ queue.js:28
(anonymous) @ queue.js:10
process @ queue.js:175
(anonymous) @ queue.js:82
(anonymous) @ setImmediate.js:27
f @ VM7072:39
h @ VM7072:39
r @ VM7072:39
client.js:18 WebSocket connection to 'wss://sfo-3.bootstrap.libp2p.io/ipfs/QmSoLPppuBtQSGwKDZT2M73ULpjvfd3aZ6ha4oFGL1KrGM' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID

Seems to be broken in Firefox

I went to https://orbit.chat in firefox, and it creates the login screen fine. When I supply a username and hit enter, it says "loading" forever and dumps these errors in the console. This is on Ubuntu 16.04 with Firefox 53.0.

isElectron: false  orbit.chat:60:5
TypeError: asm.js type error: double is not a subtype of int  app.js:87:547

Chat should start from the bottom

Currently chat starts from the top. The chat should start from the bottom.

This might be more difficult to fix than it seems because of react-virtualized.

don't work

the project don't work on all os with all differents version of node & npm. please update the project.
(error when npm i)

/me missing space

Currently "/me doing something" renders as "mynicknamedoing something" in chat. It should render as "mynickname doing something" (notice the space between nickname and the verb).

Update mobx-react to 6.x

Currently we are stuck with class based components in some places because of mobx-react v5. Mobx-react v6 brings support for react hooks while maintaining support for class based components.

Loading indicator ugly on mobile

The spinning loading indicator is placed right on top of the message input field on mobile.
Replace the spinning loading indicator with something more suitable for mobile or move it somewhere else.

Change the text "peers" in the channel to "users"

From Orbit:

14:48:03 peter is there a way to figure out how many users are online? (not peers)
14:49:29 Frank peter the UI is using React as the js framework, but if you mean visuals it's all custom. the "3 peers" box at the bottom-right corner tells you how many users are online on this channels atm.
14:49:45 Frank perhaps it should be "3 users" instead of "peers"
14:50:27 peter I assumed peers might mean connections, so there could be some that are mirroring everything, but aren't a user per se
14:50:59 peter I mean, connected orbit+ipfs instances
14:51:11 Frank ah ok, so that's confusing terminology then  :) because there's also the "Swarm" view that you can open from the panel that tells you the "peers in IPFS network"

I'd like try to a simple thing and change the text in the element that shows you how many peers are on this channel to say "3 users" instead of "3 peers". I believe that will avoid the confusion.

Alternatively, change the text completely and use an icon (that says "people/users/online").

I cant able to create a db with public write access in Orbit-Web NetworkStore.js

orbitdb/orbitdb#578 (comment)

const access = {
write : ['*'],
}
const db = await orbitNode._orbitdb.keyvalue('UsersCredentials',access)

Is the Structure correct ?

I Could not able to able to add entry to this. This Another peer which using Address of the db above created.
Could not append entry, key "04d29d042e28b3ab201eb453486ca280dd80a157b806e5826a15d71fe3147b1fba059399d2c6e339c646afcfea42fd81a18fa73231bd6ecc8e75cd4947ead8b897" is not allowed to write to the log

ProfilePanel position

Fix MessageUserProfilePanel vertical positioning, currently it can overflow from the top of the view.

No peers

When i browse https://orbit.chat, there seems to be no peer on channel #ipfs, since it is the only channel there, even after i started ipfs daemon on my command line, or am i getting things wrong here?

Font looks weird

OS: debian jessie
Browser: Google Chrome 56.0.2924.87 (64-bit)

Maybe using Lato regular instead of light?

ipfs
ipfs2

Uncaught Error: no protocol with name: p2p-webrtc-star

I've open https://orbit.chat in Chrome Version 62.0.3202.94 (Official Build) (64-bit)
on Windows 10 and this is the console output:

isElectron: false
app.js:87 Invalid asm.js: Type mismatch in assignment
app.js:167 Swarm listening on /libp2p-webrtc-star/dns4/star-signal.cloud.ipfs.team/wss/ipfs/QmQbj14qMvwoXKsiEna6aWFvbLYh1NBtjF7Nq9atUFk7SE
60app.js:31 Uncaught Error: no protocol with name: p2p-webrtc-star
    at Protocols (app.js:31)
    at stringToStringTuples (app.js:255)
    at stringToBuffer (app.js:255)
    at Object.fromString (app.js:255)
    at new Multiaddr (app.js:6)
    at Multiaddr (app.js:6)
    at WebRTCStar._peerDiscovered (app.js:246)
    at Socket.Emitter.emit (app.js:71)
    at Socket.onevent (app.js:71)
    at Socket.onpacket (app.js:71)

Bug in notification display logic

Notification display logic does not work as intended.

Notifications are shown even when user is currently on the channel that received a new message. The reason is in the logic that checks whether the user is in the channel or not: ChannelStore.js#L182 currentChannelName is given the value of the uiStore object instead of the name of the current channel.

Where to use my localhost of Ipfs ?

I m using this deno and educational purpose it's working fine but i dont know to replace the localhost gateway of my ipfs.

Is that possible to change the ipfs gateway ?
Is that possible to use orbit-web without orbit-db because i dont need the old history.

I need only the live chat can anyone help me out guys ?

High memory usage

Currently the memory usage of the app is very high, check what is causing it and try to apply a fix.

I need a Orbitdb which should be in accessed globally by any peer ?

I would like to create a OrbitDb which should be read and write by any peer and it should be open by the others . I tried to open a db it always it doesnt found in /orbit/"CONSTPEERID"/"DBName" with Create Mode mentioned.

Can anyone show me effective to store the key value pair in Orbit Db and should be accessed globally by any peer.

How to create a Orbit with Public access to read and write in Orbit-db-cli ?

Bug peers is undefined

Got that on firefox, can't manage to reproduce it (does not happen at all on chrome)

TypeError: this.state.peers is undefined[En savoir plus] app.js:85:8392 render 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:85:8392 ReactCompositeComponent._renderValidatedComponentWithoutOwnerOrContext 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:263:11631 ReactCompositeComponent._renderValidatedComponent 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:263:11960 ReactCompositeComponent._updateRenderedComponent 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:263:10250 ReactCompositeComponent._performComponentUpdate 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:263:9662 ReactCompositeComponent.updateComponent 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:263:8183 ReactCompositeComponent.performUpdateIfNecessary 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:263:6244 ReactReconciler.performUpdateIfNecessary 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:7:55163 runBatchedUpdates 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:5:27126 TransactionImpl.perform 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:11:31064 TransactionImpl.perform https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:11:31064 .perform 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:5:25977 flushBatchedUpdates 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:5:27566 bound self-hosted:915:17 TransactionImpl.closeAll 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:12:67 TransactionImpl.perform 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:11:31180 ReactDefaultBatchingStrategy.batchedUpdates 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:264:28634 enqueueUpdate 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:5:27921 enqueueUpdate 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:43:17400 ReactUpdateQueue.enqueueSetState 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:43:21036 ReactComponent.prototype.setState 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:44:9357 onPeers 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:85:973 bound onPeers self-hosted:917:17 eventHandler 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:44:30520 emit https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:106:16879 trigger 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:44:30899 onJoinChannel/</_ this2.timers[channel]</</< 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:12:29612 run 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:270:23890 runIfPresent 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:270:24236 installPostMessageImplementation/onGlobalMessage 
https://ipfs.io/ipfs/QmbYfGVD34tM91Yu2bUDepTPb5XdB7qsR9oHhjqghwPo1e/assets/app.js:270:24959

Separate message listing from message loading

Currently we use message load events from orbit-db to tell React to render new messages. This causes severe UX deterioration when a user joins a channel with a long history. When a user joins a channel he/she will replicate the entire history and the replication process fires the events which will cause React to render each message on the channel.

We need to separate the displaying of messages from orbit-db load events.

Each time creates new User ?

I would like to use the user who already been ? Is that possible to use the user who got in ?
But it creates each time new user ? And then inside in login page Configuration not working after running dev. How to use the Login with Uport ?

High CPU usage

Currently the CPU usage of the app is quite high. This may be due to the embedded IPFS node.

image upload doesnt work

Whenever I upload an image , its not shown after being uploaded . All I see is a 'loading' label like in the image below

deepinscreenshot_select-area_20180328192132

--> When I click on open image it shows a blank ipfs page
--> When I click the download button , it downloads an html file instead of image

...more info : When I checked the console, it showed this error ...

deepinscreenshot_select-area_20180328192548

...Please help, I don't know what's happening

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.