Commit Graph

292 Commits

Author SHA1 Message Date
schlagmichdoch f8e7213501 Enable Turkish translation 2023-10-31 08:18:23 +01:00
schlagmichdoch b4e74c2dd1 fix QR-code background color on light theme 2023-10-24 17:57:21 +02:00
schlagmichdoch 433373bad1 Do not inverse QR-code colors on dark mode to fix readability with some readers and the native camera app on Android (fixes #187) 2023-10-23 19:39:33 +02:00
schlagmichdoch 84986e4eef try the generalized version of a language code before resorting to the default language (es-US -> es) 2023-10-20 19:27:15 +02:00
schlagmichdoch 28c7fcd7a2 fix header not showing on snapdrop-android app 2023-10-20 17:25:15 +02:00
schlagmichdoch 5b2bebcdee fix modes for preload link and fetching request do not match 2023-10-13 23:07:35 +02:00
schlagmichdoch 787cd8dab5 Include header buttons installation and edit-paired-devices to evaluation before fading in header 2023-10-13 18:46:39 +02:00
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 bb1468fa42 Implement click on QR-code to copy room or pair link (#174) 2023-10-12 13:20:58 +02:00
schlagmichdoch ed2f1b0c61 Speed up initial load while still preventing css layout shift; Tidy up ui.js 2023-10-12 04:27:56 +02:00
schlagmichdoch 684fe7142d Make "Connecting..." toast persistent until connection is established 2023-10-12 03:42:48 +02:00
schlagmichdoch 4e00e5b358 Add notifications-permissions-error to translations 2023-10-12 01:53:31 +02:00
schlagmichdoch cd669b13d9 Fix display name not being editable on some older iOS devices (#163) 2023-10-11 23:31:18 +02:00
schlagmichdoch 38a80d2d34 Revert "fix textarea for sending messages is not editable on some iOS devices (#163)"
This reverts commit 1669fe7d75.
2023-10-11 23:31:18 +02:00
schlagmichdoch f75e6e85b2 Redraw background when language is changed 2023-10-11 23:31:18 +02:00
schlagmichdoch 4854c816a4 Enable Arabic, Dutch, Italian, Japanese and Spanish translations 2023-10-11 18:04:00 +02:00
schlagmichdoch 117a4d3eb9 adjustments to add right-to-left language 2023-10-11 18:04:00 +02:00
schlagmichdoch 1669fe7d75 fix textarea for sending messages is not editable on some iOS devices (#163) 2023-10-09 19:16:21 +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 faa2030f0b
Merge pull request #166 from jimmyGALLAND/fix_dialog_transfert_request_title
fix dialog transfert request title
2023-10-03 23:12:08 +02:00
Jimmy GALLAND d082a885c4 add french translate
Co-authored-by: schlagmichdoch <schlagmichdoch@users.noreply.github.com>
2023-10-01 17:14:39 +02:00
Jimmy GALLAND fd89aca219 fix transfer request dialog title
Co-authored-by: schlagmichdoch <schlagmichdoch@users.noreply.github.com>
2023-10-01 16:56:13 +02:00
schlagmichdoch d7e25dc2d4 Activate Romanian and Indonesian translations 2023-09-22 02:07:45 +02:00
schlagmichdoch 5625bf6f93 Add missing strings form public room dialog to translation files 2023-09-19 00:23:19 +02:00
schlagmichdoch 684e43a352 prevent autofocus of dialog elements on mobile 2023-09-18 22:32:21 +02:00
schlagmichdoch 6c07dc3678 Fix translation and design of base64dialog 2023-09-18 22:03:18 +02:00
schlagmichdoch dbe3381e7d Fix concatenation of translated strings in paste mode 2023-09-18 21:27:56 +02:00
schlagmichdoch 0bae7c84bd Enable German translation 2023-09-18 21:27:48 +02:00
schlagmichdoch 3f1477f24a Fix public room badge not translating correctly when switching languages 2023-09-14 20:23:04 +02:00
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
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
schlagmichdoch c9f57c6fa0 Notify user if paired devices are not persistent. 2023-01-22 17:43:03 +01:00
schlagmichdoch 88e31407cb fix persistent peerId if PWA 2023-01-22 17:36:15 +01:00
schlagmichdoch bf79f72741 use console.log instead of console.error if indexeddb is not available as this behaviour is expected 2023-01-22 17:34:33 +01:00
schlagmichdoch 35aac22fae fix drop files when no peer is connected yet 2023-01-22 17:33:19 +01:00
schlagmichdoch 87aa958c60 add functionality to drop files to the background to select recipient 2023-01-22 16:14:27 +01:00
schlagmichdoch 7b860d5473 add base64text functionality for sending multi line text from iOS share menu 2023-01-22 16:12:00 +01:00
schlagmichdoch 0a3ab18e80 clarify UI on File Transfer Request 2023-01-21 18:21:58 +01:00
schlagmichdoch fb306b6c94 fix video + audio preview 2023-01-21 18:20:42 +01:00
schlagmichdoch 8c0d7bae49 include all favicons in favicon change 2023-01-20 15:56:20 +01:00
schlagmichdoch a0f46475dd fix restart animation when last peer left 2023-01-20 01:58:49 +01:00
schlagmichdoch f97bd6df9e
Implement tab title and favicon change if a file transfer has been requested or a file or a message has been received (#7)
Co-authored-by: schlagmichdoch <schlagmichdoch@users.noreply.github.com>
2023-01-20 01:36:15 +01:00
schlagmichdoch 469d3f6ec8 prevent base64ZipDialog from closing when ws disconnects 2023-01-19 15:07:58 +01:00
schlagmichdoch 6bc1bcf743 put files into innodb instead of to cache 2023-01-19 14:54:32 +01:00
schlagmichdoch 766b5d3dd7 add user notification if clipboard.readText() is undefined 2023-01-19 14:48:43 +01:00
schlagmichdoch 62c02aaed3 change position of button to close paste mode 2023-01-19 06:43:24 +01:00
schlagmichdoch d9c3d5172a FIX add mime types to files if missing -> needed for correct sharing via share-menu on ios 2023-01-19 06:01:23 +01:00
schlagmichdoch c53221ba01 Add Base64ZipDialog to PairDrop via share-menu on iOS 2023-01-19 04:40:28 +01:00
schlagmichdoch 7e7463de90 delete cached files after query; consistency updates 2023-01-18 22:42:47 +01:00
schlagmichdoch be6813d714 implemented WebShareTarget in manifest and serviceworker for testing 2023-01-18 21:01:29 +01:00