Jeremy Kahn
2910c70a8a
refactor: replace funAnimalName with getPeerName in useRoom
2022-11-26 09:25:37 -06:00
Jeremy Kahn
d4d4f05e44
refactor: destruct shellContext in useRoom
2022-11-26 09:23:27 -06:00
Jeremy Kahn
37250fddf5
fix: prevent peer list from obscuring room
2022-11-25 10:40:13 -06:00
Jeremy Kahn
f006e76e80
feat: [ closes #21 ] File sharing ( #72 )
...
* feat: [#21 ] stand up file sharing controls UI
* feat: [#21 ] implement basic file transfer
* feat: [#21 ] save transferred file
* feat: [#21 ] transfer file via WebTorrent
* fix: use external streamsaver assets
* feat: [#21 ] initiate download by receiver click
* fix: enable re-downloading of shared files
* feat: [#21 ] implement sharing of multiple files
* chore: enable offline development
* feat: cache torrents in IndexedDB
* feat: show alert when download is aborted
* feat: [#21 ] clean up torrent data when principal offerer rescinds it
* feat: clean up cached torrents on page unload
* feat: show file transfer progress
* fix: download files sequentially
* feat: clean up file transfers when leaving the room
* feat: clean up broken downloads upon leaving the page
* fix: allow download animation to complete
* feat: show tooltip for download button
* feat: make file transfers work in browser private modes
* feat: disable file share controls while creating offer
2022-11-24 00:16:34 -06:00
Jeremy Kahn
4e29bfbd24
feat: group videos closer together
2022-11-16 09:14:10 -06:00
Jeremy Kahn
373ea22d2c
feat: improve video layout
2022-11-15 22:02:18 -06:00
Jeremy Kahn
f5c0eb3f16
feat: improve video layout
2022-11-15 09:52:00 -06:00
Jeremy Kahn
97d5b64fc1
fix: prevent video focusing when there is only one video
2022-11-15 09:26:48 -06:00
Jeremy Kahn
f20f32f6a6
feat: Video focusing ( #71 )
...
* feat: focus video on click
2022-11-14 22:05:25 -06:00
Jeremy Kahn
69da8fed2f
fix: [ #67 ] increase streamQueueAddDelay to 1000
2022-11-14 07:38:30 -06:00
Jeremy Kahn
c1fad606f6
fix: [ #67 ] enable joining peers to receive all video streams
2022-11-14 07:27:41 -06:00
Jeremy Kahn
75a804abbd
feat: [ closes #67 ] Screen sharing ( #68 )
...
* feat: [#67 ] stand up useRoomScreenShare hook
* feat: [#67 ] stand up RoomScreenShareControls
* feat: [#67 ] display screen share streams
* fix: [#67 ] don't flip screen share preview
* feat: don't display screen share controls in unsupported environments
* fix: [#67 ] always remove media streams for exiting peers
2022-11-13 17:11:09 -06:00
Jeremy Kahn
f6314501a2
feat: import peer video layout
2022-11-07 21:19:11 -06:00
Jeremy Kahn
b27a54eac4
feat: improve peer video display
2022-11-07 09:47:32 -06:00
Jeremy Kahn
51a17a72a3
fix: always show link button
2022-11-06 20:52:56 -06:00
Jeremy Kahn
19d0faaccc
refactor: move video stream data into new room context
2022-11-06 20:49:48 -06:00
Jeremy Kahn
828e3c12b9
feat: [ closes #20 ] Video support ( #64 )
...
* refactor: nest ChatTranscript
* feat: set up video controls
* feat: show self video
* feat: show peer video
* feat: improve audio/video controls display
* feat: flip self video
* feat: improve device selection labels
2022-11-06 13:36:15 -06:00
krayste
d4e565815c
feat: [ closes #12 ] add qr code support ( #63 )
...
* Add initial QRCode implementation
2022-11-05 20:41:24 -05:00
krayste
237fc0e6df
Add end adornment icon to refresh the room uuid() ( #62 )
...
* Add end adornment icon to refresh room uuid()
* Make mobile compatible
2022-11-05 10:40:42 -05:00
Jeremy Kahn
8947bace94
refactor: Room audio ( #61 )
...
* Revert "Revert "refactor: move room audio controls to their own component""
This reverts commit 219e0670ca2c0c5e7bb1c25d4928cdc787934c09.
* fix: prevent duplicate hook handlers
* refactor: PeerRoom cleanup
2022-11-03 21:36:30 -05:00
Jeremy Kahn
a87b0d3367
Revert "refactor: move room audio controls to their own component"
...
This reverts commit bbabb1d389
.
2022-11-03 09:39:27 -05:00
Jeremy Kahn
bbabb1d389
refactor: move room audio controls to their own component
2022-11-03 09:33:17 -05:00
Jeremy Kahn
49c513b8e1
refactor: decouple peer room hooks and clean up audio
2022-11-02 21:48:40 -05:00
Jeremy Kahn
0a05d197cb
fix: clean up unused audio objects
2022-11-01 09:54:22 -05:00
Jeremy Kahn
9c18f40d61
refactor: move audio logic to new hook
2022-11-01 09:10:53 -05:00
Jeremy Kahn
ba21936c96
feat: [ #19 ] display which peers are speaking to the room
2022-10-31 21:40:44 -05:00
Jeremy Kahn
931ddf267f
feat: remember selected audio device when muting
2022-10-31 09:16:46 -05:00
Jeremy Kahn
f219218d02
feat: ( closes #19 ) Audio calls ( #60 )
...
* feat: [#19 ] set up voice call UI
* feat: [#19 ] get audio calls
* feat: [#19 ] implement audio device selection
2022-10-30 16:07:32 -05:00
Jeremy Kahn
02a2e53b64
feat: [ closes #53 ] display message timestamps
2022-10-29 14:20:56 -05:00
Jeremy Kahn
33f85fc8aa
fix: make full room transcripts autoscroll to the bottom when necessary
2022-10-29 13:51:17 -05:00
Jeremy Kahn
a5a61b0cb0
feat: set messageTranscriptSizeLimit to 150
2022-10-29 13:25:31 -05:00
Jeremy Kahn
9f0d20cd22
feat: redirect invalid routes to root
2022-10-29 13:09:27 -05:00
Jeremy Kahn
95d6ed6f11
fix: [ closes #59 ] prevent users from using empty room names
2022-10-29 12:54:40 -05:00
Jeremy Kahn
73e09041cc
feat: ( closes #3 ) Private rooms ( #51 )
...
* feat: present password submit UI as a form
* fix: don't connect to room without password
* feat: password-protect room connections
* feat: disable transcript backfilling for private rooms
2022-10-27 22:21:35 -05:00
Jeremy Kahn
b02ef3e988
fix: use root route for home link
2022-10-27 09:43:17 -05:00
Jeremy Kahn
9480d8cc17
feat: add link to community room list
2022-10-26 09:44:56 -05:00
Jeremy Kahn
ba744407ba
feat: close peer list when counter is clicked
2022-10-25 21:49:27 -05:00
Jeremy Kahn
f0af2eb480
feat: wrap peer number indicator in an IconButton
2022-10-25 21:43:39 -05:00
Jeremy Kahn
10b061e36a
feat: [ closes #22 ] implement message backfilling ( #45 )
...
* feat: [#22 ] implement message backfilling
* feat: scroll to latest backfilled message
* feat: document transcript backfilling
2022-10-25 21:00:28 -05:00
Jeremy Kahn
bd6f1d5090
feat: [ closes #46 ] limit chat transcripts to 10,000 messages
2022-10-25 20:17:58 -05:00
Jeremy Kahn
6740d8da3d
fix: prevent overlap of right side of chat
2022-10-25 09:18:41 -05:00
Jeremy Kahn
ee7d528f01
feat: [ closes #40 ] Disclaimer ( #42 )
...
* feat: [#40 ] stand up disclaimer page
* chore: use mui-markdown for disclaimer copy
* feat: [#40 ] add more disclaimer copy
* feat: style lists in messages
* refactor: author About page with Markdown
* feat: improve About page formatting
2022-10-16 21:49:04 -05:00
Jeremy Kahn
58326ecbb8
refactor: Room logic ( #34 )
...
* refactor: move room logic to usePeerRoom hook
* refactor: make peer room hooks private
2022-10-04 22:00:16 -05:00
Jeremy Kahn
ebb80c3e6c
chore: use trystero@0.11.4
2022-10-04 09:14:34 -05:00
Jeremy Kahn
d14ae4c2b3
fix: disable ripple effect in PeerList
2022-10-04 09:12:03 -05:00
Flaykz
26618c0309
feat: [ closes #14 ] Display peer list ( #28 )
...
* feat: [#14 ] Display peer list
Co-authored-by: Jeremy Kahn <jeremyckahn@gmail.com>
2022-10-04 09:08:38 -05:00
Jeremy Kahn
c38a203f07
feat: [ closes #32 ] group messages under peer names
2022-10-03 21:29:28 -05:00
Jeremy Kahn
44c328fd1f
feat: add error boundary
2022-10-01 13:38:56 -05:00
Jeremy Kahn
69a15443ce
fix: prevent unstyled pre content from breaking out of message box
2022-10-01 11:46:46 -05:00
Jeremy Kahn
630a7aa398
refactor: [ #7 ] move audio logic to new Audio service
2022-09-30 09:13:07 -05:00
Jeremy Kahn
b4decae69c
feat: [ closes #6 ] Show notifications for messages recieved in the background ( #31 )
...
* feat: [#6 ] show notification when message is received
* feat: [#6 ] add setting for enabling/disabling notifications
* refactor: [#6 ] decouple PeerNameDisplay from funAnimalName
* feat: [#6 ] disable notifications setting when notifications are unavailable
2022-09-29 21:56:28 -05:00
Flaykz
492cfa58ce
feat: [ #7 ] Play a sound on new message ( #25 )
...
* feat: [#7 ] Play a sound on new message
* fix: [#7 ] Since this mock is a no-op, I think we can omit the argument to mockImplementation
Co-authored-by: Jeremy Kahn <jeremyckahn@gmail.com>
* fix: [#7 ] lazy initialization of this state
Co-authored-by: Jeremy Kahn <jeremyckahn@gmail.com>
* fix: [#7 ] More accurate error message
Co-authored-by: Jeremy Kahn <jeremyckahn@gmail.com>
* fix: [#7 ] Replace then with await
* [closes #24 ] Settings UI (#26 )
* feat: [#24 ] wire up settings page
* feat: [#24 ] stand up settings UI
* feat: [#24 ] implement storage deletion
* feat: [#24 ] confirm deletion of settings data
* feat: [#7 ] Add play sound switch in settings
* feat: [#7 ] avoid typescript warning
Co-authored-by: Jeremy Kahn <jeremyckahn@gmail.com>
* feat: [#7 ] more straighforward wording
Co-authored-by: Jeremy Kahn <jeremyckahn@gmail.com>
* feat: [#7 ] remove useless usestate
* feat: [#7 ] avoid new settings to be undefined in persisted storage
* feat: [#7 ] creating a chat section in settings
Co-authored-by: Jeremy Kahn <jeremyckahn@gmail.com>
2022-09-26 08:10:31 -05:00
Jeremy Kahn
e259196942
[ closes #24 ] Settings UI ( #26 )
...
* feat: [#24 ] wire up settings page
* feat: [#24 ] stand up settings UI
* feat: [#24 ] implement storage deletion
* feat: [#24 ] confirm deletion of settings data
2022-09-23 17:40:34 -05:00
Jeremy Kahn
20d8337082
refactor: move routes to an enum
2022-09-20 14:22:39 -05:00
Jeremy Kahn
b7c8ee6441
chore: upgrade to trystero 0.11.3
2022-09-19 11:51:49 -05:00
Jeremy Kahn
2fabd4d974
feat: [ closes #17 ] add About page
2022-09-17 12:39:16 -05:00
Jeremy Kahn
62e512582d
refactor: move route content rendering to its own component file
2022-09-17 11:29:57 -05:00
Jeremy Kahn
cba8bc47df
feat: improve home screen messaging
2022-09-17 11:20:56 -05:00
Jeremy Kahn
7224145e2b
refactor: move notification area to its own component file
2022-09-17 11:08:05 -05:00
Jeremy Kahn
28e09213d8
refactor: move app bar to its own component file
2022-09-16 09:46:11 -05:00
Jeremy Kahn
0b15957d93
refactor: move upgrade dialog to its own component file
2022-09-16 09:36:24 -05:00
Jeremy Kahn
9b5551a4bd
refactor: move drawer to its own component file
2022-09-15 21:16:41 -05:00
Jeremy Kahn
f2aeec5acb
feat: [ closes #18 ] limit message character size to 10,000
2022-09-15 20:15:43 -05:00
ighmaz
e891339907
feat: [for #18 ] limited message to 1000 ( #23 )
2022-09-15 19:58:12 -05:00
Jeremy Kahn
e2bac732cf
docs: add self-hosting info
2022-09-11 20:52:47 -05:00
Jeremy Kahn
1ea67e2c3a
feat: [ closes #1 ] display logo ( #10 )
...
* feat: display logo
* chore: credit ramyashreeshetty for logo
2022-09-11 17:27:16 -05:00
Jeremy Kahn
702c1e8135
chore: remove update test message
2022-09-11 15:46:14 -05:00
Jeremy Kahn
db5b8b7905
test: log update test message
2022-09-11 13:49:51 -05:00
Jeremy Kahn
de38dfa138
feat: [ #4 ] wire up update UI
2022-09-11 13:45:17 -05:00
Jeremy Kahn
8cd2ce3f45
refactor: move trackerUrls to its own file
2022-09-10 18:22:36 -05:00
Jeremy Kahn
d277820961
refactor: move rtcConfig to its own file
2022-09-10 17:52:53 -05:00
Jeremy Kahn
f0a4404910
feat: automatically focus message input
2022-09-08 21:47:02 -05:00
Jeremy Kahn
cebb8dc93a
fix: prevent large transcripts from affecting input performance
2022-09-08 21:35:50 -05:00
Jeremy Kahn
5b69f48229
feat: automatically transform URLs into links
2022-09-08 09:37:38 -05:00
Jeremy Kahn
9a159e5787
feat: improve home screen display
2022-09-05 18:59:59 -05:00
Jeremy Kahn
040e199231
feat: improve home screen app bar layout
2022-09-05 17:56:15 -05:00
Jeremy Kahn
04549a8507
feat: close menu when navigating home
2022-09-05 17:54:23 -05:00
Jeremy Kahn
07cd343b10
feat: add button to copy current URL
2022-09-05 17:52:18 -05:00
Jeremy Kahn
7fb46bfe27
feat: persist color theme setting
2022-09-05 17:35:40 -05:00
Jeremy Kahn
82673d54fd
refactor: move ShellContext to contexts directory
2022-09-05 12:17:10 -05:00
Jeremy Kahn
38378f0dfb
feat: simplify and improve UI layout
2022-09-05 12:12:54 -05:00
Jeremy Kahn
56230b8361
feat: improve layout for more dimensions
2022-09-04 12:09:30 -05:00
Jeremy Kahn
a2ac9fa102
feat: improve message colors
2022-09-04 11:04:54 -05:00
Jeremy Kahn
c2cd21672a
feat: show user name to self
2022-09-04 09:59:28 -05:00
Jeremy Kahn
59a93c6fd0
feat: display user-friendly peer names
2022-09-04 09:39:18 -05:00
Jeremy Kahn
8b22aa8df9
feat: implement theme toggling
2022-09-02 09:49:00 -05:00
Jeremy Kahn
96740b352b
fix: eliminate gap between transcript and header
2022-09-02 09:26:32 -05:00
Jeremy Kahn
899286369e
feat: hide and show peer counter
2022-09-01 21:28:45 -05:00
Jeremy Kahn
bfa7158fb1
test: validate drawer toggling
2022-09-01 21:12:52 -05:00
Jeremy Kahn
fb2a5144a2
refactor: simplify index.tsx
2022-08-31 22:05:24 -05:00
Jeremy Kahn
0468977072
feat: add app drawer with home button
2022-08-31 21:44:00 -05:00
Jeremy Kahn
bf4b6b18d6
refactor: move shell into its own component
2022-08-31 19:40:40 -05:00
Jeremy Kahn
839628dc75
feat: improve shell and room display
2022-08-31 19:26:38 -05:00
Jeremy Kahn
c9dadbb89e
feat: set page title
2022-08-31 19:18:35 -05:00
Jeremy Kahn
2a09eddb7d
fix: remove double "has" from alert messages
2022-08-31 10:09:49 -05:00
Jeremy Kahn
6bc8bf8b88
feat: show alerts when someone joins or leaves the room
2022-08-31 09:55:57 -05:00
Jeremy Kahn
70ac4f34da
feat: use relay servers when necessary
2022-08-30 09:38:14 -05:00
Jeremy Kahn
cfc9881b9d
feat: prevent page overflows
2022-08-29 22:20:04 -05:00
Jeremy Kahn
caaa59d014
feat: show number of peers in the room
2022-08-29 22:05:56 -05:00
Jeremy Kahn
2e30f53b39
chore: use local tracker for development
2022-08-29 19:21:14 -05:00
Jeremy Kahn
39d8129957
fix: don't crash when the room changes
2022-08-28 21:57:18 -05:00
Jeremy Kahn
71ecc37d89
feat: render top bar
2022-08-28 21:25:49 -05:00
Jeremy Kahn
73daf3ddb3
feat: use full dark theme
2022-08-28 18:32:34 -05:00
Jeremy Kahn
ac4b7d6d70
feat: support code syntax highlighting
2022-08-28 18:19:14 -05:00
Jeremy Kahn
d939e16ee6
feat: scroll to bottom of transcript when number of messages change
2022-08-28 16:55:53 -05:00
Jeremy Kahn
a6a5c90a73
feat: improve message display
2022-08-28 11:45:26 -05:00
Jeremy Kahn
707e090f8b
refactor: use Box instead of div
2022-08-27 21:48:22 -05:00
Jeremy Kahn
dd82d9e1eb
feat: render message author
2022-08-27 21:38:08 -05:00
Jeremy Kahn
d90469e06f
feat: render messages as markdown
2022-08-27 21:25:38 -05:00
Jeremy Kahn
cd3f1b0fd7
feat: allow multiline messages with shift+enter
2022-08-27 19:40:51 -05:00
Jeremy Kahn
7e107e8290
feat: improve sending UI layout
2022-08-27 19:06:54 -05:00
Jeremy Kahn
fd9998fc2c
feat: improve layout of room
2022-08-26 09:39:01 -05:00
Jeremy Kahn
4584e0f42f
refactor: render Message component
2022-08-23 21:46:07 -05:00
Jeremy Kahn
254ebf2580
refactor: get roomId from props
2022-08-23 21:15:58 -05:00
Jeremy Kahn
0d28df82c2
feat: show animation when message is successfully sent
2022-08-22 21:57:45 -05:00
Jeremy Kahn
3be1f2e88a
feat: improve message styling
2022-08-21 10:44:01 -05:00
Jeremy Kahn
6fb021e6c4
feat: style messages
2022-08-21 10:32:54 -05:00
Jeremy Kahn
499a0ef193
feat: show full message transcript
2022-08-20 22:23:43 -05:00
Jeremy Kahn
d4bc49f096
refactor: allow for full trystero configuration
2022-08-20 17:14:50 -05:00
Jeremy Kahn
b8f8bb5bfd
feat: persist userId
2022-08-20 16:52:47 -05:00
Jeremy Kahn
74f11dae2a
feat: assign userId
2022-08-20 14:20:51 -05:00
Jeremy Kahn
09d039d806
feat: assign ids to messages
2022-08-19 09:42:14 -05:00
Jeremy Kahn
5aa46ebb41
test: validate that message is sent
2022-08-18 22:14:56 -05:00
Jeremy Kahn
3bbe8b1430
test: validate message sending UX
2022-08-18 21:36:13 -05:00
Jeremy Kahn
6ffcd20429
test: validate Room availability
2022-08-18 21:10:16 -05:00
Jeremy Kahn
85c4f24bd6
feat: display received messages
2022-08-18 09:14:13 -05:00
Jeremy Kahn
be160cf29b
refactor: use sx prop for styling instead of tailwind
2022-08-17 09:32:18 -05:00
Jeremy Kahn
126456eced
feat: add message sending UI
2022-08-17 09:28:22 -05:00
Jeremy Kahn
96f2991209
refactor: simplify Room loading
2022-08-17 09:10:36 -05:00
Jeremy Kahn
7cb7e5fdd5
fix: prevent rerenders from breaking room connection
2022-08-16 21:57:39 -05:00
Jeremy Kahn
9cc26895de
refactor: add usePeerRoomAction hook
2022-08-16 09:40:01 -05:00
Jeremy Kahn
40b0b7047e
refactor: use absolute module paths
2022-08-16 09:21:33 -05:00
Jeremy Kahn
a4472d6982
feat: prevent clients from other domains from joining the room
2022-08-15 21:47:45 -05:00
Jeremy Kahn
b9e9ae398e
fix: prevent Room re-renders from throwing an error
2022-08-15 21:38:56 -05:00
Jeremy Kahn
7948b51cc8
refactor: remove joinRoom method
2022-08-14 21:49:14 -05:00
Jeremy Kahn
33b25e204d
feat: send a message to peers
2022-08-14 21:26:50 -05:00
Jeremy Kahn
9c3e96a804
feat: define makeAction
2022-08-14 17:49:31 -05:00
Jeremy Kahn
2ec8c52f7c
refactor: configure PeerRoom via constructor
2022-08-14 17:29:24 -05:00
Jeremy Kahn
4eb1d05b92
feat: genericize makeAction
2022-08-14 17:23:05 -05:00
Jeremy Kahn
638587f5a3
chore: define RoomConfig type
2022-08-14 17:20:33 -05:00
Jeremy Kahn
a86e2d6592
refactor: use Room type
2022-08-14 13:21:34 -05:00
Jeremy Kahn
56751f4c23
chore: define trystero types
2022-08-14 13:21:16 -05:00
Jeremy Kahn
53c4415112
refactor: create usePeerRoom hook
2022-08-14 10:10:05 -05:00
Jeremy Kahn
519e27b5c2
feat: join peer room
2022-08-13 12:11:59 -05:00
Jeremy Kahn
583c808f4e
fix: support index.html path
2022-08-10 22:31:11 -05:00
Jeremy Kahn
b24fe12a50
feat: implement navigation to public room from home
2022-08-10 22:15:50 -05:00
Jeremy Kahn
36d059329c
feat: add room name input text field
2022-08-10 09:42:15 -05:00
Jeremy Kahn
65196ae9c4
feat: wire up public room
2022-08-09 22:14:59 -05:00
Jeremy Kahn
3b1a55067d
feat: add basic home content
2022-08-09 21:57:29 -05:00
Jeremy Kahn
da04fcf53b
chore: set up MUI theme
2022-08-09 21:41:39 -05:00