diff --git a/.DS_Store b/.DS_Store index b5787ce..d566a2f 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/contributing/development/building-status/index.html b/contributing/development/building-status/index.html index fc25c94..d8b21d4 100644 --- a/contributing/development/building-status/index.html +++ b/contributing/development/building-status/index.html @@ -329,8 +329,8 @@ build/bin/geth attach http://localhost:8545

Walkthrough

Fork the repository on Github's web UI.

Clone your fork. Add the upstream as a remote.

-
$ git clone git@github:<you>/status-react
-$ git remote add upstream git@github:status-im/status-react
+
$ git clone git@github.com:<you>/status-react.git
+$ git remote add upstream git@github.com:status-im/status-react.git
 

Now you have two remotes: origin pointing to your fork and upstream pointing to the shared repo.

$ git fetch --all
diff --git a/contributing/testing-and-feedback/index.html b/contributing/testing-and-feedback/index.html
index ac56808..feab503 100644
--- a/contributing/testing-and-feedback/index.html
+++ b/contributing/testing-and-feedback/index.html
@@ -238,14 +238,22 @@
 

Shake your phone and submit bug report. Please try to be as descripive as possible.

For Developers

-

To run appium tests:

+

UI (Appium) tests

+

To run the tests:

    -
  1. install appium npm install -g appium
  2. -
  3. start appium server in new tab appium &
  4. -
  5. start application on emulator or real device
  6. -
  7. run tests lein test
  8. +
  9. Install appium: run npm install -g appium
  10. +
  11. Start application on emulator or real device (more details here)
  12. +
  13. Start appium server in new tab: run appium --session-override
  14. +
  15. Run lein test
-

To run unit tests execute:

+

Hints / Gotchas:

+
    +
  • Confirmed working using Appium version 1.6.1.
  • +
  • To find an element easily in the tests, use the :accessibility-label property in the respective Reagent component.
  • +
  • When querying an element by its inner text, be sure to use the whole text that the element is supposed to contain (it won't match just a part of the text).
  • +
+

Unit tests

+

To run the unit tests execute:

lein doo node test once
or
lein doo node test

diff --git a/getting-started/mission-and-core-values/index.html b/getting-started/mission-and-core-values/index.html index e3b33e7..67440c0 100644 --- a/getting-started/mission-and-core-values/index.html +++ b/getting-started/mission-and-core-values/index.html @@ -239,12 +239,32 @@

Mission & Core Values

Join us in putting Ethereum on every mobile device on the planet.

Beliefs

-

It is our belief that messenger apps are on the path to becoming gateways to our economies and social lives, they have the highest retention rates on user acquisition and more time is spent in messenger apps than any others. This, combined with community and a strategy for mass adoption we believe solves a real problem in the on-boarding of people onto the Blockchain — our favourite being Ethereum.

-

Blockchains, more specifically public Blockchains, have the potential to restructure the very fabric of our society, and we believe Ethereum provides the clearest path forward towards an internet where users get to own their own data, and economies are built on open protocols. We imagine a future where decentralized applications make central intermediaries and centralised servers legacy systems. We can pave the way towards conversational crypto-commerce.

+

It is our belief that messenger apps are on the path to becoming gateways to our economies and social lives, they have the highest retention rates on user acquisition and more time is spent in messenger apps than any others. Successful messaging apps lend themselves to mass adoption and, combined with a strong open source community, we believe Status can solve a real problem with the on-boarding of people onto the blockchain; our favourite being Ethereum.

+

Blockchains, more specifically public Blockchains, have the potential to restructure the very fabric of our society. We believe Ethereum provides the clearest path forward towards an internet where users get to own their own data, and economies are built on open protocols. We imagine a future where decentralized applications make central intermediaries and centralised servers largely redundant. We can pave the way towards conversational crypto-commerce.

The Mission

-

Our mission is to facilitate the transition to a more open internet. Status strives to lower the barriers to entry to interact with Ethereum, and provide an onramp to Web 3.0 for the average smartphone user - whilst at the same time fostering the Ethereum community and showcasing we have to offer.

-

We intend to employee a strategy that contains three core components: Technology, Community & User Aquisition.

+

Our mission is to facilitate the transition to a more open internet. Status strives to lower the barriers to interacting with Ethereum, and to provide an onramp to the Web 3.0 for the average smartphone user - whilst at the same time fostering an inclusive and diverse open source community.

+

We intend to employ a strategy that contains three core components: Technology, Community & User Aquisition.

Technology

+
    +
  • +

    Status is built using Clojure.js, React and Golang. It includes a geth node on your device that uses the Light Ethereum Subprotocol (LES) to validate and sync with the blockchain. It uses Whisper (shh) as its messaging client and aims to integrate Swarm for storage.

    +
  • +
  • +

    We build systems where the goal is not to dominate and control, but to provide tools and applications that facilitate the better angels of our nature, rather than feeding the purely consumerist habits we have become so used to believing have no alternative.

    +
  • +
  • +

    We actively experiment with and deploy the latest technologies in the ongoing drive to provide a slick user experience while not compromising on the security or sovereignity of any user's data.

    +
  • +
  • +

    We offer an intuitve entry point into decentralized, encrypted, peer-ro-peer networks that is maintained by a large and diverse group of open-source developers.

    +
  • +
  • +

    We approach all contributions with an open mind and respect the opinions of our fellow developers. We aim to foster an environment conducive to easy, intuitive and consistent learning and one that fosters innovation at all levels.

    +
  • +
  • +

    We aim to help as many people to learn and contribute to the community's effort and always aim to encourage those more new to the paradigm of massively concurrent peer-to-peer networks than we are.

    +
  • +

Community

working with dapp develoeprs

User Aquisition

@@ -255,6 +275,9 @@

Free (libre) and open source software.

  • +

    Reciprocity, open-mindedness, respect and encouragement.

    +
  • +
  • Our work is driven by a belief that Ethereum and public blockchains can yield great benefits to society, and access to DApps and Ethereum should be made available to anyone, anywhere.

  • diff --git a/index.html b/index.html index ac35e4b..c2509c1 100644 --- a/index.html +++ b/index.html @@ -354,5 +354,5 @@ Without the dedication of these fine gentleman, Status would not exist.

    diff --git a/mkdocs/search_index.json b/mkdocs/search_index.json index 0bea365..c0d649f 100644 --- a/mkdocs/search_index.json +++ b/mkdocs/search_index.json @@ -42,7 +42,7 @@ }, { "location": "/getting-started/mission-and-core-values/", - "text": "Mission \n Core Values\n\n\nJoin us in putting Ethereum on every mobile device on the planet.\n\n\nBeliefs\n\n\nIt is our belief that messenger apps are on the path to becoming gateways to our economies and social lives, they have the highest retention rates on user acquisition and more time is spent in messenger apps than any others. This, combined with community and a strategy for mass adoption we believe solves a real problem in the on-boarding of people onto the Blockchain\u200a\u2014\u200aour favourite being Ethereum. \n\n\nBlockchains, more specifically \npublic Blockchains\n, have the potential to restructure the very fabric of our society, and we believe Ethereum provides the clearest path forward towards an internet where users get to own their own data, and economies are built on open protocols. We imagine a future where decentralized applications make central intermediaries and centralised servers legacy systems. We can pave the way towards \nconversational crypto-commerce.\n \n\n\nThe Mission\n\n\nOur mission is to facilitate the transition to a more open internet. Status strives to lower the barriers to entry to interact with Ethereum, and provide an onramp to Web 3.0 for the average smartphone user - whilst at the same time fostering the Ethereum community and showcasing we have to offer.\n\n\nWe intend to employee a strategy that contains three core components: \nTechnology\n, \nCommunity\n \n \nUser Aquisition\n.\n\n\nTechnology\n\n\nCommunity\n\n\nworking with dapp develoeprs\n\n\nUser Aquisition\n\n\nmarketing campaigns for dapp developers, user aquisition for mass adoption\n\n\nCore Values\n\n\n\n\n\n\nFree (libre) and open source software.\n\n\n\n\n\n\nOur work is driven by a belief that Ethereum and public blockchains can yield great benefits to society, and access to DApps and Ethereum should be made available to anyone, anywhere.\n\n\n\n\n\n\nThe systems we're creating must be open, permissionless, award fair access and democratise power.\n\n\n\n\n\n\nCommunication should be clear and transparent to everyone in the community.", + "text": "Mission \n Core Values\n\n\nJoin us in putting Ethereum on every mobile device on the planet.\n\n\nBeliefs\n\n\nIt is our belief that messenger apps are on the path to becoming gateways to our economies and social lives, they have the highest retention rates on user acquisition and more time is spent in messenger apps than any others. Successful messaging apps lend themselves to mass adoption and, combined with a strong open source community, we believe Status can solve a real problem with the on-boarding of people onto the blockchain;\u200aour favourite being Ethereum. \n\n\nBlockchains, more specifically \npublic Blockchains\n, have the potential to restructure the very fabric of our society. We believe Ethereum provides the clearest path forward towards an internet where users get to own their own data, and economies are built on open protocols. We imagine a future where decentralized applications make central intermediaries and centralised servers largely redundant. We can pave the way towards \nconversational crypto-commerce\n. \n\n\nThe Mission\n\n\nOur mission is to facilitate the transition to a more open internet. Status strives to lower the barriers to interacting with Ethereum, and to provide an onramp to the Web 3.0 for the average smartphone user - whilst at the same time fostering an inclusive and diverse open source community.\n\n\nWe intend to employ a strategy that contains three core components: \nTechnology\n, \nCommunity\n \n \nUser Aquisition\n.\n\n\nTechnology\n\n\n\n\n\n\nStatus is built using Clojure.js, React and Golang. It includes a geth node on your device that uses the Light Ethereum Subprotocol (LES) to validate and sync with the blockchain. It uses Whisper (shh) as its messaging client and aims to integrate Swarm for storage.\n\n\n\n\n\n\nWe build systems where the goal is not to dominate and control, but to provide tools and applications that facilitate the better angels of our nature, rather than feeding the purely consumerist habits we have become so used to believing have no alternative. \n\n\n\n\n\n\nWe actively experiment with and deploy the latest technologies in the ongoing drive to provide a slick user experience while not compromising on the security or sovereignity of any user's data.\n\n\n\n\n\n\nWe offer an intuitve entry point into decentralized, encrypted, peer-ro-peer networks that is maintained by a large and diverse group of open-source developers.\n\n\n\n\n\n\nWe approach all contributions with an open mind and respect the opinions of our fellow developers. We aim to foster an environment conducive to easy, intuitive and consistent learning and one that fosters innovation at all levels.\n\n\n\n\n\n\nWe aim to help as many people to learn and contribute to the community's effort and always aim to encourage those more new to the paradigm of massively concurrent peer-to-peer networks than we are.\n\n\n\n\n\n\nCommunity\n\n\nworking with dapp develoeprs\n\n\nUser Aquisition\n\n\nmarketing campaigns for dapp developers, user aquisition for mass adoption\n\n\nCore Values\n\n\n\n\n\n\nFree (libre) and open source software.\n\n\n\n\n\n\nReciprocity, open-mindedness, respect and encouragement.\n\n\n\n\n\n\nOur work is driven by a belief that Ethereum and public blockchains can yield great benefits to society, and access to DApps and Ethereum should be made available to anyone, anywhere.\n\n\n\n\n\n\nThe systems we're creating must be open, permissionless, award fair access and democratise power.\n\n\n\n\n\n\nCommunication should be clear and transparent to everyone in the community.", "title": "Mission & Core Values" }, { @@ -52,17 +52,17 @@ }, { "location": "/getting-started/mission-and-core-values/#beliefs", - "text": "It is our belief that messenger apps are on the path to becoming gateways to our economies and social lives, they have the highest retention rates on user acquisition and more time is spent in messenger apps than any others. This, combined with community and a strategy for mass adoption we believe solves a real problem in the on-boarding of people onto the Blockchain\u200a\u2014\u200aour favourite being Ethereum. Blockchains, more specifically public Blockchains , have the potential to restructure the very fabric of our society, and we believe Ethereum provides the clearest path forward towards an internet where users get to own their own data, and economies are built on open protocols. We imagine a future where decentralized applications make central intermediaries and centralised servers legacy systems. We can pave the way towards conversational crypto-commerce.", + "text": "It is our belief that messenger apps are on the path to becoming gateways to our economies and social lives, they have the highest retention rates on user acquisition and more time is spent in messenger apps than any others. Successful messaging apps lend themselves to mass adoption and, combined with a strong open source community, we believe Status can solve a real problem with the on-boarding of people onto the blockchain;\u200aour favourite being Ethereum. Blockchains, more specifically public Blockchains , have the potential to restructure the very fabric of our society. We believe Ethereum provides the clearest path forward towards an internet where users get to own their own data, and economies are built on open protocols. We imagine a future where decentralized applications make central intermediaries and centralised servers largely redundant. We can pave the way towards conversational crypto-commerce .", "title": "Beliefs" }, { "location": "/getting-started/mission-and-core-values/#the-mission", - "text": "Our mission is to facilitate the transition to a more open internet. Status strives to lower the barriers to entry to interact with Ethereum, and provide an onramp to Web 3.0 for the average smartphone user - whilst at the same time fostering the Ethereum community and showcasing we have to offer. We intend to employee a strategy that contains three core components: Technology , Community User Aquisition .", + "text": "Our mission is to facilitate the transition to a more open internet. Status strives to lower the barriers to interacting with Ethereum, and to provide an onramp to the Web 3.0 for the average smartphone user - whilst at the same time fostering an inclusive and diverse open source community. We intend to employ a strategy that contains three core components: Technology , Community User Aquisition .", "title": "The Mission" }, { "location": "/getting-started/mission-and-core-values/#technology", - "text": "", + "text": "Status is built using Clojure.js, React and Golang. It includes a geth node on your device that uses the Light Ethereum Subprotocol (LES) to validate and sync with the blockchain. It uses Whisper (shh) as its messaging client and aims to integrate Swarm for storage. We build systems where the goal is not to dominate and control, but to provide tools and applications that facilitate the better angels of our nature, rather than feeding the purely consumerist habits we have become so used to believing have no alternative. We actively experiment with and deploy the latest technologies in the ongoing drive to provide a slick user experience while not compromising on the security or sovereignity of any user's data. We offer an intuitve entry point into decentralized, encrypted, peer-ro-peer networks that is maintained by a large and diverse group of open-source developers. We approach all contributions with an open mind and respect the opinions of our fellow developers. We aim to foster an environment conducive to easy, intuitive and consistent learning and one that fosters innovation at all levels. We aim to help as many people to learn and contribute to the community's effort and always aim to encourage those more new to the paradigm of massively concurrent peer-to-peer networks than we are.", "title": "Technology" }, { @@ -77,7 +77,7 @@ }, { "location": "/getting-started/mission-and-core-values/#core-values", - "text": "Free (libre) and open source software. Our work is driven by a belief that Ethereum and public blockchains can yield great benefits to society, and access to DApps and Ethereum should be made available to anyone, anywhere. The systems we're creating must be open, permissionless, award fair access and democratise power. Communication should be clear and transparent to everyone in the community.", + "text": "Free (libre) and open source software. Reciprocity, open-mindedness, respect and encouragement. Our work is driven by a belief that Ethereum and public blockchains can yield great benefits to society, and access to DApps and Ethereum should be made available to anyone, anywhere. The systems we're creating must be open, permissionless, award fair access and democratise power. Communication should be clear and transparent to everyone in the community.", "title": "Core Values" }, { @@ -432,7 +432,7 @@ }, { "location": "/contributing/development/building-status/", - "text": "Building Status\n\n\nThis document is the entry point for developers of Status. This guide is for anyone who is interested in building, developing, debugging or submitting a bug report, pull request or contributing to Status with code.\n\n\nThis guide is written with OS X in mind.\n\n\nBuild and Test\n\n\nRequirements\n\n\n\n\nHomebrew\n + \nbrew update\n (optional, for OS X)\n\n\nNode \n NPM\n \nbrew install node watchman\n\n\nLein\n \nbrew install leiningen\n\n\nreact-native\n \nnpm install -g react-native-cli\n\n\nLatest JDK\n \nbrew cask install java\n\n\nAndroid SDK with build tools version 23.0.1 [Mac] \nbrew install android-sdk\n or \nWindows/Linux\n\n\nGenymotion\n (optional, you may use an Android Virtual Device or real device)\n\n\nSetup Android Development Environment / Simulator\n\n\nGIT over SSH, please add public key to Github\n\n\nMaven\n \nbrew install maven\n\n\nCocoapods\n \nsudo gem install cocoapods\n\n\n\n\nDependencies \n Setup\n\n\n$ git clone git@github.com:status-im/status-react.git -b master \n cd status-react\n# or\n$ git clone git@github.com:status-im/status-react.git -b develop \n cd status-react\n\n$ lein deps \n npm install \n ./re-natal deps\n$ mvn -f modules/react-native-status/ios/RCTStatus dependency:unpack\n$ cd ios \n pod install \n cd ..\n\n\n\nBuilding Status for Release\n\n\n# fill in store file properties in android/gradle.properties\n$ lein prod-build\n$ react-native run-android --variant=release\n# for iOS, build in Xcode\n\n\n\nBuilding Status for Development\n\n\n$ ./re-natal use-android-device \ndevice\n # (genymotion, real or avd)\n# or\n$ ./re-natal use-ios-device \ndevice\n # (simulator or real)\n\n$ ./re-natal use-figwheel\n\n# new tab, run figwheel REPL\n$ BUILD_IDS=\"ios,android\" lein repl\n\n# new tab, run react native packager\n$ react-native start\n\n# new tab, enable communication to react-native and figwheel\n# for android\n$ adb reverse tcp:8081 tcp:8081\n$ adb reverse tcp:3449 tcp:3449\n$ react-native run-android\n\n# for ios\n$ react-native run-ios\n\n\n\nAccess Geth on Device\n\n\nadb forward tcp:8545 tcp:8545\nbuild/bin/geth attach http://localhost:8545\n\n\n\nContributing\n\n\nPlease make sure your contributions adhere to our coding guidelines:\n\n\n\n\nCode must be idiomatic Clojure, please refer to the \nstyle guidelines\n (i.e. use \nlein eastwood\n\n \n \nlein kibit\n).\n\n\nCode must be documented.\n\n\nPull requests need to be based on and opened against the \ndevelop\n branch.\n\n\nCommit messages should be prefixed with the root namespace(s) under \nstatus-im\n that they modify.\n\n\ne.g. \"contacts, ios: add contact stylistic changes\"\n\n\n\n\nIssues\n\n\nOnly Github is used to track issues. (Please include the commit and branch when reporting an issue.)\n\n\nOverv.io\n is used to overview issues in multiple repositories.\n\n\nCode formatting\n\n\nPlease run \nlein eastwood\n and \nlein kibit\n before contributing.\n\n\nBranch naming\n\n\nBranch format must be under \nCATEGORY/PLAIN-TEXT-#ISSUE_NUMBER\n acceptable branches are;\n\n\nfeature/discover\n or \nbug/broken-form-#113\n\n\nThe following categories are;\n- \nfeature/\n for implementation of features\n- \nbug/\n for fixing bugs\n- \ntests/\n for unit/UI tests\n- \nexperiment/\n for non-features\n- \nwip/\n for longer lived branches\n- \njunk/\n for irrelevant/soon-to-be-deleted branches\n\n\nPull Requests\n\n\nPull Requests should by default use the \ndevelop\n branch as a base. The \nmaster\n branch is kept stable and \ndevelop\n is periodically merged there. Tags are used for releases. Each Pull Request must be rebased against \ndevelop\n and squashed into a single commit, prefixed with the root namespace(s) under \nstatus-im\n that they modify. e.g.\n\n\n\n\n\"contacts, ios: add contact stylistic changes\"\n\n\n\n\nWalkthrough\n\n\nFork the repository on Github's web UI.\n\n\nClone your fork. Add the upstream as a remote.\n\n\n$ git clone git@github:\nyou\n/status-react\n$ git remote add upstream git@github:status-im/status-react\n\n\n\nNow you have two remotes: \norigin\n pointing to your fork and \nupstream\n pointing to the shared repo.\n\n\n$ git fetch --all\n\n\n\nThen isolate the bug/feature work you will do into a topic branch\n\n\n$ git checkout -b bug/missing-contact-#116 upstream/develop\n\n\n\nKeep your branch fresh against upstream\n\n\n$ git fetch upstream\n$ git rebase upstream/develop\n\n\n\nIf multiple people are working on the same feature branch don't forget to also\n\n\n$ git rebase upstream bug/missing-contact-#116\n\n\n\nWhen you are ready to make your pull request\n\n\n$ git push origin\n\n\n\nAfter PR has been reviewed do a final cleanup and squash your commit\n\n\n$ git rebase -i upstream/develop\n$ git push -f origin\n\n\n\nRepository Overview\n\n\nThe Status application is divided into 6 core repositories;\n\n\n\n\n\n\nstatus-react\n - our main react native application writtein in Clojurescript, Java \n Objective C\n\n\n\n\n\n\ngo-ethereum\n - our branch of \ngo-ethereum\n which contains our custom modifications in \ngo-ethereum/status-develop\n\n\n\n\n\n\nstatus-go\n - represents our binding to the \ngo-ethereum\n lib and exposes methods to \nstatus-react\n to Java / Objective C.\n\n\n\n\nstatus-lib\n - implements our application protocols for chatbots, has been absorbed into \nstatus-react\n until application protocol settles\n\n\nreact-native-status\n - the intent behind this repo was to seperate Java/Objective C code into a react native module, it may be absorbed into \nstatus-react\n in future\n\n\nstatus-server\n - is our intermediary server primarily used for contact discovery.", + "text": "Building Status\n\n\nThis document is the entry point for developers of Status. This guide is for anyone who is interested in building, developing, debugging or submitting a bug report, pull request or contributing to Status with code.\n\n\nThis guide is written with OS X in mind.\n\n\nBuild and Test\n\n\nRequirements\n\n\n\n\nHomebrew\n + \nbrew update\n (optional, for OS X)\n\n\nNode \n NPM\n \nbrew install node watchman\n\n\nLein\n \nbrew install leiningen\n\n\nreact-native\n \nnpm install -g react-native-cli\n\n\nLatest JDK\n \nbrew cask install java\n\n\nAndroid SDK with build tools version 23.0.1 [Mac] \nbrew install android-sdk\n or \nWindows/Linux\n\n\nGenymotion\n (optional, you may use an Android Virtual Device or real device)\n\n\nSetup Android Development Environment / Simulator\n\n\nGIT over SSH, please add public key to Github\n\n\nMaven\n \nbrew install maven\n\n\nCocoapods\n \nsudo gem install cocoapods\n\n\n\n\nDependencies \n Setup\n\n\n$ git clone git@github.com:status-im/status-react.git -b master \n cd status-react\n# or\n$ git clone git@github.com:status-im/status-react.git -b develop \n cd status-react\n\n$ lein deps \n npm install \n ./re-natal deps\n$ mvn -f modules/react-native-status/ios/RCTStatus dependency:unpack\n$ cd ios \n pod install \n cd ..\n\n\n\nBuilding Status for Release\n\n\n# fill in store file properties in android/gradle.properties\n$ lein prod-build\n$ react-native run-android --variant=release\n# for iOS, build in Xcode\n\n\n\nBuilding Status for Development\n\n\n$ ./re-natal use-android-device \ndevice\n # (genymotion, real or avd)\n# or\n$ ./re-natal use-ios-device \ndevice\n # (simulator or real)\n\n$ ./re-natal use-figwheel\n\n# new tab, run figwheel REPL\n$ BUILD_IDS=\"ios,android\" lein repl\n\n# new tab, run react native packager\n$ react-native start\n\n# new tab, enable communication to react-native and figwheel\n# for android\n$ adb reverse tcp:8081 tcp:8081\n$ adb reverse tcp:3449 tcp:3449\n$ react-native run-android\n\n# for ios\n$ react-native run-ios\n\n\n\nAccess Geth on Device\n\n\nadb forward tcp:8545 tcp:8545\nbuild/bin/geth attach http://localhost:8545\n\n\n\nContributing\n\n\nPlease make sure your contributions adhere to our coding guidelines:\n\n\n\n\nCode must be idiomatic Clojure, please refer to the \nstyle guidelines\n (i.e. use \nlein eastwood\n\n \n \nlein kibit\n).\n\n\nCode must be documented.\n\n\nPull requests need to be based on and opened against the \ndevelop\n branch.\n\n\nCommit messages should be prefixed with the root namespace(s) under \nstatus-im\n that they modify.\n\n\ne.g. \"contacts, ios: add contact stylistic changes\"\n\n\n\n\nIssues\n\n\nOnly Github is used to track issues. (Please include the commit and branch when reporting an issue.)\n\n\nOverv.io\n is used to overview issues in multiple repositories.\n\n\nCode formatting\n\n\nPlease run \nlein eastwood\n and \nlein kibit\n before contributing.\n\n\nBranch naming\n\n\nBranch format must be under \nCATEGORY/PLAIN-TEXT-#ISSUE_NUMBER\n acceptable branches are;\n\n\nfeature/discover\n or \nbug/broken-form-#113\n\n\nThe following categories are;\n- \nfeature/\n for implementation of features\n- \nbug/\n for fixing bugs\n- \ntests/\n for unit/UI tests\n- \nexperiment/\n for non-features\n- \nwip/\n for longer lived branches\n- \njunk/\n for irrelevant/soon-to-be-deleted branches\n\n\nPull Requests\n\n\nPull Requests should by default use the \ndevelop\n branch as a base. The \nmaster\n branch is kept stable and \ndevelop\n is periodically merged there. Tags are used for releases. Each Pull Request must be rebased against \ndevelop\n and squashed into a single commit, prefixed with the root namespace(s) under \nstatus-im\n that they modify. e.g.\n\n\n\n\n\"contacts, ios: add contact stylistic changes\"\n\n\n\n\nWalkthrough\n\n\nFork the repository on Github's web UI.\n\n\nClone your fork. Add the upstream as a remote.\n\n\n$ git clone git@github.com:\nyou\n/status-react.git\n$ git remote add upstream git@github.com:status-im/status-react.git\n\n\n\nNow you have two remotes: \norigin\n pointing to your fork and \nupstream\n pointing to the shared repo.\n\n\n$ git fetch --all\n\n\n\nThen isolate the bug/feature work you will do into a topic branch\n\n\n$ git checkout -b bug/missing-contact-#116 upstream/develop\n\n\n\nKeep your branch fresh against upstream\n\n\n$ git fetch upstream\n$ git rebase upstream/develop\n\n\n\nIf multiple people are working on the same feature branch don't forget to also\n\n\n$ git rebase upstream bug/missing-contact-#116\n\n\n\nWhen you are ready to make your pull request\n\n\n$ git push origin\n\n\n\nAfter PR has been reviewed do a final cleanup and squash your commit\n\n\n$ git rebase -i upstream/develop\n$ git push -f origin\n\n\n\nRepository Overview\n\n\nThe Status application is divided into 6 core repositories;\n\n\n\n\n\n\nstatus-react\n - our main react native application writtein in Clojurescript, Java \n Objective C\n\n\n\n\n\n\ngo-ethereum\n - our branch of \ngo-ethereum\n which contains our custom modifications in \ngo-ethereum/status-develop\n\n\n\n\n\n\nstatus-go\n - represents our binding to the \ngo-ethereum\n lib and exposes methods to \nstatus-react\n to Java / Objective C.\n\n\n\n\nstatus-lib\n - implements our application protocols for chatbots, has been absorbed into \nstatus-react\n until application protocol settles\n\n\nreact-native-status\n - the intent behind this repo was to seperate Java/Objective C code into a react native module, it may be absorbed into \nstatus-react\n in future\n\n\nstatus-server\n - is our intermediary server primarily used for contact discovery.", "title": "Building Status" }, { @@ -497,7 +497,7 @@ }, { "location": "/contributing/development/building-status/#walkthrough", - "text": "Fork the repository on Github's web UI. Clone your fork. Add the upstream as a remote. $ git clone git@github: you /status-react\n$ git remote add upstream git@github:status-im/status-react Now you have two remotes: origin pointing to your fork and upstream pointing to the shared repo. $ git fetch --all Then isolate the bug/feature work you will do into a topic branch $ git checkout -b bug/missing-contact-#116 upstream/develop Keep your branch fresh against upstream $ git fetch upstream\n$ git rebase upstream/develop If multiple people are working on the same feature branch don't forget to also $ git rebase upstream bug/missing-contact-#116 When you are ready to make your pull request $ git push origin After PR has been reviewed do a final cleanup and squash your commit $ git rebase -i upstream/develop\n$ git push -f origin", + "text": "Fork the repository on Github's web UI. Clone your fork. Add the upstream as a remote. $ git clone git@github.com: you /status-react.git\n$ git remote add upstream git@github.com:status-im/status-react.git Now you have two remotes: origin pointing to your fork and upstream pointing to the shared repo. $ git fetch --all Then isolate the bug/feature work you will do into a topic branch $ git checkout -b bug/missing-contact-#116 upstream/develop Keep your branch fresh against upstream $ git fetch upstream\n$ git rebase upstream/develop If multiple people are working on the same feature branch don't forget to also $ git rebase upstream bug/missing-contact-#116 When you are ready to make your pull request $ git push origin After PR has been reviewed do a final cleanup and squash your commit $ git rebase -i upstream/develop\n$ git push -f origin", "title": "Walkthrough" }, { @@ -527,7 +527,7 @@ }, { "location": "/contributing/testing-and-feedback/", - "text": "Testing\n\n\nShake your phone and submit bug report.\nPlease try to be as descripive as possible.\n\n\nFor Developers\n\n\nTo run appium tests:\n\n\n\n\ninstall appium \nnpm install -g appium\n\n\nstart appium server in new tab \nappium \n\n\nstart application on emulator or real device\n\n\nrun tests \nlein test\n\n\n\n\nTo run unit tests execute:\n\n\nlein doo node test once\n \n\n or\n\n\nlein doo node test\n\n\nSecond command will watch files inside \nsrc\n and \ntest\n folders and rerun on changes.", + "text": "Testing\n\n\nShake your phone and submit bug report.\nPlease try to be as descripive as possible.\n\n\nFor Developers\n\n\nUI (Appium) tests\n\n\nTo run the tests:\n\n\n\n\nInstall appium: run \nnpm install -g appium\n\n\nStart application on emulator or real device (\nmore details here\n)\n\n\nStart appium server in new tab: run \nappium --session-override\n\n\nRun \nlein test\n\n\n\n\nHints / Gotchas:\n\n\n\n\nConfirmed working using Appium version 1.6.1.\n\n\nTo find an element easily in the tests, use the \n:accessibility-label\n property in the respective Reagent component.\n\n\nWhen querying an element by its inner text, be sure to use the whole text that the element is supposed to contain (it won't match just a part of the text).\n\n\n\n\nUnit tests\n\n\nTo run the unit tests execute:\n\n\nlein doo node test once\n \n\n or\n\n\nlein doo node test\n\n\nSecond command will watch files inside \nsrc\n and \ntest\n folders and rerun on changes.", "title": "Testing & Feedback" }, { @@ -537,9 +537,19 @@ }, { "location": "/contributing/testing-and-feedback/#for-developers", - "text": "To run appium tests: install appium npm install -g appium start appium server in new tab appium start application on emulator or real device run tests lein test To run unit tests execute: lein doo node test once \n or lein doo node test Second command will watch files inside src and test folders and rerun on changes.", + "text": "", "title": "For Developers" }, + { + "location": "/contributing/testing-and-feedback/#ui-appium-tests", + "text": "To run the tests: Install appium: run npm install -g appium Start application on emulator or real device ( more details here ) Start appium server in new tab: run appium --session-override Run lein test Hints / Gotchas: Confirmed working using Appium version 1.6.1. To find an element easily in the tests, use the :accessibility-label property in the respective Reagent component. When querying an element by its inner text, be sure to use the whole text that the element is supposed to contain (it won't match just a part of the text).", + "title": "UI (Appium) tests" + }, + { + "location": "/contributing/testing-and-feedback/#unit-tests", + "text": "To run the unit tests execute: lein doo node test once \n or lein doo node test Second command will watch files inside src and test folders and rerun on changes.", + "title": "Unit tests" + }, { "location": "/contributing/documenting/", "text": "Documenting\n\n\nWithout clear documentation, new members to the community have no clear instruction on how they can help to make Status better. We truly value contributions that help to improve our documentation; whether that be tutorials for users, additions to the FAQs, or more granular instructions for developers - it all adds up and our community appreciates it :)\n\n\nOur Wiki is powered by MKDocs, and is on: \nhttps://github.com/status-im/wiki.status.im\n, and if you spot any errors, find parts of the documentation confusing, or have some suggestions on how we could have clearer communication we'd love your help, and feel free to let us know via the \nStatus Slack\n.\n\n\nDocumenting Guide\n\n\nIt's fairly difficult to write a general documentation guide as how you document stuff will depend on what it is you are trying to explain. The most basic stuff to know is that MKDocs uses markdown as it's primary language, although you can also write your guides using inline HTML as well. Please go \nhere\n for more detailed info on this, as well as a look at how the file structure of our docs works.\n\n\nGetting Set Up\n\n\nYou need to have both python and pip set up on your machine to install MKDocs. You can find all the information for how to do that and what versions are required \nhere\n. I had python already intalled on my machine, but needed to get pip:\n\n\nsudo easy_install pip\nsudo pip install mkdocs\n\n\n\n\nIt seemed like using \nsudo\n was important otherwise the mkdocs install failed with some nasty stack trace, but that may have been specific to my environment (Mac). Once you have got that all working and \n\n\nmkdocs --version\n \n\n\nreturns an answer (currently \nmkdocs, version 0.16.1\n), then you can clone into the status repo and get going.\n\n\ngit clone https://github.com/status-im/wiki.status.im.git\n \n\n\n(or \ngit clone git@github.com:status-im/wiki.status.im.git\n if you have your SSH keys set up) followed by \n\n\ncd wiki.status.im\nmkdocs serve\n\n\n\n\nYou should then be able to navigate to http://localhost:8000 or http://127.0.0.1:8000 and see the changes you are making to the wiki as you make them. Magic!\n\n\nGeneral Notes on What We Look For\n\n\nGenerally speaking, we like a lot of screenshots and less language as this helps us to guide people all over the world who may not all speak the same languages. Take a look at our \nUser Guide\n for a rough outline of what we mean by balancing your text with screenshots and other helpful images. \n\n\nAs you can see from our \ngithub repo\n all of the different documents are kept in the \ndocs\n directory. Click through to there to find the section and then the specific document you are wanting to add to or edit, or make a new file for documentation that you feel is missing. \n\n\n\n\nIn the top level repo, you can also see an \nmkdocs.yml\n file, which is what controls how and where each document appears. If you are adding a new document, you will need to speak to Jarrad, Carl or another team member to figure out where it belongs, but either way you will need to edit this file in order for it to appear. It is definitely best to communicate with the core team before diving this deep though.\n\n\nAs you can see, I have uploaded a bunch of images into this post (which is largely about encouraging you to use lots of images in your own documentation and explainers). The images are all kept in the \nimg\n directory in each folder within the \ndocs\n directory. You cannot upload straight to these \nimg\n folders as that requires push access to the whole repo, but you can make your own fork of \nwiki.status.im\n and upload the images there to be merged by the team once you have completed your awesome work. To do all this, navigate to the folder you are working in and click the \nFork\n option in the very top right. This will start a new fork of the wiki in your own repo, where you can upload the photos and then later push back to status to be merged.\n\n\n\n\nOnce you have forked it and selected where it should go in your profile, you can then add images easily by either dragging and dropping or uploading directly from your machine.\n\n\n\n\nYou can select the first radio button option to commit the uploaded images you need directly onto your own master branch. From there, once you are sure that all the changes you have made are the ones you want to make and look good on the wiki via that neat trick with\n\n\nmkdocs serve\n\n\nthen you can submit a PR to the actual status wiki:\n\n\n\n\nClick the highlighted button near the top right and follow the instructions from there to submit your changes to the status team. You should see a screen something like this where you can review all the changes you have made before actually submitting. For the PR, I have uploaded the photos needed for this post, made two grammatical changes to the User Guide and, obviously enough, uploaded this entire \ndocumenting.md\n file, all of which I can review easily. \n\n\n\n\nThank you so much for adding to our wonderful, free (libre) open source, community-driven effort to bring Ethereum to the people!\n\n\nDocumentation Guidelines\n\n\nThese will evolve as the project does, but really depends on what specific type of documentation you are looking to help out with. For technical documentation, examples and lots of code is what we are primarily looking for; by way of example see the first set up section of this article. For instance, in order to add an image here, you can either use inline html (my preferred option because it is easier to positiona dn style) or the normal markdown way of doing things. The images above are inserted like so:\n\n\ncenter\nimg src=\"../img/status-wiki.png\" /\n/center\n \n\n\nand style tags etc can be added really easily:\n\n\ncenter\nimg src=\"../img/status-wiki.png\" style=\"width:300px\" /\n/center\n\n\nor you can just do it in normal markdown:\n\n\n[![We lost the documentation on quantum mechanics. You'll have to decode the regexes yourself.](img/xkcd-224.jpg)](https://xkcd.com/224/ \"We lost the documentation on quantum mechanics. You'll have to decode the regexes yourself.\")\n\n\nIf you are writing documentation that is end-user-facing, rather than aimed at the technical folks in our community, then the less code and text and the more pretty images with directions scrawled across them the better.", diff --git a/sitemap.xml b/sitemap.xml index 4078f20..66069f1 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -4,7 +4,7 @@ https://wiki.status.im/ - 2017-01-20 + 2017-01-29 daily @@ -13,37 +13,37 @@ https://wiki.status.im/getting-started/mission-and-core-values/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/getting-started/user-guide/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/getting-started/faq/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/getting-started/code-of-conduct/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/contributing/development/introduction/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/community/how-to-grow-our-community/ - 2017-01-20 + 2017-01-29 daily @@ -59,31 +59,31 @@ https://wiki.status.im/contributing/design-guidelines/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/contributing/testing-and-feedback/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/contributing/documenting/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/contributing/outreach/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/contributing/translations/ - 2017-01-20 + 2017-01-29 daily @@ -93,31 +93,31 @@ https://wiki.status.im/community/how-to-grow-our-community/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/community/slack/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/community/newsletter/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/community/blog/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/community/tell-a-friend/ - 2017-01-20 + 2017-01-29 daily @@ -127,55 +127,55 @@ https://wiki.status.im/proposals/commiteth/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/proposals/contact-sharing/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/proposals/chat-api/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/proposals/discover/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/proposals/messaging/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/proposals/erc20-exchange/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/proposals/sticker-market/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/proposals/visual-programming/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/proposals/moments/ - 2017-01-20 + 2017-01-29 daily @@ -185,13 +185,13 @@ https://wiki.status.im/licenses/mpl2/ - 2017-01-20 + 2017-01-29 daily https://wiki.status.im/licenses/lgpl-v3.0-static/ - 2017-01-20 + 2017-01-29 daily