a free (libre) open source, mobile OS for Ethereum https://status.im
Go to file
Andrea Maria Piana d760f1696c
Add mailservers confirmations & use peer count for online status
We now check that we are only connected to some `peers` instead of using `NetInfo` from `react-native`.

This is because it has been reported to be quite flaky at times, not reporting online status after sleeping, and for privacy concerns (on ios it pings `apple.com`, on desktop `google.com`).

Adds a new banner `Wallet Offline` and change `Connecting to peers` to  `Chat offline`.

A message will be marked as `Sent` only if it made it to the mailserver you are connected to, which will increase the guarantees that we can make about a message (if you see it as sent, it has reached at least a mailserver), this has the consequence that:

- If you are not connected to any mailserver or the mailserver is non responsive/down, and you send a message, it will be marked as `Not sent`, although it might have been actually made it in the network.

Probably this is something that we would like to communicate to the user through UX (i.e. tick if made it to at least a peer, double tick if it made to a mailserver )

Currently I have only enabled this feature in nightlies & devs, I would give it a run and see how we feel about it.
2018-12-12 19:53:01 +01:00
.github Reduce number of days required to consider a PR stale to 14 2018-11-20 11:21:15 +01:00
android add mvnrepository.com for gradle 2018-12-10 21:04:38 +01:00
ci run pod only for ios 2018-12-12 16:22:14 +01:00
components/src/status_im/ui/components [Fixes #6800] Introduce picker componenet (and expose activity-loading, 2018-11-26 15:04:07 +01:00
deployment Add support for generating Windows install program instead of zip file. Part of #6304 2018-11-20 15:11:24 +01:00
desktop move upload step top platform specific builds, cleanup 2018-12-12 14:12:17 +01:00
desktop_files Prompt user explicitly to upload exact crash related files 2018-12-08 21:12:59 +02:00
doc Unify desktop builds. Closes #5406 2018-09-26 16:45:48 +02:00
docker-build update realm to 2.20.1 and node to 10.14.0 2018-11-30 15:46:58 +01:00
env Use multiple app instances simultaneously 2018-11-28 19:10:12 +02:00
fastlane add an e2e build target for ios 2018-12-05 18:43:11 +01:00
ios stop using build-* git tags for counting build numbers 2018-11-21 13:43:12 +01:00
mobile_files Upgrade realm to 2.21.0 2018-12-12 11:57:50 +01:00
modules Add mailservers confirmations & use peer count for online status 2018-12-12 19:53:01 +01:00
patches upgrade realm-js to 2.16.1 2018-09-25 18:03:12 +03:00
react-native/src Add react-native-desktop-menu native module 2018-12-01 02:03:06 +02:00
resources [#7002] Add a JS API allowing to install an extension 2018-12-07 13:24:45 +01:00
scripts Use StatusImAppImage package without redundant files 2018-12-09 15:59:42 +02:00
src/status_im Add mailservers confirmations & use peer count for online status 2018-12-12 19:53:01 +01:00
test Add mailservers confirmations & use peer count for online status 2018-12-12 19:53:01 +01:00
translations Add mailservers confirmations & use peer count for online status 2018-12-12 19:53:01 +01:00
.babelrc update react-native and project dependencies 2017-12-15 16:06:13 +01:00
.buckconfig upgrade react-native and packages - but broken 2016-04-24 15:07:08 +07:00
.dockerignore re-natal completely removed from the project and replaced with clj-rn 2018-07-18 23:56:39 +02:00
.env Add mailservers confirmations & use peer count for online status 2018-12-12 19:53:01 +01:00
.env.e2e Add mailservers confirmations & use peer count for online status 2018-12-12 19:53:01 +01:00
.env.jenkins Add mailservers confirmations & use peer count for online status 2018-12-12 19:53:01 +01:00
.env.nightly Add mailservers confirmations & use peer count for online status 2018-12-12 19:53:01 +01:00
.env.nightly.staging.fleet Add mailservers confirmations & use peer count for online status 2018-12-12 19:53:01 +01:00
.env.prod Enable group chats 2018-11-30 11:12:34 +01:00
.flowconfig Upgrade react native to 0.53.3 2018-03-02 12:21:21 +03:00
.gitattributes Desktop branch merged into develop (#5266) 2018-07-23 18:21:31 +03:00
.gitignore add an e2e build target for ios 2018-12-05 18:43:11 +01:00
CHANGELOG.md allow numbers in chat topics 2018-09-18 17:39:31 +02:00
Gemfile Remove inactive testflight users with jenkins 2018-03-28 14:09:56 +03:00
Gemfile.lock upgrade fastlane: 2.104.0 > 2.107.0 2018-10-23 12:26:22 +02:00
LICENSE.md Create LICENSE.md 2016-09-21 10:00:44 +08:00
Makefile Fix `make setup` 2018-11-30 17:49:39 +01:00
README.md Update links 2018-11-16 10:17:51 +01:00
STATUS_GO_VERSION Fix bug with characters in password 2018-12-11 17:56:12 +01:00
app.json update react-native and project dependencies 2017-12-15 16:06:13 +01:00
build.clj [#5339] switch Desktop to clj-rn 2018-10-24 15:48:08 +03:00
clj-rn.conf.edn Add react-native-desktop-menu native module 2018-12-01 02:03:06 +02:00
deps.edn [#6644] Chat command recipients should be able to install an extension 2018-11-29 16:43:15 +01:00
figwheel-bridge.js Use multiple app instances simultaneously 2018-11-28 19:10:12 +02:00
findSymlinkedModules.js.patch RN weird Jenkins stuff fix 2017-12-16 23:46:45 +01:00
project.clj [#6644] Chat command recipients should be able to install an extension 2018-11-29 16:43:15 +01:00
rn-cli.config.js [fix #4819] update react-native to 0.56 2018-09-05 21:27:46 +03:00
supervisord.conf Add docker-compose for development build 2018-04-11 14:58:38 +01:00
ubuntu-server.js Use multiple app instances simultaneously 2018-11-28 19:10:12 +02:00

README.md

Status - a Mobile Ethereum Operating System

Join us in creating a browser, messenger, and gateway to a decentralized world. Status is a free (libre) open source mobile client targeting Android & iOS built entirely on Ethereum technologies. That's right, no middle men and go-ethereum running directly on your device.

Getting started with Status

Why?

We believe in a medium of pure free trade, economies with fair, permission-less access and a world without intermediaries. We want to create policies that can exist between friends or scale globally, we want to communicate securely and be uninhibited by legacy systems.

We want to take responsibility for our data, the way we conduct ourselves privately and promote this way of life to a mass audience.

We want deep insights into our own economies so we can make informed, data-driven decisions on how to make our lives better. The Ethereum blockchain, Smart Contracts, Swarm and Whisper provides us a path forward.

If this interests you, help us make Status a reality - anyone can contribute and we need everyone at any skill level to participate.

How to Contribute?

Go straight to the docs or join our chat and choose what interests you:

  • Developer Developers are the heart of software and to keep Status beating we need all the help we can get! If you're looking to code in ClojureScript or Golang then Status is the project for you! We use React Native and there is even some Java/Objective-C too!
    Want to learn more about it? Start by reading our Developer Introduction which guides you through the technology stack and start browsing beginner issues. Then you can read how to Build Status, which talks about managing project dependencies, coding guidelines and testing procedures.

  • Community Management
    Metcalfe's law states that the value of a network is proportional to the square of the number of connected users of the system - without community Status is meaningless. We're looking to create a positive, fun environment to explore new ideas, experiment and grow the Status community. Building a community takes a lot of work but the people you'll meet and long lasting relationships you form will be well worth it, check out our Community Principles

  • Specification / Documentation
    John Dewey once said "Education is not preparation for life; education is life itself ". Developers & Designers need guidance and it all starts from documentation and specifications. Our software is only as good as its documentation, head over to our docs and see how you can improve what we have.

  • Blog Writing
    Content is King, keeping our blog up to date and informing the community of news helps keep everyone on the same page. Jump into our chat and discuss with the team how you can contribute!

  • Testers
    It's bug hunting season! Status is currently in Alpha and there is sure to be a bunch of learning, build status from scratch or if an android user check out our nightly builds. You can shake your phone to submit bug reports, or start browsing our Github Issues. Every bug you find brings Status closer to stable, usable software for everyone to enjoy!

  • Security
    Status is a visual interface to make permanent changes on the Blockchain, it handles crypto-tokens that have real value and allows 3rd party code execution. Security is paramount to its success. You are given permission to break Status as hard as you can, as long as you share your findings with the community!

  • Evangelism
    Help us spread the word! Tell a friend right now, in fact tell everyone - yell from a mountain if you have to, every person counts! If you've got a great story to tell or have some interesting way you've spread the word about Status let us know about it in our chat

Status API

View our API Docs and learn how to integrate your DApp into Status. You can read more about how to add your DApp to Status here.

Give me Binaries!

You can get our Beta builds for both Android and iOS on our website, through our nightly builds or by building it yourself.

Core Contributors

Core Team Members

Special thanks to @adrian-tiberius. Without the dedication of these outstanding individuals, Status would not exist.

Contact us

Feel free to email us at support@status.im or better yet, join our chat.

License

Licensed under the Mozilla Public License v2.0