diff options
author | Danny Qiu <dqiu55@gmail.com> | 2020-05-01 05:25:56 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-01 12:25:56 +0000 |
commit | b8b42b8084442cb7ee2ab77a457c46b8eedc21bc (patch) | |
tree | c0754ab4dcae246c57ac3c662953723bbfb32018 /src/features | |
parent | Refactor locking feature (#693) (diff) | |
download | ferdium-app-b8b42b8084442cb7ee2ab77a457c46b8eedc21bc.tar.gz ferdium-app-b8b42b8084442cb7ee2ab77a457c46b8eedc21bc.tar.zst ferdium-app-b8b42b8084442cb7ee2ab77a457c46b8eedc21bc.zip |
Add Google Tasks to Todo providers (#695)
Also enhance URL validation
Diffstat (limited to 'src/features')
-rw-r--r-- | src/features/todos/components/TodosWebview.js | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/features/todos/components/TodosWebview.js b/src/features/todos/components/TodosWebview.js index 2626186e9..663f1e48d 100644 --- a/src/features/todos/components/TodosWebview.js +++ b/src/features/todos/components/TodosWebview.js | |||
@@ -14,13 +14,15 @@ import UpgradeButton from '../../../components/ui/UpgradeButton'; | |||
14 | 14 | ||
15 | // NOTE: https://stackoverflow.com/questions/5717093/check-if-a-javascript-string-is-a-url | 15 | // NOTE: https://stackoverflow.com/questions/5717093/check-if-a-javascript-string-is-a-url |
16 | function validURL(str) { | 16 | function validURL(str) { |
17 | const pattern = new RegExp('^(https?:\\/\\/)?' // protocol | 17 | let url; |
18 | + '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' // domain name | 18 | |
19 | + '((\\d{1,3}\\.){3}\\d{1,3}))' // OR ip (v4) address | 19 | try { |
20 | + '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' // port and path | 20 | url = new URL(str); |
21 | + '(\\?[;&a-z\\d%_.~+=-]*)?' // query string | 21 | } catch (_) { |
22 | + '(\\#[-a-z\\d_]*)?$', 'i'); // fragment locator | 22 | return false; |
23 | return !!pattern.test(str); | 23 | } |
24 | |||
25 | return url.protocol === 'http:' || url.protocol === 'https:'; | ||
24 | } | 26 | } |
25 | 27 | ||
26 | const messages = defineMessages({ | 28 | const messages = defineMessages({ |