Commit Graph

82 Commits

Author SHA1 Message Date
schlagmichdoch 2131307fc6 Fix offline capability: Cache first -> fetch from network second. From now on, updates are only possible by increasing cacheVersion 2023-10-13 18:46:22 +02:00
schlagmichdoch 684fe7142d Make "Connecting..." toast persistent until connection is established 2023-10-12 03:42:48 +02:00
schlagmichdoch 3c1ef57740 prevent Cumulative Layout Shift by fading in elements after initial translation is loaded 2023-10-06 02:57:46 +02:00
schlagmichdoch 8d2584fa69 implement temporary public rooms, tidy up index.js, rework UI dialogs and change colors slightly 2023-09-14 15:44:28 +02:00
schlagmichdoch f50d7438b6 implement localization 2023-07-06 21:34:21 +02:00
fm-sys 58b7f6bb7c
Add 'files-sent' event 2023-05-26 09:52:17 +02:00
schlagmichdoch 347f9b87c0 fix check whether peer is same browser 2023-05-12 01:16:37 +02:00
schlagmichdoch 2a837eb195 add 'visbilitychange' event support for older browsers 2023-05-10 21:59:45 +02:00
schlagmichdoch 8d640be3a2 increase roomSecret length to 264 chars and implement roomSecret regeneration functionality 2023-05-10 21:59:45 +02:00
schlagmichdoch 241ea4f988 implement auto_accept (#91) and manual unpairing via new Edit Paired Devices Dialog and a BrowserTabsConnector 2023-05-10 21:59:43 +02:00
schlagmichdoch 17abc91c86 rename function and add event to achieve compatibility with snapdrop-android app 2023-03-14 15:12:23 +01:00
schlagmichdoch 4e0fb89720 replace javascript operators `??` and `?.` to support older browsers (see #79) 2023-03-13 14:21:26 +01:00
schlagmichdoch 1093f4d246 log error onicecandidateerror 2023-03-10 22:21:19 +01:00
schlagmichdoch 660e523263 prevent sending of displayName if RTCPeer is not connected 2023-03-06 15:33:22 +01:00
schlagmichdoch 954e9c7c3a
Merge pull request #65 from schlagmichdoch/pairdrop_cli_add_firefox_fallback
pairdrop-cli: add fallback if navigator.clipboard.readText() is not available
2023-03-06 12:25:54 +01:00
schlagmichdoch 36e152dc7c add { once: true } to deactivate-paste-mode event listener 2023-03-06 11:59:56 +01:00
schlagmichdoch 9f2e4c5f8f fix displayName sometimes not exchanged on reload 2023-03-06 11:24:19 +01:00
schlagmichdoch edf2ab5eb3 revert some changes to regain stability 2023-03-06 03:47:24 +01:00
schlagmichdoch cc78b34d2e Revert making peerId ephemeral to prevent duplication of shown peers on reconnect. Implement peerIdHash to prevent rogue users from overtaking peerIds 2023-03-06 00:07:21 +01:00
schlagmichdoch f34f5bd4b2 tidy up code, add tooltip to device name and change color and bg-color of device-name 2023-03-06 00:07:21 +01:00
schlagmichdoch b7e7fd1b68 Merge branch 'master' into enable_renaming 2023-03-04 20:52:10 +01:00
schlagmichdoch 77b76a3b8d reduce reconnect timers to 1s 2023-03-04 15:46:26 +01:00
schlagmichdoch c0a4224a59 merge master into branch 2023-03-03 18:01:24 +01:00
schlagmichdoch 002b31a113 merge master into branch 2023-03-03 17:40:10 +01:00
schlagmichdoch bb0493d071 Make user notifications and document titles more concise. 2023-03-03 17:03:10 +01:00
schlagmichdoch bfb5aa8546 fix overwrite method _onMessage of class RTCPeer 2023-03-03 16:36:55 +01:00
schlagmichdoch 39ca5b2d21 ws-fallback: remove all WSPeers when server connection disconnects + fix onPeerLeft 2023-03-03 13:10:14 +01:00
schlagmichdoch d6ef5887dd move logging of rtc message from class Peer class to overwritten method in class RTCPeer 2023-03-03 12:38:34 +01:00
schlagmichdoch 3a2d8c75f7 - restructure and unify dialogs to use less space on mobile and be clearer
- give user option both options "share" and "download" on mobile
- add fallback if zipper fails that downloads files individually
- fix dequeuing of message queue not possible if sending peer has left
2023-03-03 12:01:43 +01:00
schlagmichdoch d56ee87437 - Enable renaming of own display name permanently via UI
- Make peerId completely ephemeral
- Stabilize RTCConnection by closing connections cleanly
2023-03-01 21:38:36 +01:00
schlagmichdoch 66359da2ca get rtcConfig dynamically from the server 2023-02-24 18:08:48 +01:00
schlagmichdoch c5d0eaa034 [security] Add security number to PeerUI to make verification of peer-to-peer encryption possible. 2023-02-16 02:19:14 +01:00
schlagmichdoch 16f5711c98 fix beforeunload warning if peer on transfer 2023-02-11 11:49:32 +01:00
schlagmichdoch b933ef151a if devices are paired a second time, the old roomSecret is deleted upon saving the new one. 2023-02-11 00:52:37 +01:00
schlagmichdoch 414cc9aa57 if user actively disconnects from PairDrop server, disconnect all peer to peer connections immediately and do not wait for channels to close 2023-02-10 23:47:39 +01:00
schlagmichdoch 1eba7359d1 rolled back some changes to stabilize WebRTC connections 2023-02-10 23:41:04 +01:00
schlagmichdoch 616f6a6799 implement complete WSPeer as fallback if WebRTC is deactivated. Only ever use on self-hosted instances as clients need to trust the server! 2023-02-10 20:22:36 +01:00
schlagmichdoch b8c78bccfa try to stabilize connection and prevent remove reconnecting fallback on error 2023-02-10 18:56:13 +01:00
schlagmichdoch b0e798b3cd allow multiple message transfers by multiple peers simultaneously by putting them in a queue 2023-02-10 03:26:08 +01:00
schlagmichdoch 671dfa1c87 fix: process stops if image preview or thumbnail creation fails 2023-02-08 14:18:59 +01:00
schlagmichdoch 1c3a8bfe1d remove unnecessary double signaling onPeerJoined and prevent second RTCPeer instance for same peerId 2023-02-08 04:18:39 +01:00
schlagmichdoch c674e2c8d2 remove WSPeer completely as the implementation has never been finished and routing all traffic through the server is not desirable for public PairDrop. ([see this issue for reasons](https://github.com/schlagmichdoch/PairDrop/issues/18#issuecomment-1416788548) 2023-02-04 17:04:05 +01:00
schlagmichdoch 8488ce1402 fix socket is null if PWA is offline 2023-02-04 16:22:57 +01:00
schlagmichdoch ca37331830 remove warning for removed crypto.subtle dependency 2023-01-31 21:57:00 +01:00
schlagmichdoch a2d6832d12 prevent user from accidentally closing the window if files are transferred. 2023-01-27 01:29:35 +01:00
schlagmichdoch d35c27aa91 revert zipping and unzipping files on transfer to minimize needed browser memory. Use fileQueue instead. 2023-01-27 01:28:10 +01:00
schlagmichdoch 1f7a43292b fix PWA offline capability 2023-01-23 20:40:08 +01:00
schlagmichdoch ec6bee05fd fix error `Cannot set remote answer in state stable` 2023-01-23 19:53:14 +01:00
schlagmichdoch 19d7e6fecd prevent channel from opening if connection is closed 2023-01-23 05:28:08 +01:00
schlagmichdoch d4dcfbc1b7 After successfully creating peer to peer connection, transferring files/messages now work completely independent of the PairDrop server. Transfers are not aborted and dialogs are not closed when the client has only lost connection to the PairDrop server or when 'peer-left' but only when the corresponding peer is disconnected. 2023-01-23 04:51:22 +01:00