Skip to content

Commit

Permalink
Merge branch 'release/1.6.0' into released
Browse files Browse the repository at this point in the history
  • Loading branch information
Jack-Works committed Aug 30, 2019
2 parents 325ef1f + 2bdf139 commit 11a05e6
Show file tree
Hide file tree
Showing 187 changed files with 8,407 additions and 4,501 deletions.
5 changes: 3 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ version: 2.1
jobs:
build:
docker:
- image: circleci/node:11.0
- image: circleci/node:current
working_directory: ~/repo
steps:
- checkout
Expand All @@ -18,7 +18,8 @@ jobs:
- run:
name: Build Maskbook
command: |
yarn install --frozen-lockfile
yarn install --link-duplicates --frozen-lockfile
yarn just lint
yarn build
sudo apt-get install zip
cd build
Expand Down
34 changes: 34 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 7,
"sourceType": "module",
"project": "./tsconfig.json"
},
"extends": [
"plugin:import/typescript"
],
"plugins": ["@typescript-eslint", "import", "react-hooks"],
"rules": {
"@typescript-eslint/await-thenable": 2,
"import/no-deprecated": 2,
"no-plusplus": 2,
"no-bitwise": 2,
"no-new-wrappers": 2,
"constructor-super": 2,
"no-redeclare": 2,
"no-eval": 2,
"@typescript-eslint/no-for-in-array": 2,
"no-template-curly-in-string": 2,
"no-return-await": 2,
"no-sparse-arrays": 2,
"dot-notation": 2,
"no-fallthrough": 2,
"prefer-const": 2,
"eqeqeq": 2,
"no-extra-bind": 2,
"use-isnan": 2,
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "warn"
}
}
21 changes: 21 additions & 0 deletions .git-utils/test4bis.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash
# This is a test script intended for use with git bisect.
# USAGE (vs the latest release):
# git bisect start HEAD $(git describe --tags) --
# git bisect run sh .git-utils/test4bis.sh
# [OPEN BROWSER, DO MANUAL TESTS, FOLLOW INTERACTIVE SHITE]
# git bisect reset
function yesno() {
local res
while true; do
read -r -n 1 -p "does it work now? (y/n) " res
case $res in
(y|Y) return 0;;
(n|N) return 1;;
(*) printf '%s\n' " read the prompt!" >&2
esac
done
}

npm run-script build &&
yesno
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ public/polyfill
/.pnp
.pnp.js

# cache
.eslintcache

# testing
/coverage

Expand All @@ -28,3 +31,5 @@ public/polyfill
npm-debug.log*
yarn-debug.log*
yarn-error.log*

.firefox
3 changes: 3 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
*.test.tsx
package.json
package-lock.json
build/
public/polyfill
src/utils/jss/
43 changes: 23 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# Maskbook · ![GitHub license](https://img.shields.io/badge/license-AGPL-blue.svg?style=flat-square) ![Circle CI](https://img.shields.io/circleci/project/github/DimensionDev/Maskbook.svg?style=flat-square&logo=circleci) [![Join the chat at https://gitter.im/Maskbook/community](https://badges.gitter.im/Maskbook/community.svg)](https://gitter.im/Maskbook/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) ![Chrome Web Store](https://img.shields.io/chrome-web-store/v/jkoeaghipilijlahjplgbfiocjhldnap.svg?logo=Maskbook&logoColor=%231c68f3&style=flat-square)
# Maskbook · [![GitHub license](https://img.shields.io/badge/license-AGPL-blue.svg?style=flat-square)](https://github.com/DimensionDev/Maskbook/blob/master/LICENSE) [![Circle CI](https://img.shields.io/circleci/project/github/DimensionDev/Maskbook.svg?style=flat-square&logo=circleci)](https://circleci.com/gh/DimensionDev/Maskbook) [![Join the chat at https://gitter.im/Maskbook/community](https://badges.gitter.im/Maskbook/community.svg)](https://gitter.im/Maskbook/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Chrome Web Store](https://img.shields.io/chrome-web-store/v/jkoeaghipilijlahjplgbfiocjhldnap.svg?logo=Maskbook&logoColor=%231c68f3&style=flat-square)][crext]

Encrypt your posts & chats on You-Know-Where. Allow only your friends to decrypt.

For general introductions, see https://Maskbook.com/

[Install Maskbook on Chrome Web Store](https://chrome.google.com/webstore/detail/maskbook/jkoeaghipilijlahjplgbfiocjhldnap/)
[Install Maskbook on Chrome Web Store][crext]

[crext]: https://chrome.google.com/webstore/detail/maskbook/jkoeaghipilijlahjplgbfiocjhldnap/

## Documentation for developers

Expand All @@ -21,18 +23,19 @@ For general introductions, see https://Maskbook.com/

#### Build and developing

- `yarn watch` runs a watching mode. Output files in `./dist/`. Load it as unpacked Chrome or Firefox extension
- `yarn firefox` runs extension in a new firefox session.
- `yarn start` runs extension in other browsers, manually loading required.
[This](https://chrome.google.com/webstore/detail/extensions-reloader/fimgfedafeadlieiabdeeaodndnlbhid) plugin may help you to reload extension quicker.
- `yarn storybook` to start StoryBook. Used for UI only developing.
- `yarn build` build a production version. Output files in `./build/`
- `yarn test` to run test (we didn't have one yet)
- `yarn start` to start StoryBook. Used for UI only developing.

#### Non-famous libraries we are using

- `@holoflows/kit` - A toolkit for extension developing
- `anchrome` - Use it to detect links in the text
- `anchorme` - Use it to detect links in the text
- `construct-style-sheets-polyfill` - A polyfill for a web api
- `elliptic` - A crypto library, we use it to encrypt and decrypt
- `gun` - A decentralized graph databasem we use it to sync user's shared crypto key
- `gun` - A decentralized graph database we use it to sync user's shared crypto key
- `pvtsutils` and `tiny-secp256k1` - A crypto library, we use it to zip and unzip SECP256k1 keys but not using it to encrypt/decrypt
- `serialijse` - A serialization / deserialization library
- `webcrypto-liner` - A wrapper library, it wrap `elliptic` into WebCrypto API
Expand All @@ -42,23 +45,23 @@ For general introductions, see https://Maskbook.com/
- ./public - Resource file
- ./src/components - UI Components
- ./src/crypto - Crypto related (Note, in "alpha" version, the bigger number means the older version, our first payload version is alpha-42, and the latest version in July 1 2019 is alpha-40)
- ./src/key-management - **OLD Database**, deprecated, in most cases you don't need them.
- ./src/database - How we store data.
- - ./type.ts - Type definition for Identifier (used everywhere!)
- - ./{avatar,group,people,post}.ts - How we store these data in database
- - ./helpers - Helper methods for Services to use database easier
- - ./migrate - Migrate old database to new one.
- ./type.ts - Type definition for Identifier (used everywhere!)
- ./{avatar,group,people,post}.ts - How we store these data in database
- ./helpers - Helper methods for Services to use database easier
- ./migrate - Migrate old database to new one.
- ./src/utils - Utils
- - ./components - Some general React Components
- - ./hooks - Some general React hooks
- - ./jss - (this folder is MIT Licensed) Custom Renderer that let JSS render styles into ShadowRoot
- - ./type-transform - Transform data types between each other
- ./components - Some general React Components
- ./hooks - Some general React hooks
- ./jss - (this folder is MIT Licensed) Custom Renderer that let JSS render styles into ShadowRoot
- ./type-transform - Transform data types between each other
- ./src/extension
- - ./background-script - Scripts that running in the background page as a service
- - ./content-script - Script that be injected into the web page
- - ./injected-script - Script that will run in the main frame of the injected web page
- ./background-script - Scripts that running in the background page as a service
- ./content-script - Script that be injected into the web page
- ./injected-script - Script that will run in the main frame of the injected web page
- ./tests - Some tests for Crypto algorithms
- ./stories - Folder for StoryBook
- ./protocols - Some standard definitions of protocols that used in Maskbook
- ./network - How does Maskbook exchange information between users
- ./social-network/ - Maskbook's multiple network support (Work in progress)
- ./social-network/ - Maskbook's multiple network support
- ./social-network-provider/ - Maskbook's multiple network support

0 comments on commit 11a05e6

Please sign in to comment.