Commit Graph

47 Commits

Author SHA1 Message Date
Jeremy Kahn
f67dbb60d3
feat(connection-test): display failed tracker connections (#129) 2023-07-14 17:21:25 -05:00
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
aff6995ecc fix: use window.navigator.onLine for connection detection 2023-03-28 09:46:10 -05:00
Jeremy Kahn
8fa4f666e0 feat: expire host/relay checks 2023-03-28 09:24:06 -05:00
Jeremy Kahn
38509019fd fix: clean up old rtcPeerConnections 2023-03-28 09:13:35 -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
456581bf0a chore: use trystero@0.12.0 2023-03-22 09:19:47 -05:00
Jeremy Kahn
99a9ab7838 fix: use rtcConfig for file transfers 2023-02-22 09:48:51 -06:00
Jeremy Kahn
ebb8efb3f6 refactor: use secure-file-transfer@0.0.1 2023-02-19 12:33:45 -06:00
Jeremy Kahn
67ee15c40e refactor: type readable-stream-node-to-web 2023-02-18 13:45:52 -06:00
Jeremy Kahn
a9f7919460 refactor: type abstract-chunk-store and idb-chunk-store 2023-02-18 13:02:58 -06:00
Jeremy Kahn
8d27c2239a refactor: type all of wormhole-crypto 2023-02-18 11:56:58 -06:00
Jeremy Kahn
7d73a5ca7f refactor: declare used wormhole-crypto types 2023-02-17 09:43:55 -06:00
Jeremy Kahn
9477fb2306 refactor: use streamsaver types 2023-02-17 09:36:01 -06:00
Jeremy Kahn
674a3cea45 docs: explain stream pooling strategy 2023-02-16 09:41:06 -06:00
Jeremy Kahn
b0d4479e63 refactor: remove useless object spread 2023-02-16 09:40:16 -06:00
Jeremy Kahn
44ba2181be fix: [#86 post-fix] don't create redundant data before transferring files 2023-02-15 21:48:57 -06:00
Jeremy Kahn
50aecb4af9
fix: [#86 post-fix] Reduce file transfer memory usage (#88)
* fix: [#86] don't bloat memory when seeding files
2023-02-15 09:45:45 -06:00
Jeremy Kahn
d7287b5f6d
feat: [closes #86] Encrypted file transfers (#87)
* feat: [#86] encrypt torrent data before upload
* feat: [#86] decrypt torrent data after download
* feat: [#86] use room ID as encryption key
* feat: [#86] show alerts for encryption activity
* feat: [#86] show progress indicator while encrypting files
2023-02-11 17:29:57 -06:00
Jeremy Kahn
5d3d019cd6
feat: [closes #33] Render inline media (#73)
* refactor: pass inline media upload data to useRoom
* feat: render inline media
* fix: don't rescind inline media file offers
* refactor: send file offer metadata object
* fix: enable re-seeding of inline media files
* feat: show loading indicator for inline media
* feat: rescind any evicted inline media
* feat: display media rendering failure message
* feat: prevent user from uploading file if message is sending
2022-11-28 21:18:41 -06:00
Jeremy Kahn
d10c047fec refactor: load webtorrent source 2022-11-28 20:45:45 -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
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
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
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
49c513b8e1 refactor: decouple peer room hooks and clean up audio 2022-11-02 21:48:40 -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
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
Jeremy Kahn
b7c8ee6441 chore: upgrade to trystero 0.11.3 2022-09-19 11:51: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
caaa59d014 feat: show number of peers in the room 2022-08-29 22:05:56 -05:00
Jeremy Kahn
39d8129957 fix: don't crash when the room changes 2022-08-28 21:57:18 -05:00
Jeremy Kahn
126456eced feat: add message sending UI 2022-08-17 09:28:22 -05:00
Jeremy Kahn
7cb7e5fdd5 fix: prevent rerenders from breaking room connection 2022-08-16 21:57:39 -05:00
Jeremy Kahn
40b0b7047e refactor: use absolute module paths 2022-08-16 09:21:33 -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
a86e2d6592 refactor: use Room type 2022-08-14 13:21:34 -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