Commit Graph

399 Commits

Author SHA1 Message Date
Jeremy Kahn
d81e930da6 chore(deps): upgrade to Trystero@0.18.0 2024-03-14 21:35:51 -05:00
Jeremy Kahn
5d4619965c chore(deps): upgrade react, node and MUI icons 2024-03-14 20:55:51 -05:00
Jeremy Kahn
5f2444f9c9
fix: upgrade @types/node from 18.19.10 to 18.19.17 (#233)
Snyk has created this PR to upgrade @types/node from 18.19.10 to 18.19.17.

See this package in npm:
https://www.npmjs.com/package/@types/node

See this project in Snyk:
https://app.snyk.io/org/jeremyckahn/project/d52c3b0d-59ff-42e3-89e1-b97ee832bf9a?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2024-03-14 07:50:16 -05:00
Jeremy Kahn
f9768627ee
fix: upgrade @mui/material from 5.15.6 to 5.15.10 (#235)
Snyk has created this PR to upgrade @mui/material from 5.15.6 to 5.15.10.

See this package in npm:
https://www.npmjs.com/package/@mui/material

See this project in Snyk:
https://app.snyk.io/org/jeremyckahn/project/d52c3b0d-59ff-42e3-89e1-b97ee832bf9a?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2024-03-14 07:48:30 -05:00
Jeremy Kahn
e644b20f4e
fix: upgrade react-router-dom from 6.21.3 to 6.22.1 (#236)
Snyk has created this PR to upgrade react-router-dom from 6.21.3 to 6.22.1.

See this package in npm:
https://www.npmjs.com/package/react-router-dom

See this project in Snyk:
https://app.snyk.io/org/jeremyckahn/project/d52c3b0d-59ff-42e3-89e1-b97ee832bf9a?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2024-03-14 07:47:17 -05:00
Jeremy Kahn
7c5c12178d fix(pwa): use compatible service worker name
This restores backwards compatibility with create-react-app-based builds
2024-03-13 07:27:21 -05:00
Jeremy Kahn
520b863f2a fix(pwa): add upgrade compatibility shim
This is needed to fix automatic PWA updates after ea34058fa7
2024-03-13 07:16:12 -05:00
Jeremy Kahn
ea34058fa7
chore: Migrate from Create React App to Vite (#231)
* chore(vite): use vite

* fix(vite): alias lib directory

* chore(vite): set type: module

* chore: update vite and MUI

* fix(vite): make MUI components load

* fix: use node path resolution

* chore(vite): add svg support

* fix(vite): polyfill global

* fix(vite): use import.meta

* fix(vite): use correct svg module resolution

* chore(vite): migrate to vitest

* fix(vite): remove PUBLIC_URL

* fix(tests): mock audio service

* chore(deps): upgrade to react test library 14

* refactor(tests): simplify room test setup

* refactor(tests): make Date.now() mockable

* refactor(vite): remove bootstrap shim

* chore(deps): drop react-scripts

* chore(deps): remove source-map-explorer

Source maps do not currently work with MUI and Vite:
https://github.com/vitejs/vite/issues/15012

Because of this, source map utilities are currently removed.

* refactor(vite): use TypeScript for Vite config

* chore(actions): update actions config for new paths

* fix(service-worker): use VITE_HOMEPAGE for service worker resolution

* fix(vercel): use quotes for build command

* fix(vite): use import.meta.env.MODE

* fix(service-worker): use correct definition for publicUrl

* feat(vite): use vite-plugin-pwa

* fix(pwa): make update prompt work

* fix(types): use vite/client types

* docs(readme): update building instructions

* refactor(vite): simplify theme loading workaround

* refactor(vite): use manifest object

* docs(readme): update tool references

* chore(deps): run `npm audit fix`

* fix(vite): make syntax highlighter work consistently

See: https://github.com/react-syntax-highlighter/react-syntax-highlighter/issues/513

* fix(pwa): remove manifest.json references

* refactor(deps): remove jest references

* refactor(types): remove react-scripts reference

* chore(deps): use TypeScript 5

* refactor(tests): improve persisted storage mocking
2024-03-12 21:44:43 -05:00
dependabot[bot]
72bc66a340
chore(deps): bump ip from 1.1.8 to 1.1.9 (#229)
Bumps [ip](https://github.com/indutny/node-ip) from 1.1.8 to 1.1.9.
- [Commits](https://github.com/indutny/node-ip/compare/v1.1.8...v1.1.9)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-20 21:56:51 -06:00
Jeremy Kahn
94a4b2fb2e
refactor(services): Standardize services and lib organization (#226)
* refactor(Notification): use instance methods
* refactor(Audio): move to lib layer
* refactor(EncryptionService): rename instance to encryption
* refactor(ConnectionTest): move to lib
* refactor(FileTransfer): move to lib
* refactor(PeerRoom): move to lib
* refactor(sleep): move to lib
* refactor(type-guards): move to lib
* refactor(SerializationService): use standard instance name
* refactor(SettingsService): use standard instance name
2024-01-28 20:46:59 -06:00
dependabot[bot]
4d6d1482f2
chore(deps): bump follow-redirects from 1.15.3 to 1.15.4 (#224)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.3 to 1.15.4.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.4)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-11 09:26:02 -06:00
Jeremy Kahn
d546fef71c
fix(service-worker): Install service worker correctly (#222)
* fix(service-worker): register service worker immediately
2023-12-11 19:27:19 -06:00
Jeremy Kahn
d697aa0482
feat(performance): Show loading indicator while app loads (#221)
* feat(performance): lazy-load bootstrap
2023-12-11 17:19:31 -06:00
Jeremy Kahn
e962c403a5
feat(profile) [closes #219] Import and export user profile (#220)
* feat(profile): implement profile export
* feat(profile): load user-selected file
* feat(profile): import loaded profile
* feat(profile): validate public/private keys
* refactor(settings): remove unnecessary theme functions
* refactor(settings): use theme hook
* feat(settings): show error alert if profile export fails
2023-12-10 19:43:32 -06:00
Jeremy Kahn
15142f9328
fix(ui): [fixes #217] Give volume slider full width of peer list (#218)
* fix(ui): give volume slider full width of peer list
* refactor(PeerListItem): improve variable name
2023-12-09 20:04:44 -06:00
Jeremy Kahn
6cbfaacf1a
feat(verification): [closes #209] Verified peers (#216)
* refactor(bootstrap): add BootstrapShim
* feat(security): [#209] generate public/private keys
* refactor(encryption): move encryption utils to a service
* feat(encryption): [wip] implement convertCryptoKeyToString
* fix(user-settings): serialize crypto keys to strings
* feat(user-settings): deserialize user settings from IndexedDB
* feat(user-settings): upgrade persisted settings on boot
* feat(user-settings): automatically migrate persisted user settings
* refactor(encryption): simplify CryptoKey stringification
* refactor(encryption): DRY up EncryptionService
* feat(verification): send public key to new peers
* refactor(encryption): use class instance
* refactor(serialization): use class instance
* refactor(verification): [wip] create usePeerVerification hook
* feat(verification): encrypt verification token
* feat(verification): send encrypted token to peer
* feat(verification): verify peer
* refactor(verification): use enum for verification state
* feat(verification): expire verification requests
* fix(updatePeer): update with fresh state data
* feat(verification): display verification state
* refactor(usePeerVerification): store verification timer in Peer
* feat(verification): present tooltips explaining verification state
* feat(ui): show full page loading indicator
* feat(init): present bootup failure reasons
* refactor(init): move init to its own file
* feat(verification): show errors upon verification failure
* refactor(verification): move workaround to usePeerVerification
* feat(verification): present peer public keys
* refactor(verification): move peer public key rendering to its own component
* refactor(verification): only pass publicKey into renderer
* feat(verification): show user's own public key
* refactor(naming): rename Username to UserInfo
* refactor(loading): encapsulate height styling
* feat(verification): improve user messaging
* refactor(style): improve formatting and variable names
* feat(verification): add user info tooltip
* docs(verification): explain verification
2023-12-09 17:47:05 -06:00
dependabot[bot]
c19bbbeee2
chore(deps): bump @adobe/css-tools from 4.3.1 to 4.3.2 (#214)
Bumps [@adobe/css-tools](https://github.com/adobe/css-tools) from 4.3.1 to 4.3.2.
- [Changelog](https://github.com/adobe/css-tools/blob/main/History.md)
- [Commits](https://github.com/adobe/css-tools/commits)

---
updated-dependencies:
- dependency-name: "@adobe/css-tools"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 10:05:39 -06:00
Jeremy Kahn
826f53fb45 feat(ui): show full room name in tooltip 2023-11-23 15:26:32 -06:00
Jeremy Kahn
b9ec16ad4d feat(ui): show divider in app bar 2023-11-23 15:26:32 -06:00
Jeremy Kahn
35e0b88cbe fix(sdk): prevent lack of parent domain from throwing error 2023-11-23 15:14:55 -06:00
Jeremy Kahn
7bceba5acb
feat(ui) [closes #160] Move transcript scrollbar to content window edge (#212)
* feat(ui): [closes #160] move transcript scrollbar to edge of container
* feat(ui): prevent controls from obscuring transcript
* feat(ui): hide unnecessary hide controls button
2023-11-23 12:26:07 -06:00
Jeremy Kahn
1cf4b50ac2 chore(deps): use trystero@0.15.0 2023-11-20 19:07:36 -06:00
Jeremy Kahn
ab18b795c8 chore(zap_scan): remove schedule and don't create issue 2023-11-11 11:01:47 -06:00
Jeremy Kahn
b951959cf7 chore(zap_scan): run scan after production deployment 2023-11-11 10:40:36 -06:00
Jeremy Kahn
842b039d0d chore(actions): remove label-security-report 2023-11-10 14:27:55 -06:00
Jeremy Kahn
1d58990c5a fix(label-security-report): grant issues: write permissions 2023-11-10 14:02:53 -06:00
Jeremy Kahn
5317d6fa68
fix(zap_scan): Label issues correctly (#204)
* fix(zap_scan): check out ref associated with run

* fix(zap_scan): use actions/github-script for labeling issues
2023-11-10 12:03:08 -06:00
Audiosutras
a3c7e93cdb
Add Security Label to Security Report (#199) 2023-11-10 10:37:10 -06:00
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
c0b76ff3e1
fix(ci): use github output for security.yml (#197) 2023-10-31 09:16:14 -05:00
Audiosutras
24ccf44ce0
Adds Github Action to Perform Weekly Security Audit with ZAProxy (#196)
* Adds Github Action to Perform Weekly Security Audit with ZAProxy

---------

Co-authored-by: Jeremy Kahn <me@jeremyckahn.com>
2023-10-31 06:57:15 -05:00
Jeremy Kahn
4607562b7e
chore(deps): use recommended versions (#195)
@types/react@18.2.25 @mui/material@5.14.12 react-router-dom@6.16.0 typescript@4.9.5 @types/node@18.18.4
2023-10-29 15:46:21 -05:00
Ajay Gonepuri (GONAPCORP)
44256998ec docs: fix typos (#187) 2023-10-29 15:08:33 -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
b9b452167b feat(sdk): improve embedding instructions 2023-10-28 17:49:58 -05:00
Jeremy Kahn
19f13093e8
docs(readme): add snyk badge 2023-10-28 16:49:56 -05:00
Jeremy Kahn
2ed5c2320b chore(deps): run npm audit fix 2023-10-28 11:47:23 -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
dependabot[bot]
c911f68552
chore(deps): bump browserify-sign from 4.2.1 to 4.2.2 (#186)
Bumps [browserify-sign](https://github.com/crypto-browserify/browserify-sign) from 4.2.1 to 4.2.2.
- [Changelog](https://github.com/browserify/browserify-sign/blob/main/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/browserify-sign/compare/v4.2.1...v4.2.2)

---
updated-dependencies:
- dependency-name: browserify-sign
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-28 09:40:59 -05:00
Jeremy Kahn
0d47fe7937 chore(deps): use trystero@0.13.1 2023-10-24 09:12:45 -05:00
Jeremy Kahn
3d7c428798 chore: add FUNDING.yml 2023-10-22 11:39:41 -05:00
dependabot[bot]
43c092a231
chore(deps): bump @babel/traverse from 7.20.12 to 7.23.2 (#181)
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.20.12 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-18 20:55:43 -05:00
Jeremy Kahn
deef9db654 chore(package): add bundle analysis to build 2023-10-12 21:12:29 -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