DappConnect SDKs to easily add decentralized communications to your dApp, powered bu Waku.
Go to file
Felicio Mununga 67b12fceb0
Add url data encoding (#345)
* add @scure/base

* add link-preview.proto

* add prototype of encode function

* add tests

* add test cases

* update proto

* more

* more

* add missing community chat description to proto

* more

* more

* add browser brotli and lz-string

* move encoding comparison

* add sinlge encoding

* split encoding

* add decoding

* update .prettierignore

* exclude comparison

* remove comparison tests

* Update packages/status-js/src/utils/encode-url-data.test.ts

* Update packages/status-js/src/utils/encode-url-data.test.ts

* remove checksum

* ensure channel is serializable

* Update .prettierignore

* update protos

* add creaet-url.ts

* set links

* comment

* update protos

* add nominal type for EncodedUrlData

* add sign/verify fns

* export fns from index

* set zlib as external module

* add tag indices

* encode channel uuid

* use `.toJson()` with type assertion

* use uppercase url

* split url creating fns

* fix typo

* describe test suite

* use getters

* fix nominal type

* remove `node:` prefix from `zlib` import

* remove todos?:

* rename URLProps to URLParams

* fix package.json after rebase
2023-03-21 11:05:59 +01:00
.changeset Use built-in PBKDF2 implementation for browsers (#295) 2022-07-19 17:45:29 +02:00
.github/workflows add release workflow (#293) 2022-07-06 15:05:33 +02:00
.husky Add pre-commit git hooks (#229) 2022-02-24 23:27:22 +01:00
.vscode update launch.json 2022-11-28 02:58:40 +01:00
examples update examples/with-next dependencies 2022-11-17 17:59:01 +01:00
packages Add url data encoding (#345) 2023-03-21 11:05:59 +01:00
.editorconfig Add editorconfig 2022-02-25 14:56:28 +01:00
.eslintignore Add Activity Center (#312) 2022-10-07 20:02:17 +02:00
.eslintrc Add Next.js and Vite examples (#290) 2022-10-10 15:26:44 -05:00
.gitignore Install `js-waku@^0.25.0` (#307) 2022-09-16 16:27:47 +02:00
.prettierignore Add url data encoding (#345) 2023-03-21 11:05:59 +01:00
.prettierrc Improve Prettier monorepo configuration (#225) 2022-02-23 15:49:00 +01:00
LICENSE-APACHE-v2 Update packages to @status-im (#223) 2022-02-23 15:03:14 +01:00
LICENSE-MIT Update packages to @status-im (#223) 2022-02-23 15:03:14 +01:00
README.md use yarn in readme 2022-11-17 18:44:25 +01:00
package.json Install `js-waku@^0.25.0` (#307) 2022-09-16 16:27:47 +02:00
tsconfig.base.json Move to ESM, Vite, Vitest and Turborepo (#286) 2022-06-28 16:40:39 +02:00
turbo.json Setup GitHub Actions (#287) 2022-06-29 16:46:51 +02:00
yarn.lock Add url data encoding (#345) 2023-03-21 11:05:59 +01:00

README.md

Status Web 🌐

CI

About

Embeddable, customizable and themable component for your Status Community.

Who

  • For community leaders
  • online content creators
  • and their followers

What

  • It is 100% open source
  • 100% decentralized
  • Peer-to-peer
  • Private
  • Pseudoanonymous
  • End-to-end encrypted
  • Free
  • Permissionless
  • Serverless
  • Group chat platform
  • And a virtual space outside the jurisdiction of any government

Why

  • To communicate and collaborate freely without worrying about
    • Censorship
    • Persecution
    • Chilling effects
    • Interference
    • Oppression
    • Being deplatformed, or shut down
  • Support
    • Autonomy
    • Free speech
    • Freedom of association
    • Freedom to transact
    • Right to privacy
    • Crypto native and frictionless integration
    • Monetization
    • Facilitation of sharing of common interests, needs, desires and values
  • Be trusted alternative to centralized group chat application

Usage

For Community owners 👥

Get public key to your pre-existing Community:

  1. Open Status Desktop
  2. Select Community
  3. Click on its overview in upper left corner
  4. Invite new people
  5. Share community
  6. Get only the public key from the URL (e.g. 0x033c88c950480493e2e759923bd38f9aad88e1b36295757a598679a569e6a96801)

Or create new one first:

  1. Get Status Desktop at https://status.im/get
  2. Go to Chat
  3. Click on plus icon
  4. Click on Communities

Use the Community component:

In your project,

Install package:

npm install @status-im/react

Import component:

import { Community } from '@status-im/react'

Set component props:

<Community
  publicKey="0x033c88c950480493e2e759923bd38f9aad88e1b36295757a598679a569e6a96801"
  theme="light"
/>

For an example, see examples/with-vite/src/app.tsx.

For User 👤

Simply visit your Community's URL from the browser:

If the Community doesn't require a joining request, that would be it. So look around and get the feel for the space.

Once ready to chat, create a throwaway profile:

Use Throwaway Profile > wait for your request to be approved and the chat input enabled > react to and write messages

Optionally, you could even run the application locally yourself.

Get the source ready:

git clone https://github.com/status-im/status-web.git
cd ./status-web
yarn install
yarn run build

Add your Community's public key to your environment:

echo 'PUBLIC_KEY="0x033c88c950480493e2e759923bd38f9aad88e1b36295757a598679a569e6a96801"' >> examples/with-vite/.env

And run it:

yarn workspace with-vite run dev