Commit Graph

20 Commits

Author SHA1 Message Date
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
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
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
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
fb2a5144a2 refactor: simplify index.tsx 2022-08-31 22:05:24 -05:00
Jeremy Kahn
3be1f2e88a feat: improve message styling 2022-08-21 10:44:01 -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
519e27b5c2 feat: join peer room 2022-08-13 12:11:59 -05:00
Jeremy Kahn
da04fcf53b chore: set up MUI theme 2022-08-09 21:41:39 -05:00
Jeremy Kahn
be4947a80b feat: stand up Home page 2022-08-09 21:28:46 -05:00
Jeremy Kahn
c46242f282 refactor: rename App to Bootstrap 2022-08-09 09:35:49 -05:00
Jeremy Kahn
c6cdbdb8ef chore: set up react-router-dom 2022-08-08 21:58:32 -05:00
Jeremy Kahn
2f0bc863ca fix: register service worker 2022-08-08 21:51:55 -05:00
Jeremy Kahn
6983bca544 chore: switch from scss to sass syntax 2022-08-08 21:19:52 -05:00
Jeremy Kahn
5c252bf84a chore: set up sass 2022-08-08 21:15:22 -05:00
Jeremy Kahn
b901793659 chore: set up Typescript 2022-08-08 21:04:37 -05:00