Commit Graph

213 Commits

Author SHA1 Message Date
schlagmichdoch 3faa173dde Make "Unpair" and "auto-accept" translatable on the Edit Paired Devices Dialog 2023-09-14 18:15:07 +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 bd7b3c6d28 show warning to user if navigator.clipboard.writeText fails 2023-09-13 18:33:17 +02:00
schlagmichdoch c71bf456e3 fix "and 2 other files" div not cleared properly 2023-09-13 18:33:17 +02:00
schlagmichdoch 02911804cb add default values to Localization.getTranslation function 2023-09-13 18:33:17 +02:00
schlagmichdoch 17afa18d84 add translation selector and fix translation of data-attributes 2023-08-30 14:57:40 +02:00
schlagmichdoch 19f56a8499 enable Norwegian, Russian, and Chinese 2023-08-29 02:33:54 +02:00
schlagmichdoch abc06fcc21 fix translation fallback for sparely translated languages when complete categories are missing 2023-08-29 02:33:12 +02:00
schlagmichdoch c2a746d69c fix html attribute translation 2023-08-29 02:30:01 +02:00
schlagmichdoch d252900055
Merge branch 'translate' into weblate-pairdrop-pairdrop-spa 2023-07-30 17:48:50 +02:00
schlagmichdoch da5038a51a include translations for about buttons and implement translation fallback if used translation is not complete 2023-07-30 17:42:46 +02:00
schlagmichdoch ba46befde4 include translations for about buttons and implement translation fallback if used translation is not complete 2023-07-07 15:17:42 +02:00
schlagmichdoch f50d7438b6 implement localization 2023-07-06 21:34:21 +02:00
schlagmichdoch 3505f161c6 strip 'NO-BREAK SPACE' (U+00A0) of received text as some browsers seem to add them when pasting text 2023-06-01 01:29:00 +02:00
schlagmichdoch d36cd3524c Fix clearBrowserHistory: url should not always be replaced by "/" as PairDrop might not always be hosted at domain root 2023-05-30 02:34:50 +02:00
schlagmichdoch 520b772bc8 fix #112 and differentiate between textContent and innerText 2023-05-26 20:36:12 +02:00
fm-sys 58b7f6bb7c
Add 'files-sent' event 2023-05-26 09:52:17 +02:00
schlagmichdoch df778ba42c Speed up canvas by removing fade-in animation 2023-05-16 19:09:59 +02:00
schlagmichdoch 8a17b82fa4 Fix _textInputEmpty() for Chromium based browsers
Co-authored-by: luckman212 <1992842+luckman212@users.noreply.github.com>
2023-05-16 02:53:56 +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 fdf20cfdd9 save roomSecret and notify user that the pairing is successful only after the corresponding pairPeer has joined. 2023-05-10 21:59:45 +02:00
schlagmichdoch 7606fb398b Fix: notify user that "Selected peer left." only if dialog is shown. 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 b42c8a0b1a remove background animation in favor of speed and efficiency 2023-04-20 22:02:00 +02:00
schlagmichdoch 3f72fa1160 remove fade-in from description (LCP) on page load 2023-04-20 21:57:24 +02:00
schlagmichdoch 7827a47d29 increase seo with recommendations from PageSpeed Insights 2023-04-17 15:19:54 +02:00
schlagmichdoch d50480b2f8
Merge pull request #94 from schlagmichdoch/add_theme_menu
Add theme menu to toggle between auto, light and dark mode.
2023-03-29 16:22:42 +02:00
schlagmichdoch ac1e88b6a0 Add possibility to reset theme to auto 2023-03-29 01:39:45 +02:00
schlagmichdoch d0b2c81582 Tidy up code 2023-03-28 19:07:33 +02:00
schlagmichdoch 251df2fbff try to fix share target api 2023-03-28 19:00:05 +02:00
schlagmichdoch dcc4e8b747 Optimize background animation drastically by using offscreen canvases to reuse frames. Rewrite animate function to prevent it from being called multiple times 2023-03-27 02:17:36 +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 028752a809 fixes #76. 'File received' dialog not showing on iOS when big videos are sent. 2023-03-13 00:04:48 +01:00
schlagmichdoch 1093f4d246 log error onicecandidateerror 2023-03-10 22:21:19 +01:00
schlagmichdoch 5eeaae01fe add connection hash to title of display-name of receive dialogs 2023-03-06 15:39:24 +01:00
schlagmichdoch 660e523263 prevent sending of displayName if RTCPeer is not connected 2023-03-06 15:33:22 +01:00
schlagmichdoch c9dca7e083 fix download notification and add request notification 2023-03-06 15:32:42 +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 c0d504f6a8 remove base64 event listeners manually on hide instead of once: true 2023-03-06 12:20:30 +01:00
schlagmichdoch 36e152dc7c add { once: true } to deactivate-paste-mode event listener 2023-03-06 11:59:56 +01:00
schlagmichdoch fdf024f378 pairdrop-cli: add fallback if navigator.clipboard.readText() is not available 2023-03-06 11:56:17 +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 f9f1abef7a Replace all urls in received messages with links. Center the message if it does not include any whitespace. 2023-03-03 12:28:50 +01:00
schlagmichdoch d244f5fa47 fix circles position on ios safari are shifted by url bar 2023-03-03 12:03:20 +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 545cdc2459 Fix browser reloading when first message is sent by preventing event default on submit 2023-03-02 16:30:47 +01:00
schlagmichdoch 7220e85422 document/tab title: Show number of received messages and move '- PairDrop' to the end 2023-03-02 15:31:06 +01:00
schlagmichdoch 1eb53498b1 add localStorage fallback to fix renaming on private tabs and fix Firefox inserting linebreaks into edited divs 2023-03-02 15:06:22 +01:00
schlagmichdoch de76da52fe merge master into branch 2023-03-01 21:55:50 +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 a3b348d9b6 refactor all missing html ids to kebap-case 2023-03-01 21:38:13 +01:00
schlagmichdoch 4566528179 - restructure UI to use flexbox everywhere
- structure peers on desktop responsively
- make peer box scrollable when peers are overflowing + shadow
- add highlight badge to differentiate local peers into paired and not paired
- change websocket fallback warning and move to the bottom
2023-03-01 21:38:13 +01:00
schlagmichdoch 7b08973cef remove safari audio blop "hack" as it should not completely stop music that is playing in the background 2023-03-01 21:38:12 +01:00
schlagmichdoch 66359da2ca get rtcConfig dynamically from the server 2023-02-24 18:08:48 +01:00
schlagmichdoch 0eb13d9d1b increase QR-Code size as requested in #43 and fix overflow issues on iOS 2023-02-24 16:08:36 +01:00
schlagmichdoch 40c0735c90 touched UX to make receive dialogs more intuitive. closes #40 2023-02-22 03:01:06 +01:00
schlagmichdoch 8f0e465b8e pairdrop-cli: change domain via flag, move bash file to separate folder and add console logs to ui.js 2023-02-21 23:44:41 +01:00
schlagmichdoch 0f9bbf9bbb enable sending from cli by adding bash script 2023-02-20 17:42:02 +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 a0ba46caf4 cope with CAPITALIZED file suffix 2023-02-08 14:18:59 +01:00
schlagmichdoch d111bbf067 allow multiple file transfer requests by multiple peers simultaneously by putting them in a queue 2023-02-08 14:18:08 +01:00
schlagmichdoch 81d36774b5 prevent word break between "on this network" and "and by paired devices" and fix circle center offset 2023-02-08 05:14:34 +01:00
schlagmichdoch 89d5ae3a02 indicate peer color meaning via underlines 2023-02-08 04:18:53 +01:00
schlagmichdoch 9f182eced3 remove unused method _onRoomSecretDelete 2023-02-08 04:18:47 +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 c0c51c38b3 only activate paste-mode the first time a file is opened with PairDrop by looking for the url parameter on start and removing it afterwords. 2023-02-02 15:19:28 +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 ea9613f2cf add btn shortcut as title tooltip 2023-01-25 10:01:45 +01:00
schlagmichdoch 4756a52278 fix filesize calculation for small files 2023-01-25 09:59:38 +01:00
schlagmichdoch 437aa5976e fix base64text: special characters decoded incorrectly 2023-01-25 09:43:32 +01:00
schlagmichdoch 1f7a43292b fix PWA offline capability 2023-01-23 20:40:08 +01:00
schlagmichdoch 689d2bd44c correct conversion of file sizes, differentiate between files and images on file receive dialog and update progress indicator while zip processing + small fixes 2023-01-23 20:09:35 +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