Commit Graph

211 Commits

Author SHA1 Message Date
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
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
schlagmichdoch d424a0294a fix persistent peerId -> displayName if PWA 2023-01-23 00:03:26 +01:00