Commit Graph

172 Commits

Author SHA1 Message Date
Jeremy Kahn
3a97ee2cbf
feat(audio) [closes #180] Mute own screen stream (#200)
* refactor: remove redundant function calls

* feat(video): [closes #180] mute self screen stream audio
2023-11-04 00:54:59 -05:00
Jeremy Kahn
54f7b2dd93
fix(deps): [fixes #185] Upgrade vulnerable versions and remove ipfs-core (#193)
* fix(deps): omit ipfs-core
* fix(deps): use @svgr/plugin-svgo/nth-check@2.0.1
* fix(deps): use resolve-url-loader/postcss@8.4.31
* chore(deps): rebuild package-lock.json
* chore(actions): update actions
2023-10-29 14:49:49 -05:00
Jeremy Kahn
f6a3e30da2
feat(sdk): Implement Chitchatter SDK (#183)
* feat(sdk): render iframe in chat-room component
* fix(ci): install optional dependencies
* feat(sdk): allow subset of attributes
* feat(sdk): accept root-domain attribute
* feat(sdk): accept custom room name or use sane default
* feat(sdk): set allowed features
* feat(sdk): add sdk instructions to embed code dialog
* fix(sdk): use dynamic rootUrl
* fix(sdk): use static defaultRoot
* feat(sdk): send config from SDK to chat
* fix(sdk): expire poller
* fix(sdk): pass parent domain to iframe via query param
* refactor(sdk): type message event data
* feat(sdk): send user id to chat frame
* feat(sdk): handle some attribute updates
* chore(package): add build:sdk:watch script
* refactor(sdk): move more code to updateIframeAttributes
* feat(sdk): support changing rooms
* feat(sdk): support more user settings
* docs(sdk): add SDK section to README
* feat(sdk): render root-url in embed code if necessary
* refactor(sdk): use map for chat room attributes
* fix(sdk): unbind event listener when chat-room is disconnected
* fix(sdk): properly tear down receipt listener
* fix(sdk): send config when frame reloads
* feat(sdk): listen for config updates
* feat(sdk): request config from sdk instead of sending it repeatedly
* refactor(sdk): use type guard for config message
* fix(sdk): use settings from SDK when there is no preexisting persisted data
* fix(sdk): observe all iframe attributes
* refactor(sdk): simplify bootup logic
* feat(sdk): improve embed code display
2023-10-28 11:42:58 -05:00
Jeremy Kahn
44cbfa2005 feat(shell): improve chitchatter link styling 2023-10-12 20:48:57 -05:00
Jeremy Kahn
6ab7a3e8d9 feat(shell): show chitchatter link in embedded environments 2023-10-12 10:02:52 -05:00
Jeremy Kahn
92c04d2872 fix(shell): remove extraneous Divider 2023-10-12 09:54:16 -05:00
Jeremy Kahn
37ed65df9a refactor(shell): de-DRY DrawerHeader 2023-10-12 09:52:38 -05:00
Jeremy Kahn
257737c65c refactor(shell): move more logic to PeerListHeader 2023-10-12 09:18:16 -05:00
Jeremy Kahn
dfd4131959 refactor(shell): move MuiDrawer out of PeerList 2023-10-12 09:03:38 -05:00
Jeremy Kahn
c170edb692
feat(ui): Add copy button for code (#178)
* feat(ui): stand up CopyableBlock component
* feat(ui): implement clipboard writing
* feat(ui): make code blocks copyable
* refactor(imports): use SyntaxHighlighter directly
* feat(ui): make copy button slightly transparent
* feat(ui): tweak copy alert text
2023-10-11 21:18:28 -05:00
Jeremy Kahn
ff988d9da5 feat(syntax-hightlighting): lazy load language files 2023-10-11 09:47:11 -05:00
Jeremy Kahn
b82e339f86 refactor(imports): use default MUI component imports 2023-10-10 09:51:01 -05:00
Jeremy Kahn
1370b9d197 feat(embed): enable fullscreen 2023-10-09 09:42:12 -05:00
Jeremy Kahn
cbd0da50f6 fix(embed): [#92] improve embedded display on wider screens 2023-10-08 13:51:49 -05:00
Jeremy Kahn
7acf267558
feat(embed): [closes #92] Embed support (#177)
* feat(embed): [#92] hide unnecessary UI when embedded
* feat(embed): [#92] provide embed code
2023-10-08 13:19:46 -05:00
bharat
3fe80f58fd
feat(media): [closes #165] Hide media control selectors when not in use (#166) 2023-09-16 10:04:58 -05:00
Jeremy Kahn
29a20a930e
feat(media): [closes #157] Improve media button styling (#164) 2023-09-12 09:35:32 -05:00
Jeremy Kahn
d06bbcf0f4
feat(shell): [closes #155] Handle unsupported environments (#161)
* feat(shell): [#155] show error in unsupported environment
* feat(shell): [#155] show details about unsupported environment
2023-09-07 09:28:29 -05:00
Jeremy Kahn
6b942c1025 feat(connectivity): increase trackerRedundancy to 4 2023-08-21 20:53:03 -05:00
Jeremy Kahn
5f7b8b2ffc fix(typing-indicator): send typing status to peers upon joining 2023-07-28 10:07:17 -05:00
Jeremy Kahn
3413f37d8c feat(typing-indicator): add setting to disable typing indicator 2023-07-28 09:50:03 -05:00
Jeremy Kahn
e597a667a1
feat(chat): [closes #13] Active typing indicators (#133)
* feat(typing-indicator): wire up handleMessageChange
* feat(typing-indicator): send typing: true status
* feat(typing-indicator): expire typing state
* feat(typing-indicator): update typing state received from peers
* refactor(shell): add updatePeer utility
* feat(typing-indicator): display peer typing status
* feat(typing-indicator): reset typing status when a message is sent
* feat(typing-indicator): move indicator below message form
* feat(typing-indicator): keep status text to one line
2023-07-27 21:06:35 -05:00
Jeremy Kahn
c4e7e7d13b
fix(file-upload): [closes #122] prevent file picker from getting stuck (#131) 2023-07-25 09:42:53 -05:00
Jeremy Kahn
9b9d294f98
feat(connection-test): [closes #127] Explain tracker connection problems (#130)
* feat(connection-test): [closes #127] explain tracker connection problems
2023-07-16 17:45:16 -05:00
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
83e9f7dbdd fix(connection): [#126] set trackerRedundancy to 3 2023-06-30 09:21:27 -05:00
Jeremy Kahn
ec9c9f61ce feat(ConnectionTestResults): [closes #124] explain connection types 2023-06-17 14:53:09 -05:00
Jeremy Kahn
88fad17357 fix: improve connection loss handling 2023-03-28 09:38:57 -05:00
Jeremy Kahn
38509019fd fix: clean up old rtcPeerConnections 2023-03-28 09:13:35 -05:00
Jeremy Kahn
a4b7c8e9ce fix: expire network status checks 2023-03-28 07:46:43 -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
87ffd1df56 feat: improve spacing around peer counter 2023-03-22 09:27:52 -05:00
Jeremy Kahn
3481379732 fix: make auto scroll work with images 2023-03-15 10:10:17 -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
dab98f02c2 feat: [#110] give chat transcript a maximum width 2023-03-15 10:10:17 -05:00
Jeremy Kahn
35c3f2fee3
feat: [ closes #91] Render YouTube embeds (#96)
* feat: [#91] embed YouTube videos
2023-03-06 20:40:45 -06:00
Jeremy Kahn
37af59f89e
feat: [closes #94] Show build hash (#95)
* feat: show build hash in Drawer
* feat: add link to GitHub commit for build
2023-03-05 12:22:02 -06: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
Jeremy Kahn
efde30c386 refactor: use secure-file-transfer@0.0.2 2023-02-19 13:38:17 -06:00
Jeremy Kahn
62a453807a fix: show correct user name for selected video stream 2023-02-11 17:37:41 -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
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
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
5e24d5f1d3 fix: display correct number of current peers 2022-11-27 19:17:12 -06:00