Commit Graph

337 Commits

Author SHA1 Message Date
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