45 Commits

Author SHA1 Message Date
Jeremy Kahn
291ed0c2b9
feat(connection-test): Display tracker connection status (#128)
* feat(ConnectionTest): track tracker state
* feat(ConnectionTest): show tracker searching state
* chore(deps): use github:jeremyckahn/trystero#feature/get-tracker-connections
* feat(connection-test): hide network indicator in non-room routes
* feat(connection-test): show peer searching status
* feat(connection-test): hide peer searching UI when not in a room
2023-07-13 09:50:54 -05:00
Jeremy Kahn
3977a82224
feat: Connection status (#119)
* feat: implement ConnectionTest
* feat: display connection results
* feat: keep network status up to date
2023-03-27 21:51:33 -05:00
Jeremy Kahn
4cf75b15b0
feat: [closes #15] Show connection type (#117)
* feat: [#15] implement getPeerConnectionTypes
* feat: [#15] display connection type icon
* refactor: extract PeerListItem to its own file
* feat: [#15] show connection details via tooltip
* fix: style stable peer name
2023-03-25 14:40:07 -05:00
Jeremy Kahn
7ba62c030b refactor: remove numberOfPeers state 2023-03-15 10:10:17 -05:00
Jeremy Kahn
d6f9b10ce2 feat: don't automatically close sidebars 2023-03-15 10:10:17 -05:00
Jeremy Kahn
446ca466c7 feat: default sidebars to open on wide screens 2023-03-15 10:10:17 -05:00
Jeremy Kahn
dfe510e642
feat: [closes #76] Custom usernames (#93)
* feat: add Username component
* feat: set custom username state
* feat: update custom username on input blur
* feat: inform peers of username updates
* feat: display username for peers
* feat: show static name in parentheses
* feat: use display name in message notification
* feat: remove username display from Shell Drawer
* feat: persist customUsername
2023-03-04 12:55:37 -06:00
Jeremy Kahn
870a13eac1
feat: [closes #77] Peer audio volume control (#90)
* feat: add AudioVolume component
* feat: show volume slider label value
* feat: update audio volume icon
* feat: mute/unmute when volume icon is clicked
* feat: show peer dividers
2023-02-26 18:26:53 -06:00
Nasal Daemon
8493ddade5
Give video display as much space as possible (#84)
* Move room tools to top of page to use full width
Allow messages to be hidden while video is displaying
Allow video display to utilise all available width
Track unread messages while they are hidden
* Better portrait behaviour
* Show room controls by default
* Show room controls at same time as app bar
Improve video height calc.

Co-authored-by: Jeremy Kahn <jeremyckahn@gmail.com>
2023-01-23 21:50:14 -06:00
Nasal Daemon
fcec242194
[closes #75] Easier sharing of private rooms (#81)
* Add URL secret reading logic
* Add private url share dialog
* Salt password hash with roomId
* Don't allow incorrect password to be entered

Co-authored-by: Jeremy Kahn <jeremyckahn@gmail.com>
2023-01-08 14:37:30 -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
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
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
Jeremy Kahn
ba21936c96 feat: [#19] display which peers are speaking to the room 2022-10-31 21:40:44 -05:00
Jeremy Kahn
ba744407ba feat: close peer list when counter is clicked 2022-10-25 21:49:27 -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
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
44c328fd1f feat: add error boundary 2022-10-01 13:38:56 -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
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
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
de38dfa138 feat: [#4] wire up update UI 2022-09-11 13:45:17 -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
c2cd21672a feat: show user name to self 2022-09-04 09:59:28 -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