Commit Graph

476 Commits

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