Commit Graph

550 Commits

Author SHA1 Message Date
Pavel Prichodko 94d6d8a58b
use existing component in button 2023-01-18 16:41:45 +01:00
Pavel Prichodko 5f7b279bfe
move Tamagui augmentation to config file 2023-01-18 16:39:50 +01:00
Pavel Prichodko 7671c24b72
add ChatMessage component 2023-01-18 16:39:06 +01:00
Pavel Prichodko dc9951c52b
add icons story 2023-01-18 14:20:07 +01:00
Pavel Prichodko b24f33898e
use aspect ratio for Sidebar card 2023-01-18 14:20:07 +01:00
Pavel Prichodko 406c5f68fd
support aspect ratio in Image 2023-01-18 14:18:28 +01:00
Pavel Prichodko c39f7f36c8
add icon and accept only size 2023-01-18 14:18:27 +01:00
Pavel Prichodko 87957c1611
add IconButton component 2023-01-18 14:18:27 +01:00
Pavel Prichodko aee4269406
add icons package 2023-01-18 14:18:27 +01:00
marcelines 2bbaea1f36
Add cross-platform sidebar (#331)
* feat: add icon example and solve some types

* fix: add accordion and emojis

* fix: fixes animation issues and adds overall minor improvements

* fix: more fixes and new emoji

* fix: id from channel
2023-01-18 14:15:51 +01:00
marcelines 0d56feb24b
fix: some details in sidebar and button components 2023-01-16 17:21:57 +00:00
Pavel Prichodko 98e9c1850d
Fix theming in web app 2023-01-16 16:19:06 +01:00
Pavel Prichodko d2a3d65900
upgrade to tamagui@1.0.15 and pin the version 2023-01-16 16:15:09 +01:00
Pavel Prichodko a31a87e0c9
update sidebar 2023-01-16 15:51:32 +01:00
Pavel Prichodko 34d9be3f35
export components 2023-01-16 15:50:24 +01:00
Pavel Prichodko 0a9c1134b5
fix sidebar component 2023-01-16 15:50:24 +01:00
Pavel Prichodko 17685929d8
add input component 2023-01-16 15:49:51 +01:00
Pavel Prichodko c8783e8131
add image component 2023-01-16 15:49:51 +01:00
Pavel Prichodko c1c6b2e4be
add button component 2023-01-16 15:49:51 +01:00
Pavel Prichodko 91875f1b26
add avatar component 2023-01-16 15:49:51 +01:00
Pavel Prichodko fe7a7f84f5
update components scripts 2023-01-16 15:48:39 +01:00
Pavel Prichodko 15b376905d
add types to storybook config 2023-01-16 15:48:24 +01:00
Pavel Prichodko 351e5fa750
fix @tamagui/vite-plugin import 2023-01-16 15:48:24 +01:00
Pavel Prichodko 2a1cf9b3e9
upgrade tamagui to v1.0.8 2023-01-16 15:48:23 +01:00
marcelines 23def2264e
Add color tokens, theming and typography
* feat: adds custom theme setup with several options

* feat: add typography and few examples with theme switch

* fix: sort import rule

* fix: remove unnecessary file

* fix: changes from review

* fix: changes as const as stated in tamagui's docs
2023-01-16 15:34:15 +01:00
marcelines b5696c32d5
feat: add expo to monorepo (#328) 2023-01-11 14:38:47 +01:00
Pavel Prichodko 3639a7f8d8
add storybook and rename 2023-01-10 12:24:24 +01:00
Pavel Prichodko 1164ab2dba
add ui package 2023-01-09 22:14:58 +01:00
Felicio Mununga a0d3277733
Add `ethers` and resolve chat key from ENS name (#357)
* add `ethers`

* add `resolveChatKey`
2023-04-04 14:10:56 +02:00
Felicio Mununga 3dbd022f47
encode only community's name in channel URL (#358) 2023-04-04 14:10:43 +02:00
Felicio Mununga 60413bf39b
add unverified URL data test case 2023-03-21 12:42:37 +01:00
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
Felicio Mununga d832a0c283
Add request client (#342)
* add `preview-client.ts`

* add exports

* fix imports

* set emoji hash

* use `message.timestamp`

* rename `RequestClient`

* drop preview keyword

* rm `appUrl`

* rm todo?:

* remove social urls

* remove if clause
2023-03-15 14:14:26 +01:00
Felicio Mununga 6b3ef713e9
Add public key deserialization (#341)
* add `multiformats` dep

* add `deserialize-public-key.ts`

* compress by default

* add tests

* Update packages/status-js/src/utils/deserialize-public-key.ts

Co-authored-by: Pavel <14926950+prichodko@users.noreply.github.com>

* rename vars

---------

Co-authored-by: Pavel <14926950+prichodko@users.noreply.github.com>
2023-02-23 16:48:31 +01:00
Felicio Mununga 1faeb69ac1
Add emoji hash function (#343)
* add emojis

* add func

* add tests
2023-02-21 14:26:42 +01:00
Felicio Mununga 16edb12048
remove `long` 2023-02-21 13:57:25 +01:00
Felicio Mununga 942146d0be
Use `@bufbuild` (#337)
* remove old `communities.proto`

* fix `protos` npm script

* apply `protos` changes overwriting `Record<>` patches

* update proto files

* regenerate files

* update `protons*` packages

* regen files

* use `protons` generate communities

* add `@bufbuild*` packages

* update `buf` yaml files

* generate `@bufbuild` files

* use `@bufbuild` files

* format

* remove `protobufjs`

* remove `protons`

* resolve build errors

* fix image content type
2023-02-21 12:34:48 +01:00
Felicio Mununga 587a0786ad
add `decompress-public-key.ts` (#336) 2023-02-10 10:09:42 +01:00
Felicio Mununga 591a9c61bd
remove `useMemo` from `hasReactions` (#338) 2023-02-07 12:10:28 +01:00
Felicio Mununga 8bebe944e7
dispatch `CONNECT` 2022-11-28 03:02:25 +01:00
Felicio Mununga cd0f10d94e
remove codec eval from `connectionManager` listener 2022-11-28 00:11:19 +01:00
Felicio Mununga 5cef43991f
add `libp2p` connection listeners 2022-11-27 23:54:43 +01:00
Felicio Mununga 3d5c490185
move `wakuDisconnectionTimer` to constructor 2022-11-27 22:52:24 +01:00
Felicio Mununga 8e61ebf90c
change `wakuDisconnectionTimer` to handle light protocols 2022-11-27 17:45:56 +01:00
Felicio Mununga 86ac150626
dispatch `FAIL`
- stops client on failed initialization
- displays failed message
2022-11-27 17:07:58 +01:00
Felicio Mununga d35c311096
specify protocols in waitForRemotePeer 2022-11-17 02:47:57 +01:00
Felicio Mununga a2550b61d7
set pingKeepAlive to aid in connection recovery 2022-11-16 23:45:42 +01:00
Felicio Mununga 4590d4b852
Use WakuLight 2022-11-15 01:47:56 +01:00
Felicio Mununga 48d7f34803
Use MessageV1 type 2022-11-15 00:59:16 +01:00
Felicio Mununga d68409eb6f
Install `js-waku@^0.30.0` 2022-11-14 23:06:34 +01:00
Pavel Prichodko 27430ce846
v0.1.1 2022-10-09 18:58:52 -05:00
Pavel Prichodko 9379dc6078
fix account restoration 2022-10-09 18:26:11 -05:00
Pavel Prichodko b32fa3a77a
improve initials centering 2022-10-09 18:18:43 -05:00
Pavel Prichodko f0178d2494
fix avatar sizes 2022-10-09 17:48:12 -05:00
Pavel Prichodko c3c5449802
hide identicon for message owner 2022-10-09 17:47:54 -05:00
Pavel Prichodko ef6880c166
allow interaction only if account is member 2022-10-09 17:47:34 -05:00
Pavel Prichodko 3896ea8f6e
v0.1.0 2022-10-07 22:09:04 +02:00
Pavel 95dc03b99f
Fetch history (#292) 2022-10-07 21:30:22 +02:00
Pavel 213ca26877
Add persistence of throwaway accounts (#315)
* add account membership status

* add storage and account listeners

* update membership

* update ui

* update membership status value

* use boolean instead of undefined

* rename callback function

* remove noise

* listeners -> callbacks

* update storage

* lint issue workaround

* update account storing
2022-10-07 20:05:09 +02:00
Felicio Mununga 36322d5a41
Add Activity Center (#312)
* add activityCenter.ts

* use activityCenter.ts

* add "Launch via Vite Node"

* remove comments

* add comments

* type hook

* reverse order of notifications

* remove `activityCenter` from `provider.tsx`

* set `count`'s default value

* ref `ChatMessage` by id instead of object reference

* Revert "ref `ChatMessage` by id instead of object reference"

This reverts commit 1284386d22.

* add badge `totalCount`

* add `@radix-ui/react-tabs`

* skip non-mentions

* update comments

* add `member` to `ChatMessage`

* add `MarkAllAsReadIcon`

* add `40` avatar variant

* add `initialsCount` to `Avatar`

* add `TinyReplyIcon`

* use `Popover`

* move components

* move components

* wip

* ignore clicks on tags themselves

* add root route

* use chat display name

* fix icons

* use `asChild` for tabs

* remove `vertical`

* use `value` and `onValueChange`

* use active state with `compoundVariants`

* use `&[data-state]...` instead of `compoundVarinats` and `active` prop

* fixup `chatDisplayName`

* postion badge

* prevent dragging of the whole page in either direction

* add tooltips

* change message's background on hover

* change navigation style

* add `category` to `removeNotifications`

* prevent deleting of messages that are not mentions or replies from activity center

* show members sidebar by default

* fix members layout

* add comment

* add `date-fns`

* add date separator

* comment

* move `Badge` to `/system`

* move `Tag` to `/system`

* comment `Text`

* replace `Link` for `useNavigate`

* move `Activity` to `/system`

* comment

* export `Notification`

* update fixtures in `activityCenter`

* remove fixtures

* movet `Tabs` to `/system`

* update `mapChatMessage`

* update `.eslintignore`

* resolve typecheck errors

* update `.prettierignore`

* resolve formatting error

* upgrade tooltip

* use `scrollIntoView`

* remove comments

* rename `close` to `onNavigateChange`

* revert scrolling changes in `/member-sidebar`

* rename members label from `Online` to `All`

* rename `initialsCount` and use union

* rename `MarkAllAsReadIcon`

* rename `selected`

* fix typo

* revert formatting

* close `Avatar`

* use `css` where possible without changing elements

* extract props types to interfaces

* rename `ActivityCenter`

* remove `overflow`

* replace `style` for not yet stitched elements

* revert global style changes
2022-10-07 20:02:17 +02:00
Felicio Mununga 2b71b49e71
Move global/base styles and remove `styled-components` (#314) 2022-10-05 16:29:36 +02:00
Felicio Mununga 788fe3ba34
Add predefined nodes (#313) 2022-10-05 16:28:54 +02:00
Felicio Mununga a083d3251b
Install `js-waku@^0.25.0` (#307)
* install `js-waku@^0.24.0`

* install `js-waku@^0.25.0`

* resolve some breaking changes

* add timeout

* upgrade `eslint-import-resolver-typescript`

* add `process.env.VITEST` condition

* increase timeout

* fixup

* ignore `emitSelf`

* replace `parcel` with `vite`

* update `.gitignore`

* change `dev` npm script

* fix favicon href

* load `.env` files

* remove 'alias"

* add `preview`

* upgrade vite

* set `target`s in `vite.config.ts`

* upgrade `@vitejs/plugin-react`

* remove comment

* Update package.json

* Update vite.config.ts
2022-09-16 16:27:47 +02:00
Felicio Mununga abd26c9c1d
Indicate unread chats and mentions (#303)
* add activityCenter.ts

* use `process.env.VITEST`

* add `isMention` and `isReply`

* use activityCenter.ts

* fix initial `count`

* add `Badge` component

* add "Launch via Vite Node"

* remove comments

* remove `console.log`

* add comments

* type hook

* reverse order of notifications

* remove `activityCenter` from `provider.tsx`

* set `count`'s default value

* ref `ChatMessage` by id instead of object reference

* Revert "ref `ChatMessage` by id instead of object reference"

This reverts commit 1284386d22.

* use `isAuthor`
2022-09-16 15:49:20 +02:00
Felicio Mununga 62c499c50f
fix community fetching on `js-waku`'s abort 2022-09-05 18:03:17 +02:00
Pavel Prichodko e1150d7f12
fix optional path match 2022-08-23 18:13:25 +02:00
Pavel 5b35c6b73b
Add sorting of chats (#302)
* add sorting of chats

* simplify sidebar structure

* move categories at the bottom

* fix duplicate fields

* disable context menu for chat group

* rename chat group to chat category

* fix category font color

* show active chat even when category closed
2022-08-23 15:48:10 +02:00
Pavel Prichodko 689a6796e0
fix passing of options 2022-08-23 14:59:55 +02:00
Pavel e1c4f0591d
Use built-in PBKDF2 implementation for browsers (#295)
* add pbkdf2 browser implementation

* use webcrypto in pbkdf2

* rename pbkdf2 file

* use pbkdf2

* add changeset

* revert rename

* remove browser field from package.json

* use `resolve.alias` for pbkdf2 if test

* use `mode` in vite.config.ts

Co-authored-by: Felicio Mununga <felicio@users.noreply.github.com>
2022-07-19 17:45:29 +02:00
Felicio Mununga d726b82bee
Hide unimplemented context menus (#299) 2022-07-19 12:51:52 +02:00
Felicio Mununga 82625fe6db
Get peer based on environment (#294)
* get peer based on environment

* add changeset

* default to prod
2022-07-19 10:19:46 +02:00
Felicio Mununga c4f052f71a
set `"access": "public"` for publishing 2022-07-06 15:37:35 +02:00
Pavel Prichodko f59b38a3e4
remove unnecessary configuration 2022-07-01 15:22:26 +02:00
Pavel Prichodko 706c5693fa
remove relative paths from status-react 2022-07-01 15:20:34 +02:00
Pavel Prichodko c907af6ba9
fix typechecking errors in status-react 2022-07-01 15:20:34 +02:00
Pavel Prichodko 4ff961a6ae
export Reactions type from status-js 2022-07-01 15:20:23 +02:00
Pavel Prichodko 9583554eba
remove theme context in favour of hook 2022-07-01 14:56:06 +02:00
Felicio Mununga d225623df9
v0.1.0-alpha.2 2022-06-30 17:03:12 +02:00
Felicio Mununga d4fb2e4d95
send request on creating account 2022-06-30 16:34:50 +02:00
Felicio Mununga 1b89774ad1
v0.1.0-alpha.1 2022-06-30 16:02:34 +02:00
Felicio Mununga 199aa42789
Resolve unsupported UI elements (#289)
* fix button ref

* comment out unsopported ui elements

* hide chat input if no account

* comment out avatar dropdown menu
2022-06-30 15:13:39 +02:00
Felicio Mununga 1f19d61193
Reestablish peer connection on silent stream destruction (#288) 2022-06-30 15:12:26 +02:00
Felicio Mununga 2f3ac73e5e
Set clocks (#284)
* add clock functions

* remove bind
2022-06-30 15:11:13 +02:00
Pavel 0677fedc0e
Setup GitHub Actions (#287)
* add new GitHub Action for CI

* add yarn flag

* use actions v3

* add ci badge (lol)

* cache lint and format scripts

* add more steps

* remove unused component

* fix lint errors

* remove unsued eslint plugins
2022-06-29 16:46:51 +02:00
Pavel Prichodko df6b52736e
set mode to development during dev 2022-06-28 16:54:21 +02:00
Pavel 680ce2f79b
Move to ESM, Vite, Vitest and Turborepo (#286)
* fix example hot module replacement

* add turbo

* migrate to vite

* use turbo for running scripts

* migrate testing to vitest

* set yarn in settings.json

* set noEmit in base tsconfig

* update yarn.lock

* move protos to src

* remove relative paths from status-js

* remove unused files

* update declaration dir

* use vite-node as a debugging runtime

* fix test

* unify tests

* fix test case typo
2022-06-28 16:40:39 +02:00
Felicio Mununga 36f448cb96
Fix key and topic generation, and remove dependencies (#285)
* update yarn.lock

* remove modules

* move client

* move account

* revert chat_identity.ts

* fix key gen

* fix topic gen

* fix non-null assertion

* fix build errors
2022-06-24 17:39:09 +02:00
Felicio Mununga fed1dd210f
Update messages data structure (#278)
* Update messages data structure

* remove setting of DeletedChatMessage

* delete unathorized events

* use event pks

* remove comment

* remove else

* fix ui

* fix more ui

* fix sendReaction
2022-06-23 16:47:14 +02:00
Pavel Prichodko 53b1ed4f1b
fix(react): invalid jsx 2022-06-22 14:49:53 +02:00
Felicio Mununga 0a30fe0cf6
Check owner, member and author prior handling (#283)
* check owner, member and author

* fix isOwner
2022-06-22 13:30:24 +02:00
Felicio Mununga cb88ee7a62
handle only MessageType.COMMUNITY_CHAT (#281) 2022-06-21 09:17:15 +02:00
Pavel Prichodko 5d65d4d95e
fix(react): do not submit empty message 2022-06-20 23:44:51 +02:00
Felicio Mununga 66628d9c34
rename communit callbacks 2022-06-17 14:09:43 +02:00
Felicio Mununga 7d720018f5
remove success flag from message handler 2022-06-17 14:06:17 +02:00
Pavel Prichodko 6a027fb2bc
fix: sending messages 2022-06-17 12:28:57 +02:00
Pavel Prichodko 75591329fe
feat: improve message reply 2022-06-17 12:28:57 +02:00
Pavel Prichodko 91bc511b2d
feat: enforce accessing only existing chats 2022-06-17 12:28:56 +02:00
Pavel Prichodko be0cee9f95
feat: add chat message actions 2022-06-17 12:28:56 +02:00
Pavel Prichodko 7794dd8d64
feat: close reactions popover on click 2022-06-17 12:28:56 +02:00
Pavel Prichodko ddd01a0e35
fix: protocol exports 2022-06-17 12:28:56 +02:00
Pavel Prichodko be58052fcd
fix: main sidebar spacing 2022-06-17 12:28:56 +02:00
Pavel Prichodko 9a009ddc4e
feat: add member to chat input reply 2022-06-17 12:28:55 +02:00
Felicio Mununga c2ecb7ed78
support multiple community description callbacks (#280) 2022-06-17 09:36:43 +02:00
Felicio Mununga fb78bc5dc8
Wrap decoding in try...catch (#279) 2022-06-17 09:35:40 +02:00
Pavel Prichodko 9010b1d585
update start angle of identicon ring 2022-06-15 15:42:53 +02:00
Pavel Prichodko f22d744732
fix: creation of message ID 2022-06-15 15:19:28 +02:00
Pavel Prichodko 8dbe361c86
feat: add handle to AlertDialog 2022-06-15 14:12:21 +02:00
Pavel Prichodko 36aeebb629
add link to generateUsername util 2022-06-15 13:39:29 +02:00
Pavel Prichodko cac8fe58be
use concatBytes in payloadToId
https://jsben.ch/jze3P
2022-06-15 13:38:44 +02:00
Pavel 72d1e679fc
Add more chat methods (#276)
* add requestToJoin method

* add editMessage method

* add deleteMessage method

* add todos

* remove unnecessary parameter

* add community ID property

* add missing method
2022-06-15 11:51:56 +02:00
Pavel Prichodko 112cd0d9ab
add rationale comment 2022-06-15 11:45:50 +02:00
Pavel 83777e9759
Update handling of reactions (#277)
* fix: reactions argument in callback

* replace object with Set in reactions

* update reactions in UI
2022-06-15 11:30:43 +02:00
Pavel c50b32546b
Handle emoji content type (#275)
* add containsOnly emoji helper

* add emoji check when sending text message
2022-06-15 11:08:30 +02:00
Pavel Prichodko 98e340a39a
feat: filter out account from members 2022-06-14 20:17:35 +02:00
Pavel Prichodko ca5bd55129
enforce the order of reactions 2022-06-14 18:59:36 +02:00
Pavel Prichodko 06c56c62ef
export Account type from protocol 2022-06-14 18:59:09 +02:00
Pavel c45d0a61f0
Use chat keys in the UI (#274)
* add util for compressing public key

* add chat keys to account and member

* use compressPublicKey in color hash util

* use chat keys in UI
2022-06-14 14:28:08 +02:00
Pavel Prichodko dd67a504bf
fix generating of message ID 2022-06-14 14:15:19 +02:00
Pavel Prichodko e0f5c2ae12
handle text overflow in CopyButton 2022-06-14 11:26:10 +02:00
Pavel Prichodko 90292ba42e
add more user information to member sidebar 2022-06-14 11:25:36 +02:00
Pavel Prichodko c79bcb62e1
add public key to community dialog 2022-06-14 11:25:09 +02:00
Pavel Prichodko 805944a3d7
fix: add username to account 2022-06-13 22:44:22 +02:00
Felicio Mununga 8bdff5d869
Return new array on emit to trigger re-rendering in react (#273)
* fix type

* return new array to trigger re-rendering in react
2022-06-13 22:44:12 +02:00
Felicio Mununga b7e61f16d1
Emit to self on send (#272)
* fix chat references in status-react

* emit to self on send
2022-06-13 20:07:00 +02:00
Pavel c9bffe4a52
Add members (#271)
* export ColorHash type

* add getObjectsDifference helper

* fix CommunityDescription generated type

* add members to community module

* use members in sidebar
2022-06-13 19:02:37 +02:00
Felicio Mununga b62bc86dfe
Add Chat module (#270)
* add packages/status-js/src/client/chat.ts

* cache received but skipped waku messages

* comment missing Map type in generate proto type

* handle removed and added chats

* remove lodash

* use this.client.waku instead of this.waku in community.ts

* rename community props

* fix waku reference in Community

* fix community reference in chat

* handle chat.description changes

* fix references in ui

* revert use of contentTopic

* fix callback on fetch

* use clock to limit fetch

* fix use of clock for community description

* remove notes

* remove await

* use Object.keys() for diff in chats

* fix typo

* add decryption key in start()

* set content topics when adding decryption keys

* add getter with tmp name

* rename community handler to handleDescription

* return this.description !== undefined

* add options to constructor
2022-06-13 16:33:57 +02:00
Pavel Prichodko 8cdf04da2c
add support for identicon ring to avatar 2022-06-13 16:18:06 +02:00
Felicio Mununga 9b1347d233
Add color hash function (#264) 2022-06-10 19:30:23 +02:00
Felicio Mununga 1734f0edeb
remove more debug references 2022-06-10 18:23:37 +02:00
Felicio Mununga 25943d29a5
remove comments 2022-06-10 18:16:51 +02:00
Felicio Mununga 020f20e801
remove debug 2022-06-10 17:46:38 +02:00
Felicio Mununga cc6f665f26
add comments 2022-06-10 16:53:15 +02:00
Felicio Mununga 8c2f200d0e
remove client.test.ts 2022-06-10 16:48:56 +02:00
Felicio Mununga a14eb6e011
remove console log 2022-06-10 16:47:59 +02:00
Felicio Mununga 1981b8a27d
remove scripts 2022-06-10 16:44:24 +02:00
Pavel Prichodko d0f4104b53
connect UI to protocol 2022-06-10 16:11:32 +02:00
Pavel Prichodko 65d9c33bb8
remove unused route 2022-06-10 16:07:07 +02:00
Pavel Prichodko bdd51485cb
add Loading component 2022-06-10 16:06:34 +02:00
Pavel Prichodko a1798ccefd
move protocol provider under theme provider 2022-06-10 16:06:05 +02:00
Pavel Prichodko df0babc6bc
add intials to avatar 2022-06-10 16:05:34 +02:00
Pavel Prichodko cb98595795
add protocol hooks 2022-06-10 16:05:11 +02:00
Pavel Prichodko 73d941ff9b
refactor protocol provider to use reducer 2022-06-10 16:04:15 +02:00
Pavel Prichodko f72476e248
add protocol provider 2022-06-10 14:16:06 +02:00
Pavel Prichodko 5b7c3cbb5a
fix recoverPublicKey test 2022-06-10 13:45:15 +02:00
Pavel Prichodko e976c5bc1f
add basic validateMessage function 2022-06-10 13:43:48 +02:00
Felicio Mununga 70ec7c030f
change requestToJoin() 2022-06-10 02:13:05 +02:00
Felicio Mununga c34eeea0d6
use Set for waku message IDs 2022-06-10 02:11:29 +02:00
Felicio Mununga e1b1036695
add comment 2022-06-09 21:05:13 +02:00
Felicio Mununga ca66e8b132
use clock 2022-06-09 20:32:36 +02:00
Felicio Mununga d6c1ff0450
change community fetch 2022-06-09 19:33:01 +02:00
Felicio Mununga c84ed7ac7b
return chat messages from history fetch only if new found 2022-06-09 19:22:58 +02:00
Felicio Mununga 2ac11ab094
ignore already received chat messages 2022-06-09 18:48:27 +02:00
Felicio Mununga c416ec3e94
fix observing of new channels 2022-06-09 18:28:52 +02:00
Felicio Mununga 75dd342bcd
remove other waku message handlers 2022-06-09 18:27:47 +02:00
Felicio Mununga faa60f6ad4
add packages/status-js/src/client/community/handle-waku-message.ts 2022-06-09 18:23:31 +02:00
Pavel Prichodko c3840f8725
cleanup generateUsername function 2022-06-09 19:22:05 +02:00
Pavel Prichodko 58a10a5239
add generate username util 2022-06-09 18:59:04 +02:00
Pavel Prichodko bf3e6de2a7
fix sending messages 2022-06-09 15:56:43 +02:00
Pavel Prichodko 6ce1344af1
unify reaction type 2022-06-09 15:56:19 +02:00
Pavel Prichodko 54020b4be6
upgrade stitches 2022-06-09 14:48:54 +02:00
Pavel Prichodko 128dbbe5f1
fix account tests 2022-06-09 14:44:45 +02:00
Pavel Prichodko 56a44eb255
add methods for sending messages 2022-06-09 14:44:23 +02:00
Pavel Prichodko e2cfc3ca6e
make recoverPublicKey universal 2022-06-09 14:40:08 +02:00
Felicio Mununga 6252736ad2
use pub key to gen chat message id 2022-06-08 17:09:36 +02:00
Felicio Mununga d4c597fa0f
add test for public key recovery 2022-06-08 17:08:03 +02:00
Felicio Mununga 4c1413cadf
use reverse() 2022-06-08 16:18:01 +02:00
Felicio Mununga b9062d556b
fix import of utils in account.ts 2022-06-08 15:40:30 +02:00
Felicio Mununga fb07201081
handle replies 2022-06-08 15:02:16 +02:00
Felicio Mununga 89279dbfbb
set chunk size 2022-06-08 13:17:08 +02:00
Felicio Mununga bd60c88767
try protocol layer first 2022-06-08 13:07:05 +02:00
Felicio Mununga 6826955c69
replace new Promise in observer 2022-06-08 11:52:55 +02:00
Felicio Mununga 109437f451
remove packages/status-js/src/community.ts 2022-06-08 11:45:56 +02:00
Felicio Mununga 857d283307
change client
- split client and community
- split some community methods
- add message fetching
- make observeChannelMessages async
2022-06-08 11:37:53 +02:00
Felicio Mununga cc4765d602
remove logs 2022-06-06 15:37:37 +02:00
Felicio Mununga fa95a375a3
split history fetching 2022-06-06 15:33:56 +02:00
Felicio Mununga e9a00f559e
remove `/proto copy` 2022-06-06 12:55:31 +02:00
Pavel Prichodko ced31593b3
fix account sign method 2022-06-07 16:35:01 +02:00
Pavel Prichodko 5667643068
add recoverPublicKeyFromMetadata util 2022-06-07 16:32:46 +02:00
Pavel Prichodko 643f7faa92
make pbkdf2 async 2022-06-06 11:05:44 +02:00
Pavel Prichodko 817b877634
add idToContentTopic 2022-06-04 13:09:49 +02:00
Pavel Prichodko 6e97051de9
add generateKeyFromPassword 2022-06-04 13:09:31 +02:00
Felicio Mununga 7bebcc9d30
add payload-to-id.ts 2022-06-03 23:36:36 +02:00
Pavel Prichodko 0bf7d05344
remove privateKeyToAddress util 2022-06-03 17:45:07 +02:00
Pavel Prichodko 085906398a
update Account 2022-06-03 17:44:55 +02:00
Pavel Prichodko 4f2581e462
add protocol message protobuf 2022-06-03 11:15:11 +02:00
Pavel Prichodko 1df5721654
add Account 2022-06-02 12:11:40 +02:00
Pavel Prichodko 91f1e75cd5
add ethereum-cryptography package 2022-06-02 12:10:53 +02:00
Pavel Prichodko 8435cfd815
add private key to address function 2022-06-02 12:10:35 +02:00
Felicio Mununga f0a629dfdc
fix test after rebase 2022-06-01 07:39:47 +02:00
Felicio Mununga 697f21a3ab
remove mocha 2022-06-01 06:56:10 +02:00
Felicio Mununga 198c3afff7
remove tsconfig changes 2022-06-01 06:46:25 +02:00
Felicio Mununga 0e96078dca
remove jest configs 2022-06-01 06:41:29 +02:00
Felicio Mununga 9740b358a3
remove test 2022-06-01 06:37:09 +02:00
Felicio Mununga 9ccab72dc1
mock Waku 2022-06-01 06:32:57 +02:00
Felicio Mununga 0cc21dd908
tmp fix test 2022-05-31 13:14:48 +02:00
Felicio Mununga c1d611827f
add configs 2022-05-31 13:14:12 +02:00
Felicio Mununga a52e0306ce
convert test files 2022-05-30 16:05:22 +02:00
Felicio Mununga 82a49b8df9
add notes 2022-05-29 23:06:18 +02:00
Felicio Mununga b9892545e7
add notes 2022-05-29 20:20:35 +02:00
Felicio Mununga f5acbd793b
get ops blocking stop/exit 2022-05-26 23:17:10 +02:00
Pavel Prichodko 89587c0e64
add new client 2022-05-25 17:05:53 +02:00
Felicio Mununga 9e96c2c568
remove comment 2022-05-25 15:22:47 +02:00
Felicio Mununga d897009671
add scripts 2022-05-25 14:52:48 +02:00
Felicio Mununga 7448ed1536
fix js-waku imports 2022-05-29 23:53:38 +02:00
Felicio Mununga 5069563f1f
fix js-waku utils 2022-05-25 14:42:47 +02:00
Felicio Mununga 093010a844
remove js-sha3 from status-react 2022-05-25 14:42:27 +02:00
Felicio Mununga cc760d258a
remove js-waku from status-react 2022-05-25 14:42:01 +02:00
Pavel Prichodko 75d4415b5c
feat(status-js): add membership update message 2022-05-24 15:36:14 +02:00
Pavel Prichodko df52940211
style(status-js): regenerate protso 2022-05-24 15:36:07 +02:00
Felicio Mununga b1e5bea532
Fix status-js `name` (#268) 2022-05-24 12:42:05 +02:00
Pavel f6c154d4d9
Use protons to generate TypeScript files (#269)
* feat(status-js): sync protos with status-go

* feat(status-js): set up protons

* feat(status-js): use protons to generate protos

* fix(status-js): remove buf configuration
2022-05-24 12:12:33 +02:00
Felicio Mununga ae55f185bf
Rename status-core to status-js (#265) 2022-05-23 14:57:01 +02:00
Pavel Prichodko 6a5e42f0e2
feat(react): update app state when config changes 2022-05-23 14:46:08 +02:00
Pavel Prichodko b8348c40f3
fix(react): use chat name from the route 2022-05-23 14:46:08 +02:00
Pavel Prichodko 7265ec260c
feat(react): add user profile dialog to chat message 2022-05-23 14:46:08 +02:00
Pavel Prichodko fc3ff49fef
fix(react): use color token in popver 2022-05-23 14:41:33 +02:00
Pavel Prichodko 0e6e699683
feat(react): comment out NewChat route 2022-05-23 14:40:41 +02:00
Pavel Prichodko 93544ee51d
style(react): update static data 2022-05-23 14:40:03 +02:00
Pavel Prichodko 89177dfdc3
feat(react): comment out unused parts 2022-05-23 14:39:42 +02:00
Pavel 0e799928e5
Bump to js-waku@0.23.0 (#263) 2022-05-19 15:37:46 +02:00
Pavel Prichodko 612e84ee2a
fix(react): re-export of stitches types 2022-04-19 14:09:56 +02:00
Pavel Prichodko a52475dc1d
fix(react): make config options optional 2022-04-19 14:09:34 +02:00
Pavel Prichodko 0ccea4b559
feat(react): add action handlers 2022-04-19 14:09:16 +02:00
Pavel Prichodko a361820b24
setup: add clean scripts 2022-04-18 16:54:40 +02:00
Pavel 5cd02e8d64
Delete legacy code (#249)
* refactor(react): delete unused contexts

* refactor(react): delete unused hooks

* refactor(react): delete unused components

* refactor(react): delete unused types

* refactor(react): delete unused utils

* feat(react): simplify Community component structure
2022-04-18 16:20:31 +02:00
Pavel Prichodko a781ef4f7c
feat(react): improve dark mode 2022-04-18 15:50:00 +02:00
Pavel Prichodko 3b8c393be8
feat(react): allow theme customization 2022-04-18 15:48:34 +02:00
Pavel Prichodko 582b58dc4e
fix(react): content max width 2022-04-18 14:32:47 +02:00
Pavel Prichodko f9abfc56d8
feat(react): update media query for sidebars 2022-04-14 16:18:31 +02:00
Pavel Prichodko 51c6250b6e
feat(react): improve usage of theme tokens 2022-04-14 13:44:55 +02:00
Pavel Prichodko c87619c6ec
fix(react): export correct themes 2022-04-14 13:42:35 +02:00
Pavel Prichodko 151b80bc9b
feat(react): implement message reactions 2022-04-14 12:37:59 +02:00
Pavel Prichodko 1080dd7ee3
fix(react): messages truncating 2022-04-13 19:20:57 +02:00
Pavel Prichodko 03a25463e2
feat(react): create chat info component 2022-04-13 14:25:54 +02:00
Pavel Prichodko 8ea0b46cde
feat(system): improve typography styles 2022-04-13 14:25:34 +02:00
Pavel Prichodko 25c2759baa
feat(react): use correct types in chat context 2022-04-13 14:25:15 +02:00
Pavel Prichodko f309ba291b
feat(react): add all chat input variants 2022-04-13 14:24:48 +02:00
Pavel Prichodko f69a37c041
feat(react): add all chat message variants 2022-04-13 14:24:37 +02:00
Pavel Prichodko 1832ee9eae
feat(react): add more static data to protocol 2022-04-13 14:24:01 +02:00
Pavel 9c74cf4685
Dialogs (#247)
* Add community dialog

* feat(react): add welcome dialog

* feat(react): add connect wallet dialog

* feat(react): add disconnect dialog

* feat(react): add create profile dialog

* feat(react): add welcome dialog

* feat(react): add load throwaway profile dialog

* feat(react): add sync status profile dialog

* fix(react): disconnect dialog spacing

* feat(react): add get started section to main sidebar

* feat(react): add user profile dialog

* feat(react): add edit group dialog

* feat(react): support opening dialogs programmatically

* feat(react): delete legacy components
2022-04-12 15:51:49 +02:00
Pavel Prichodko d9a0fb49ae
refactor(react): unify imports from system 2022-04-11 21:36:31 +02:00
Pavel Prichodko 555d22e006
feat(system): add Checkbox component 2022-04-11 21:29:58 +02:00
Pavel Prichodko eba39b7e27
feat(react): add ReactionPopover component 2022-04-11 21:08:17 +02:00
Pavel Prichodko bbd2f19b89
feat(react): add static protocol layer base 2022-04-11 21:05:08 +02:00
Pavel Prichodko 5c0f785b2d
fix(react): add missing dependencies 2022-04-11 21:04:05 +02:00
Pavel Prichodko d54e048dd9
chore(react): upgrade qrcode.react 2022-04-11 21:03:41 +02:00
Pavel Prichodko 88039258bc
feat(system): small improvements 2022-04-11 21:02:53 +02:00
Pavel Prichodko 3a9ebd152f
feat(system): update Tooltip styles 2022-04-11 21:01:50 +02:00
Pavel Prichodko 03c4b96176
feat(system): add more control to Popover 2022-04-11 21:01:29 +02:00
Pavel Prichodko 70143feea6
refactor(react): separate Navbar component 2022-04-11 21:00:59 +02:00
Pavel Prichodko b771115011
feat(react): unify chat menu 2022-04-11 21:00:10 +02:00
Pavel Prichodko ece215c183
feat(system): add EmojiHash component 2022-04-11 20:58:49 +02:00
Pavel Prichodko fb6467ace9
feat(system): improve Separator component 2022-04-11 20:58:20 +02:00
Pavel Prichodko 37fe627d99
feat(system): add aria attribute to menu 2022-04-11 20:58:01 +02:00
Pavel Prichodko c14b74002d
feat(system): add ButtonGroup component 2022-04-06 14:47:18 +02:00
Pavel Prichodko 9c351dd0d0
feat(system): add CopyInput component 2022-04-06 14:05:04 +02:00
Pavel Prichodko db47a0aeb0
feat(system): add label to Input component 2022-04-06 14:04:42 +02:00
Pavel Prichodko d428554d94
feat(react): pinned message state 2022-04-06 14:02:24 +02:00
Pavel Prichodko f9c8c3f6dd
feat(react): add local storage hook 2022-04-06 14:00:28 +02:00
Pavel Prichodko aadaa8d013
refactor(react): sidebar components structure 2022-04-06 14:00:03 +02:00
Pavel Prichodko 4979a5cd96
feat(system): add more dialog sizes 2022-04-06 10:38:34 +02:00
Pavel Prichodko c4e80bbdb3
feat(system): add ref to popover and tooltip triggers 2022-04-06 10:37:53 +02:00
Pavel Prichodko c7e6b14e35
feat(system): add small size button variant 2022-04-06 10:35:10 +02:00
Pavel Prichodko 15526db046
feat(system): add outline button variant 2022-04-06 10:34:35 +02:00
Pavel Prichodko 211adef137
feat(react): focus chat input when replying 2022-04-06 10:33:58 +02:00
Pavel Prichodko d6ed1d8496
feat(react): add components config options 2022-03-31 16:05:59 +02:00
Pavel 6d2581c072
Use react-router-dom for routing (#246)
* feat(react): move chat and new-chat to routes

* feat(react): setup react router

* feat(react): use links in sidebar

* feat(react): add link to IconButton component

* feat(react): add router to config
2022-03-31 15:34:32 +02:00
Pavel Prichodko 775a0885c3
fix(react): add missing dependencies 2022-03-31 15:15:24 +02:00
Pavel Prichodko 45f8afd4e0
fix(system): DropdownMenu children prop type 2022-03-31 15:14:22 +02:00
Pavel Prichodko 7ebd125370
feat(system): add label props to AlertDialog 2022-03-31 15:14:01 +02:00
Pavel Prichodko 43ab8e6240
feat(system): pass open state to children in ContextMenu 2022-03-31 15:13:44 +02:00
Pavel Prichodko b662c253f3
feat(system): use colors from design system in Button 2022-03-31 15:13:22 +02:00
Pavel Prichodko 66ecfa407e
refactor(react): chat messages content 2022-03-31 15:12:33 +02:00
Pavel Prichodko aa0dd52252
feat(system): add mention and pin to colors 2022-03-31 14:53:42 +02:00
Pavel Prichodko ba359a5cc7
feat(system): improve typography components 2022-03-18 19:14:30 +01:00
Pavel Prichodko 3370171ddf
feat(system): add radius to Image primitive 2022-03-18 19:14:13 +01:00
Pavel Prichodko 0adf32dc7a
feat(system): add Popover component 2022-03-18 19:13:14 +01:00
Pavel Prichodko a5d820d58c
refactor(react): improve icons 2022-03-18 19:12:50 +01:00
Pavel Prichodko 49135c57e5
feat(system): improve Dialog composability 2022-03-18 18:10:14 +01:00
Pavel Prichodko 8efa04f054
feat(system): add Separator primitive 2022-03-18 14:32:11 +01:00
Pavel Prichodko da9beccd76
Add colors from design system 2022-03-18 12:15:46 +01:00
Pavel Prichodko 8590951786
feat(react): add full radii property 2022-03-16 14:58:22 +01:00
Pavel Prichodko f9a99c3946
feat(react): add MemberSidebar component 2022-03-16 12:42:30 +01:00
Pavel Prichodko c1fba5e633
feat(react): add MainSidebar component 2022-03-16 12:41:55 +01:00
Pavel Prichodko 59f0198d81
refactor(react): community module structure 2022-03-16 12:41:15 +01:00
Pavel Prichodko a7f2c89a08
feat(react): add global app context 2022-03-16 12:37:46 +01:00
Pavel 16fac14582
Add Design System (#238)
* feat(examples): add full height and remove wrapping div

* Remove Channel component in favour of options

* feat(react): add hook for keyboard shortcuts

* setup: sort only react related packages at the top

* Add radix-ui packages

* feat(system): add stitches config file

* feat(system): add Image primitive

* feat(system): add Avatar component

* feat(system): add Box primitive

* feat(system): add Flex primitive

* feat(system): add Grid primitive

* feat(system): add Tooltip component

* feat(system): add Icon primitive

* feat(system): add Button component

* feat(system): add IconButton component

* feat(system): add EthAddress component

* fix(system): pass down button props

* feat(system): add option to hide Icon from screen readers

* feat(system): add Heading component

* feat(system): add Text component

* feat(system): add TextInput component

* feat(system): add Dialog component

* feat(system): add VisuallyHidden primitive

* feat(system): add Menu primitive

* feat(system): add DropdownMenu component

* feat(system): add ContextMenu component

* refactor(system): Icon component prop name

* feat(system): add AlertDialog component

* feat(system): update Avatar default background color
2022-03-15 13:47:17 +01:00
Pavel e839363c53
Simplify consumer configuration and add options (#236)
* Improve components configuration

* Update examples

* Move Theme to types
2022-03-03 16:54:59 +01:00
Pavel 5d3926779f
Update @status-im/react exports (#235)
* Move Community to modules folder

* Move Channel to modules folder

* Remove fetch metadata provider

* Update index file extension
2022-03-03 16:20:23 +01:00
Pavel c1f9fc9f9f
Support relative imports in packages (#234)
* Update tsconfigs

* Add ESLint support for relative paths
2022-03-02 18:08:35 +01:00
Pavel 3aba1ec88a
Upgrade js-waku to 0.18.0 (#232)
* Bump js-waku to 0.18.0

* Update nodes init function
2022-02-28 13:40:33 +01:00
Pavel Prichodko 3bac286c21
Add react and react-dom as peerDependency 2022-02-25 00:08:29 +01:00
Pavel 5338e8a080
Remove unused files and cleanup package.json (#230)
* Remove unused files

* Cleanup package.json scripts and deps

* Reorder package.json fields
2022-02-25 00:02:30 +01:00
Pavel Prichodko 0644bfa3db
Fix react imports grouping sort 2022-02-24 23:30:34 +01:00
Pavel e6680f8e62
Improve ESLint monorepo configuration (#228)
* Unify ESLint configuration

* Add .eslintignore file

* Add Node and Jest ESLint plugins

* Fix linting issues

* Sort imports and type imports
2022-02-24 22:58:50 +01:00
Pavel 88f1dddf58
Use Parcel for building of packages (#227)
* Use Parcel for building packages

* Make package exports explicit

* Fix missing dependencies
2022-02-24 16:44:09 +01:00
Pavel 1a1e86195e
Improve TypeScript monorepo configuration (#226)
* Unify TypeScript configuration

* Fix package.json target fields
2022-02-23 16:16:42 +01:00
Pavel 2a2c356807
Improve Prettier monorepo configuration (#225)
* Add prettier configuration files

* Move prettier command to monorepo root

* Format all files
2022-02-23 15:49:00 +01:00
Pavel 5ed925c02d
Move examples and migrate to Parcel (#224)
* Remove old examples

* Add Community and Channel examples
2022-02-23 15:32:08 +01:00
Pavel f1b125cc4d
Update packages to @status-im (#223)
* Downgrade to yarn v1

* Rename status-communities to status-core

* Rename chat-sdk to status-react

* Rename packages in examples

* Update readme

* Remove changelog

* Add extensions recommendations

* Update gitignore

* Rename package imports
2022-02-23 15:03:14 +01:00