From bceb8686edb5ecf3facfdcabc7b520bc111da053 Mon Sep 17 00:00:00 2001 From: Jarrad Date: Mon, 30 Jan 2017 13:23:28 +0700 Subject: [PATCH 1/9] Update chat-api.md --- docs/proposals/chat-api.md | 41 ++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/docs/proposals/chat-api.md b/docs/proposals/chat-api.md index d97a51a..69c90f6 100644 --- a/docs/proposals/chat-api.md +++ b/docs/proposals/chat-api.md @@ -11,31 +11,38 @@ This anatomy establishes the different sections of the chat interface and establ ![](img/chat-anatomy.png) -## Commands +## Accessing a bot -!init (hidden) - - if it exists run on open chat session, only in 1-to-1 chats. -!help -!settings +`/global` (hidden) +Universal command for the bot, allows the bot command to be referenced in any chat via `@botname`. -### Explicitly calling commands +`/init` (hidden) +Run on open chat session, only in 1-to-1 chats. -DApps are namespaced with @dappname!command, which can be useful if same commands used by multiple bots are available, alternatively these can be used for commands when bot is not actually in the chat, ie @wallet!send +`/` bots can register a command handler of any ASCII title, which then Status repeats -## Custom Keyboards +`@botname/command` if there is multiple bots in a chat context, then the `@botname` can be used to make the distinction (or alternatively a suggestions/commands list should appear to help with the distinction) -Parameters use custom keyboards (instead of types, we adapt our types to be keyboards themselves?) +`Bot Message` a bot can send a message that can only be read by another instance of itself in chat history. This message can send markup to draw and contain data. It is activated by a user tapping on it. -Make our emoji/sticker market with this, otherwise accessible through commands -ie !init command with param that opens up a config +`A message parsed from chat history` on 1-to-1 chats, any message the user send can be read by the bot and can activate code via `status.on('chat-update', function () { ... } );` handler. -## Messages +## Bot Messages -- subscription to message feed -- api for sending messages, and setting things like "typing" -- not available in group +A Bot Message can contain it's own markup and a data payload, this message can be transmitted to the chat context. If it is interactable then the interaction (what we currently call response handler) handles the message when tapped. + +**If the user does not have the bot installed, then we display a custom keyboard that shows the bot name, its reviews/ reputation and a "Install / Add to Contacts" button, which the user can either cancel or install and continue with response flow.** + + +## Command Handlers + +Once a command handler is invoked it is passed the current text / data payload of the message, and is required to return the paramaters (and their placeholder information). The return of the handler must include +- `markup` or a `status component(data)` for the suggestions area +- `markup` or a `status component(data)` for the the keyboard +- an error object +- the revised text / data payload. ## Privacy -- by default does not receive all messages in group chat -- only commands and in 1-to-1 \ No newline at end of file +- a bot can only be interacted with via commands or messages via in 1-to-1 chats +- a bot can only see messages from itself and the current user in group chats. From 742ca69f8dce7d6d23e3d5a7e27e4bc2385ffc84 Mon Sep 17 00:00:00 2001 From: Jarrad Date: Mon, 30 Jan 2017 13:29:54 +0700 Subject: [PATCH 2/9] Update chat-api.md --- docs/proposals/chat-api.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/proposals/chat-api.md b/docs/proposals/chat-api.md index 69c90f6..b9a8edc 100644 --- a/docs/proposals/chat-api.md +++ b/docs/proposals/chat-api.md @@ -46,3 +46,8 @@ Once a command handler is invoked it is passed the current text / data payload o - a bot can only be interacted with via commands or messages via in 1-to-1 chats - a bot can only see messages from itself and the current user in group chats. + + +## Deployment & Testing + +Console should have some `/debug` mode that allows the user to plugin their phone in and hot-load javascript/webpage to make testing web-based dapps or bots easily from desktop. Ideally it should have integration with [Truffle](http://truffleframework.com/) & [Embark](https://github.com/iurimatias/embark-framework) and pay respect to [EIP190](https://github.com/ethereum/EIPs/issues/190) From bd1f580c1c55952e7247a0b2afaa4978e476c6f4 Mon Sep 17 00:00:00 2001 From: Jarrad Date: Mon, 30 Jan 2017 14:37:16 +0700 Subject: [PATCH 3/9] Update chat-api.md --- docs/proposals/chat-api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/proposals/chat-api.md b/docs/proposals/chat-api.md index b9a8edc..c18ce93 100644 --- a/docs/proposals/chat-api.md +++ b/docs/proposals/chat-api.md @@ -14,7 +14,7 @@ This anatomy establishes the different sections of the chat interface and establ ## Accessing a bot `/global` (hidden) -Universal command for the bot, allows the bot command to be referenced in any chat via `@botname`. +Universal command for the bot, allows the bot command to be referenced in any chat via `@botname`. If this exists it should appear in the command list as another section at the bottom. `/init` (hidden) Run on open chat session, only in 1-to-1 chats. From 2fcf1d756a5cd08a0c5a650df3ac75d2dd1b0023 Mon Sep 17 00:00:00 2001 From: Jarrad Date: Mon, 30 Jan 2017 14:57:33 +0700 Subject: [PATCH 4/9] Update chat-api.md --- docs/proposals/chat-api.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/proposals/chat-api.md b/docs/proposals/chat-api.md index c18ce93..805845b 100644 --- a/docs/proposals/chat-api.md +++ b/docs/proposals/chat-api.md @@ -51,3 +51,9 @@ Once a command handler is invoked it is passed the current text / data payload o ## Deployment & Testing Console should have some `/debug` mode that allows the user to plugin their phone in and hot-load javascript/webpage to make testing web-based dapps or bots easily from desktop. Ideally it should have integration with [Truffle](http://truffleframework.com/) & [Embark](https://github.com/iurimatias/embark-framework) and pay respect to [EIP190](https://github.com/ethereum/EIPs/issues/190) + +## Open Questions + +Is there an issue of resources and conversation around Otto VM jails? +Should it runs per dapp per chat context? or per DApp and then an object in each per chat context? + From 9fa24df26107f07a21277e80054e94d8269e82bb Mon Sep 17 00:00:00 2001 From: Jarrad Date: Mon, 30 Jan 2017 14:58:03 +0700 Subject: [PATCH 5/9] Update --- docs/proposals/chat-api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/proposals/chat-api.md b/docs/proposals/chat-api.md index 805845b..d0c040f 100644 --- a/docs/proposals/chat-api.md +++ b/docs/proposals/chat-api.md @@ -54,6 +54,6 @@ Console should have some `/debug` mode that allows the user to plugin their phon ## Open Questions -Is there an issue of resources and conversation around Otto VM jails? +Is there an issue of resources and conservation around Otto VM jails? Should it runs per dapp per chat context? or per DApp and then an object in each per chat context? From a0f1a3e2a173710baebd274e5284f27cb5f4780a Mon Sep 17 00:00:00 2001 From: Tatu Date: Wed, 8 Feb 2017 17:57:19 +0200 Subject: [PATCH 6/9] Updated outreach.md Added links and changed the Slack channel to reflect the one being currently used. --- docs/contributing/outreach.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/contributing/outreach.md b/docs/contributing/outreach.md index dcaf34f..e13a2a7 100644 --- a/docs/contributing/outreach.md +++ b/docs/contributing/outreach.md @@ -1,16 +1,16 @@ # Community Outreach & Marketing -Any communications efforts are welcomed, and it's necessary that any contributions that represent Status are closely aligned of our [Mission & Core Values](../getting-started/mission-and-core-values.md). Brand messaging needs to be consistent, honest, transparant and accurately reflect what the project aims to achieve. +Any communications efforts are welcomed, and it's necessary that any contributions that represent Status are closely aligned of our [Mission & Core Values](../getting-started/mission-and-core-values.md). Brand messaging needs to be consistent, honest, transparent and accurately reflect what the project aims to achieve. -Status is not yet ready for mass-adoption, and a clearly defined a user acquisition strategy will be outlined here at a later date. For the time being, contributors interested helping with community outreach should focus on helping to produce meaningful content and spreading the word amongst other blockchain enthusiasts. +Status is not yet ready for mass-adoption, and a clearly defined a user acquisition strategy will be outlined here at a later date. For the time being, contributors interested helping with community outreach should focus on helping to produce meaningful content and spreading the word amongst other blockchain enthusiasts. Some practical tips and suggestions on how you can take part in and help to strengthen our community can be found at the [Growing our Community](../community/how-to-grow-our-community.md) page. ## Get Involved -Join the [Status Slack](http://slack.status.im) and head over to the **#outreach** channel to share what you had in mind, and bounce ideas. +Join the [Status Slack](http://slack.status.im) and head over to the **#community-building** channel to share what you had in mind, and bounce ideas. ## Guest Posts -Enjoy writing about Ethereum? Come write an article that will be featured on the Status blog. +Enjoy writing about Ethereum? Come write an article that will be featured on the [Status blog](https://blog.status.im). ## Interviews -Contributed to Status or the Ethereum ecosystem? Help us spread the word by being part of an interviews series published on the blog and across social media. +Contributed to Status or the Ethereum ecosystem? Help us spread the word by being part of an interviews series published on the [blog](https://blog.status.im) and across social media platforms, like [Twitter](https://twitter.com/ethstatus), [Reddit](https://www.reddit.com/r/statusim/) and [Facebook](https://www.facebook.com/ethstatus). ## Quality Assurance -A brand is a delicate thing, and any content contributions require acceptance from within our community before publication. Text content must be stylistically and structually well-produced with no grammatical errors. We'd be happy to help with editing and proof-reading :) \ No newline at end of file +A brand is a delicate thing, and any content contributions require acceptance from within our community before publication. Text content must be stylistically and structually well-produced with no grammatical errors. We'd be happy to help with editing and proof-reading :) From 50c4a1b3574d6a7beec049b80b51e8e87fe7f2be Mon Sep 17 00:00:00 2001 From: Gustavo Nunes Date: Thu, 9 Feb 2017 01:48:32 -0200 Subject: [PATCH 7/9] Update testing instructions --- docs/contributing/testing-and-feedback.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/contributing/testing-and-feedback.md b/docs/contributing/testing-and-feedback.md index 7cfbcfd..f6a7bf6 100644 --- a/docs/contributing/testing-and-feedback.md +++ b/docs/contributing/testing-and-feedback.md @@ -11,7 +11,9 @@ Please try to be as descripive as possible. To run the tests: 1. Install appium: run `npm install -g appium` -2. Start application on emulator or real device ([more details here](https://wiki.status.im/contributing/development/building-status/#build-and-test)) +2. Start application on emulator or real device ([more details here](https://wiki.status.im/contributing/development/building-status/#build-and-test)). + + **Important:** use the _android-test_ build (run `BUILD_IDS="android-test" lein repl`). Testing in iOS is not supported yet. 3. Start appium server in new tab: run `appium --session-override` 4. Run `lein test` From e539b003f75a25d66eef683a06fa1b9b56681dc4 Mon Sep 17 00:00:00 2001 From: Roman Volosovskyi Date: Mon, 13 Feb 2017 12:49:50 +0200 Subject: [PATCH 8/9] rename Clojure.js to ClojureScript --- docs/getting-started/mission-and-core-values.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started/mission-and-core-values.md b/docs/getting-started/mission-and-core-values.md index cdae2fe..a94af82 100644 --- a/docs/getting-started/mission-and-core-values.md +++ b/docs/getting-started/mission-and-core-values.md @@ -16,7 +16,7 @@ We intend to employ a strategy that contains three core components: *Technology* ### 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. +- Status is built using ClojureScript, 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. From a5a9d62f5e99e91db66d29bfce26587c310a0371 Mon Sep 17 00:00:00 2001 From: Jarrad Date: Mon, 27 Feb 2017 17:38:16 +0100 Subject: [PATCH 9/9] lein generate-externs --- docs/contributing/development/building-status.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/contributing/development/building-status.md b/docs/contributing/development/building-status.md index 2fda988..9d62686 100644 --- a/docs/contributing/development/building-status.md +++ b/docs/contributing/development/building-status.md @@ -24,7 +24,7 @@ This guide is written with OS X in mind. # or $ git clone git@github.com:status-im/status-react.git -b develop && cd status-react - $ lein deps && npm install && ./re-natal deps + $ lein deps && npm install && ./re-natal deps && lein generate-externs $ mvn -f modules/react-native-status/ios/RCTStatus dependency:unpack $ cd ios && pod install && cd ..