1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-08-24 20:19:10 +02:00

Compare commits

...

865 Commits

Author SHA1 Message Date
Laurent Cozic
8e12ace3ed Android 2.10.2 2023-01-02 17:49:12 +00:00
Laurent Cozic
7a0af66c63 Desktop release v2.10.3 2022-12-31 00:39:20 +00:00
Laurent Cozic
49e444e73b Desktop: Fixes #7528: Fixed crash when closing PDF 2022-12-31 00:36:16 +00:00
Laurent Cozic
0db0a565b7 Desktop: Fixes #7499: Random crash when searching 2022-12-30 23:54:20 +00:00
Betty Alagwu
5fb01b5c7a Desktop: Fixes #7520: Search field doesn't get focus when pressing Ctrl+F (#7529) 2022-12-30 23:54:04 +00:00
Laurent Cozic
854f1163cd Desktop: Fixes #7493: Press Enter to select a tag 2022-12-30 23:39:45 +00:00
Roman Musin
d55f6aeb2a Linux: Revert "Linux: Fix AppImage icon when installing using Joplin_install_and_update.sh (#7346)" (#7559)
This reverts commit cb563f7e60.
2022-12-30 23:21:29 +00:00
Henry Heino
ea30a6bd38 Mobile: Fixes #6175: Enable autocorrect with spellcheck (#7532) 2022-12-30 23:20:56 +00:00
github-actions[bot]
e09b26b99b @roman-r-m has signed the CLA from Pull Request #7559 2022-12-30 21:35:38 +00:00
Henry Heino
e7386e6fe3 Chore: Mobile: Fix CodeMirror test failures (#7522) 2022-12-30 17:25:31 +00:00
Laurent Cozic
767213cdc1 Mobile: Add support for realtime search 2022-12-30 14:12:07 +00:00
Laurent Cozic
a189b2eff0 lock file 2022-12-30 13:36:19 +00:00
github-actions[bot]
655ea6945d @k33pn3xtlvl has signed the CLA from Pull Request #6722 2022-12-30 13:34:52 +00:00
renovate[bot]
5106ccee91 Update dependency aws-sdk to v2.1285.0 (#7556)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-30 06:12:21 +00:00
renovate[bot]
1ee515454a Update aws-sdk-js-v3 monorepo to v3.241.0 (#7555)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-30 03:53:44 +00:00
renovate[bot]
fc46c87ef7 Update dependency @types/yargs to v17.0.18 (#7554)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-30 01:02:53 +00:00
Laurent Cozic
422b81ae24 Android 2.10.1 2022-12-29 14:11:12 +00:00
renovate[bot]
17124e86d1 Update dependency aws-sdk to v2.1284.0 (#7549)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-28 22:04:12 +00:00
Laurent Cozic
d2aab6536c Fixed linter error 2022-12-28 16:12:36 +00:00
Laurent Cozic
ed71f68e1d iOS 12.10.1 2022-12-28 15:09:21 +00:00
Gavin Mogan
01d451f72a Server: Add in ability to use Postgres connection string in configuration (#6836) 2022-12-28 14:38:30 +00:00
renovate[bot]
5b3f07f3c5 Update dependency aws-sdk to v2.1283.0 (#7543)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-28 14:31:37 +00:00
renovate[bot]
edf7cab1ef Update dependency joplin-rn-alarm-notification to v1.0.7 (#7545)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-28 11:25:49 +00:00
github-actions[bot]
caaac5c1a2 @adarsh-sgh has signed the CLA from Pull Request #7546 2022-12-28 08:38:37 +00:00
Laurent Cozic
5a28a6bc90 Ignore package 2022-12-27 20:38:28 +00:00
Laurent Cozic
f9f7c86915 Chore: Remove obsolete patch 2022-12-27 19:38:41 +00:00
Laurent Cozic
e2d59ee1fa Mobile: Upgrade to react-native 0.68.5 2022-12-27 19:37:15 +00:00
Laurent Cozic
d81802e7d2 Mobile: Upgrade to react-native 0.67.5 2022-12-27 17:59:16 +00:00
Laurent Cozic
73bb79b558 Tools: Add suport for npm-package-json-lint 2022-12-27 17:39:48 +00:00
github-actions[bot]
c41ebe8d9d @asrient has signed the CLA from Pull Request #6845 2022-12-27 17:34:17 +00:00
Hitarth Thummar
8e2e7eccd9 Desktop: Resolve #6254: <details> elements remain closed when exporting to PDF (#7515) 2022-12-27 16:57:00 +00:00
Wartijn
527a7da2ff Desktop: Fixes #7329: Fixes import of tasklists from enex files (#7344) 2022-12-27 15:17:42 +00:00
github-actions[bot]
40399cf3e1 @ManavSarkar has signed the CLA from Pull Request #7541 2022-12-27 10:48:33 +00:00
renovate[bot]
873808a66a Update typescript-eslint monorepo to v5.47.1 (#7539)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-27 00:23:59 +00:00
renovate[bot]
cf300bc842 Update dependency @types/node to v18.11.18 (#7538)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-26 21:57:47 +00:00
Laurent Cozic
9a06824fde Server v2.10.5 2022-12-26 12:09:27 +00:00
Laurent Cozic
186316bb8b lock file 2022-12-26 11:56:47 +00:00
Laurent Cozic
5c8861cbd1 Server: Fixes #7525: Fixed regression that would prevent styles from being loaded in published notes 2022-12-26 11:56:34 +00:00
github-actions[bot]
c710cfd273 @ken1kob has signed the CLA from Pull Request #6469 2022-12-26 11:02:08 +00:00
Mr-Kanister
3ef41016b5 All: Translation: Update de_DE.po (#7531) 2022-12-24 21:19:15 -05:00
github-actions[bot]
85423fd835 @Mr-Kanister has signed the CLA from Pull Request #7531 2022-12-24 18:40:34 +00:00
Laurent Cozic
d690146f9f Chore: Make it easier to test publishing notes 2022-12-24 12:30:52 +00:00
renovate[bot]
944e0ef304 Update dependency aws-sdk to v2.1282.0 (#7527)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-24 06:36:12 +00:00
github-actions[bot]
409dcea0c6 @betty-alagwu has signed the CLA from Pull Request #7529 2022-12-24 03:09:03 +00:00
renovate[bot]
6c20cdefd4 Update aws-sdk-js-v3 monorepo to v3.238.0 (#7526)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-24 01:47:48 +00:00
renovate[bot]
300f1590ba Update dependency @types/react-dom to v18.0.10 (#7524)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-23 19:18:31 +00:00
github-actions[bot]
f6c2013df8 @Wartijn has signed the CLA from Pull Request #6886 2022-12-23 16:13:36 +00:00
renovate[bot]
e3dc77357c Update dependency aws-sdk to v2.1281.0 (#7514)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-22 22:37:33 +00:00
github-actions[bot]
a739636ce6 @halkeye has signed the CLA from Pull Request #6836 2022-12-22 17:52:40 +00:00
Laurent Cozic
7620c2b0b7 Tools: Disable CodeMirror flaky test 2022-12-22 14:30:04 +00:00
Laurent Cozic
60c4045000 Merge branch 'dev' of github.com:laurent22/joplin into dev 2022-12-22 13:19:35 +00:00
Laurent Cozic
39fb40dc37 Merge branch 'release-2.9' into dev 2022-12-22 13:18:10 +00:00
Laurent Cozic
145cb6c41e iOS 12.9.2 2022-12-22 12:42:38 +00:00
Laurent Cozic
de9f9985d1 Merge branch 'release-2.9' into dev 2022-12-22 12:40:57 +00:00
Laurent Cozic
23277aaf85 Mobile: Fixes #7471: Could not attach images to notes anymore 2022-12-22 12:38:11 +00:00
Henry Heino
e9e7a1d0df iOS: Fixes #7469: Note viewer inertial scroll is slower than native inertial scrolling (#7470) 2022-12-22 12:15:20 +00:00
github-actions[bot]
3453240833 @gtlsgamr has signed the CLA from Pull Request #7515 2022-12-22 09:35:15 +00:00
renovate[bot]
1882aac628 Update aws-sdk-js-v3 monorepo to v3.236.0 (#7513)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-22 08:59:20 +00:00
renovate[bot]
6868e7086b Update dependency sharp to v0.31.3 (#7512)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-22 06:31:50 +00:00
renovate[bot]
b35eeb6626 Update dependency react-native-image-picker to v4.10.3 (#7508)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-22 03:45:32 +00:00
renovate[bot]
98c56818bb Update contributor-assistant/github-action action to v2.2.1 (#7511)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-22 00:20:50 +00:00
github-actions[bot]
722a0df681 @personalizedrefrigerator has signed the CLA from Pull Request #7470 2022-12-21 21:22:46 +00:00
github-actions[bot]
115cf116a2 @wh201906 has signed the CLA from Pull Request #6865 2022-12-21 17:40:11 +00:00
Laurent Cozic
f34e048fad Update cla.md 2022-12-21 17:10:54 +00:00
github-actions[bot]
a754659ab9 @laurent22 has signed the CLA from Pull Request #7510 2022-12-21 16:54:28 +00:00
github-actions[bot]
0517d1e5d6 Creating file for storing CLA Signatures 2022-12-21 16:44:53 +00:00
Laurent Cozic
31795f6c78 Tools: Setup CLA Assistant Lite 2022-12-21 16:41:49 +00:00
Joplin Bot
5ac9178f79 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-12-21 12:20:02 +00:00
Laurent Cozic
faf0a4ec8d All: Switch license to AGPL-3.0 2022-12-21 10:00:31 +00:00
Manuel Tassi
be70cdf75b All: Translation: Update it_IT.po (#7492) 2022-12-21 01:47:43 -05:00
renovate[bot]
5284989a08 Update dependency aws-sdk to v2.1279.0 (#7495)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-21 06:10:40 +00:00
renovate[bot]
739449bde4 Update dependency jquery to v3.6.3 (#7504)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-21 03:20:22 +00:00
renovate[bot]
1e9cbc9606 Update aws-sdk-js-v3 monorepo to v3.235.0 (#7502)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-21 00:49:37 +00:00
renovate[bot]
0527dbbdc2 Update Yarn to v3.3.1 (#7501)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-20 21:20:04 +00:00
renovate[bot]
80f061a2ca Update dependency react-native-modal-datetime-picker to v14.0.1 (#7500)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-20 17:56:28 +00:00
Laurent Cozic
d687abd7ef Doc: Update Chinese page 2022-12-20 12:58:03 +00:00
renovate[bot]
c16a92081d Update typescript-eslint monorepo to v5.47.0 (#7490)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-20 10:19:43 +00:00
renovate[bot]
1289be1d90 Update dependency sass to v1.57.1 (#7498)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-20 07:30:56 +00:00
renovate[bot]
fdfabe8f92 Update dependency node-gyp to v9.3.1 (#7497)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-20 04:40:22 +00:00
renovate[bot]
db4e45ba61 Update aws-sdk-js-v3 monorepo to v3.234.0 (#7494)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-20 01:37:30 +00:00
Caleb John
28621f7e89 Linux: Use XDG_DATA_HOME for the .desktop file on linux (#7456) 2022-12-19 20:32:28 +00:00
Joplin Bot
ad2b6ef2fa Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-12-18 18:15:06 +00:00
Laurent Cozic
f6ca396e6e Chore: Server: Improve types to better detect dependency changes 2022-12-18 17:07:04 +00:00
Laurent Cozic
2f46a175ab Fixed tests 2022-12-18 16:39:02 +00:00
Laurent Cozic
79c84150a0 Server v2.10.4 2022-12-18 16:02:28 +00:00
Laurent Cozic
318a61e7c5 Merge branch 'dev' into release-2.10 2022-12-18 16:01:40 +00:00
Laurent Cozic
31c66ae3cd Server: Fixes #7463: Fixed regression introduced by form-parse lib update 2022-12-18 16:00:34 +00:00
Laurent Cozic
c50fdde5da lock file 2022-12-18 15:29:09 +00:00
renovate[bot]
a7f5a2089d Update dependency @react-native-community/slider to v4.4.0 (#7475) 2022-12-18 12:48:35 +00:00
Wartijn
10252228ae Desktop: Fixes #7434: Profile paths that contain special characters can break note rendering (#7449) 2022-12-18 12:41:36 +00:00
renovate[bot]
573222762a Update dependency @types/node to v18.11.17 (#7476)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-18 02:07:16 +00:00
klxiang
a2be4fc535 All: Translation: Update zh_CN.po (#7461)
translate
2022-12-17 17:42:09 -05:00
Jonatan
e555eafb33 All: Translation: Update sv.po (#7474) 2022-12-17 17:41:27 -05:00
renovate[bot]
fa7eb0ff9d Update dependency sass to v1.57.0 (#7468) 2022-12-17 10:16:24 +00:00
renovate[bot]
733b38250b Update dependency @types/nodemailer to v6.4.7 (#7473)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-17 06:59:08 +00:00
renovate[bot]
50177bd997 Update dependency eslint to v8.30.0 (#7467)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-17 04:26:27 +00:00
renovate[bot]
37ad911659 Update dependency @types/node to v18.11.16 (#7466)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-17 01:53:43 +00:00
renovate[bot]
538d6f3d47 Update dependency aws-sdk to v2.1277.0 (#7465)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-16 22:16:32 +00:00
Laurent Cozic
1c7ad612a7 Renamed file 2022-12-16 12:29:14 +00:00
Laurent Cozic
789b2005b8 Desktop release v2.10.2 2022-12-16 12:28:43 +00:00
Laurent Cozic
83038de321 Desktop release v2.10.1 2022-12-16 12:28:42 +00:00
Joplin Bot
871190b7ee Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-12-16 12:19:05 +00:00
Laurent Cozic
0a65d538c5 Desktop release v2.10.2 2022-12-16 12:15:47 +00:00
Laurent Cozic
5edf10c398 Merge branch 'dev' into release-2.10 2022-12-16 12:15:16 +00:00
Laurent Cozic
60db566c2d Desktop release v2.10.1 2022-12-16 12:14:53 +00:00
Laurent Cozic
36381a098f Tools: Fixing CI 2022-12-16 12:14:02 +00:00
Laurent Cozic
e6b54efe1b Desktop release v2.10.1 2022-12-16 11:08:03 +00:00
Laurent Cozic
ecde67c25f Doc: Version 2.9 release post 2022-12-16 11:06:33 +00:00
renovate[bot]
46d0100bb7 Update dependency aws-sdk to v2.1276.0 (#7459)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-16 04:59:30 +00:00
Joplin Bot
957b311872 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-12-16 00:42:14 +00:00
Laurent Cozic
7051459c47 Server v2.10.3 2022-12-15 23:32:34 +00:00
Laurent Cozic
69038e2d84 Tools: Fixing logic 2022-12-15 23:31:47 +00:00
Laurent Cozic
652a72aba7 Server v2.10.2 2022-12-15 23:26:45 +00:00
Laurent Cozic
9a1adff5fe Tools: Trying to fix server release 2022-12-15 23:25:23 +00:00
Laurent Cozic
c8f7772f1b Server v2.10.1 2022-12-15 22:42:17 +00:00
Laurent Cozic
7829c1e272 Create new release 2.10 2022-12-15 22:14:34 +00:00
Laurent Cozic
66f1bd9c11 Tools: Fixed setupNewRelease script when version number is over x.10 2022-12-15 22:06:22 +00:00
renovate[bot]
e2e9a7fef2 Update aws-sdk-js-v3 monorepo to v3.231.0 (#7455)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-15 01:15:36 +00:00
renovate[bot]
46a499b211 Update dependency aws-sdk to v2.1275.0 (#7454)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-14 22:29:57 +00:00
renovate[bot]
680ebca853 Update dependency css-loader to v6.7.3 (#7453)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-14 19:38:31 +00:00
renovate[bot]
39ef8433bb Update dependency @types/node to v18.11.15 (#7451)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-14 04:32:06 +00:00
renovate[bot]
76889aba4b Update dependency aws-sdk to v2.1274.0 (#7452)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-14 01:48:13 +00:00
renovate[bot]
e2627ab26f Update dependency jquery to v3.6.2 (#7450)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-13 19:29:52 +00:00
renovate[bot]
0f51b97494 Update dependency @types/node to v18.11.14 (#7447)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-13 10:32:39 +00:00
renovate[bot]
5a5e5b3bfc Update dependency aws-sdk to v2.1273.0 (#7444)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-13 02:36:17 +00:00
renovate[bot]
e530f5246e Update aws-sdk-js-v3 monorepo to v3.229.0 (#7443)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-12 23:15:12 +00:00
renovate[bot]
274da67131 Update typescript-eslint monorepo to v5.46.1 (#7440)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-12 22:14:29 +00:00
renovate[bot]
aeae45fb93 Update dependency sqlite3 to v5.1.4 (#7439)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-12 18:50:56 +00:00
renovate[bot]
6b3868f23b Update dependency @types/node to v18.11.13 (#7437)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-10 23:38:03 +00:00
renovate[bot]
423a75e7d8 Update dependency aws-sdk to v2.1272.0 (#7436)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-10 11:10:54 +00:00
Laurent Cozic
97bb76c027 Update renovate.json5 2022-12-10 08:45:56 +00:00
renovate[bot]
0697406c55 Update typescript-eslint monorepo to v5.46.0 (#7428) 2022-12-10 00:37:38 +00:00
renovate[bot]
8356adb00a Update dependency react-native-webview to v11.26.0 (#7432) 2022-12-10 00:37:12 +00:00
Joplin Bot
f712e1bdbb Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-12-09 18:16:49 +00:00
Laurent Cozic
1b78486fba Doc: Add job news 2022-12-09 12:41:35 +00:00
Laurent Cozic
16e88bca30 Tools: Add "automerge" label on Renovate PR that can be automerged 2022-12-09 12:22:13 +00:00
renovate[bot]
2d01792604 Update dependency eslint-interactive to v10.3.0 (#7419)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-09 11:58:30 +00:00
renovate[bot]
d64e263572 Update dependency aws-sdk to v2.1271.0 (#7425)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-09 08:49:53 +00:00
renovate[bot]
84a3e77e63 Update dependency sass to v1.56.2 (#7431)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-09 05:05:07 +00:00
renovate[bot]
af48240f71 Update dependency @types/node to v18.11.12 (#7430)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-09 02:04:31 +00:00
renovate[bot]
5cac8a9fcd Update aws-sdk-js-v3 monorepo to v3.226.0 (#7424)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-08 22:10:39 +00:00
renovate[bot]
15ba608207 Update dependency react-native-share to v8.0.1 (#7427)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-08 18:38:04 +00:00
renovate[bot]
04dffb002f Update dependency typescript to v4.9.4 (#7423)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-08 17:42:26 +00:00
renovate[bot]
b0eb588de8 Update dependency tar to v6.1.13 (#7422)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-08 14:11:53 +00:00
renovate[bot]
dd350fe126 Update dependency prettier to v2.8.1 (#7421)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-08 10:04:48 +00:00
renovate[bot]
c42e4ac7c5 Update dependency @types/yargs to v17.0.17 (#7420)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-08 06:05:32 +00:00
Henry Heino
943a0fdbbf Mobile: Fix CodeMirror syntax highlighting (#7386) 2022-12-07 23:19:55 +00:00
Henry Heino
4860253bff Chore: Mobile: CodeMirror: Tests: Ensure full document is parsed, don't rely on timeout (#7405) 2022-12-07 21:28:17 +00:00
Henry Heino
da01dc882b Chore: Mobile: Tests: Markdown math tests: Fix code formatting (#7387) 2022-12-07 20:10:02 +00:00
Laurent Cozic
33038e621b Update renovate.json5 2022-12-07 18:08:55 +00:00
renovate[bot]
4332644d8a Update dependency koa to v2.14.1 (#7414) 2022-12-07 14:53:42 +00:00
renovate[bot]
beb4f66767 Update dependency react-native-webview to v11.25.1 (#7417)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-07 03:31:45 +00:00
renovate[bot]
ca2602a979 Update dependency aws-sdk to v2.1269.0 (#7413)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-07 00:45:00 +00:00
renovate[bot]
64f35d035e Update dependency dayjs to v1.11.7 (#7415)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-06 18:54:15 +00:00
renovate[bot]
0f2c0e68e1 Update aws-sdk-js-v3 monorepo to v3.224.0 (#7411)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-06 15:20:41 +00:00
renovate[bot]
0eb956c73c Update typescript-eslint monorepo to v5.45.1 (#7410)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-06 13:00:46 +00:00
renovate[bot]
6b9307a8d8 Update dependency @types/yargs to v17.0.16 (#7412)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-06 09:19:28 +00:00
renovate[bot]
1145443916 Update dependency @types/node to v18.11.11 (#7409)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-06 06:44:08 +00:00
renovate[bot]
e209663939 Update dependency @electron/remote to v2.0.9 (#7408)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-06 03:49:58 +00:00
Matt Demers
022531e879 Documentation: Adding instructions to unpublish a note (#7382)
* Added unpublishing instructions for Joplin Cloud notes

* Screenshot for how to unpublish a note

* Fixed image path for unpublishing instructions

* Update publish_note.md

* Update publish_note.md

* Delete joplin_unpublish_note.png

Removed screenshot that wasn't needed anymore.

* Update readme/publish_note.md

Co-authored-by: Helmut K. C. Tessarek <tessarek@evermeet.cx>

Co-authored-by: Helmut K. C. Tessarek <tessarek@evermeet.cx>
2022-12-05 15:46:28 -05:00
renovate[bot]
56ee31a0c8 Update dependency @types/jest to v29.2.4 (#7406)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-05 16:56:08 +00:00
Laurent Cozic
4cc41ccd2e Tools: Ignore translations in changelog 2022-12-05 10:15:49 +00:00
Helmut K. C. Tessarek
67bd5a0f18 All: Translation: Update da_DK.po (thanks ERYpTION) 2022-12-04 18:02:54 -05:00
Laurent Cozic
3e538d9df5 Merge branch 'release-2.9' into dev 2022-12-04 18:51:08 +00:00
Laurent Cozic
d73657fa0d Chore: Fix iOS build 2022-12-04 18:50:51 +00:00
Laurent Cozic
8f9895eaf9 iOS 12.9.1 2022-12-04 18:03:36 +00:00
renovate[bot]
649b0e1547 Update dependency lint-staged to v13.1.0 (#7401) 2022-12-04 15:40:10 +00:00
renovate[bot]
2f44bef71b Update dependency formidable to v2.1.1 (#7391) 2022-12-04 15:39:59 +00:00
renovate[bot]
7f7bf44779 Update dependency react-select to v5.7.0 (#7388) 2022-12-04 15:39:48 +00:00
renovate[bot]
bcc767578f Update dependency eslint to v8.29.0 (#7399)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-03 06:13:51 +00:00
renovate[bot]
f0ba2b43c5 Update dependency aws-sdk to v2.1267.0 (#7398)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-03 03:31:35 +00:00
renovate[bot]
ae3931b5de Update aws-sdk-js-v3 monorepo to v3.223.0 (#7397)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-03 00:55:21 +00:00
renovate[bot]
b22b5e9113 Update dependency query-string to v7.1.3 (#7396)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-02 21:29:33 +00:00
renovate[bot]
501a42b2fa Update dependency aws-sdk to v2.1266.0 (#7393)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-02 07:21:24 +00:00
renovate[bot]
39c669a36a Update aws-sdk-js-v3 monorepo to v3.222.0 (#7392)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-02 04:49:15 +00:00
renovate[bot]
d996637259 Update dependency react-native-image-picker to v4.10.2 (#7390)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-02 01:42:52 +00:00
renovate[bot]
cbd532d4f0 Update dependency query-string to v7.1.2 (#7389)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-01 22:17:32 +00:00
renovate[bot]
cf32366689 Update dependency aws-sdk to v2.1265.0 (#7384)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-01 10:30:32 +00:00
renovate[bot]
d31632f71b Update dependency ts-loader to v9.4.2 (#7385)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-01 07:31:57 +00:00
renovate[bot]
df28bad7eb Update dependency @types/node to v18.11.10 (#7383)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-01 04:58:58 +00:00
Mr-Kanister
c29a2694a2 All: Translation: Update de_DE.po (#7381) 2022-11-30 18:41:35 -05:00
renovate[bot]
aec1860662 Update dependency react-redux to v7.2.9 (#7380)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-30 12:40:17 +00:00
renovate[bot]
efa6cb8d61 Update dependency @types/uuid to v9 (#7376) 2022-11-30 09:35:01 +00:00
renovate[bot]
973328b6d1 Update dependency fs-extra to v11.1.0 (#7379) 2022-11-30 09:34:27 +00:00
Tolulope Malomo
4775b60887 Chore: Fixes #7360: Fix react-redux build error on mobile (#7378) 2022-11-30 09:33:52 +00:00
Laurent Cozic
96ed2786df Update renovate.json5 2022-11-29 23:16:33 +00:00
renovate[bot]
ccdedfa92e Update dependency aws-sdk to v2.1264.0 (#7375)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-29 23:08:52 +00:00
renovate[bot]
eeef68482c Update typescript-eslint monorepo to v5.45.0 (#7371)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-29 10:31:02 +00:00
renovate[bot]
044f35d4b5 Update dependency aws-sdk to v2.1263.0 (#7373)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-29 07:39:34 +00:00
renovate[bot]
b9aae5b4cf Update dependency @types/yargs to v17.0.15 (#7370)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-29 05:01:25 +00:00
renovate[bot]
20e18a149c Update dependency @react-native-community/netinfo to v9.3.7 (#7369)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-29 02:48:09 +00:00
renovate[bot]
e765e9eb39 Update dependency fs-extra to v11 (#7372) 2022-11-28 23:44:37 +00:00
Laurent Cozic
181f88fd99 Doc: Fixed spacing 2022-11-28 22:59:08 +01:00
Laurent Cozic
4e0aad8abe Doc: Update image 2022-11-28 22:56:36 +01:00
Laurent Cozic
59303087dc Chore: Fixed TS error 2022-11-28 18:21:42 +01:00
Laurent Cozic
58da15432f Chore: Fix warning in PDF Viewer 2022-11-28 18:21:41 +01:00
Self Not Found
4fd4360c18 Fix translation in zh_CN.po (#7364) 2022-11-28 17:10:38 +00:00
JackGruber
09fbf6428c Mobile: Tag search case insensitive (#7368) 2022-11-28 17:09:47 +00:00
Laurent Cozic
6ece7f4c1b Desktop: Fixes #7354: Open callback URLs from within the application 2022-11-28 18:01:00 +01:00
Laurent Cozic
fab2271c9f Plugin Repo: Fix git compare url 2022-11-28 17:54:29 +01:00
Laurent Cozic
43618c774a Tools: Make main website translatable 2022-11-28 17:18:15 +01:00
Laurent Cozic
d6b3b4c404 Update renovate.json5 2022-11-28 15:45:57 +00:00
renovate[bot]
8371e2ece6 Update aws-sdk-js-v3 monorepo to v3.218.0 (#7363)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-28 09:40:52 +00:00
renovate[bot]
0c6a966c58 Update dependency aws-sdk to v2.1262.0 (#7362)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-28 06:46:05 +00:00
Laurent Cozic
fc813715d7 Tools: Auto-generate Linux icons 2022-11-27 21:02:24 +01:00
Roman Musin
cb563f7e60 Linux: Fix AppImage icon when installing using Joplin_install_and_update.sh (#7346) 2022-11-27 19:53:37 +00:00
Laurent Cozic
1e788305c3 Tools: Prevent image generation tool to regenerate already existing images 2022-11-27 20:50:17 +01:00
renovate[bot]
7d7f6b251c Update dependency @react-native-community/datetimepicker to v6.7.1 (#7358)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-27 00:19:22 +00:00
renovate[bot]
576fb1a828 Update dependency react-native-document-picker to v8.1.3 (#7356)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-26 21:29:07 +00:00
renovate[bot]
1c40f31f49 Update dependency react-native-webview to v11.25.0 (#7352) 2022-11-26 13:21:17 +01:00
renovate[bot]
5cb23813f5 Update dependency @lezer/highlight to v1.1.3 (#7349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-25 19:39:57 +00:00
renovate[bot]
32017a80f2 Update dependency lint-staged to v13.0.4 (#7347)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-25 12:23:00 +00:00
ancheGT
750b6fc1c7 add Chinese translate (#7335) 2022-11-24 21:58:37 +00:00
Joplin Bot
e8b1e1410e Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-11-24 20:29:45 +00:00
renovate[bot]
6a30ca967d Update dependency highlight.js to v11.7.0 (#7340) 2022-11-24 20:21:56 +00:00
Laurent Cozic
466d79e5d0 Chore: Fixed tests 2022-11-24 21:08:25 +01:00
renovate[bot]
d886436d75 Update dependency aws-sdk to v2.1261.0 (#7339)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-24 07:33:48 +00:00
renovate[bot]
9438f58bac Update dependency @types/yargs to v17.0.14 (#7338)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-24 05:03:12 +00:00
renovate[bot]
d3fcf4cb76 Update dependency @types/mustache to v4.2.2 (#7337)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-24 02:35:05 +00:00
Laurent Cozic
e2c6a865ec Update renovate.json5 2022-11-23 23:09:01 +00:00
Helmut K. C. Tessarek
0682ea28c8 All: Update Mermaid: 9.1.7 to 9.2.2 (#7330) 2022-11-23 23:08:27 +00:00
renovate[bot]
a9dee1ba12 Update dependency prettier to v2.8.0 (#7334) 2022-11-23 23:07:55 +00:00
renovate[bot]
8f5d3edaa5 Update dependency react-native-webview to v11.24.0 (#7333) 2022-11-23 23:07:16 +00:00
renovate[bot]
3654943258 Update dependency react-tooltip to v4.5.1 (#7336)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-23 22:43:51 +00:00
renovate[bot]
2762ce2bb8 Update aws-sdk-js-v3 monorepo to v3.216.0 (#7332)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-23 02:13:46 +00:00
renovate[bot]
0e8ee78d62 Update dependency aws-sdk to v2.1260.0 (#7331)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-22 23:19:54 +00:00
Joplin Bot
ef5ec3632c Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-11-22 18:19:43 +00:00
Laurent Cozic
c990e81def Doc: Allow translating website 2022-11-22 18:17:24 +00:00
renovate[bot]
07fc6aa647 Update aws-sdk-js-v3 monorepo to v3.215.0 (#7325)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-22 17:08:04 +00:00
Joplin Bot
65e1460bca Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-11-22 12:23:04 +00:00
renovate[bot]
e957269416 Update typescript-eslint monorepo to v5.44.0 (#7324) 2022-11-22 10:29:34 +00:00
Laurent Cozic
5072a5b891 Update renovate.json5 2022-11-22 10:28:41 +00:00
renovate[bot]
6070a931c4 Update dependency aws-sdk to v2.1259.0 (#7326)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-22 01:06:52 +00:00
Laurent Cozic
5efa227e70 Tools: Fix iOS build 2022-11-21 14:46:07 +00:00
Laurent Cozic
276f066b7b Tools: Filter out certain Yarn warnings 2022-11-21 12:37:07 +00:00
Laurent Cozic
5b0a9b9b56 Tools: Filter out certain Yarn warnings 2022-11-21 12:34:40 +00:00
Laurent Cozic
11d31ad488 Tools: Disable test that randomly fails on CI 2022-11-21 11:41:17 +00:00
phlax
ceb6a0b003 Doc: Fix links in README (#7322) 2022-11-21 11:00:57 +00:00
renovate[bot]
5dcb896770 Update dependency eslint to v8.28.0 (#7320) 2022-11-20 10:11:34 +00:00
Laurent Cozic
9595e2a226 Renovate config 2022-11-20 10:11:20 +00:00
Laurent Cozic
dbd480913d Fix CI 2022-11-20 10:10:41 +00:00
Mr-Kanister
09ac21e99e All: Translation: Update de_DE.po (#7316) 2022-11-19 01:31:49 -05:00
renovate[bot]
457cb05162 Update dependency aws-sdk to v2.1258.0 (#7319)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-19 03:19:26 +00:00
renovate[bot]
d1e064532d Update aws-sdk-js-v3 monorepo to v3.213.0 (#7313)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-19 00:55:40 +00:00
renovate[bot]
3477ee68ac Update dependency eslint-plugin-react to v7.31.11 (#7317)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-18 21:28:37 +00:00
renovate[bot]
adc7d8e2f1 Update dependency aws-sdk to v2.1257.0 (#7309)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-18 00:33:43 +00:00
Laurent Cozic
cd7dd12d3c Renovate config 2022-11-17 18:18:43 +00:00
Laurent Cozic
c0541950a7 Fix TS errors 2022-11-17 16:34:16 +00:00
renovate[bot]
67f7e2e7ff Update dependency typescript to v4.9.3 (#7310) 2022-11-17 16:23:13 +00:00
Laurent Cozic
beec324677 Renovate ignore 2022-11-17 16:04:05 +00:00
Laurent Cozic
fda62a97b5 Fix build 2022-11-17 15:36:33 +00:00
renovate[bot]
ae49199f36 Update Yarn to v3.3.0 (#7308) 2022-11-17 15:20:14 +00:00
Laurent Cozic
5778d7a3b3 Chore: Finish uuid upgrade 2022-11-17 15:19:32 +00:00
renovate[bot]
7d749d6b1e Update dependency uuid to v9 (#7282) 2022-11-17 14:53:24 +00:00
Laurent Cozic
dc73899bde Tools: Fixed updateNews script 2022-11-17 14:06:47 +00:00
Laurent Cozic
a91b5f4bb6 Renovate: Automerge TypeScript and Yarn upgrades 2022-11-17 13:53:43 +00:00
renovate[bot]
55cb547664 Update dependency tap to v16 (#7273) 2022-11-17 13:34:59 +00:00
renovate[bot]
33bdaaf385 Update aws-sdk-js-v3 monorepo to v3.212.0 (#7300)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-17 13:33:28 +00:00
renovate[bot]
1d9b0233aa Update dependency @react-native-community/datetimepicker to v6.7.0 (#7302) 2022-11-17 13:32:53 +00:00
renovate[bot]
855d6f62a3 Update dependency @seiyab/eslint-plugin-react-hooks to v4.5.1-beta.0 (#7301) 2022-11-17 13:32:38 +00:00
Laurent Cozic
3ae1ebb2f4 Fix tests 2022-11-17 11:57:19 +00:00
Laurent Cozic
089b53e514 Upgrade yeoman to v5 2022-11-17 11:52:21 +00:00
Laurent Cozic
d93a210de6 Revert pdfjs-dist to v2 2022-11-17 11:25:11 +00:00
Laurent Cozic
4544144f66 Chore: Downgrade TinyMCE back to v5 2022-11-16 09:37:30 +00:00
Joplin Bot
e5d3792335 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-11-15 18:18:55 +00:00
Laurent Cozic
c53d4fd757 Update renovate.json5 2022-11-15 17:47:57 +00:00
Laurent Cozic
83110bce76 lock file 2022-11-15 16:00:36 +00:00
Laurent Cozic
0cfa07b1b0 Tools: Improve error message when website building fails 2022-11-15 16:00:06 +00:00
Joplin Bot
341c9029c4 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-11-15 12:21:07 +00:00
Laurent Cozic
060e78577d Chore: Complete pdf-js update 2022-11-15 11:39:51 +00:00
renovate[bot]
ceb1db5379 Update dependency pdfjs-dist to v3 (#7231) 2022-11-15 11:36:05 +00:00
Laurent Cozic
9921f4eb00 Doc: Add news item for Renovate 2022-11-15 11:29:00 +00:00
renovate[bot]
b1f840622d Update dependency typescript to v4.8.4 (#7280) 2022-11-15 10:56:35 +00:00
Laurent Cozic
64199704c2 Chore: Complete Jest upgrade 2022-11-15 10:23:50 +00:00
Laurent Cozic
33b96b4c65 Renovate ignore gradle 2022-11-15 09:22:07 +00:00
renovate[bot]
81299384af Update jest monorepo to v29 (#7287) 2022-11-15 09:21:45 +00:00
Laurent Cozic
1554e9dea5 Tools: Move Renovate config to JSON5 to allow comments 2022-11-15 09:11:25 +00:00
Laurent Cozic
5c430a3b0e Upgrade node-fetch to 2.6.7 2022-11-15 09:11:25 +00:00
Laurent Cozic
9c74d18abf Chore: Complete upgrade to React 18 2022-11-15 09:11:24 +00:00
Laurent Cozic
a40a5ef3bf Chore: Fixes 2022-11-15 09:11:23 +00:00
renovate[bot]
fce571f38c Update dependency terminal-kit to v3 (#7276) 2022-11-15 08:16:58 +00:00
renovate[bot]
f079fa3bdd Update dependency uri-template to v2 (#7281) 2022-11-15 08:16:38 +00:00
renovate[bot]
b44b733090 Update dependency yargs-parser to v21 (#7284) 2022-11-15 08:13:31 +00:00
renovate[bot]
d1089f9284 Update docker/login-action action to v2 (#7286) 2022-11-15 08:12:16 +00:00
renovate[bot]
d2457a0079 Update postgres Docker tag to v15 (#7288) 2022-11-15 08:10:13 +00:00
renovate[bot]
7e407af638 Update typescript-eslint monorepo to v5 (#7291) 2022-11-15 08:09:46 +00:00
Laurent Cozic
3cee7b0858 Renovate: Automerge AWS package updates 2022-11-15 08:06:56 +00:00
Laurent Cozic
ceb8e70dc7 Merge release-2.9 2022-11-15 07:36:37 +00:00
Laurent Cozic
a84a8e7710 Desktop release v2.9.17 2022-11-15 07:35:09 +00:00
Laurent Cozic
6e0c3c076d Tools: Trying to fix CI - macOS translation kit not needed 2022-11-15 07:34:55 +00:00
renovate[bot]
b83aadbb7b Update dependency react-select to v5.6.1 (#7299)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-15 02:16:26 +00:00
renovate[bot]
3a8e2632a7 Update dependency tcp-port-used to v1 (#7275) 2022-11-14 22:40:35 +00:00
renovate[bot]
cf78ec2e22 Update dependency yargs to v17 (#7283) 2022-11-14 22:39:46 +00:00
renovate[bot]
35903572e1 Update dependency @types/react-dom to v18.0.9 (#7296) 2022-11-14 22:38:44 +00:00
renovate[bot]
e4254d6195 Update dependency aws-sdk to v2.1254.0 (#7297) 2022-11-14 22:38:27 +00:00
renovate[bot]
de4f8c75e5 Update typescript-eslint monorepo to v5.43.0 (#7298) 2022-11-14 22:38:12 +00:00
renovate[bot]
1322e8cbcc Update react monorepo to v18 (#7289) 2022-11-14 22:37:49 +00:00
Laurent Cozic
03a111eebb Desktop release v2.9.16 2022-11-14 22:35:41 +00:00
Laurent Cozic
fe8e5adbee Tools: Trying to fix CI - macOS translation kit not needed 2022-11-14 22:35:12 +00:00
Laurent Cozic
7b94901129 Merge release-2.9 2022-11-14 17:33:21 +00:00
Laurent Cozic
4f4f18bc0e Desktop release v2.9.15 2022-11-14 17:29:02 +00:00
Laurent Cozic
018591d1fa Ignored 2022-11-14 17:28:16 +00:00
Laurent Cozic
7364e82c21 Revert "Desktop release v2.9.14"
This reverts commit f008f080f1.
2022-11-14 17:27:48 +00:00
Laurent Cozic
f008f080f1 Desktop release v2.9.14 2022-11-14 17:26:54 +00:00
Kenichi Kobayashi
275851091a Desktop: Fixes #6416: Switching a note using Sidebar is slow and grayed out (#6430) 2022-11-14 17:26:43 +00:00
Kenichi Kobayashi
5d49fcfe4e Desktop: Fixes #6416: Switching a note using Sidebar is slow and grayed out (#6430) 2022-11-14 17:25:41 +00:00
Laurent Cozic
8eef7c75e4 Desktop release v2.9.13 2022-11-14 17:22:06 +00:00
Laurent Cozic
762b4e88f8 All: Security: Fix XSS when a specially crafted string is passed to the renderer 2022-11-14 17:21:45 +00:00
Laurent Cozic
a2de167b95 All: Security: Fix XSS when a specially crafted string is passed to the renderer 2022-11-14 17:16:59 +00:00
Laurent Cozic
a7213453c7 Chore: Remove Redux withRef implementation to simplify code and fix issue 2022-11-14 16:48:41 +00:00
Self Not Found
673653a141 Desktop: Fixes #7036: Fix pasting plain text (#7045) 2022-11-14 12:29:07 +00:00
Self Not Found
7d135730bf Mobile: Fixes #7195: Fix attaching multiple files (#7196) 2022-11-14 12:28:32 +00:00
mrkaato0
456a20b8f8 Update fi_FI.po (#7251) 2022-11-14 12:27:28 +00:00
renovate[bot]
48074c254d Update dependency strip-ansi to v6.0.1 (#7290)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-14 05:40:32 +00:00
renovate[bot]
50f587cf02 Update dependency css-loader to v6.7.2 (#7292)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-14 02:37:37 +00:00
Henry Heino
79a627c14f Mobile: Fixes #7253: Update CodeMirror (#7262) 2022-11-13 22:49:20 +00:00
Laurent Cozic
a873898422 Fix TS 2022-11-13 14:25:06 +00:00
renovate[bot]
859b950106 Update dependency tinymce to v6 (#7277) 2022-11-13 12:33:12 +00:00
renovate[bot]
7f13042c44 Update dependency turndown to v7 (#7278) 2022-11-13 12:32:56 +00:00
renovate[bot]
7e6a43de91 Update dependency tar to v6 (#7274) 2022-11-13 12:32:22 +00:00
Laurent Cozic
a3c88b6ec7 Fixed string-ansi 2022-11-13 12:30:47 +00:00
Laurent Cozic
71efa09737 Fixed newly upgraded packages 2022-11-13 12:14:30 +00:00
renovate[bot]
c19f7f814f Update dependency react-redux to v8 (#7252) 2022-11-13 11:39:02 +00:00
Laurent Cozic
97e88d7983 Fixed CI 2022-11-13 11:37:05 +00:00
Laurent Cozic
cc5ead7474 Fixed husky config 2022-11-13 11:07:51 +00:00
Laurent Cozic
b823c729e7 fix ios build 2022-11-13 11:06:55 +00:00
Laurent Cozic
4eac85bec6 renovate ignore 2022-11-13 10:59:03 +00:00
Tom
7bfb6c0ee9 Update changelog_android.md (#7271) 2022-11-13 10:49:30 +00:00
renovate[bot]
b879538da9 Update dependency md5-file to v5 (#7215) 2022-11-13 10:44:53 +00:00
renovate[bot]
502b26e0b4 Update dependency pretty-bytes to v6 (#7239) 2022-11-13 10:43:35 +00:00
renovate[bot]
8d58ad7d86 Update dependency proper-lockfile to v4 (#7241) 2022-11-13 10:41:56 +00:00
renovate[bot]
c490aa8d90 Update dependency string-natural-compare to v3 (#7267) 2022-11-13 10:39:51 +00:00
renovate[bot]
9c95bc987e Update dependency strip-ansi to v7 (#7269) 2022-11-13 10:38:58 +00:00
renovate[bot]
5e649bdc01 Update dependency string-to-stream to v3 (#7268) 2022-11-13 10:38:24 +00:00
renovate[bot]
f653824874 Update dependency node-persist to v3 (#7225) 2022-11-13 10:01:49 +00:00
renovate[bot]
ca5ec025c9 Update dependency react-select to v5 (#7254) 2022-11-13 10:01:15 +00:00
renovate[bot]
db8a231aa3 Update dependency react-tooltip to v4 (#7255) 2022-11-13 10:00:12 +00:00
renovate[bot]
6f68c91c75 Update dependency smalltalk to v4 (#7261) 2022-11-13 09:59:50 +00:00
renovate[bot]
a038704b2a Update dependency source-map-loader to v4 (#7264) 2022-11-13 09:58:58 +00:00
renovate[bot]
ab730e84e0 Update dependency standard to v17 (#7266) 2022-11-13 09:58:36 +00:00
renovate[bot]
9e78e48370 Update dependency redux to v4.2.0 (#7257) 2022-11-13 08:42:56 +00:00
renovate[bot]
c09567ef16 Update dependency react-native-document-picker to v8 (#7245) 2022-11-13 08:40:11 +00:00
renovate[bot]
cf4f059a20 Update dependency query-string to v7 (#7242) 2022-11-13 08:39:35 +00:00
renovate[bot]
5325e85b9d Update dependency sqlite3 to v5.1.2 (#7265) 2022-11-13 08:38:59 +00:00
renovate[bot]
1510b8fa0e Update dependency react-native-image-picker to v4.10.1 (#7221)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-13 04:56:25 +00:00
renovate[bot]
c135361f70 Update dependency ruby to v2.7.6 (#7205)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-13 02:14:53 +00:00
renovate[bot]
e7be0f5d00 Update dependency react-datetime to v3 (#7243) 2022-11-12 23:42:23 +00:00
renovate[bot]
de9ce973b4 Update dependency react-native-camera to v4 (#7244) 2022-11-12 23:41:58 +00:00
renovate[bot]
4d7ffdd8e0 Update dependency react-native-dropdownalert to v4 (#7246) 2022-11-12 23:40:44 +00:00
renovate[bot]
6af18a0cfc Update dependency react-native-modal-datetime-picker to v14 (#7247) 2022-11-12 23:40:09 +00:00
renovate[bot]
d53c3f9f2d Update dependency react-native-share to v8 (#7248) 2022-11-12 23:39:16 +00:00
renovate[bot]
790a756f74 Update dependency react-native-sqlite-storage to v6 (#7249) 2022-11-12 23:38:46 +00:00
renovate[bot]
c00b71b5b1 Update dependency promise to v8 (#7240) 2022-11-12 23:38:17 +00:00
renovate[bot]
a1051145bc Update dependency react-native-vector-icons to v9 (#7250) 2022-11-12 23:35:28 +00:00
renovate[bot]
a0c87d6d4b Update dependency joplin-rn-alarm-notification to v1.0.6 (#7229)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-12 21:08:52 +00:00
renovate[bot]
42cbd4fac8 Update dependency knex to v2 (#7208) 2022-11-12 15:59:02 +00:00
renovate[bot]
3a19fe6879 Update dependency prettier to v2 (#7238) 2022-11-12 13:50:56 +00:00
Laurent Cozic
290388b679 renovate iugnore 2022-11-12 13:50:18 +00:00
renovate[bot]
20518112e3 Update dependency open to v8 (#7227) 2022-11-12 13:11:45 +00:00
renovate[bot]
c31fce4e33 Update dependency normalize to v8 (#7226) 2022-11-12 13:10:36 +00:00
renovate[bot]
3ce548b005 Update dependency node-notifier to v10 (#7224) 2022-11-12 12:36:27 +00:00
Sammy Hori
c0903ad61b Minor grammatical correction in README.md (#7235) 2022-11-12 12:36:08 +00:00
renovate[bot]
01062d4577 Update dependency mustache to v4 (#7217) 2022-11-12 12:28:12 +00:00
renovate[bot]
d0498b6274 Update dependency highlight.js to v11.6.0 (#7181) 2022-11-12 12:21:19 +00:00
renovate[bot]
26e5bd5550 Update dependency glob to v8 (#7179) 2022-11-12 12:20:53 +00:00
renovate[bot]
7ccf38fdd6 Update dependency http-server to v14 (#7185) 2022-11-12 12:20:32 +00:00
renovate[bot]
38a24c4bd9 Update aws-sdk-js-v3 monorepo to v3.209.0 (#7222) 2022-11-12 12:20:05 +00:00
renovate[bot]
a05dbcd17b Update dependency @react-native-community/datetimepicker to v6.6.0 (#7223) 2022-11-12 12:19:38 +00:00
renovate[bot]
9ced656ede Update dependency madge to v5 (#7211) 2022-11-12 12:19:09 +00:00
Laurent Cozic
ac5854bf94 renovate ignore 2022-11-12 10:27:15 +00:00
Laurent Cozic
3823362eed renovate ignore 2022-11-12 10:27:15 +00:00
renovate[bot]
6ce0b46748 Update dependency node-gyp to v9 (#7220) 2022-11-12 10:25:07 +00:00
renovate[bot]
e0bfa87522 Update dependency markdown-it-emoji to v2 (#7214) 2022-11-12 10:24:21 +00:00
renovate[bot]
f9460d4a14 Update dependency markdown-it to v13 (#7212) 2022-11-12 10:23:00 +00:00
renovate[bot]
2100940019 Update dependency lint-staged to v13 (#7210) 2022-11-12 10:22:42 +00:00
renovate[bot]
af100c1c4b Update dependency aws-sdk to v2.1253.0 (#7206) 2022-11-12 10:21:39 +00:00
renovate[bot]
2e52bb4c12 Update dependency node-mocks-http to v1.12.1 (#7207) 2022-11-11 16:07:02 +00:00
renovate[bot]
1b41a22487 Update dependency fs-extra to v10.1.0 (#7177) 2022-11-11 16:05:54 +00:00
renovate[bot]
c88b031b0a Update dependency eslint-config-prettier to v8 (#7169) 2022-11-11 15:05:37 +00:00
renovate[bot]
94b83ac28b Update aws-sdk-js-v3 monorepo to v3.208.0 (#7202) 2022-11-11 14:31:38 +00:00
renovate[bot]
67596d60e9 Update dependency jetifier to v2 (#7192) 2022-11-11 14:27:55 +00:00
renovate[bot]
9d10c64ec6 Update dependency html-minifier to v4 (#7183) 2022-11-11 14:24:51 +00:00
renovate[bot]
94e7ed9a5f Update dependency gettext-parser to v6 (#7178) 2022-11-11 14:20:16 +00:00
renovate[bot]
30513e7b59 Update dependency formidable to v2 (#7176) 2022-11-11 14:19:47 +00:00
renovate[bot]
b9c3442e9f Update dependency form-data to v4 (#7175) 2022-11-11 14:19:34 +00:00
renovate[bot]
9282dfed5a Update dependency domutils to v3 (#7163) 2022-11-11 14:17:21 +00:00
Laurent Cozic
3b53a33cd5 Tools: Build Android debug app on CI (#7204) 2022-11-11 14:09:55 +00:00
Laurent Cozic
6f1e8e2983 Tools: Upgrade to React Native 0.67.2 2022-11-11 12:22:52 +00:00
Laurent Cozic
739c5dbea5 Update renovate.json 2022-11-11 10:04:03 +00:00
renovate[bot]
5629a020ee Update dependency @react-native-community/datetimepicker to v6.5.5 (#7200)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-11 07:18:23 +00:00
renovate[bot]
e447e154bc Update dependency sass to v1.56.1 (#7187)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-11 04:43:05 +00:00
sammyhori
a84589e3bb Fixed grammatical error in faq.md (#7197) 2022-11-11 00:37:13 +00:00
renovate[bot]
d21d198325 Update dependency eslint to v8.27.0 (#7168) 2022-11-10 08:31:03 +00:00
Laurent Cozic
4f6ddfad43 Renovate ignore 2022-11-10 07:54:23 +00:00
renovate[bot]
42d1f9e2f7 Update dependency aws-sdk to v2.1251.0 (#7171) 2022-11-10 07:50:06 +00:00
Laurent Cozic
f0c3f29ece Revert "Update dependency domhandler to v5 (#7162)"
Build fails due to nonsensical TS errors.

This reverts commit 10d616b2c8.
2022-11-10 07:47:39 +00:00
Laurent Cozic
ffe5721c44 Removed unused package 2022-11-08 21:12:23 +00:00
Laurent Cozic
07807d0a26 Renovate ignore 2022-11-08 20:55:38 +00:00
renovate[bot]
10d616b2c8 Update dependency domhandler to v5 (#7162) 2022-11-08 20:49:49 +00:00
renovate[bot]
8d0525af1b Update dependency css to v3 (#7160) 2022-11-08 20:49:08 +00:00
renovate[bot]
8ffc2efa4f Update dependency buffer to v6 (#7152) 2022-11-08 20:46:32 +00:00
renovate[bot]
04bce0cbda Update dependency base-64 to v1 (#7150) 2022-11-08 20:45:36 +00:00
Laurent Cozic
e4a8a62ead Improve CI 2022-11-08 18:27:29 +00:00
Laurent Cozic
2fffaec76e Tools: Disable flaky test 2022-11-08 18:18:48 +00:00
Laurent Cozic
f746824494 Update renovate.json 2022-11-08 18:15:25 +00:00
renovate[bot]
50068dc80f Update dependency @types/react-dom to v18 (#7146) 2022-11-08 18:02:27 +00:00
renovate[bot]
d456ace317 Update typescript-eslint monorepo to v5.42.1 (#7145) 2022-11-08 18:02:04 +00:00
renovate[bot]
ab37305625 Update dependency webpack-cli to v4.10.0 (#7144) 2022-11-08 16:59:07 +00:00
renovate[bot]
e9f3ce5404 Update dependency uglify-js to v3.17.4 (#7143) 2022-11-08 16:58:56 +00:00
renovate[bot]
7268b2b758 Update dependency ts-loader to v9.4.1 (#7142) 2022-11-08 16:58:32 +00:00
renovate[bot]
1a060ad066 Update dependency stripe to v8.222.0 (#7141) 2022-11-08 16:58:06 +00:00
Laurent Cozic
17502e3370 Tools: Remove package-lock 2022-11-08 15:52:08 +00:00
renovate[bot]
138e956d6c Update dependency pdfjs-dist to v2.16.105 (#7131) 2022-11-08 14:26:42 +00:00
renovate[bot]
573db70d1a Update dependency eslint-plugin-promise to v6.1.1 (#7118) 2022-11-08 14:24:11 +00:00
renovate[bot]
daea4021d7 Update dependency eslint-interactive to v10.2.0 (#7117) 2022-11-08 14:23:59 +00:00
renovate[bot]
53ce917db4 Update dependency sass to v1.56.0 (#7140) 2022-11-08 14:23:38 +00:00
renovate[bot]
a22caf1440 Update dependency react-native-share to v7.9.1 (#7139) 2022-11-08 14:23:13 +00:00
renovate[bot]
2b1f4d7dab Update dependency react-native-popup-menu to v0.16.1 (#7138) 2022-11-08 14:22:53 +00:00
renovate[bot]
deacdb3d67 Update dependency react-native-get-random-values to v1.8.0 (#7137) 2022-11-08 14:22:37 +00:00
renovate[bot]
0075aa3d34 Update dependency eslint-plugin-react to v7.31.10 (#7119) 2022-11-08 12:32:13 +00:00
Laurent Cozic
15886839a9 Tools: Renovate: Increase concurrent PRs to 20 2022-11-08 12:31:50 +00:00
renovate[bot]
f61722dda6 Update dependency react-native-fs to v2.20.0 (#7136) 2022-11-08 11:56:56 +00:00
renovate[bot]
38e34adb0d Update dependency raw-body to v2.5.1 (#7135) 2022-11-08 11:56:20 +00:00
Laurent Cozic
5aeaeee87e "useWorkspaces": true 2022-11-08 10:28:43 +00:00
Laurent Cozic
8ed4b7c5b7 Tools: Renovate: Ignore a package 2022-11-08 10:08:22 +00:00
renovate[bot]
d0befcc8f4 Update dependency rate-limiter-flexible to v2.4.1 (#7134) 2022-11-08 10:07:41 +00:00
renovate[bot]
338f1d3aaa Update dependency prop-types to v15.8.1 (#7133) 2022-11-08 10:07:29 +00:00
renovate[bot]
df5637889b Update dependency pg to v8.8.0 (#7132) 2022-11-08 10:07:15 +00:00
renovate[bot]
6328829875 Update dependency nodemailer to v6.8.0 (#7130) 2022-11-08 10:06:17 +00:00
renovate[bot]
e15ab8edab Update dependency aws-sdk to v2.1249.0 (#7127) 2022-11-07 23:13:50 +00:00
renovate[bot]
ec6cb92622 Update dependency nanoid to v3.3.4 (#7129) 2022-11-07 23:12:51 +00:00
renovate[bot]
9dd68c2ff8 Update dependency markdown-it-multimd-table to v4.2.0 (#7126) 2022-11-07 19:57:29 +00:00
renovate[bot]
44513bdc68 Update dependency markdown-it to v12.3.2 (#7125) 2022-11-07 19:56:58 +00:00
renovate[bot]
5e20ec1bd2 Update dependency jest-expect-message to v1.1.3 (#7123) 2022-11-07 19:56:45 +00:00
renovate[bot]
18976da8b9 Update dependency gettext-extractor to v3.6.0 (#7121) 2022-11-07 19:56:25 +00:00
Laurent Cozic
f3d301766f CI: Skip duplicate jobs 2022-11-07 18:51:22 +00:00
renovate[bot]
7defd590ad Update dependency keytar to v7.9.0 (#7124) 2022-11-07 18:43:02 +00:00
renovate[bot]
dade64148d Update dependency hpagent to v1.2.0 (#7122) 2022-11-07 17:58:33 +00:00
Laurent Cozic
9607b016c0 CI: Skip duplicate jobs 2022-11-07 17:56:50 +00:00
renovate[bot]
db77057b46 Update dependency follow-redirects to v1.15.2 (#7120) 2022-11-07 17:45:37 +00:00
Laurent Cozic
6a594a5065 CI: Skip duplicate jobs 2022-11-07 16:25:12 +00:00
renovate[bot]
fb8c62fcaf Update dependency electron-builder to v23.6.0 (#7116) 2022-11-07 15:52:08 +00:00
renovate[bot]
032dd984fe Update dependency domelementtype to v2.3.0 (#7115) 2022-11-07 15:51:38 +00:00
Laurent Cozic
94e8eb3132 lock files 2022-11-07 10:18:27 +00:00
Laurent Cozic
e8cf5ae3f7 Tools: Renovate: Ignore CodeMirror 6 2022-11-07 10:12:21 +00:00
renovate[bot]
326c3ab297 Update dependency codemirror to v5.65.9 (#7112) 2022-11-07 10:11:33 +00:00
Laurent Cozic
e134908117 Tools: Let Renovate automerge patch upgrades 2022-11-07 10:05:04 +00:00
renovate[bot]
86ef8b9f98 Update dependency @lezer/highlight to v1.1.2 (#7108) 2022-11-07 10:03:03 +00:00
renovate[bot]
4a4c257a88 Update dependency cspell to v5.21.2 (#7113) 2022-11-07 10:01:46 +00:00
renovate[bot]
c2c9121cf5 Update dependency dayjs to v1.11.6 (#7114) 2022-11-07 10:01:27 +00:00
renovate[bot]
d1699fcf4d Update aws-sdk-js-v3 monorepo to v3.204.0 (#7106) 2022-11-07 07:51:30 +00:00
renovate[bot]
47839c38d6 Update dependency builtin-modules to v3.3.0 (#7111) 2022-11-07 07:51:00 +00:00
renovate[bot]
f11651b503 Update dependency aws-sdk to v2.1248.0 (#7110) 2022-11-07 07:50:29 +00:00
renovate[bot]
97b1e35f2f Update dependency @rmp135/sql-ts to v1.15.1 (#7109) 2022-11-07 07:50:06 +00:00
renovate[bot]
061f5f22c4 Update dependency url-parse to v1.5.10 (#7102) 2022-11-06 22:34:03 +00:00
renovate[bot]
9cb525e298 Update jest monorepo (#7103) 2022-11-06 22:31:38 +00:00
renovate[bot]
2b92fa5efb Update dependency ts-jest to v28.0.8 (#7101) 2022-11-06 17:11:09 +00:00
renovate[bot]
334fe4d437 Update dependency tinymce to v5.10.6 (#7100) 2022-11-06 17:10:52 +00:00
renovate[bot]
70297b6a2a Update dependency reselect to v4.1.7 (#7097) 2022-11-06 16:34:36 +00:00
renovate[bot]
22ce3d4f7e Update dependency slugify to v1.6.5 (#7098) 2022-11-06 16:34:20 +00:00
renovate[bot]
5f0550ae51 Update dependency source-map-loader to v3.0.2 (#7099) 2022-11-06 16:34:01 +00:00
renovate[bot]
644de0016f Update dependency multiparty to v4.2.3 (#7088) 2022-11-06 15:47:31 +00:00
renovate[bot]
952cfa5689 Update dependency react-native-rsa-native to v2.0.5 (#7095) 2022-11-06 14:39:33 +00:00
renovate[bot]
47f62004b6 Update dependency react-native-file-viewer to v2.1.5 (#7094) 2022-11-06 14:39:23 +00:00
renovate[bot]
fc6c299198 Update dependency re-resizable to v6.9.9 (#7093) 2022-11-06 14:39:09 +00:00
renovate[bot]
ec93c7013a Update dependency re-reselect to v4.0.1 (#7092) 2022-11-06 14:38:57 +00:00
renovate[bot]
c188dafec4 Update dependency node-cron to v3.0.2 (#7089) 2022-11-06 14:38:47 +00:00
renovate[bot]
f9c5792791 Update dependency electron-rebuild to v3.2.9 (#7083) 2022-11-06 14:38:02 +00:00
Laurent Cozic
dfdee74242 Tools: Trying to fix CI - macOS translation kit not needed 2022-11-06 14:37:26 +00:00
Laurent Cozic
5f0144cc23 Tools: Trying to fix CI - macOS translation kit not needed 2022-11-06 13:02:31 +00:00
renovate[bot]
fed35668ff Update dependency nodemon to v2.0.20 (#7090) 2022-11-06 12:39:18 +00:00
renovate[bot]
058377da40 Update dependency glob to v7.2.3 (#7085) 2022-11-06 12:38:58 +00:00
renovate[bot]
e4db0240e4 Update dependency electron-notarize to v1.2.2 (#7082) 2022-11-06 12:38:32 +00:00
renovate[bot]
ba117ed430 Update dependency moment to v2.29.4 (#7087) 2022-11-06 12:37:47 +00:00
renovate[bot]
086fb5c94d Update dependency jquery to v3.6.1 (#7086) 2022-11-06 12:37:39 +00:00
renovate[bot]
0907895e13 Update dependency gh-release-assets to v2.0.1 (#7084) 2022-11-06 12:37:31 +00:00
Laurent Cozic
d30a8b3a9e lock file 2022-11-06 12:37:08 +00:00
renovate[bot]
16397893c1 Update dependency @types/react-dom to v16.9.17 (#7080) 2022-11-05 20:12:45 +00:00
renovate[bot]
a1ad28bcaf Update dependency chokidar to v3.5.3 (#7081) 2022-11-05 20:12:21 +00:00
renovate[bot]
7be5462a34 Update dependency @types/fs-extra to v9 (#7067) 2022-11-05 18:52:14 +00:00
renovate[bot]
2eb9e727e7 Update dependency @types/node to v18 (#7068) 2022-11-05 18:52:00 +00:00
renovate[bot]
1771f721b7 Update dependency @types/react to v17.0.52 (#7079) 2022-11-05 18:51:42 +00:00
renovate[bot]
2d730e1693 Update dependency sharp to v0.31.2 (#7078) 2022-11-05 18:51:21 +00:00
Laurent Cozic
3c4c948fbd Tools: Fix CI 2022-11-05 17:56:38 +00:00
renovate[bot]
1f11b833b0 Update dependency @types/jsdom to v16.2.15 (#7075) 2022-11-05 17:15:22 +00:00
renovate[bot]
3bccdca9d6 Update dependency bulma to v0.9.4 (#7074) 2022-11-05 17:15:12 +00:00
renovate[bot]
3fd03e84ed Update dependency @types/uuid to v8.3.4 (#7073) 2022-11-05 17:15:03 +00:00
renovate[bot]
8243d31836 Update dependency node-fetch to v2.6.7 (#7069) 2022-11-05 17:13:55 +00:00
Laurent Cozic
faacf12bf3 Tools: Add basic test to CI to ensure created Joplin Server image is valid 2022-11-05 16:57:09 +00:00
Laurent Cozic
22d7f57618 Server v2.9.7 2022-11-05 16:52:15 +00:00
Laurent Cozic
cb77adab3b Server: Fix Node version 2022-11-05 16:51:09 +00:00
Laurent Cozic
12531a63f9 Tools: Also pin dev dependencies 2022-11-05 14:52:40 +00:00
renovate[bot]
faab2ca998 Update dependency @electron/remote to v2.0.8 (#7071) 2022-11-05 14:28:25 +00:00
renovate[bot]
9633ece009 Update dependency @electron/remote to v2.0.8 (#7071) 2022-11-05 14:28:06 +00:00
renovate[bot]
683807d501 Update dependency @joeattardi/emoji-button to v4.6.4 (#7072) 2022-11-05 14:27:35 +00:00
Laurent Cozic
3a09945ad0 Tools: Pin all dependencies 2022-11-05 13:09:41 +00:00
Laurent Cozic
65c1fe1cdc Upgrade to @react-native-community/slider 4.3.3 2022-11-05 12:22:47 +00:00
Laurent Cozic
0ebaf3b0ce Chore: Clean up tests 2022-11-05 12:17:56 +00:00
Laurent Cozic
85ab378ce6 Server v2.9.6 2022-11-05 11:52:49 +00:00
Laurent Cozic
3e60d285e9 Lock file 2022-11-05 11:50:46 +00:00
Laurent Cozic
c4577715bc Renovate 2022-11-05 11:50:45 +00:00
Laurent Cozic
a9d2af5631 Chore: Fixed server origin (regression) 2022-11-05 11:50:45 +00:00
renovate[bot]
917b60aee4 Update dependency @testing-library/react-hooks to v8 (#7066) 2022-11-05 11:50:09 +00:00
renovate[bot]
2c4f0290dc Update dependency @react-native-community/netinfo to v9 (#7062) 2022-11-05 11:20:30 +00:00
Laurent Cozic
81209956c0 Tools: Disable TCP/UDP offload on macOS and Linux 2022-11-05 10:16:23 +00:00
Laurent Cozic
e43bae5133 Update @react-native-community/datetimepicker@npm:6.5.4 2022-11-05 10:11:10 +00:00
Laurent Cozic
bbed72b564 Tools: Ignore a few packages for Renovate 2022-11-05 10:03:00 +00:00
renovate[bot]
950f94654c Update dependency @react-native-community/geolocation to v3 (#7061) 2022-11-05 09:59:15 +00:00
renovate[bot]
327d4827d9 Update dependency @koa/cors to v4 (#7059) 2022-11-05 09:58:11 +00:00
renovate[bot]
3c4953fdd9 Update react monorepo to v16.14.0 (#7053) 2022-11-05 09:56:05 +00:00
renovate[bot]
39a5299293 Update dependency yargs to v16.2.0 (#7050) 2022-11-05 09:55:54 +00:00
Laurent Cozic
50e4ca2149 Update readme 2022-11-05 00:17:45 +00:00
Laurent Cozic
49d500cbf1 Tools: Trying to fix CI 2022-11-05 00:14:43 +00:00
Laurent Cozic
76773831ba Tools: Renovate ignore 2022-11-04 20:22:27 +00:00
renovate[bot]
9e73946a31 Update dependency typescript to v3.9.10 (#7048) 2022-11-04 20:14:19 +00:00
renovate[bot]
b1110f768d Update dependency styled-components to v5.3.6 (#7043) 2022-11-04 20:13:51 +00:00
renovate[bot]
439289ce24 Update dependency sharp to ^0.31.0 (#7041) 2022-11-04 20:13:18 +00:00
renovate[bot]
8fc92886ee Update dependency resolve to v1.22.1 (#7039) 2022-11-04 20:12:21 +00:00
renovate[bot]
640721939c Update dependency react-redux to v5.1.2 (#7038) 2022-11-04 20:12:03 +00:00
Laurent Cozic
ccf5d204f0 Server: Fixed account activation logic 2022-11-04 16:36:54 +00:00
Laurent Cozic
21883b4e6b Server: Fail-safe when trying to delete a non-disabled account 2022-11-04 16:18:41 +00:00
Laurent Cozic
bbc4228ed9 Server: When re-activating an account, remove it from the deletion queue 2022-11-04 15:30:04 +00:00
Laurent Cozic
e51d9c5621 Tools: Trying to disable clipper build for now 2022-11-04 15:26:17 +00:00
Laurent Cozic
119e457d5e Tools: Trying to fix clipper webpack config 2022-11-04 14:23:43 +00:00
Laurent Cozic
7291ab876e Tools: Trying to fix clipper webpack config 2022-11-04 13:45:21 +00:00
Laurent Cozic
e10bc33c3b Update renovate.json 2022-11-04 12:39:53 +00:00
Laurent Cozic
f2f6f8ec78 CI: Upgrade to Node 18 2022-11-04 11:48:02 +00:00
Laurent Cozic
f34078bd96 Server: Upgrade to Node 18
To fix error ERR_OSSL_EVP_UNSUPPORTED

Ref: https://stackoverflow.com/questions/69394632
Ref: https://github.com/laurent22/joplin/actions/runs/3392538624/jobs/5638855521#step:6:4386
2022-11-04 11:33:21 +00:00
Laurent Cozic
a8ed365bcf Chore: Fixed types in server pckage 2022-11-04 09:08:49 +00:00
Laurent Cozic
c8e8c3b20c Tools: Upgrade types/koa to 2.13.4 2022-11-03 22:41:15 +00:00
Laurent Cozic
dea15e749b Tools: Update Node version to 18 on CI 2022-11-03 20:18:11 +00:00
Laurent Cozic
1ab836961a Tools: Upgrade http-server to 0.13.0 2022-11-03 20:14:12 +00:00
Laurent Cozic
ef0286bcc1 Doc: Fixed Markdown title 2022-11-03 20:13:52 +00:00
Laurent Cozic
578d938a37 Tools: Make renovate ignore some packages 2022-11-03 20:10:34 +00:00
Laurent Cozic
dc92546ac5 Server: Upgrade Koa framework to 2.13.4 2022-11-03 20:05:57 +00:00
renovate[bot]
ec26d65311 Update dependency nan to v2.17.0 (#7029) 2022-11-03 08:40:25 +00:00
renovate[bot]
eef81b2b86 Update dependency dotenv to v8.6.0 (#7019) 2022-11-02 22:14:01 +00:00
renovate[bot]
99655f998a Update dependency electron to v19.1.4 (#7020) 2022-11-02 22:13:32 +00:00
renovate[bot]
5456554dd1 Update dependency domhandler to v3.3.0 (#7017) 2022-11-02 19:52:28 +00:00
renovate[bot]
91f9c6b7be Update dependency css-loader to v3.6.0 (#7016) 2022-11-02 19:51:51 +00:00
renovate[bot]
1f24cc24c0 Update dependency color to v3.2.1 (#7015) 2022-11-02 17:38:00 +00:00
renovate[bot]
0e810092a4 Update dependency async-mutex to ^0.4.0 (#7013) 2022-11-02 16:32:55 +00:00
renovate[bot]
750734129c Update dependency turndown to v4.0.2 (#7003) 2022-11-02 16:02:26 +00:00
renovate[bot]
a1157110ec Update dependency postcss-safe-parser to v4.0.2 (#7001) 2022-11-02 16:02:11 +00:00
Laurent Cozic
c87b055528 Update renovate.json 2022-11-02 15:22:48 +00:00
renovate[bot]
0ffc5c526a Update Yarn to v3.2.4 (#7006) 2022-11-02 15:01:28 +00:00
renovate[bot]
ef40e945af Update dependency @types/react to v16.14.34 (#7008) 2022-11-02 15:01:12 +00:00
renovate[bot]
ecef31ab5b Update dependency turndown-attendant to v0.0.3 (#7004) 2022-11-02 13:24:33 +00:00
Laurent Cozic
24caa553e3 Tools: Ignore react-native dependency for Renovate 2022-11-02 13:22:36 +00:00
Laurent Cozic
d151ca09b8 Tools: Ignore react-native dependency for Renovate 2022-11-02 13:22:04 +00:00
renovate[bot]
6536dde488 Update dependency terser-webpack-plugin to v2.3.8 (#7002) 2022-11-02 13:19:17 +00:00
renovate[bot]
120ba40d21 Update dependency postcss-preset-env to v6.7.1 (#7000) 2022-11-02 13:08:19 +00:00
renovate[bot]
db0cdea539 Update dependency optimize-css-assets-webpack-plugin to v5.0.8 (#6999) 2022-11-02 11:29:02 +00:00
renovate[bot]
8b176ff207 Update dependency knex to v0.95.15 (#6998) 2022-11-02 11:28:41 +00:00
renovate[bot]
9d137d94ac Update dependency gradle to v6.9.3 (#6995) 2022-11-02 11:28:15 +00:00
renovate[bot]
acd1b2f522 Update dependency @types/react-redux to v7.1.24 (#6994) 2022-11-02 11:27:47 +00:00
Laurent Cozic
f81891d320 Tools: Fixed test 2022-11-02 10:04:31 +00:00
Joplin Bot
07b8e66122 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-11-01 18:19:46 +00:00
Laurent Cozic
f4e6948065 Android 2.9.8 2022-11-01 15:46:55 +00:00
Laurent Cozic
cb6cf88471 Desktop release v2.9.12 2022-11-01 15:36:43 +00:00
Laurent Cozic
7992fe5b63 Tools: Setup test framework for CLI app 2022-11-01 15:28:14 +00:00
SFulpius
3dd008ae9a Desktop: Fixes #6721: Fix exporting resources to md and md + frontmatter (#6768)
Co-authored-by: Henry Heino <46334387+personalizedrefrigerator@users.noreply.github.com>
Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
2022-11-01 14:35:48 +00:00
Laurent Cozic
99a61f1283 Desktop: Regression: Plugin CSS files were no longer being loaded correctly
Fixed regression introduced in 36871d9cb0
2022-11-01 14:07:45 +00:00
Joplin Bot
1cf121b52c Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-11-01 12:27:13 +00:00
renovate[bot]
3a7d6cd520 Tools: Configure Renovate (#6993) 2022-11-01 11:28:43 +00:00
Laurent Cozic
54085a960f Doc: Add sponsor 2022-11-01 11:10:39 +00:00
Helmut K. C. Tessarek
3e8707d9ca All: Translation: Update da_DK.po (thanks ERYpTION) 2022-10-30 19:19:37 -04:00
Kevin-vdberg
83a1a42f92 Corrected/added NL translations (#6980) 2022-10-30 22:36:19 +00:00
Laurent Cozic
996c98f0b3 Update translations 2022-10-30 18:38:38 +00:00
Laurent Cozic
56229d640b Chore: Clean up and simplify translatable strings 2022-10-30 18:37:58 +00:00
Laurent Cozic
33b262cd22 Update translations 2022-10-30 18:00:39 +00:00
Laurent Cozic
fd445773ce Desktop: Resolves #6979: Display the plugin name in dialog boxes created by plugins 2022-10-30 17:45:47 +00:00
Laurent Cozic
3c24c4cd0b Android 2.9.7 2022-10-30 10:26:29 +00:00
Laurent Cozic
20c62e0353 Tools: Fixed react-native-saf-x build 2022-10-30 09:52:17 +00:00
Joplin Bot
3b9a730985 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-10-29 12:26:32 +00:00
Laurent Cozic
7183f79b28 Chore: Disable flaky server test 2022-10-29 12:21:44 +01:00
Laurent Cozic
8cb006cfd9 Doc: Fixed typo 2022-10-29 11:48:25 +01:00
Laurent Cozic
ae178016ab Desktop: Fixed crash when setting spellchecker language to en-IN 2022-10-29 11:46:13 +01:00
Ahmed Azzam
4779891154 Desktop: Fixes an error when importing a shortcut map and canceling the dialog (#6975) 2022-10-29 11:28:05 +01:00
Laurent Cozic
db4c6eaa6d Desktop: Remove unnecessary PDF viewer messages 2022-10-26 16:04:08 +01:00
Laurent Cozic
5b80fbc543 Desktop: Fixed sidebar tag header click 2022-10-26 15:54:18 +01:00
Laurent Cozic
ea6b7caaf3 Mobile: Fixed notebook icons alignment 2022-10-24 15:22:22 +01:00
Laurent Cozic
5d31c087b0 Chore: Sort property names 2022-10-24 11:38:36 +01:00
Joplin Bot
63afbb7346 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-10-23 18:24:08 +00:00
Laurent Cozic
f330e08a35 Android 2.9.6 2022-10-23 18:56:13 +01:00
Laurent Cozic
42a713288a Desktop release v2.9.11 2022-10-23 16:33:16 +01:00
Laurent Cozic
a228f7ac58 Desktop release v2.9.10 2022-10-23 16:32:27 +01:00
Laurent Cozic
6c647144e2 Desktop: Fix size of notebook emojis on Windows 2022-10-23 16:28:19 +01:00
Laurent Cozic
0c30198e8c Desktop: Fix size of notebook emojis on Windows 2022-10-23 15:49:28 +01:00
Tom Bursch
150f0485c0 Android: Add monochrome icon (#6954) 2022-10-23 14:01:02 +01:00
javad mnjd
5324f39561 Android: Fix file system sync issues (#6943) 2022-10-23 14:00:27 +01:00
Laurent Cozic
7129c0c14e Desktop release v2.9.9 2022-10-23 13:55:40 +01:00
Laurent Cozic
1379c9c706 Server: Allow enabling and disabling tasks 2022-10-21 11:47:39 +01:00
ScriptInfra
cb4cf92206 Doc: Update share_notebook.md (#6955) 2022-10-21 09:57:16 +01:00
Laurent Cozic
35ce87303f Doc: Update copyright 2022-10-20 14:27:16 +01:00
Laurent Cozic
bf92ee7c44 Server: Update sender email 2022-10-20 11:26:49 +01:00
Laurent Cozic
1cfbefb76a Server: Allow searching user by email or name 2022-10-18 16:51:04 +01:00
Laurent Cozic
8ac8d537c8 Server: Paginate users 2022-10-18 16:50:36 +01:00
Laurent Cozic
8ea6d89d49 Server: Refactor table structure 2022-10-18 16:45:41 +01:00
Joplin Bot
59a7dd6673 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-10-16 12:26:36 +00:00
Brad Pitcher
c9ff0a3cd1 Desktop: upgrade electron to 19.0.10 (#6888) 2022-10-15 22:55:06 +01:00
flakeforever
5cf83f5641 Desktop: Resolves #6882: Upgrade electron-window-state to 5.0.3 (#6915) 2022-10-15 22:53:45 +01:00
Self Not Found
9bccf787a5 All: Fixes #6838, #6914: Support non-ASCII characters in OneDrive (#6916) 2022-10-15 22:51:57 +01:00
Self Not Found
fa67b7193c Desktop: Enable proxy support when fetching list of available plugins (#6907) 2022-10-15 22:21:06 +01:00
Ward De Ridder
0fe34d5178 Doc: AWS url should contain regionname for most regions + style (#6917) 2022-10-15 22:08:23 +01:00
Laurent Cozic
bec97d6a42 Tools: Trying to make encodeAssets script more robust on CI 2022-10-14 11:05:44 +01:00
Henry Heino
1fe6910089 Chore: Fix scroll on iOS -- only pass scrollEnabled=false if we aren't scrolling the outermost view (#6925) 2022-10-13 22:04:07 +01:00
javad mnjd
0d5f96f5bb Android: Fix note attachment issue (#6932) 2022-10-13 22:02:06 +01:00
ScriptInfra
5fd5be1e09 Doc: Update terminal.md (#6941) 2022-10-13 21:59:37 +01:00
Joplin Bot
d3fa806d64 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-10-12 18:30:50 +00:00
Laurent Cozic
633c9acd49 Mobile: Fixed notebook icon spacing 2022-10-12 16:03:51 +01:00
Laurent Cozic
c13c19b78c Tools: Update yarn.lock 2022-10-12 15:55:38 +01:00
Laurent Cozic
116e2fc92e CLI v2.9.1 2022-10-12 15:50:17 +01:00
Laurent Cozic
713c00053e Releasing sub-packages 2022-10-12 15:45:50 +01:00
Laurent Cozic
6a0700e335 Chore: Fix pdf-viewer build 2022-10-12 15:43:56 +01:00
Laurent Cozic
7961acd06f Doc: News about Joplin company 2022-10-12 15:18:16 +01:00
Laurent Cozic
e9f7f106f1 Doc: Fixed changelog 2022-10-11 17:20:06 +01:00
Laurent Cozic
5e944df595 Android 2.9.5 2022-10-11 17:19:37 +01:00
Laurent Cozic
6f6f427356 Tools: Build mobile app before release 2022-10-11 14:43:39 +01:00
Laurent Cozic
cac10c4e29 Android 2.9.4 2022-10-11 14:28:43 +01:00
Laurent Cozic
9b348fdc29 Mobile: Disable multi-highlighting to fix context menu 2022-10-11 14:18:09 +01:00
Laurent Cozic
ec97dd8c60 Mobile: Display icon for all notebooks if at least one notebook has an icon 2022-10-11 12:46:40 +01:00
Laurent Cozic
f28c1bc6ba Chore: Refactor side-menu-content to TS and React Hooks 2022-10-11 12:31:09 +01:00
Laurent Cozic
e660fafb7a Server v2.9.5 2022-10-11 11:44:12 +01:00
Laurent Cozic
2c49270f38 Tools: Trying to fix encodeAssets EEXIST error 2022-10-11 11:43:22 +01:00
Laurent Cozic
13c1ae3d39 Desktop: Add some extra space between icon and notebook name 2022-10-11 11:20:47 +01:00
Laurent Cozic
29550ade49 Server v2.9.4 2022-10-11 11:08:03 +01:00
Laurent Cozic
1b9f74f674 Chore: Trying to fix CI for Joplin Server build 2022-10-11 11:07:40 +01:00
Laurent Cozic
0b69ae371c Server v2.9.3 2022-10-11 10:42:53 +01:00
Laurent Cozic
37ebd21cb3 Chore: Trying to fix CI for Joplin Server build 2022-10-11 10:42:13 +01:00
Laurent Cozic
c996ddaf9d Server v2.9.2 2022-10-10 11:59:58 +01:00
Laurent Cozic
cea1aeac4b Android 2.9.3 2022-10-07 12:13:34 +01:00
mrkaato0
13ee1c89ea Update fi_FI.po (#6922) 2022-10-07 11:50:07 +01:00
Laurent Cozic
f01ec941b7 Server v2.9.1 2022-10-07 11:48:00 +01:00
Laurent Cozic
0853521bc9 Server: Update email templates 2022-10-06 11:40:11 +01:00
Joplin Bot
e484671a08 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-10-04 12:27:50 +00:00
Joplin Bot
50253d00e7 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-10-04 06:31:07 +00:00
Self Not Found
5364965a69 Desktop: Fixes #6257: Fixed the missing format when pasting text by Ctrl+V in Rich Text editor (#6901) 2022-10-01 15:35:54 +01:00
Self Not Found
50baad3c04 Mobile: Show client ID in log (#6897) 2022-09-30 17:38:22 +01:00
ScriptInfra
cf219762c9 Doc: Update faq.md (#6879) 2022-09-30 17:32:24 +01:00
Laurent Cozic
9e27b0881f Doc: Info about eslint 2022-09-30 17:32:01 +01:00
Laurent Cozic
44a96f347a Tools: Add eslint rule prefer-await-to-then 2022-09-30 17:32:00 +01:00
Self Not Found
cc6620a7e1 Desktop: Fixes #6630: Made autoMatchBraces work on CJK characters (#6858) 2022-09-30 17:03:45 +01:00
asrient
29f1abb666 Desktop: Remove page number box from new PDF Viewer (#6846) 2022-09-30 17:01:55 +01:00
Laurent Cozic
9781a33419 Update CONTRIBUTING.md 2022-09-30 16:19:09 +01:00
Laurent Cozic
0954794195 Chore: Removed build file 2022-09-30 15:22:51 +01:00
Laurent Cozic
a996375b88 Mobile: Fixes #6898: Fixed crash when trying to move note to notebook 2022-09-30 12:13:29 +01:00
Laurent Cozic
129ac1829d Chore: Restore accidentally deleted files 2022-09-30 12:07:26 +01:00
Laurent Cozic
44e60bdda9 Revert: Mobile: Add note bar (#6772)
Revert commit dfd95f8385
Due to UX issues.
Ref https://discourse.joplinapp.org/t/25775/30
2022-09-30 11:46:26 +01:00
Joplin Bot
afc34b44c8 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-09-20 18:24:07 +00:00
Joplin Bot
e08c74ae08 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-09-20 12:27:32 +00:00
Laurent Cozic
e5c669dc7a Doc: Mention that we do not offer bounties 2022-09-20 12:15:13 +03:00
Helmut K. C. Tessarek
f4a7f5914e All: Update Mermaid 8.13.9 to 9.1.7 (#6849) 2022-09-18 21:22:41 +01:00
Self Not Found
62eee4df56 Desktop: Fixes #6860: Made "Open profile directory" work on Windows (#6861) 2022-09-17 20:19:12 +01:00
Joplin Bot
c16445bc2f Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-09-16 06:49:50 +00:00
Self Not Found
e05c5598a0 Mobile: Increase the attachment size limit to 200MB (#6848) 2022-09-14 12:21:21 +01:00
Mayank Bondre
66c9ee0a1a Desktop: Fix missing plugin file error and missing setting key error in dev mode (#6827) 2022-09-12 16:08:06 +01:00
asrient
d07788607c Desktop: Fix pdf text blurry (#6843) 2022-09-12 16:07:39 +01:00
Laurent Cozic
907dc7601b Desktop release v2.9.8 2022-09-12 14:12:39 +01:00
Laurent Cozic
4b9adcde04 Tools: Restore Windows build on CI 2022-09-12 14:12:07 +01:00
Henry Heino
9f3a4e0d99 Mobile: Fix multiple webview instances (#6841) 2022-09-12 10:46:12 +01:00
Henry Heino
ea14488dc3 Tools: Update Joplin plugin generator to Webpack 5, TypeScript 4.8 (#6826) 2022-09-12 10:44:40 +01:00
Laurent Cozic
f59d29f1c5 Desktop release v2.9.7 2022-09-11 20:07:47 +01:00
Laurent Cozic
0a9e919ac7 Merge branch 'release-2.9' into dev 2022-09-11 20:07:21 +01:00
Laurent Cozic
f11b6e8fa9 Tools: Remove desktop Windows build for now (broken due to invalid cert) 2022-09-11 20:06:49 +01:00
Laurent Cozic
167560ff6f Desktop release v2.9.6 2022-09-11 18:53:38 +01:00
Laurent Cozic
4b4e316bf0 Chore: Remove broken default plugin bundler for now 2022-09-11 18:53:05 +01:00
Self Not Found
7809228bd3 Mobile: Supports attaching multiple files to a note at once (#6831) 2022-09-11 16:58:36 +01:00
Laurent Cozic
540fbbc22c Desktop release v2.9.5 2022-09-11 15:04:00 +01:00
Laurent Cozic
2983d4f1a3 Merge branch 'dev' into release-2.9 2022-09-11 15:03:34 +01:00
asrient
f6a8bf9ea2 Desktop: Add PDF full screen viewer (#6821) 2022-09-11 14:58:32 +01:00
BeeverTeeth
e3ba02281b Doc: Update markdown.md (#6834) 2022-09-10 09:35:46 +01:00
Joplin Bot
295b310079 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-09-09 18:23:10 +00:00
Henry Heino
62346575f8 iOS: Fixes #6805: Add button to reduce space below markdown toolbar (#6823) 2022-09-09 15:11:58 +01:00
chelstad
0a590b7de9 Doc: Update README to work well with Linode (#6830) 2022-09-09 15:11:03 +01:00
Tolulope Malomo
dfd95f8385 Mobile: Add note bar (#6772) 2022-09-09 15:06:03 +01:00
Retrove
6efe8c171a Chore: Seperate allPossibleCategories to @joplin/lib (#6754) 2022-09-09 15:05:08 +01:00
Philipp Tschannen
a7cdcaf25f Doc: Update e2ee.md (#6833)
Fix typo
2022-09-09 12:40:23 +01:00
Joplin Bot
6277958d6a Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-09-06 18:21:44 +00:00
Laurent Cozic
25bd91bed1 Doc: Added news with link to interview 2022-09-06 16:23:33 +01:00
Laurent Cozic
7974df98ff Desktop: Display default notebook icons when at least one notebook has an icon 2022-09-05 17:26:22 +01:00
Laurent Cozic
e37d980453 Chore: Converted desktop Sidebar to React Hooks 2022-09-05 16:21:26 +01:00
Mayank Bondre
597569745c Doc: Add spec for default plugins (#6811) 2022-09-05 12:51:22 +01:00
Henry Heino
6e6275b1b7 Mobile: Resolves #6808: Convert empty bolded regions to bold-italic regions in beta editor (#6807) 2022-09-05 12:50:32 +01:00
Henry Heino
cfba73e938 Android: Fixes #6802: Double/triple-tap selection doesn't show context menu (#6803) 2022-09-05 12:47:25 +01:00
Henry Heino
7e1c34b769 Chore: Factor duplicate WebView code into ExtendedWebView.tsx (#6771) 2022-09-05 12:46:13 +01:00
Andrej Lifinzew
b5b281c276 CLI: Resolves #1728: Toggle short ids and mv notebooks (#6671) 2022-09-05 12:37:51 +01:00
Mayank Bondre
80906cbdb3 Desktop: Remove demo plugins folder and update pinned version of backup plugin (#6801) 2022-09-05 12:36:21 +01:00
asrient
1504cb71ae Desktop: Added PDF viewer options (#6800) 2022-09-05 12:35:38 +01:00
Self Not Found
eb7083d788 All: Fixes #6688: Fix resources sync when proxy is set (#6817) 2022-09-05 10:42:22 +01:00
Laurent Cozic
e40d733176 Android 2.9.2 2022-09-01 16:19:45 +01:00
Laurent Cozic
170c669e37 Desktop release v2.9.4 2022-09-01 16:19:44 +01:00
Laurent Cozic
24b4b879f2 Android 2.9.2 2022-09-01 16:19:03 +01:00
Mayank Bondre
3942029c90 Desktop: Bundle default plugins with desktop application (#6679) 2022-09-01 11:53:58 +01:00
Mayank Bondre
01f4bb0591 Desktop: Install default plugins on first app start (#6585) 2022-09-01 11:44:33 +01:00
Laurent Cozic
86fbf82d36 Merge branch 'dev' into release-2.9 2022-09-01 11:05:10 +01:00
Henry Heino
1069d7d6fb Chore: Update ESLint and TypeScript (#6774) 2022-08-31 12:57:28 +01:00
asrient
8d67aefcd5 Chore: Fix yarn install (#6790) 2022-08-31 12:56:58 +01:00
javad mnjd
ff90166b6e Android: Fixes #6791: Fixed handling of normal paths in filesystem sync (#6792) 2022-08-31 10:44:32 +01:00
Laurent Cozic
6beaaf75bb Chore: Fixed bug 2022-08-29 16:27:26 +01:00
Laurent Cozic
ebf9a9375c Desktop, Cli: Fixes #6704: Fixed names of imported duplicate notebooks 2022-08-29 16:22:13 +01:00
javad mnjd
de94c35c0b Android: Fixes #6779: Fixed android filesystem sync (resources) (#6789) 2022-08-29 15:29:28 +01:00
Laurent Cozic
6a4eb33093 Desktop: Fixes #6692: Fixed file and directory paths in plugin setting dialogs 2022-08-29 15:27:19 +01:00
Laurent Cozic
8b91427056 Chore: Added more messages for external editing 2022-08-29 15:09:30 +01:00
Henry Heino
b174fcf17b Mobile: Add Markdown toolbar (#6753) 2022-08-29 14:19:04 +01:00
Henry Heino
c6b91cdc5d Chore: Force syntax tree generation after creating editor in test units (#6783) 2022-08-29 12:40:19 +01:00
Ivan Piskun
e784e8c947 Update uk_UA.po (#6786) 2022-08-28 15:41:04 +01:00
asrient
6498f94c36 Desktop: Add zoom feature on PDF viewer (#6748) 2022-08-28 12:18:51 +01:00
Henry Heino
ae300de42f Mobile: Setting to disable spellcheck in beta editor (#6780) 2022-08-27 13:53:46 +01:00
Henry Heino
40e682faae Chore: Fix #6764: Switch from @babel/register to ts-node for mobile TypeScript build scripts (#6765) 2022-08-27 13:41:49 +01:00
Henry Heino
92c24c2129 Chore: Migrate mobile Dropdown, ScreenHeader to TypeScript (#6763) 2022-08-27 13:36:59 +01:00
asrient
3ec3a37603 Desktop: PDF scroll persistence (#6747) 2022-08-27 13:32:20 +01:00
Abu Sahal
ed2a328616 All: Translation: Update id_ID.po (#6782) 2022-08-27 08:12:16 -04:00
Retrove
58dc4feee7 Plugins: Add support for media links in plugin manifest.json (#6672) 2022-08-27 12:11:56 +01:00
Anton Tuchkov
0356cbbfab Desktop: Add support for multi-language spell check (#6617) 2022-08-27 12:05:44 +01:00
Tolulope Malomo
8b06cbf04e Mobile: Fix side menu width on wide screen devices (#6662) 2022-08-25 16:59:38 +01:00
Henry Heino
fd82758e74 Android: Enable spellcheck by default on beta editor (#6778) 2022-08-24 23:52:34 +01:00
Laurent Cozic
c705ec682c Website: Default to yearly subscription 2022-08-24 11:30:39 +01:00
Henry Heino
a5e6491cda Mobile: Add long-press tooltips (#6758) 2022-08-21 22:03:41 +01:00
Henry Heino
8ef9804cab iOS: Enable long-press menu (#6738) 2022-08-21 21:58:15 +01:00
Henry Heino
09ec77f904 Android: Fixes #6732: Don't reload the application on screen rotation (#6737) 2022-08-21 21:57:25 +01:00
SeptemberHX
36871d9cb0 Desktop: Fixes #6719: Avoid reloading loaded plugin scripts (#6742) 2022-08-21 21:53:36 +01:00
asrient
b4ece67092 Tools: Fix desktop build performance issue (#6762) 2022-08-19 19:10:39 +01:00
Laurent Cozic
7e8a6dfb54 Tools: Add react-hooks/exhaustive-deps eslint rule 2022-08-19 12:10:04 +01:00
Laurent Cozic
549095f0e5 Chore: clean up ignore files 2022-08-19 11:39:15 +01:00
Laurent Cozic
313c05732b Tools: Add eslint-interactive to more easily apply new eslint rules 2022-08-19 11:39:14 +01:00
Joplin Bot
641b0fa9a2 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-08-18 18:19:20 +00:00
Laurent Cozic
96982849ce Desktop release v2.9.4 2022-08-18 16:29:00 +01:00
Laurent Cozic
4b8745c875 Tools: Prevent CI from creating a release if "yarn install" failed 2022-08-18 16:28:17 +01:00
Henry Heino
78f72f33e6 Mobile: Fixes #6759: Fix default font in beta editor (#6760) 2022-08-18 11:43:54 +01:00
Laurent Cozic
b4aa418276 Chore: No need to warn about falling back to the default font 2022-08-18 11:42:48 +01:00
Laurent Cozic
8d66322c94 Desktop: Disable publishing recursive notes on Jpolin Cloud (not fully working yet) 2022-08-18 11:39:39 +01:00
Laurent Cozic
6969341745 Desktop release v2.9.3 2022-08-18 11:03:50 +01:00
Laurent Cozic
488f19e3c4 Merge branch 'dev' into release-2.9 2022-08-18 11:03:36 +01:00
Joplin Bot
79889facea Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-08-17 06:20:19 +00:00
Ji-Hyeon Gim
74f513b082 All: Translation: Update ko.po (#6751)
It updates Korean translation.

Signed-off-by: Ji-Hyeon Gim <potatogim@potatogim.net>

Signed-off-by: Ji-Hyeon Gim <potatogim@potatogim.net>
2022-08-14 19:24:31 -04:00
Kevin Hsu
ab540edacc All: Translation: Update zh_TW (#6727) 2022-08-14 13:51:23 -04:00
Ji-Hyeon Gim
9dedd88989 All: Translation: Update ko.po (#6734)
It updates Korean translation.

Signed-off-by: Ji-Hyeon Gim <potatogim@potatogim.net>

Signed-off-by: Ji-Hyeon Gim <potatogim@potatogim.net>
2022-08-14 13:50:17 -04:00
Joplin Bot
be8ebd9fc5 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-08-12 18:20:29 +00:00
Laurent Cozic
6d41814455 Android 2.9.1 2022-08-12 19:15:40 +02:00
Laurent Cozic
2807a32e64 Desktop release v2.9.2 2022-08-12 19:07:31 +02:00
Laurent Cozic
e6b0e20f08 Doc: Add sponsor 2022-08-12 18:37:59 +02:00
Laurent Cozic
0dc92c17f5 Doc: Mention Meetup on readme file 2022-08-11 19:34:46 +02:00
Joplin Bot
308c7b11c2 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-08-08 16:46:15 +00:00
Laurent Cozic
75be518d8a Doc: Fixed coding style doc 2022-08-08 18:32:09 +02:00
Laurent Cozic
9f97a2e910 Doc: Upload Meetup news 2022-08-08 18:32:08 +02:00
Henry Heino
03c3188a4a Mobile: Add keyboard-activatable markdown commands (e.g. bold, italicize) (#6707) 2022-08-08 16:00:14 +01:00
José Rebelo
bd5ce114a1 Desktop: Allow electron flag to disable smooth scrolling (#6712) 2022-08-06 11:01:59 +01:00
Joplin Bot
d326700d32 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-08-06 00:45:43 +00:00
Joplin Bot
5bf949fcb3 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-08-05 18:21:00 +00:00
Joplin Bot
9d6d2f770a Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-08-05 00:52:30 +00:00
Joplin Bot
3e12313f85 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-08-04 18:18:43 +00:00
Joplin Bot
358178f83d Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-08-04 12:24:45 +00:00
asrient
6ea40c9895 Desktop: New Embedded Pdf Viewer (#6681) 2022-08-04 10:12:22 +01:00
Laurent Cozic
0191de8bb4 Doc: update sponsors 2022-08-04 10:50:23 +02:00
Joplin Bot
a114e1b5f7 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-08-03 00:51:59 +00:00
Joplin Bot
cf22ec0c8b Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-08-02 18:17:50 +00:00
Joplin Bot
e074f099c4 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-08-01 18:17:40 +00:00
Joplin Bot
c5ad2975d6 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-08-01 12:23:51 +00:00
SFulpius
ab5313e37f Desktop: Fixes #6434: Play flac files (#6666) 2022-07-30 13:11:21 +01:00
Henry Heino
54cc7063ad Chore: Migrate from rollup to webpack to build mobile assets (#6705) 2022-07-30 13:07:38 +01:00
Henry Heino
12a510c464 Chore: Fix CI: Use strict equality (#6702) 2022-07-29 09:38:44 +01:00
Henry Heino
21d5800923 iOS: Fixes #6636: Fix occasional overscroll when opening the keyboard (#6700) 2022-07-28 17:05:41 +01:00
Peter Baumgartner
1d5e8e65d9 Doc: Update known problems (#6691) 2022-07-28 17:04:19 +01:00
Henry Heino
d2a6d24846 iOS: Resolves #6685: Respect system accessibility font size in rendered markdown (#6686) 2022-07-28 17:02:46 +01:00
Henry Heino
fb372723a4 Mobile: Improve syntax highlighting on mobile beta editor (#6684) 2022-07-28 17:01:34 +01:00
Henry Heino
b32a341700 Chore: Migrate EventDispatcher to TypeScript, add tests (#6673) 2022-07-28 16:46:52 +01:00
Henry Heino
caef5449dc Doc: Document coding style (#6657) 2022-07-28 16:36:39 +01:00
Joplin Bot
864a3a7efe Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-07-23 12:22:35 +00:00
Laurent Cozic
ce02d4c94f Chore: Finished applying eqeqeq rule 2022-07-23 11:33:12 +02:00
Laurent Cozic
052d9f03d6 Chore: Add eslint rule to enforce strict equality (eqeqeq) 2022-07-23 09:31:32 +02:00
Laurent Cozic
8a8def39f0 Doc: Mime type comment 2022-07-23 08:48:40 +02:00
Henry Heino
f0831f1d60 Chore: Fixes #6663: Fix watchInjectedJs and support multiple output bundles (#6664) 2022-07-22 18:51:12 +01:00
Henry Heino
0e532fbaf0 Chore: Set up repository for testing/preparation for mobile markdown toolbar PR (#6650) 2022-07-22 10:44:19 +01:00
Joplin Bot
11a1e1cb6b Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-07-20 18:17:06 +00:00
Joplin Bot
37b89b5644 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-07-18 06:19:10 +00:00
Laurent Cozic
520d9746c5 Mobile: Fixes #6515: Note links with HTML notation did not work 2022-07-12 11:52:20 +01:00
SFulpius
c3df191a95 Desktop: Fixes #6570: Fixed broken image links (#6590) 2022-07-12 11:34:56 +01:00
Laurent Cozic
06d5feaa63 All: Fixes #6645: Do not encrypt non-owned note if it was not shared encrypted 2022-07-12 11:28:48 +01:00
Laurent Cozic
0b3c4edb92 Chore: Clean up react-native-saf-x 2022-07-11 17:41:44 +01:00
Henry Heino
58045f87d8 Doc: Update outdated path reference in CONTRIBUTING (#6658) 2022-07-11 17:28:14 +01:00
Joplin Bot
28e66e2619 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-07-11 12:31:33 +00:00
Laurent Cozic
c3179a39a4 Desktop release v2.9.1 2022-07-11 10:17:37 +01:00
Laurent Cozic
eb71260674 Chore: Setup new release 2.9 2022-07-11 10:07:21 +01:00
Laurent Cozic
ed4a013cfc Tools: Fixed /setupNewRelease script 2022-07-11 10:06:15 +01:00
Laurent Cozic
5ffe90c4b0 Chore: Add debug message to try to debug scroll to top issue 2022-07-11 10:00:17 +01:00
Laurent Cozic
8a836ea4f9 Tools: Check licenses for one package 2022-07-11 10:00:16 +01:00
Joplin Bot
1f2930f037 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-07-11 06:20:21 +00:00
X3NO
ef3afb2a01 updated pl_PL.po (#6613)
updated polish translation
2022-07-10 18:05:25 +01:00
Kane
5d873a3264 Update Chinese Simplified (zh_CN) translation (#6634) 2022-07-10 18:05:07 +01:00
jd1378
effba83a0e Android: Fixes #5779: Fixed android filesystem sync (#6395) 2022-07-10 15:26:24 +01:00
Kenichi Kobayashi
55d98346ee Desktop: Fixes #6639: Re-ordering note list items causes unwanted height change (#6640) 2022-07-10 15:10:08 +01:00
Henry Heino
d848865b0d Chore: Fix injectedJavaScript not evaluating to true on mobile (#6609) 2022-07-10 15:00:21 +01:00
Tom
879702dadf Mobile: Removes whitespace above navigation component (#6597) 2022-07-10 14:59:33 +01:00
Jason Williams
8bb5b4a557 Desktop: Resolves #164: Add support for proxy (#6537) 2022-07-10 14:54:31 +01:00
Laurent Cozic
2c4cf9fbdb Server: Answer recurrent question 2022-07-05 15:16:33 +01:00
Laurent Cozic
3b35ab6581 Plugins: Added joplin.versionInfo method 2022-07-03 14:32:29 +01:00
Joplin Bot
6744dc3a8a Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-07-02 00:44:48 +00:00
Joplin Bot
97c6684154 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-07-01 18:17:01 +00:00
Laurent Cozic
e797ebb864 Desktop: Security: Fixes XSS in GotoAnything dialog 2022-06-30 18:25:38 +01:00
Laurent Cozic
f99b8dfde8 Server: Process user deletions once an hour 2022-06-28 11:05:09 +01:00
Joplin Bot
c21b28e6e6 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-06-27 00:48:12 +00:00
Joplin Bot
c58e9fe346 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-06-26 18:15:45 +00:00
Henry Heino
c58ce8e2da Mobile: Add alt text/roles to some buttons to improve accessibility (#6616) 2022-06-26 18:23:41 +01:00
Daeraxa
f64d046c62 Docs: Add section to FAQ about appimages not starting (#6614) 2022-06-26 18:22:18 +01:00
Henry Heino
c7e3245008 Mobile: Fixes #5949: Scroll selection into view in beta editor when window resizes (#6610) 2022-06-26 18:21:38 +01:00
Eduardo Esparza
8f3fd0bf8b Cli: Resolves #6478: Added note count indicator per notebook (#6526) 2022-06-26 17:55:49 +01:00
Laurent Cozic
d293474402 Doc: Disable a-b test 2022-06-24 13:43:04 +01:00
Henry Heino
aaa610d5f4 Mobile: Ctrl+F search support in beta editor (#6587) 2022-06-24 10:56:59 +01:00
Joplin Bot
20a7cd2323 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-06-24 00:42:18 +00:00
Laurent Cozic
d7af060564 Revert "Mobile: Fixes #3564: "Move Note" dropdown menu can be very narrow (#6306)"
This reverts commit cffea3ea1e.

https://github.com/laurent22/joplin/pull/6306#issuecomment-1161575676
2022-06-21 11:50:10 +01:00
Laurent Cozic
d7663212cf Revert "Chore: Fixed mobile dropbown regression"
This reverts commit 671077e1bb.

https://github.com/laurent22/joplin/pull/6306#issuecomment-1161575676
2022-06-21 11:49:38 +01:00
Laurent Cozic
429a49b07e Chore: Fixed database type generation script 2022-06-21 11:48:55 +01:00
Laurent Cozic
124ce342d8 Chore: Fixed database type generation script 2022-06-21 11:48:53 +01:00
Jonatan
19f4139470 Update Swedish translation (#6589) 2022-06-20 14:33:28 +01:00
Henry Heino
21b6564301 Mobile: Fixes #6576: Fix checklist continuation in beta editor (#6577) 2022-06-20 14:31:30 +01:00
SFulpius
c8b6122a65 Desktop: Resolves #6172: Checkbox don't function while checkbox format button hidden from toolbar (#6567) 2022-06-20 14:29:32 +01:00
asrient
c0bc4c38c3 Clipper: Resolves #6247: Clipper unable to pull and store PDFs (#6384) 2022-06-20 13:56:54 +01:00
Joplin Bot
0c50a5ab9b Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-06-18 06:18:17 +00:00
Laurent Cozic
ce6797d842 Server: Fixed recursively sharing note 2022-06-14 18:48:15 +01:00
Laurent Cozic
29a1cc022c Server: Add support for recursively publishing a note 2022-06-14 18:47:43 +01:00
Laurent Cozic
af665f247c Server: Fixes #6370: Published note must be scrollable when it contains a large table 2022-06-14 15:39:04 +01:00
Laurent Cozic
8ea32201e7 Server: Fixes #6491: Could not manually start task 2022-06-14 15:30:13 +01:00
Laurent Cozic
4c88376449 Desktop: Fixes #6514: Search field focus is stolen on layout change 2022-06-14 15:25:23 +01:00
Laurent Cozic
0618e9ec90 Server: Fixes #6531: Fixed Unsupported File Type error when sharing certain notes 2022-06-14 14:58:52 +01:00
Laurent Cozic
176c9e0bcf Desktop: Fixes #6557: Search field would not clear as expected 2022-06-14 14:24:51 +01:00
Laurent Cozic
c7697b65ca Add resourceService for debugging 2022-06-13 18:08:20 +01:00
Laurent Cozic
3bb00956fe Desktop: Fixes #6506: App can crash with certain combinations of plugins 2022-06-13 18:08:20 +01:00
Arda Kılıçdağı
e3695c6a80 Turkish translations updated (#6573) 2022-06-10 09:45:37 +01:00
Kenichi Kobayashi
40bc63e7ea Suppress redundant NoteEditor re-rendering by removing non-changing updates of state.selectedNoteTags (#6470) 2022-06-08 10:34:08 +01:00
Kenichi Kobayashi
c320d2364e Performance: suppresses redundant SideBar re-rendering on state.tags (#6451) 2022-06-08 10:33:53 +01:00
Kenichi Kobayashi
fb9e78d6c1 Desktop: Fixes #5178: Allow styling note list items using custom CSS (#6542) 2022-06-08 10:33:06 +01:00
alexmo1997
27ef917350 Desktop: Update to Electron 18 (#6496) 2022-06-07 18:23:16 +01:00
Kenichi Kobayashi
2dedede5c3 Removes unnecessary trivial dependencies that causes re-rendering (#6471) 2022-06-07 18:21:55 +01:00
Kenichi Kobayashi
443e049022 Performance: fixes false dependencies in MainScreen (#6444) 2022-06-07 18:09:50 +01:00
Xavi Ivars
b4c3ba249d Update ca.po (#6563) 2022-06-07 17:32:43 +01:00
Perkolator
46f146309d Doc: Added links to mobile changelogs in the about section. (#6562) 2022-06-07 17:32:23 +01:00
ScriptInfra
541203f919 Update README.md (#6560) 2022-06-07 17:31:17 +01:00
ScriptInfra
8495045ada Update README.md (#6559) 2022-06-07 17:30:53 +01:00
ScriptInfra
64c3784a8b Update README.md (#6558)
Added a space between "word `office`".
2022-06-07 17:30:35 +01:00
Joplin Bot
ff897236f7 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-06-06 18:16:48 +00:00
Laurent Cozic
53206d5488 Clipper release v2.8.1 2022-06-06 16:13:54 +01:00
Laurent Cozic
1eeefb942d Fix clipper build 2022-06-06 16:13:03 +01:00
Laurent Cozic
87296a616a Fix clipper build 2022-06-06 16:10:21 +01:00
Laurent Cozic
6c0f3c3578 Tools: Better joplinbot message 2022-06-06 16:07:47 +01:00
Laurent Cozic
c1fb9fb3f5 iOS 12.8.1 2022-06-06 16:06:09 +01:00
Joplin Bot
466a534fcd Doc: Updated Markdown files
Auto-updated using release-website.sh
2022-06-06 12:23:06 +00:00
Laurent Cozic
9375fe1323 Doc: Release 2.8 announcement 2022-06-06 11:54:11 +01:00
Laurent Cozic
19b8191712 Doc: Fix RSS dates 2022-06-03 14:03:29 +01:00
Joplin Bot
7111d31813 Doc: Updated Markdown files
Auto-updated using release-website.sh
2022-06-03 12:21:36 +00:00
Joplin Bot
d97064979f Doc: Updated Markdown files
Auto-updated using release-website.sh
2022-06-03 11:42:42 +00:00
Laurent Cozic
232e0a3a72 Doc: Auto-generate RSS feed from news 2022-06-03 12:32:24 +01:00
Joscha Schmiedt
40d9ccf183 Doc: Fix broken link to Plugin API (#6545) 2022-05-31 11:22:04 +01:00
Laurent Cozic
f75a9d4a64 Chore: Fixed tests 2022-05-27 12:02:31 +01:00
Laurent Cozic
7168e0dc90 Chore: Optimize highlight.js package size 2022-05-26 16:46:56 +01:00
Laurent Cozic
91df23e959 Chore: Removed lodash package to save space 2022-05-26 15:57:44 +01:00
Laurent Cozic
63b3115d3b word list 2022-05-24 18:09:45 +01:00
Laurent Cozic
8f0763ed45 Doc: Add GTM tags 2022-05-23 11:34:55 +01:00
Joplin Bot
94ac82d7d9 Doc: Updated Markdown files
Auto-updated using release-website.sh
2022-05-22 13:08:41 +00:00
Laurent Cozic
7c2bb02f9e Doc: Add news item 2022-05-22 13:58:07 +01:00
Joplin Bot
832d1a560a Doc: Updated Markdown files
Auto-updated using release-website.sh
2022-05-19 12:21:15 +00:00
Joplin Bot
020fd4ad9a Doc: Updated Markdown files
Auto-updated using release-website.sh
2022-05-19 06:17:25 +00:00
Laurent Cozic
e4b150a4cd Android 2.8.1 2022-05-18 14:41:57 +01:00
Laurent Cozic
9ac3b353e7 lock file 2022-05-18 14:31:37 +01:00
Laurent Cozic
84d7f0fd60 Doc: Add yearly-monthly plan A-B testing 2022-05-18 14:16:54 +01:00
854 changed files with 77791 additions and 40380 deletions

View File

@@ -6,6 +6,7 @@ _releases/
*.min.js
**/commands/index.ts
**/node_modules/
packages/generator-joplin/generators/app/templates/api/
Assets/
docs/
highlight.pack.js
@@ -46,7 +47,7 @@ packages/app-desktop/packageInfo.js
packages/app-desktop/services/electron-context-menu.js
packages/app-desktop/vendor/lib/
packages/app-mobile/android
packages/app-mobile/components/NoteEditor/CodeMirror.bundle.js
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.bundle.js
packages/app-mobile/ios
packages/app-mobile/lib/rnInjectedJs/
packages/app-mobile/locales
@@ -69,6 +70,7 @@ packages/tools/node_modules
packages/tools/PortableAppsLauncher
packages/turndown-plugin-gfm/
packages/turndown/
packages/pdf-viewer/dist
plugin_types/
readme/
@@ -76,6 +78,12 @@ readme/
packages/app-cli/app/LinkSelector.d.ts
packages/app-cli/app/LinkSelector.js
packages/app-cli/app/LinkSelector.js.map
packages/app-cli/app/base-command.d.ts
packages/app-cli/app/base-command.js
packages/app-cli/app/base-command.js.map
packages/app-cli/app/command-done.test.d.ts
packages/app-cli/app/command-done.test.js
packages/app-cli/app/command-done.test.js.map
packages/app-cli/app/command-e2ee.d.ts
packages/app-cli/app/command-e2ee.js
packages/app-cli/app/command-e2ee.js.map
@@ -88,9 +96,18 @@ packages/app-cli/app/command-sync.js.map
packages/app-cli/app/command-testing.d.ts
packages/app-cli/app/command-testing.js
packages/app-cli/app/command-testing.js.map
packages/app-cli/app/gui/StatusBarWidget.d.ts
packages/app-cli/app/gui/StatusBarWidget.js
packages/app-cli/app/gui/StatusBarWidget.js.map
packages/app-cli/app/services/plugins/PluginRunner.d.ts
packages/app-cli/app/services/plugins/PluginRunner.js
packages/app-cli/app/services/plugins/PluginRunner.js.map
packages/app-cli/app/setupCommand.d.ts
packages/app-cli/app/setupCommand.js
packages/app-cli/app/setupCommand.js.map
packages/app-cli/app/utils/testUtils.d.ts
packages/app-cli/app/utils/testUtils.js
packages/app-cli/app/utils/testUtils.js.map
packages/app-cli/tests/HtmlToMd.d.ts
packages/app-cli/tests/HtmlToMd.js
packages/app-cli/tests/HtmlToMd.js.map
@@ -115,6 +132,9 @@ packages/app-cli/tests/services/plugins/api/JoplinViewMenuItem.js.map
packages/app-cli/tests/services/plugins/api/JoplinWorkspace.d.ts
packages/app-cli/tests/services/plugins/api/JoplinWorkspace.js
packages/app-cli/tests/services/plugins/api/JoplinWorkspace.js.map
packages/app-cli/tests/services/plugins/defaultPluginsUtils.d.ts
packages/app-cli/tests/services/plugins/defaultPluginsUtils.js
packages/app-cli/tests/services/plugins/defaultPluginsUtils.js.map
packages/app-cli/tests/services/plugins/sandboxProxy.d.ts
packages/app-cli/tests/services/plugins/sandboxProxy.js
packages/app-cli/tests/services/plugins/sandboxProxy.js.map
@@ -247,6 +267,9 @@ packages/app-desktop/gui/EditFolderDialog/Dialog.js.map
packages/app-desktop/gui/EditFolderDialog/IconSelector.d.ts
packages/app-desktop/gui/EditFolderDialog/IconSelector.js
packages/app-desktop/gui/EditFolderDialog/IconSelector.js.map
packages/app-desktop/gui/EmojiBox.d.ts
packages/app-desktop/gui/EmojiBox.js
packages/app-desktop/gui/EmojiBox.js.map
packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.d.ts
packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js
packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js.map
@@ -328,6 +351,9 @@ packages/app-desktop/gui/MainScreen/commands/openItem.js.map
packages/app-desktop/gui/MainScreen/commands/openNote.d.ts
packages/app-desktop/gui/MainScreen/commands/openNote.js
packages/app-desktop/gui/MainScreen/commands/openNote.js.map
packages/app-desktop/gui/MainScreen/commands/openPdfViewer.d.ts
packages/app-desktop/gui/MainScreen/commands/openPdfViewer.js
packages/app-desktop/gui/MainScreen/commands/openPdfViewer.js.map
packages/app-desktop/gui/MainScreen/commands/openTag.d.ts
packages/app-desktop/gui/MainScreen/commands/openTag.js
packages/app-desktop/gui/MainScreen/commands/openTag.js.map
@@ -511,9 +537,6 @@ packages/app-desktop/gui/NoteEditor/utils/clipboardUtils.test.js.map
packages/app-desktop/gui/NoteEditor/utils/contextMenu.d.ts
packages/app-desktop/gui/NoteEditor/utils/contextMenu.js
packages/app-desktop/gui/NoteEditor/utils/contextMenu.js.map
packages/app-desktop/gui/NoteEditor/utils/contextMenu.test.d.ts
packages/app-desktop/gui/NoteEditor/utils/contextMenu.test.js
packages/app-desktop/gui/NoteEditor/utils/contextMenu.test.js.map
packages/app-desktop/gui/NoteEditor/utils/contextMenuUtils.d.ts
packages/app-desktop/gui/NoteEditor/utils/contextMenuUtils.js
packages/app-desktop/gui/NoteEditor/utils/contextMenuUtils.js.map
@@ -529,6 +552,9 @@ packages/app-desktop/gui/NoteEditor/utils/types.js.map
packages/app-desktop/gui/NoteEditor/utils/useDropHandler.d.ts
packages/app-desktop/gui/NoteEditor/utils/useDropHandler.js
packages/app-desktop/gui/NoteEditor/utils/useDropHandler.js.map
packages/app-desktop/gui/NoteEditor/utils/useEffectiveNoteId.d.ts
packages/app-desktop/gui/NoteEditor/utils/useEffectiveNoteId.js
packages/app-desktop/gui/NoteEditor/utils/useEffectiveNoteId.js.map
packages/app-desktop/gui/NoteEditor/utils/useFolder.d.ts
packages/app-desktop/gui/NoteEditor/utils/useFolder.js
packages/app-desktop/gui/NoteEditor/utils/useFolder.js.map
@@ -592,6 +618,12 @@ packages/app-desktop/gui/OneDriveLoginScreen.js.map
packages/app-desktop/gui/PasswordInput/PasswordInput.d.ts
packages/app-desktop/gui/PasswordInput/PasswordInput.js
packages/app-desktop/gui/PasswordInput/PasswordInput.js.map
packages/app-desktop/gui/PdfViewer.d.ts
packages/app-desktop/gui/PdfViewer.js
packages/app-desktop/gui/PdfViewer.js.map
packages/app-desktop/gui/PromptDialog.d.ts
packages/app-desktop/gui/PromptDialog.js
packages/app-desktop/gui/PromptDialog.js.map
packages/app-desktop/gui/ResizableLayout/MoveButtons.d.ts
packages/app-desktop/gui/ResizableLayout/MoveButtons.js
packages/app-desktop/gui/ResizableLayout/MoveButtons.js.map
@@ -754,9 +786,6 @@ packages/app-desktop/gui/utils/convertToScreenCoordinates.js.map
packages/app-desktop/gui/utils/loadScript.d.ts
packages/app-desktop/gui/utils/loadScript.js
packages/app-desktop/gui/utils/loadScript.js.map
packages/app-desktop/loadResources.testEnv.d.ts
packages/app-desktop/loadResources.testEnv.js
packages/app-desktop/loadResources.testEnv.js.map
packages/app-desktop/plugins/GotoAnything.d.ts
packages/app-desktop/plugins/GotoAnything.js
packages/app-desktop/plugins/GotoAnything.js.map
@@ -841,6 +870,15 @@ packages/app-mobile/components/BackButtonDialogBox.js.map
packages/app-mobile/components/CameraView.d.ts
packages/app-mobile/components/CameraView.js
packages/app-mobile/components/CameraView.js.map
packages/app-mobile/components/CustomButton.d.ts
packages/app-mobile/components/CustomButton.js
packages/app-mobile/components/CustomButton.js.map
packages/app-mobile/components/Dropdown.d.ts
packages/app-mobile/components/Dropdown.js
packages/app-mobile/components/Dropdown.js.map
packages/app-mobile/components/ExtendedWebView.d.ts
packages/app-mobile/components/ExtendedWebView.js
packages/app-mobile/components/ExtendedWebView.js.map
packages/app-mobile/components/NoteBodyViewer/NoteBodyViewer.d.ts
packages/app-mobile/components/NoteBodyViewer/NoteBodyViewer.js
packages/app-mobile/components/NoteBodyViewer/NoteBodyViewer.js.map
@@ -853,15 +891,111 @@ packages/app-mobile/components/NoteBodyViewer/hooks/useOnResourceLongPress.js.ma
packages/app-mobile/components/NoteBodyViewer/hooks/useSource.d.ts
packages/app-mobile/components/NoteBodyViewer/hooks/useSource.js
packages/app-mobile/components/NoteBodyViewer/hooks/useSource.js.map
packages/app-mobile/components/NoteEditor/CodeMirror.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror.js
packages/app-mobile/components/NoteEditor/CodeMirror.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.js
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.test.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.test.js
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.test.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/decoratorExtension.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/decoratorExtension.js
packages/app-mobile/components/NoteEditor/CodeMirror/decoratorExtension.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.bulletedVsChecklist.test.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.bulletedVsChecklist.test.js
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.bulletedVsChecklist.test.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.js
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.test.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.test.js
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.test.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.toggleList.test.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.toggleList.test.js
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.toggleList.test.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/markdownMathParser.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/markdownMathParser.js
packages/app-mobile/components/NoteEditor/CodeMirror/markdownMathParser.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/markdownMathParser.test.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/markdownMathParser.test.js
packages/app-mobile/components/NoteEditor/CodeMirror/markdownMathParser.test.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/markdownReformatter.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/markdownReformatter.js
packages/app-mobile/components/NoteEditor/CodeMirror/markdownReformatter.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/markdownReformatter.test.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/markdownReformatter.test.js
packages/app-mobile/components/NoteEditor/CodeMirror/markdownReformatter.test.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/syntaxHighlightingLanguages.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/syntaxHighlightingLanguages.js
packages/app-mobile/components/NoteEditor/CodeMirror/syntaxHighlightingLanguages.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/createEditor.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/createEditor.js
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/createEditor.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/forceFullParse.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/forceFullParse.js
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/forceFullParse.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/loadLanguages.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/loadLanguages.js
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/loadLanguages.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/theme.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/theme.js
packages/app-mobile/components/NoteEditor/CodeMirror/theme.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/types.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/types.js
packages/app-mobile/components/NoteEditor/CodeMirror/types.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/webviewLogger.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/webviewLogger.js
packages/app-mobile/components/NoteEditor/CodeMirror/webviewLogger.js.map
packages/app-mobile/components/NoteEditor/EditLinkDialog.d.ts
packages/app-mobile/components/NoteEditor/EditLinkDialog.js
packages/app-mobile/components/NoteEditor/EditLinkDialog.js.map
packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.d.ts
packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.js
packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.js.map
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToggleOverflowButton.d.ts
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToggleOverflowButton.js
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToggleOverflowButton.js.map
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToggleSpaceButton.d.ts
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToggleSpaceButton.js
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToggleSpaceButton.js.map
packages/app-mobile/components/NoteEditor/MarkdownToolbar/Toolbar.d.ts
packages/app-mobile/components/NoteEditor/MarkdownToolbar/Toolbar.js
packages/app-mobile/components/NoteEditor/MarkdownToolbar/Toolbar.js.map
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToolbarButton.d.ts
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToolbarButton.js
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToolbarButton.js.map
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToolbarOverflowRows.d.ts
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToolbarOverflowRows.js
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToolbarOverflowRows.js.map
packages/app-mobile/components/NoteEditor/MarkdownToolbar/types.d.ts
packages/app-mobile/components/NoteEditor/MarkdownToolbar/types.js
packages/app-mobile/components/NoteEditor/MarkdownToolbar/types.js.map
packages/app-mobile/components/NoteEditor/NoteEditor.d.ts
packages/app-mobile/components/NoteEditor/NoteEditor.js
packages/app-mobile/components/NoteEditor/NoteEditor.js.map
packages/app-mobile/components/NoteEditor/SearchPanel.d.ts
packages/app-mobile/components/NoteEditor/SearchPanel.js
packages/app-mobile/components/NoteEditor/SearchPanel.js.map
packages/app-mobile/components/NoteEditor/SelectionFormatting.d.ts
packages/app-mobile/components/NoteEditor/SelectionFormatting.js
packages/app-mobile/components/NoteEditor/SelectionFormatting.js.map
packages/app-mobile/components/NoteEditor/types.d.ts
packages/app-mobile/components/NoteEditor/types.js
packages/app-mobile/components/NoteEditor/types.js.map
packages/app-mobile/components/ScreenHeader.d.ts
packages/app-mobile/components/ScreenHeader.js
packages/app-mobile/components/ScreenHeader.js.map
packages/app-mobile/components/SelectDateTimeDialog.d.ts
packages/app-mobile/components/SelectDateTimeDialog.js
packages/app-mobile/components/SelectDateTimeDialog.js.map
packages/app-mobile/components/SideMenu.d.ts
packages/app-mobile/components/SideMenu.js
packages/app-mobile/components/SideMenu.js.map
packages/app-mobile/components/getResponsiveValue.d.ts
packages/app-mobile/components/getResponsiveValue.js
packages/app-mobile/components/getResponsiveValue.js.map
packages/app-mobile/components/getResponsiveValue.test.d.ts
packages/app-mobile/components/getResponsiveValue.test.js
packages/app-mobile/components/getResponsiveValue.test.js.map
packages/app-mobile/components/screens/ConfigScreen.d.ts
packages/app-mobile/components/screens/ConfigScreen.js
packages/app-mobile/components/screens/ConfigScreen.js.map
@@ -874,6 +1008,15 @@ packages/app-mobile/components/screens/UpgradeSyncTargetScreen.js.map
packages/app-mobile/components/screens/encryption-config.d.ts
packages/app-mobile/components/screens/encryption-config.js
packages/app-mobile/components/screens/encryption-config.js.map
packages/app-mobile/components/screens/search.d.ts
packages/app-mobile/components/screens/search.js
packages/app-mobile/components/screens/search.js.map
packages/app-mobile/components/side-menu-content.d.ts
packages/app-mobile/components/side-menu-content.js
packages/app-mobile/components/side-menu-content.js.map
packages/app-mobile/gulpfile.d.ts
packages/app-mobile/gulpfile.js
packages/app-mobile/gulpfile.js.map
packages/app-mobile/root.d.ts
packages/app-mobile/root.js
packages/app-mobile/root.js.map
@@ -889,6 +1032,9 @@ packages/app-mobile/services/e2ee/RSA.react-native.js.map
packages/app-mobile/setupQuickActions.d.ts
packages/app-mobile/setupQuickActions.js
packages/app-mobile/setupQuickActions.js.map
packages/app-mobile/tools/buildInjectedJs.d.ts
packages/app-mobile/tools/buildInjectedJs.js
packages/app-mobile/tools/buildInjectedJs.js.map
packages/app-mobile/utils/ShareExtension.d.ts
packages/app-mobile/utils/ShareExtension.js
packages/app-mobile/utils/ShareExtension.js.map
@@ -901,6 +1047,9 @@ packages/app-mobile/utils/TlsUtils.js.map
packages/app-mobile/utils/checkPermissions.d.ts
packages/app-mobile/utils/checkPermissions.js
packages/app-mobile/utils/checkPermissions.js.map
packages/app-mobile/utils/debounce.d.ts
packages/app-mobile/utils/debounce.js
packages/app-mobile/utils/debounce.js.map
packages/app-mobile/utils/fs-driver-rn.d.ts
packages/app-mobile/utils/fs-driver-rn.js
packages/app-mobile/utils/fs-driver-rn.js.map
@@ -910,6 +1059,9 @@ packages/app-mobile/utils/setupNotifications.js.map
packages/app-mobile/utils/shareHandler.d.ts
packages/app-mobile/utils/shareHandler.js
packages/app-mobile/utils/shareHandler.js.map
packages/app-mobile/utils/types.d.ts
packages/app-mobile/utils/types.js
packages/app-mobile/utils/types.js.map
packages/fork-htmlparser2/src/CollectingHandler.d.ts
packages/fork-htmlparser2/src/CollectingHandler.js
packages/fork-htmlparser2/src/CollectingHandler.js.map
@@ -967,6 +1119,9 @@ packages/generator-joplin/generators/app/templates/src/index.js.map
packages/htmlpack/src/index.d.ts
packages/htmlpack/src/index.js
packages/htmlpack/src/index.js.map
packages/lib/ArrayUtils.d.ts
packages/lib/ArrayUtils.js
packages/lib/ArrayUtils.js.map
packages/lib/AsyncActionQueue.d.ts
packages/lib/AsyncActionQueue.js
packages/lib/AsyncActionQueue.js.map
@@ -985,6 +1140,12 @@ packages/lib/ClipperServer.js.map
packages/lib/CssUtils.d.ts
packages/lib/CssUtils.js
packages/lib/CssUtils.js.map
packages/lib/EventDispatcher.d.ts
packages/lib/EventDispatcher.js
packages/lib/EventDispatcher.js.map
packages/lib/EventDispatcher.test.d.ts
packages/lib/EventDispatcher.test.js
packages/lib/EventDispatcher.test.js.map
packages/lib/HtmlToMd.d.ts
packages/lib/HtmlToMd.js
packages/lib/HtmlToMd.js.map
@@ -1465,6 +1626,9 @@ packages/lib/services/interop/InteropService_Importer_Md_frontmatter.test.js.map
packages/lib/services/interop/InteropService_Importer_Raw.d.ts
packages/lib/services/interop/InteropService_Importer_Raw.js
packages/lib/services/interop/InteropService_Importer_Raw.js.map
packages/lib/services/interop/InteropService_Importer_Raw.test.d.ts
packages/lib/services/interop/InteropService_Importer_Raw.test.js
packages/lib/services/interop/InteropService_Importer_Raw.test.js.map
packages/lib/services/interop/types.d.ts
packages/lib/services/interop/types.js
packages/lib/services/interop/types.js.map
@@ -1486,6 +1650,9 @@ packages/lib/services/keychain/KeychainServiceDriver.node.js.map
packages/lib/services/keychain/KeychainServiceDriverBase.d.ts
packages/lib/services/keychain/KeychainServiceDriverBase.js
packages/lib/services/keychain/KeychainServiceDriverBase.js.map
packages/lib/services/plugins/BasePlatformImplementation.d.ts
packages/lib/services/plugins/BasePlatformImplementation.js
packages/lib/services/plugins/BasePlatformImplementation.js.map
packages/lib/services/plugins/BasePluginRunner.d.ts
packages/lib/services/plugins/BasePluginRunner.js
packages/lib/services/plugins/BasePluginRunner.js.map
@@ -1570,6 +1737,12 @@ packages/lib/services/plugins/api/JoplinWorkspace.js.map
packages/lib/services/plugins/api/types.d.ts
packages/lib/services/plugins/api/types.js
packages/lib/services/plugins/api/types.js.map
packages/lib/services/plugins/defaultPlugins/defaultPluginsUtils.d.ts
packages/lib/services/plugins/defaultPlugins/defaultPluginsUtils.js
packages/lib/services/plugins/defaultPlugins/defaultPluginsUtils.js.map
packages/lib/services/plugins/defaultPlugins/desktopDefaultPluginsInfo.d.ts
packages/lib/services/plugins/defaultPlugins/desktopDefaultPluginsInfo.js
packages/lib/services/plugins/defaultPlugins/desktopDefaultPluginsInfo.js.map
packages/lib/services/plugins/reducer.d.ts
packages/lib/services/plugins/reducer.js
packages/lib/services/plugins/reducer.js.map
@@ -1711,6 +1884,9 @@ packages/lib/services/searchengine/filterParser.js.map
packages/lib/services/searchengine/filterParser.test.d.ts
packages/lib/services/searchengine/filterParser.test.js
packages/lib/services/searchengine/filterParser.test.js.map
packages/lib/services/searchengine/gotoAnythingStyleQuery.d.ts
packages/lib/services/searchengine/gotoAnythingStyleQuery.js
packages/lib/services/searchengine/gotoAnythingStyleQuery.js.map
packages/lib/services/searchengine/queryBuilder.d.ts
packages/lib/services/searchengine/queryBuilder.js
packages/lib/services/searchengine/queryBuilder.js.map
@@ -1876,6 +2052,60 @@ packages/lib/uuid.js.map
packages/lib/versionInfo.d.ts
packages/lib/versionInfo.js
packages/lib/versionInfo.js.map
packages/pdf-viewer/FullViewer.d.ts
packages/pdf-viewer/FullViewer.js
packages/pdf-viewer/FullViewer.js.map
packages/pdf-viewer/Page.d.ts
packages/pdf-viewer/Page.js
packages/pdf-viewer/Page.js.map
packages/pdf-viewer/PdfDocument.d.ts
packages/pdf-viewer/PdfDocument.js
packages/pdf-viewer/PdfDocument.js.map
packages/pdf-viewer/VerticalPages.d.ts
packages/pdf-viewer/VerticalPages.js
packages/pdf-viewer/VerticalPages.js.map
packages/pdf-viewer/hooks/useIsFocused.d.ts
packages/pdf-viewer/hooks/useIsFocused.js
packages/pdf-viewer/hooks/useIsFocused.js.map
packages/pdf-viewer/hooks/useIsVisible.d.ts
packages/pdf-viewer/hooks/useIsVisible.js
packages/pdf-viewer/hooks/useIsVisible.js.map
packages/pdf-viewer/hooks/usePdfDocument.d.ts
packages/pdf-viewer/hooks/usePdfDocument.js
packages/pdf-viewer/hooks/usePdfDocument.js.map
packages/pdf-viewer/hooks/useScaledSize.d.ts
packages/pdf-viewer/hooks/useScaledSize.js
packages/pdf-viewer/hooks/useScaledSize.js.map
packages/pdf-viewer/hooks/useScrollSaver.d.ts
packages/pdf-viewer/hooks/useScrollSaver.js
packages/pdf-viewer/hooks/useScrollSaver.js.map
packages/pdf-viewer/hooks/useVisibleOnSelect.d.ts
packages/pdf-viewer/hooks/useVisibleOnSelect.js
packages/pdf-viewer/hooks/useVisibleOnSelect.js.map
packages/pdf-viewer/main.d.ts
packages/pdf-viewer/main.js
packages/pdf-viewer/main.js.map
packages/pdf-viewer/messageService.d.ts
packages/pdf-viewer/messageService.js
packages/pdf-viewer/messageService.js.map
packages/pdf-viewer/miniViewer.d.ts
packages/pdf-viewer/miniViewer.js
packages/pdf-viewer/miniViewer.js.map
packages/pdf-viewer/pdfSource.test.d.ts
packages/pdf-viewer/pdfSource.test.js
packages/pdf-viewer/pdfSource.test.js.map
packages/pdf-viewer/types.d.ts
packages/pdf-viewer/types.js
packages/pdf-viewer/types.js.map
packages/pdf-viewer/ui/GotoPage.d.ts
packages/pdf-viewer/ui/GotoPage.js
packages/pdf-viewer/ui/GotoPage.js.map
packages/pdf-viewer/ui/IconButtons.d.ts
packages/pdf-viewer/ui/IconButtons.js
packages/pdf-viewer/ui/IconButtons.js.map
packages/pdf-viewer/ui/ZoomControls.d.ts
packages/pdf-viewer/ui/ZoomControls.js
packages/pdf-viewer/ui/ZoomControls.js.map
packages/plugin-repo-cli/commands/updateRelease.d.ts
packages/plugin-repo-cli/commands/updateRelease.js
packages/plugin-repo-cli/commands/updateRelease.js.map
@@ -1927,6 +2157,9 @@ packages/plugins/ToggleSidebars/api/types.js.map
packages/plugins/ToggleSidebars/src/index.d.ts
packages/plugins/ToggleSidebars/src/index.js
packages/plugins/ToggleSidebars/src/index.js.map
packages/react-native-saf-x/src/index.d.ts
packages/react-native-saf-x/src/index.js
packages/react-native-saf-x/src/index.js.map
packages/renderer/HtmlToHtml.d.ts
packages/renderer/HtmlToHtml.js
packages/renderer/HtmlToHtml.js.map
@@ -1996,6 +2229,9 @@ packages/renderer/MdToHtml/validateLinks.js.map
packages/renderer/headerAnchor.d.ts
packages/renderer/headerAnchor.js
packages/renderer/headerAnchor.js.map
packages/renderer/highlight.d.ts
packages/renderer/highlight.js
packages/renderer/highlight.js.map
packages/renderer/htmlUtils.d.ts
packages/renderer/htmlUtils.js
packages/renderer/htmlUtils.js.map
@@ -2020,6 +2256,12 @@ packages/tools/buildServerDocker.js.map
packages/tools/buildServerDocker.test.d.ts
packages/tools/buildServerDocker.test.js
packages/tools/buildServerDocker.test.js.map
packages/tools/bundleDefaultPlugins.d.ts
packages/tools/bundleDefaultPlugins.js
packages/tools/bundleDefaultPlugins.js.map
packages/tools/bundleDefaultPlugins.test.d.ts
packages/tools/bundleDefaultPlugins.test.js
packages/tools/bundleDefaultPlugins.test.js.map
packages/tools/checkLibPaths.d.ts
packages/tools/checkLibPaths.js
packages/tools/checkLibPaths.js.map
@@ -2080,18 +2322,33 @@ packages/tools/update-readme-sponsors.js.map
packages/tools/updateMarkdownDoc.d.ts
packages/tools/updateMarkdownDoc.js
packages/tools/updateMarkdownDoc.js.map
packages/tools/utils/translation.d.ts
packages/tools/utils/translation.js
packages/tools/utils/translation.js.map
packages/tools/website/build.d.ts
packages/tools/website/build.js
packages/tools/website/build.js.map
packages/tools/website/buildTranslations.d.ts
packages/tools/website/buildTranslations.js
packages/tools/website/buildTranslations.js.map
packages/tools/website/updateDownloadPage.d.ts
packages/tools/website/updateDownloadPage.js
packages/tools/website/updateDownloadPage.js.map
packages/tools/website/updateNews.d.ts
packages/tools/website/updateNews.js
packages/tools/website/updateNews.js.map
packages/tools/website/utils/applyTranslations.d.ts
packages/tools/website/utils/applyTranslations.js
packages/tools/website/utils/applyTranslations.js.map
packages/tools/website/utils/applyTranslations.test.d.ts
packages/tools/website/utils/applyTranslations.test.js
packages/tools/website/utils/applyTranslations.test.js.map
packages/tools/website/utils/frontMatter.d.ts
packages/tools/website/utils/frontMatter.js
packages/tools/website/utils/frontMatter.js.map
packages/tools/website/utils/news.d.ts
packages/tools/website/utils/news.js
packages/tools/website/utils/news.js.map
packages/tools/website/utils/openGraph.d.ts
packages/tools/website/utils/openGraph.js
packages/tools/website/utils/openGraph.js.map
@@ -2104,6 +2361,9 @@ packages/tools/website/utils/parser.js.map
packages/tools/website/utils/pressCarousel.d.ts
packages/tools/website/utils/pressCarousel.js
packages/tools/website/utils/pressCarousel.js.map
packages/tools/website/utils/processTranslations.d.ts
packages/tools/website/utils/processTranslations.js
packages/tools/website/utils/processTranslations.js.map
packages/tools/website/utils/render.d.ts
packages/tools/website/utils/render.js
packages/tools/website/utils/render.js.map

View File

@@ -76,17 +76,22 @@ module.exports = {
'no-array-constructor': ['error'],
'radix': ['error'],
'eqeqeq': ['error', 'always'],
// Warn only for now because fixing everything would take too much
// refactoring, but new code should try to stick to it.
// 'complexity': ['warn', { max: 10 }],
// Checks rules of Hooks
'react-hooks/rules-of-hooks': 'error',
'@seiyab/react-hooks/rules-of-hooks': 'error',
'@seiyab/react-hooks/exhaustive-deps': ['error', { 'ignoreThisDependency': 'props' }],
// Checks effect dependencies
// Disable because of this: https://github.com/facebook/react/issues/16265
// "react-hooks/exhaustive-deps": "warn",
'promise/prefer-await-to-then': 'error',
// -------------------------------
// Formatting
// -------------------------------
@@ -133,8 +138,12 @@ module.exports = {
'plugins': [
'react',
'@typescript-eslint',
'react-hooks',
// Need to use a fork of the official rules of hooks because of this bug:
// https://github.com/facebook/react/issues/16265
'@seiyab/eslint-plugin-react-hooks',
// 'react-hooks',
'import',
'promise',
],
'overrides': [
{

View File

@@ -57,6 +57,11 @@ echo "Yarn $( yarn -v )"
cd "$ROOT_DIR"
yarn install
testResult=$?
if [ $testResult -ne 0 ]; then
echo "Yarn installation failed. Search for 'exit code 1' in the log for more information."
exit $testResult
fi
# =============================================================================
# Run test units. Only do it for pull requests and dev branch because we don't
@@ -102,6 +107,12 @@ if [ "$IS_PULL_REQUEST" == "1" ] || [ "$IS_DEV_BRANCH" = "1" ]; then
if [ $testResult -ne 0 ]; then
exit $testResult
fi
yarn run packageJsonLint
testResult=$?
if [ $testResult -ne 0 ]; then
exit $testResult
fi
fi
# =============================================================================
@@ -125,12 +136,11 @@ fi
# =============================================================================
# Check that we didn't lose any string due to gettext not being able to parse
# newly modified or added scripts. This is convenient to quickly view on GitHub
# what commit may have broken translation building. We run this on macOS because
# we need the latest version of gettext (and stable Ubuntu doesn't have it).
# what commit may have broken translation building.
# =============================================================================
if [ "$IS_PULL_REQUEST" == "1" ] || [ "$IS_DEV_BRANCH" = "1" ]; then
if [ "$IS_MACOS" == "1" ]; then
if [ "$IS_LINUX" == "1" ]; then
echo "Step: Checking for lost translation strings..."
xgettext --version
@@ -170,6 +180,9 @@ cd "$ROOT_DIR/packages/app-desktop"
if [[ $GIT_TAG_NAME = v* ]]; then
echo "Step: Building and publishing desktop application..."
# cd "$ROOT_DIR/packages/tools"
# node bundleDefaultPlugins.js
cd "$ROOT_DIR/packages/app-desktop"
USE_HARD_LINKS=false yarn run dist
elif [[ $IS_LINUX = 1 ]] && [[ $GIT_TAG_NAME = $SERVER_TAG_PREFIX-* ]]; then
echo "Step: Building Docker Image..."

44
.github/workflows/build-android.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
# The goal of this action is to compile the Android debug build. That should
# tell us automatically if something got broken when a dependency was changed.
name: react-native-android-build-apk
on: [push, pull_request]
jobs:
pre_job:
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
concurrent_skipping: 'same_content_newer'
BuildAndroidDebug:
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
runs-on: ubuntu-latest
steps:
- name: Install Linux dependencies
run: |
sudo apt-get update || true
sudo apt-get install -y libsecret-1-dev
- uses: actions/setup-node@v2
with:
node-version: '18'
- name: Install Yarn
run: |
corepack enable
- uses: actions/checkout@v2
- name: Install
run: yarn install
- name: Build Android Release
run: |
cd packages/app-mobile/android && ./gradlew assembleDebug

36
.github/workflows/cla.yml vendored Normal file
View File

@@ -0,0 +1,36 @@
name: "CLA Assistant"
on:
issue_comment:
types: [created]
pull_request_target:
types: [opened,closed,synchronize]
jobs:
CLAAssistant:
runs-on: ubuntu-latest
steps:
- name: "CLA Assistant"
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
# Beta Release
uses: contributor-assistant/github-action@v2.2.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# the below token should have repo scope and must be manually added by you in the repository's secret
PERSONAL_ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
with:
path-to-signatures: 'readme/cla_signatures.json'
path-to-document: 'https://github.com/laurent22/joplin/blob/dev/readme/cla.md' # e.g. a CLA or a DCO document
# branch should not be protected
branch: 'dev'
allowlist: joplinbot,renovate[bot]
# the followings are the optional inputs - If the optional inputs are not given, then default values will be taken
#remote-organization-name: enter the remote organization name where the signatures should be stored (Default is storing the signatures in the same repository)
#remote-repository-name: enter the remote repository name where the signatures should be stored (Default is storing the signatures in the same repository)
#create-file-commit-message: 'For example: Creating file for storing CLA Signatures'
#signed-commit-message: 'For example: $contributorName has signed the CLA in #$pullRequestNo'
#custom-notsigned-prcomment: 'pull request comment with Introductory message to ask new contributors to sign'
#custom-pr-sign-comment: 'The signature to be committed in order to sign the CLA'
#custom-allsigned-prcomment: 'pull request comment when all contributors has signed, defaults to **CLA Assistant Lite bot** All Contributors have signed the CLA.'
#lock-pullrequest-aftermerge: false - if you don't want this bot to automatically lock the pull request after merging (default - true)
#use-dco-flag: true - If you are using DCO instead of CLA

View File

@@ -1,14 +1,42 @@
name: Joplin Continuous Integration
on: [push, pull_request]
jobs:
pre_job:
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
concurrent_skipping: 'same_content_newer'
Main:
needs: pre_job
# We always process server or desktop release tags, because they also publish the release
if: needs.pre_job.outputs.should_skip != 'true' || startsWith(github.ref, 'refs/tags/server-v') || startsWith(github.ref, 'refs/tags/v')
runs-on: ${{ matrix.os }}
strategy:
matrix:
# Removed windows-2016 for now - discontinued by GitHub
os: [macos-latest, ubuntu-latest, windows-2019]
steps:
# Trying to fix random networking issues on Windows
# https://github.com/actions/runner-images/issues/1187#issuecomment-686735760
- name: Disable TCP/UDP offload on Windows
if: runner.os == 'Windows'
run: Disable-NetAdapterChecksumOffload -Name * -TcpIPv4 -UdpIPv4 -TcpIPv6 -UdpIPv6
- name: Disable TCP/UDP offload on Linux
if: runner.os == 'Linux'
run: sudo ethtool -K eth0 tx off rx off
- name: Disable TCP/UDP offload on macOS
if: runner.os == 'macOS'
run: |
sudo sysctl -w net.link.generic.system.hwcksum_tx=0
sudo sysctl -w net.link.generic.system.hwcksum_rx=0
# Silence apt-get update errors (for example when a module doesn't
# exist) since otherwise it will make the whole build fails, even though
# it might work without update. libsecret-1-dev is required for keytar -
@@ -22,13 +50,6 @@ jobs:
sudo apt-get install -y libsecret-1-dev
sudo apt-get install -y translate-toolkit
- name: Install macOS dependencies
if: runner.os == 'macOS'
run: |
brew update
brew install gettext
brew install translate-toolkit
- name: Install Docker Engine
# if: runner.os == 'Linux' && startsWith(github.ref, 'refs/tags/server-v')
if: runner.os == 'Linux'
@@ -49,7 +70,7 @@ jobs:
- uses: olegtarasov/get-tag@v2.1
- uses: actions/setup-node@v2
with:
node-version: '16'
node-version: '18'
- name: Install Yarn
run: |
@@ -59,7 +80,7 @@ jobs:
# Login to Docker only if we're on a server release tag. If we run this on
# a pull request it will fail because the PR doesn't have access to
# secrets
- uses: docker/login-action@v1
- uses: docker/login-action@v2
if: runner.os == 'Linux' && startsWith(github.ref, 'refs/tags/server-v')
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
@@ -76,6 +97,8 @@ jobs:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
IS_CONTINUOUS_INTEGRATION: 1
BUILD_SEQUENCIAL: 1
SERVER_REPOSITORY: joplin/server
SERVER_TAG_PREFIX: server
run: |
"${GITHUB_WORKSPACE}/.github/scripts/run_ci.sh"
@@ -105,6 +128,8 @@ jobs:
yarn install && cd packages/app-desktop && yarn run dist --publish=never
ServerDockerImage:
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
runs-on: ${{ matrix.os }}
strategy:
matrix:
@@ -129,7 +154,7 @@ jobs:
- uses: actions/setup-node@v2
with:
node-version: '16'
node-version: '18'
- name: Install Yarn
run: |
@@ -142,4 +167,7 @@ jobs:
run: |
yarn install
yarn run buildServerDocker --tag-name server-v0.0.0 --repository joplin/server
# Basic test to ensure that the created build is valid. It should exit with
# code 0 if it works.
docker run joplin/server:0.0.0-beta node dist/app.js migrate list

279
.gitignore vendored
View File

@@ -66,6 +66,12 @@ docs/**/*.mustache
packages/app-cli/app/LinkSelector.d.ts
packages/app-cli/app/LinkSelector.js
packages/app-cli/app/LinkSelector.js.map
packages/app-cli/app/base-command.d.ts
packages/app-cli/app/base-command.js
packages/app-cli/app/base-command.js.map
packages/app-cli/app/command-done.test.d.ts
packages/app-cli/app/command-done.test.js
packages/app-cli/app/command-done.test.js.map
packages/app-cli/app/command-e2ee.d.ts
packages/app-cli/app/command-e2ee.js
packages/app-cli/app/command-e2ee.js.map
@@ -78,9 +84,18 @@ packages/app-cli/app/command-sync.js.map
packages/app-cli/app/command-testing.d.ts
packages/app-cli/app/command-testing.js
packages/app-cli/app/command-testing.js.map
packages/app-cli/app/gui/StatusBarWidget.d.ts
packages/app-cli/app/gui/StatusBarWidget.js
packages/app-cli/app/gui/StatusBarWidget.js.map
packages/app-cli/app/services/plugins/PluginRunner.d.ts
packages/app-cli/app/services/plugins/PluginRunner.js
packages/app-cli/app/services/plugins/PluginRunner.js.map
packages/app-cli/app/setupCommand.d.ts
packages/app-cli/app/setupCommand.js
packages/app-cli/app/setupCommand.js.map
packages/app-cli/app/utils/testUtils.d.ts
packages/app-cli/app/utils/testUtils.js
packages/app-cli/app/utils/testUtils.js.map
packages/app-cli/tests/HtmlToMd.d.ts
packages/app-cli/tests/HtmlToMd.js
packages/app-cli/tests/HtmlToMd.js.map
@@ -105,6 +120,9 @@ packages/app-cli/tests/services/plugins/api/JoplinViewMenuItem.js.map
packages/app-cli/tests/services/plugins/api/JoplinWorkspace.d.ts
packages/app-cli/tests/services/plugins/api/JoplinWorkspace.js
packages/app-cli/tests/services/plugins/api/JoplinWorkspace.js.map
packages/app-cli/tests/services/plugins/defaultPluginsUtils.d.ts
packages/app-cli/tests/services/plugins/defaultPluginsUtils.js
packages/app-cli/tests/services/plugins/defaultPluginsUtils.js.map
packages/app-cli/tests/services/plugins/sandboxProxy.d.ts
packages/app-cli/tests/services/plugins/sandboxProxy.js
packages/app-cli/tests/services/plugins/sandboxProxy.js.map
@@ -237,6 +255,9 @@ packages/app-desktop/gui/EditFolderDialog/Dialog.js.map
packages/app-desktop/gui/EditFolderDialog/IconSelector.d.ts
packages/app-desktop/gui/EditFolderDialog/IconSelector.js
packages/app-desktop/gui/EditFolderDialog/IconSelector.js.map
packages/app-desktop/gui/EmojiBox.d.ts
packages/app-desktop/gui/EmojiBox.js
packages/app-desktop/gui/EmojiBox.js.map
packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.d.ts
packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js
packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js.map
@@ -318,6 +339,9 @@ packages/app-desktop/gui/MainScreen/commands/openItem.js.map
packages/app-desktop/gui/MainScreen/commands/openNote.d.ts
packages/app-desktop/gui/MainScreen/commands/openNote.js
packages/app-desktop/gui/MainScreen/commands/openNote.js.map
packages/app-desktop/gui/MainScreen/commands/openPdfViewer.d.ts
packages/app-desktop/gui/MainScreen/commands/openPdfViewer.js
packages/app-desktop/gui/MainScreen/commands/openPdfViewer.js.map
packages/app-desktop/gui/MainScreen/commands/openTag.d.ts
packages/app-desktop/gui/MainScreen/commands/openTag.js
packages/app-desktop/gui/MainScreen/commands/openTag.js.map
@@ -501,9 +525,6 @@ packages/app-desktop/gui/NoteEditor/utils/clipboardUtils.test.js.map
packages/app-desktop/gui/NoteEditor/utils/contextMenu.d.ts
packages/app-desktop/gui/NoteEditor/utils/contextMenu.js
packages/app-desktop/gui/NoteEditor/utils/contextMenu.js.map
packages/app-desktop/gui/NoteEditor/utils/contextMenu.test.d.ts
packages/app-desktop/gui/NoteEditor/utils/contextMenu.test.js
packages/app-desktop/gui/NoteEditor/utils/contextMenu.test.js.map
packages/app-desktop/gui/NoteEditor/utils/contextMenuUtils.d.ts
packages/app-desktop/gui/NoteEditor/utils/contextMenuUtils.js
packages/app-desktop/gui/NoteEditor/utils/contextMenuUtils.js.map
@@ -519,6 +540,9 @@ packages/app-desktop/gui/NoteEditor/utils/types.js.map
packages/app-desktop/gui/NoteEditor/utils/useDropHandler.d.ts
packages/app-desktop/gui/NoteEditor/utils/useDropHandler.js
packages/app-desktop/gui/NoteEditor/utils/useDropHandler.js.map
packages/app-desktop/gui/NoteEditor/utils/useEffectiveNoteId.d.ts
packages/app-desktop/gui/NoteEditor/utils/useEffectiveNoteId.js
packages/app-desktop/gui/NoteEditor/utils/useEffectiveNoteId.js.map
packages/app-desktop/gui/NoteEditor/utils/useFolder.d.ts
packages/app-desktop/gui/NoteEditor/utils/useFolder.js
packages/app-desktop/gui/NoteEditor/utils/useFolder.js.map
@@ -582,6 +606,12 @@ packages/app-desktop/gui/OneDriveLoginScreen.js.map
packages/app-desktop/gui/PasswordInput/PasswordInput.d.ts
packages/app-desktop/gui/PasswordInput/PasswordInput.js
packages/app-desktop/gui/PasswordInput/PasswordInput.js.map
packages/app-desktop/gui/PdfViewer.d.ts
packages/app-desktop/gui/PdfViewer.js
packages/app-desktop/gui/PdfViewer.js.map
packages/app-desktop/gui/PromptDialog.d.ts
packages/app-desktop/gui/PromptDialog.js
packages/app-desktop/gui/PromptDialog.js.map
packages/app-desktop/gui/ResizableLayout/MoveButtons.d.ts
packages/app-desktop/gui/ResizableLayout/MoveButtons.js
packages/app-desktop/gui/ResizableLayout/MoveButtons.js.map
@@ -744,9 +774,6 @@ packages/app-desktop/gui/utils/convertToScreenCoordinates.js.map
packages/app-desktop/gui/utils/loadScript.d.ts
packages/app-desktop/gui/utils/loadScript.js
packages/app-desktop/gui/utils/loadScript.js.map
packages/app-desktop/loadResources.testEnv.d.ts
packages/app-desktop/loadResources.testEnv.js
packages/app-desktop/loadResources.testEnv.js.map
packages/app-desktop/plugins/GotoAnything.d.ts
packages/app-desktop/plugins/GotoAnything.js
packages/app-desktop/plugins/GotoAnything.js.map
@@ -831,6 +858,15 @@ packages/app-mobile/components/BackButtonDialogBox.js.map
packages/app-mobile/components/CameraView.d.ts
packages/app-mobile/components/CameraView.js
packages/app-mobile/components/CameraView.js.map
packages/app-mobile/components/CustomButton.d.ts
packages/app-mobile/components/CustomButton.js
packages/app-mobile/components/CustomButton.js.map
packages/app-mobile/components/Dropdown.d.ts
packages/app-mobile/components/Dropdown.js
packages/app-mobile/components/Dropdown.js.map
packages/app-mobile/components/ExtendedWebView.d.ts
packages/app-mobile/components/ExtendedWebView.js
packages/app-mobile/components/ExtendedWebView.js.map
packages/app-mobile/components/NoteBodyViewer/NoteBodyViewer.d.ts
packages/app-mobile/components/NoteBodyViewer/NoteBodyViewer.js
packages/app-mobile/components/NoteBodyViewer/NoteBodyViewer.js.map
@@ -843,15 +879,111 @@ packages/app-mobile/components/NoteBodyViewer/hooks/useOnResourceLongPress.js.ma
packages/app-mobile/components/NoteBodyViewer/hooks/useSource.d.ts
packages/app-mobile/components/NoteBodyViewer/hooks/useSource.js
packages/app-mobile/components/NoteBodyViewer/hooks/useSource.js.map
packages/app-mobile/components/NoteEditor/CodeMirror.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror.js
packages/app-mobile/components/NoteEditor/CodeMirror.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.js
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.test.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.test.js
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.test.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/decoratorExtension.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/decoratorExtension.js
packages/app-mobile/components/NoteEditor/CodeMirror/decoratorExtension.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.bulletedVsChecklist.test.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.bulletedVsChecklist.test.js
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.bulletedVsChecklist.test.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.js
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.test.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.test.js
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.test.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.toggleList.test.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.toggleList.test.js
packages/app-mobile/components/NoteEditor/CodeMirror/markdownCommands.toggleList.test.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/markdownMathParser.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/markdownMathParser.js
packages/app-mobile/components/NoteEditor/CodeMirror/markdownMathParser.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/markdownMathParser.test.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/markdownMathParser.test.js
packages/app-mobile/components/NoteEditor/CodeMirror/markdownMathParser.test.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/markdownReformatter.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/markdownReformatter.js
packages/app-mobile/components/NoteEditor/CodeMirror/markdownReformatter.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/markdownReformatter.test.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/markdownReformatter.test.js
packages/app-mobile/components/NoteEditor/CodeMirror/markdownReformatter.test.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/syntaxHighlightingLanguages.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/syntaxHighlightingLanguages.js
packages/app-mobile/components/NoteEditor/CodeMirror/syntaxHighlightingLanguages.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/createEditor.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/createEditor.js
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/createEditor.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/forceFullParse.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/forceFullParse.js
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/forceFullParse.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/loadLanguages.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/loadLanguages.js
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/loadLanguages.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/theme.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/theme.js
packages/app-mobile/components/NoteEditor/CodeMirror/theme.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/types.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/types.js
packages/app-mobile/components/NoteEditor/CodeMirror/types.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/webviewLogger.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/webviewLogger.js
packages/app-mobile/components/NoteEditor/CodeMirror/webviewLogger.js.map
packages/app-mobile/components/NoteEditor/EditLinkDialog.d.ts
packages/app-mobile/components/NoteEditor/EditLinkDialog.js
packages/app-mobile/components/NoteEditor/EditLinkDialog.js.map
packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.d.ts
packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.js
packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.js.map
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToggleOverflowButton.d.ts
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToggleOverflowButton.js
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToggleOverflowButton.js.map
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToggleSpaceButton.d.ts
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToggleSpaceButton.js
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToggleSpaceButton.js.map
packages/app-mobile/components/NoteEditor/MarkdownToolbar/Toolbar.d.ts
packages/app-mobile/components/NoteEditor/MarkdownToolbar/Toolbar.js
packages/app-mobile/components/NoteEditor/MarkdownToolbar/Toolbar.js.map
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToolbarButton.d.ts
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToolbarButton.js
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToolbarButton.js.map
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToolbarOverflowRows.d.ts
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToolbarOverflowRows.js
packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToolbarOverflowRows.js.map
packages/app-mobile/components/NoteEditor/MarkdownToolbar/types.d.ts
packages/app-mobile/components/NoteEditor/MarkdownToolbar/types.js
packages/app-mobile/components/NoteEditor/MarkdownToolbar/types.js.map
packages/app-mobile/components/NoteEditor/NoteEditor.d.ts
packages/app-mobile/components/NoteEditor/NoteEditor.js
packages/app-mobile/components/NoteEditor/NoteEditor.js.map
packages/app-mobile/components/NoteEditor/SearchPanel.d.ts
packages/app-mobile/components/NoteEditor/SearchPanel.js
packages/app-mobile/components/NoteEditor/SearchPanel.js.map
packages/app-mobile/components/NoteEditor/SelectionFormatting.d.ts
packages/app-mobile/components/NoteEditor/SelectionFormatting.js
packages/app-mobile/components/NoteEditor/SelectionFormatting.js.map
packages/app-mobile/components/NoteEditor/types.d.ts
packages/app-mobile/components/NoteEditor/types.js
packages/app-mobile/components/NoteEditor/types.js.map
packages/app-mobile/components/ScreenHeader.d.ts
packages/app-mobile/components/ScreenHeader.js
packages/app-mobile/components/ScreenHeader.js.map
packages/app-mobile/components/SelectDateTimeDialog.d.ts
packages/app-mobile/components/SelectDateTimeDialog.js
packages/app-mobile/components/SelectDateTimeDialog.js.map
packages/app-mobile/components/SideMenu.d.ts
packages/app-mobile/components/SideMenu.js
packages/app-mobile/components/SideMenu.js.map
packages/app-mobile/components/getResponsiveValue.d.ts
packages/app-mobile/components/getResponsiveValue.js
packages/app-mobile/components/getResponsiveValue.js.map
packages/app-mobile/components/getResponsiveValue.test.d.ts
packages/app-mobile/components/getResponsiveValue.test.js
packages/app-mobile/components/getResponsiveValue.test.js.map
packages/app-mobile/components/screens/ConfigScreen.d.ts
packages/app-mobile/components/screens/ConfigScreen.js
packages/app-mobile/components/screens/ConfigScreen.js.map
@@ -864,6 +996,15 @@ packages/app-mobile/components/screens/UpgradeSyncTargetScreen.js.map
packages/app-mobile/components/screens/encryption-config.d.ts
packages/app-mobile/components/screens/encryption-config.js
packages/app-mobile/components/screens/encryption-config.js.map
packages/app-mobile/components/screens/search.d.ts
packages/app-mobile/components/screens/search.js
packages/app-mobile/components/screens/search.js.map
packages/app-mobile/components/side-menu-content.d.ts
packages/app-mobile/components/side-menu-content.js
packages/app-mobile/components/side-menu-content.js.map
packages/app-mobile/gulpfile.d.ts
packages/app-mobile/gulpfile.js
packages/app-mobile/gulpfile.js.map
packages/app-mobile/root.d.ts
packages/app-mobile/root.js
packages/app-mobile/root.js.map
@@ -879,6 +1020,9 @@ packages/app-mobile/services/e2ee/RSA.react-native.js.map
packages/app-mobile/setupQuickActions.d.ts
packages/app-mobile/setupQuickActions.js
packages/app-mobile/setupQuickActions.js.map
packages/app-mobile/tools/buildInjectedJs.d.ts
packages/app-mobile/tools/buildInjectedJs.js
packages/app-mobile/tools/buildInjectedJs.js.map
packages/app-mobile/utils/ShareExtension.d.ts
packages/app-mobile/utils/ShareExtension.js
packages/app-mobile/utils/ShareExtension.js.map
@@ -891,6 +1035,9 @@ packages/app-mobile/utils/TlsUtils.js.map
packages/app-mobile/utils/checkPermissions.d.ts
packages/app-mobile/utils/checkPermissions.js
packages/app-mobile/utils/checkPermissions.js.map
packages/app-mobile/utils/debounce.d.ts
packages/app-mobile/utils/debounce.js
packages/app-mobile/utils/debounce.js.map
packages/app-mobile/utils/fs-driver-rn.d.ts
packages/app-mobile/utils/fs-driver-rn.js
packages/app-mobile/utils/fs-driver-rn.js.map
@@ -900,6 +1047,9 @@ packages/app-mobile/utils/setupNotifications.js.map
packages/app-mobile/utils/shareHandler.d.ts
packages/app-mobile/utils/shareHandler.js
packages/app-mobile/utils/shareHandler.js.map
packages/app-mobile/utils/types.d.ts
packages/app-mobile/utils/types.js
packages/app-mobile/utils/types.js.map
packages/fork-htmlparser2/src/CollectingHandler.d.ts
packages/fork-htmlparser2/src/CollectingHandler.js
packages/fork-htmlparser2/src/CollectingHandler.js.map
@@ -957,6 +1107,9 @@ packages/generator-joplin/generators/app/templates/src/index.js.map
packages/htmlpack/src/index.d.ts
packages/htmlpack/src/index.js
packages/htmlpack/src/index.js.map
packages/lib/ArrayUtils.d.ts
packages/lib/ArrayUtils.js
packages/lib/ArrayUtils.js.map
packages/lib/AsyncActionQueue.d.ts
packages/lib/AsyncActionQueue.js
packages/lib/AsyncActionQueue.js.map
@@ -975,6 +1128,12 @@ packages/lib/ClipperServer.js.map
packages/lib/CssUtils.d.ts
packages/lib/CssUtils.js
packages/lib/CssUtils.js.map
packages/lib/EventDispatcher.d.ts
packages/lib/EventDispatcher.js
packages/lib/EventDispatcher.js.map
packages/lib/EventDispatcher.test.d.ts
packages/lib/EventDispatcher.test.js
packages/lib/EventDispatcher.test.js.map
packages/lib/HtmlToMd.d.ts
packages/lib/HtmlToMd.js
packages/lib/HtmlToMd.js.map
@@ -1455,6 +1614,9 @@ packages/lib/services/interop/InteropService_Importer_Md_frontmatter.test.js.map
packages/lib/services/interop/InteropService_Importer_Raw.d.ts
packages/lib/services/interop/InteropService_Importer_Raw.js
packages/lib/services/interop/InteropService_Importer_Raw.js.map
packages/lib/services/interop/InteropService_Importer_Raw.test.d.ts
packages/lib/services/interop/InteropService_Importer_Raw.test.js
packages/lib/services/interop/InteropService_Importer_Raw.test.js.map
packages/lib/services/interop/types.d.ts
packages/lib/services/interop/types.js
packages/lib/services/interop/types.js.map
@@ -1476,6 +1638,9 @@ packages/lib/services/keychain/KeychainServiceDriver.node.js.map
packages/lib/services/keychain/KeychainServiceDriverBase.d.ts
packages/lib/services/keychain/KeychainServiceDriverBase.js
packages/lib/services/keychain/KeychainServiceDriverBase.js.map
packages/lib/services/plugins/BasePlatformImplementation.d.ts
packages/lib/services/plugins/BasePlatformImplementation.js
packages/lib/services/plugins/BasePlatformImplementation.js.map
packages/lib/services/plugins/BasePluginRunner.d.ts
packages/lib/services/plugins/BasePluginRunner.js
packages/lib/services/plugins/BasePluginRunner.js.map
@@ -1560,6 +1725,12 @@ packages/lib/services/plugins/api/JoplinWorkspace.js.map
packages/lib/services/plugins/api/types.d.ts
packages/lib/services/plugins/api/types.js
packages/lib/services/plugins/api/types.js.map
packages/lib/services/plugins/defaultPlugins/defaultPluginsUtils.d.ts
packages/lib/services/plugins/defaultPlugins/defaultPluginsUtils.js
packages/lib/services/plugins/defaultPlugins/defaultPluginsUtils.js.map
packages/lib/services/plugins/defaultPlugins/desktopDefaultPluginsInfo.d.ts
packages/lib/services/plugins/defaultPlugins/desktopDefaultPluginsInfo.js
packages/lib/services/plugins/defaultPlugins/desktopDefaultPluginsInfo.js.map
packages/lib/services/plugins/reducer.d.ts
packages/lib/services/plugins/reducer.js
packages/lib/services/plugins/reducer.js.map
@@ -1701,6 +1872,9 @@ packages/lib/services/searchengine/filterParser.js.map
packages/lib/services/searchengine/filterParser.test.d.ts
packages/lib/services/searchengine/filterParser.test.js
packages/lib/services/searchengine/filterParser.test.js.map
packages/lib/services/searchengine/gotoAnythingStyleQuery.d.ts
packages/lib/services/searchengine/gotoAnythingStyleQuery.js
packages/lib/services/searchengine/gotoAnythingStyleQuery.js.map
packages/lib/services/searchengine/queryBuilder.d.ts
packages/lib/services/searchengine/queryBuilder.js
packages/lib/services/searchengine/queryBuilder.js.map
@@ -1866,6 +2040,60 @@ packages/lib/uuid.js.map
packages/lib/versionInfo.d.ts
packages/lib/versionInfo.js
packages/lib/versionInfo.js.map
packages/pdf-viewer/FullViewer.d.ts
packages/pdf-viewer/FullViewer.js
packages/pdf-viewer/FullViewer.js.map
packages/pdf-viewer/Page.d.ts
packages/pdf-viewer/Page.js
packages/pdf-viewer/Page.js.map
packages/pdf-viewer/PdfDocument.d.ts
packages/pdf-viewer/PdfDocument.js
packages/pdf-viewer/PdfDocument.js.map
packages/pdf-viewer/VerticalPages.d.ts
packages/pdf-viewer/VerticalPages.js
packages/pdf-viewer/VerticalPages.js.map
packages/pdf-viewer/hooks/useIsFocused.d.ts
packages/pdf-viewer/hooks/useIsFocused.js
packages/pdf-viewer/hooks/useIsFocused.js.map
packages/pdf-viewer/hooks/useIsVisible.d.ts
packages/pdf-viewer/hooks/useIsVisible.js
packages/pdf-viewer/hooks/useIsVisible.js.map
packages/pdf-viewer/hooks/usePdfDocument.d.ts
packages/pdf-viewer/hooks/usePdfDocument.js
packages/pdf-viewer/hooks/usePdfDocument.js.map
packages/pdf-viewer/hooks/useScaledSize.d.ts
packages/pdf-viewer/hooks/useScaledSize.js
packages/pdf-viewer/hooks/useScaledSize.js.map
packages/pdf-viewer/hooks/useScrollSaver.d.ts
packages/pdf-viewer/hooks/useScrollSaver.js
packages/pdf-viewer/hooks/useScrollSaver.js.map
packages/pdf-viewer/hooks/useVisibleOnSelect.d.ts
packages/pdf-viewer/hooks/useVisibleOnSelect.js
packages/pdf-viewer/hooks/useVisibleOnSelect.js.map
packages/pdf-viewer/main.d.ts
packages/pdf-viewer/main.js
packages/pdf-viewer/main.js.map
packages/pdf-viewer/messageService.d.ts
packages/pdf-viewer/messageService.js
packages/pdf-viewer/messageService.js.map
packages/pdf-viewer/miniViewer.d.ts
packages/pdf-viewer/miniViewer.js
packages/pdf-viewer/miniViewer.js.map
packages/pdf-viewer/pdfSource.test.d.ts
packages/pdf-viewer/pdfSource.test.js
packages/pdf-viewer/pdfSource.test.js.map
packages/pdf-viewer/types.d.ts
packages/pdf-viewer/types.js
packages/pdf-viewer/types.js.map
packages/pdf-viewer/ui/GotoPage.d.ts
packages/pdf-viewer/ui/GotoPage.js
packages/pdf-viewer/ui/GotoPage.js.map
packages/pdf-viewer/ui/IconButtons.d.ts
packages/pdf-viewer/ui/IconButtons.js
packages/pdf-viewer/ui/IconButtons.js.map
packages/pdf-viewer/ui/ZoomControls.d.ts
packages/pdf-viewer/ui/ZoomControls.js
packages/pdf-viewer/ui/ZoomControls.js.map
packages/plugin-repo-cli/commands/updateRelease.d.ts
packages/plugin-repo-cli/commands/updateRelease.js
packages/plugin-repo-cli/commands/updateRelease.js.map
@@ -1917,6 +2145,9 @@ packages/plugins/ToggleSidebars/api/types.js.map
packages/plugins/ToggleSidebars/src/index.d.ts
packages/plugins/ToggleSidebars/src/index.js
packages/plugins/ToggleSidebars/src/index.js.map
packages/react-native-saf-x/src/index.d.ts
packages/react-native-saf-x/src/index.js
packages/react-native-saf-x/src/index.js.map
packages/renderer/HtmlToHtml.d.ts
packages/renderer/HtmlToHtml.js
packages/renderer/HtmlToHtml.js.map
@@ -1986,6 +2217,9 @@ packages/renderer/MdToHtml/validateLinks.js.map
packages/renderer/headerAnchor.d.ts
packages/renderer/headerAnchor.js
packages/renderer/headerAnchor.js.map
packages/renderer/highlight.d.ts
packages/renderer/highlight.js
packages/renderer/highlight.js.map
packages/renderer/htmlUtils.d.ts
packages/renderer/htmlUtils.js
packages/renderer/htmlUtils.js.map
@@ -2010,6 +2244,12 @@ packages/tools/buildServerDocker.js.map
packages/tools/buildServerDocker.test.d.ts
packages/tools/buildServerDocker.test.js
packages/tools/buildServerDocker.test.js.map
packages/tools/bundleDefaultPlugins.d.ts
packages/tools/bundleDefaultPlugins.js
packages/tools/bundleDefaultPlugins.js.map
packages/tools/bundleDefaultPlugins.test.d.ts
packages/tools/bundleDefaultPlugins.test.js
packages/tools/bundleDefaultPlugins.test.js.map
packages/tools/checkLibPaths.d.ts
packages/tools/checkLibPaths.js
packages/tools/checkLibPaths.js.map
@@ -2070,18 +2310,33 @@ packages/tools/update-readme-sponsors.js.map
packages/tools/updateMarkdownDoc.d.ts
packages/tools/updateMarkdownDoc.js
packages/tools/updateMarkdownDoc.js.map
packages/tools/utils/translation.d.ts
packages/tools/utils/translation.js
packages/tools/utils/translation.js.map
packages/tools/website/build.d.ts
packages/tools/website/build.js
packages/tools/website/build.js.map
packages/tools/website/buildTranslations.d.ts
packages/tools/website/buildTranslations.js
packages/tools/website/buildTranslations.js.map
packages/tools/website/updateDownloadPage.d.ts
packages/tools/website/updateDownloadPage.js
packages/tools/website/updateDownloadPage.js.map
packages/tools/website/updateNews.d.ts
packages/tools/website/updateNews.js
packages/tools/website/updateNews.js.map
packages/tools/website/utils/applyTranslations.d.ts
packages/tools/website/utils/applyTranslations.js
packages/tools/website/utils/applyTranslations.js.map
packages/tools/website/utils/applyTranslations.test.d.ts
packages/tools/website/utils/applyTranslations.test.js
packages/tools/website/utils/applyTranslations.test.js.map
packages/tools/website/utils/frontMatter.d.ts
packages/tools/website/utils/frontMatter.js
packages/tools/website/utils/frontMatter.js.map
packages/tools/website/utils/news.d.ts
packages/tools/website/utils/news.js
packages/tools/website/utils/news.js.map
packages/tools/website/utils/openGraph.d.ts
packages/tools/website/utils/openGraph.js
packages/tools/website/utils/openGraph.js.map
@@ -2094,6 +2349,9 @@ packages/tools/website/utils/parser.js.map
packages/tools/website/utils/pressCarousel.d.ts
packages/tools/website/utils/pressCarousel.js
packages/tools/website/utils/pressCarousel.js.map
packages/tools/website/utils/processTranslations.d.ts
packages/tools/website/utils/processTranslations.js
packages/tools/website/utils/processTranslations.js.map
packages/tools/website/utils/render.d.ts
packages/tools/website/utils/render.js
packages/tools/website/utils/render.js.map
@@ -2101,3 +2359,6 @@ packages/tools/website/utils/types.d.ts
packages/tools/website/utils/types.js
packages/tools/website/utils/types.js.map
# AUTO-GENERATED - EXCLUDED TYPESCRIPT BUILD
packages/app-mobile/components/get-responsive-value.test.js
packages/app-mobile/components/get-responsive-value.test.js
packages/app-mobile/components/get-responsive-value.test.js

View File

@@ -0,0 +1,2 @@
packages/app-clipper/popup/
packages/app-cli/tests/support/plugins/

View File

@@ -0,0 +1,22 @@
{
"rules": {
"prefer-absolute-version-dependencies": ["error",
{
"exceptions": [
"@joplin/lib",
"@joplin/renderer",
"@joplin/pdf-viewer",
"@joplin/fork-htmlparser2",
"@joplin/fork-sax",
"@joplin/fork-uslug",
"@joplin/htmlpack",
"@joplin/turndown",
"@joplin/turndown-plugin-gfm",
"@joplin/tools",
"@joplin/react-native-saf-x"
]
}
]
}
}

File diff suppressed because one or more lines are too long

823
.yarn/releases/yarn-3.3.1.cjs vendored Executable file

File diff suppressed because one or more lines are too long

View File

@@ -6,4 +6,21 @@ plugins:
- path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs
spec: "@yarnpkg/plugin-workspace-tools"
yarnPath: .yarn/releases/yarn-3.1.1.cjs
yarnPath: .yarn/releases/yarn-3.3.1.cjs
logFilters:
# Disable useless non-actionable warnings.
# https://github.com/yarnpkg/yarn/issues/4064
# eg "@joplin/app-desktop@workspace:packages/app-desktop provides react (p87edd) with version 18.2.0, which doesn't satisfy what @testing-library/react-hooks and some of its descendants request"
- code: YN0060
level: discard
# eg "@joplin/app-desktop@workspace:packages/app-desktop doesn't provide react-is (p570cf), requested by styled-components"
- code: YN0002
level: discard
# eg "string.prototype.matchall@npm:4.0.8 can't be found in the cache and will be fetched from the remote registry"
- code: YN0013
level: discard

2
Assets/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
*~
WebsiteAssets/locales/*.mo

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 697 B

After

Width:  |  Height:  |  Size: 828 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

@@ -10,9 +10,9 @@
"license": "ISC",
"devDependencies": {
"@ephox/oxide-icons-tools": "^2.1.1",
"gulp": "^4.0.2",
"gulp": "4.0.2",
"gulp-clean": "^0.4.0",
"prompts": "^2.2.1"
},
"iconPackName": "Joplin"
}
}

View File

@@ -9,11 +9,13 @@ import PluginManager from 'tinymce/core/api/PluginManager';
import * as Api from './api/Api';
import * as Commands from './api/Commands';
import * as Keyboard from './core/Keyboard';
import * as Mouse from './core/Mouse'
import * as Buttons from './ui/Buttons';
export default function () {
PluginManager.add('joplinLists', function (editor) {
Keyboard.setup(editor);
Mouse.setup(editor);
Buttons.register(editor);
Commands.register(editor);

View File

@@ -0,0 +1,26 @@
import { isJoplinChecklistItem } from '../listModel/JoplinListUtil';
const setup = function (editor) {
const editorClickHandler = (event) => {
if (!isJoplinChecklistItem(event.target)) return;
// We only process the click if it's within the checkbox itself (and not the label).
// That checkbox, based on
// the current styling is in the negative margin, so offsetX is negative when clicking
// on the checkbox itself, and positive when clicking on the label. This is strongly
// dependent on how the checkbox is styled, so if the style is changed, this might need
// to be updated too.
// For the styling, see:
// packages/renderer/MdToHtml/rules/checkbox.ts
//
// The previous solution was to use "pointer-event: none", which mostly work, however
// it means that links are no longer clickable when they are within the checkbox label.
if (event.offsetX >= 0) return;
editor.execCommand('ToggleJoplinChecklistItem', false, { element: event.target });
}
editor.on('click', editorClickHandler);
};
export { setup };

View File

@@ -10,7 +10,7 @@ import * as Settings from '../api/Settings';
import * as NodeType from '../core/NodeType';
import Editor from 'tinymce/core/api/Editor';
import { isCustomList } from '../core/Util';
import { findContainerListTypeFromEvent, isJoplinChecklistItem } from '../listModel/JoplinListUtil';
import { findContainerListTypeFromEvent } from '../listModel/JoplinListUtil';
const findIndex = function (list, predicate) {
for (let index = 0; index < list.length; index++) {
@@ -38,37 +38,11 @@ const listState = function (editor: Editor, listName, options:any = {}) {
buttonApi.setActive(listType === options.listType && lists.length > 0 && lists[0].nodeName === listName && !isCustomList(lists[0]));
};
const editorClickHandler = (event) => {
if (!isJoplinChecklistItem(event.target)) return;
// We only process the click if it's within the checkbox itself (and not the label).
// That checkbox, based on
// the current styling is in the negative margin, so offsetX is negative when clicking
// on the checkbox itself, and positive when clicking on the label. This is strongly
// dependent on how the checkbox is styled, so if the style is changed, this might need
// to be updated too.
// For the styling, see:
// packages/renderer/MdToHtml/rules/checkbox.ts
//
// The previous solution was to use "pointer-event: none", which mostly work, however
// it means that links are no longer clickable when they are within the checkbox label.
if (event.offsetX >= 0) return;
editor.execCommand('ToggleJoplinChecklistItem', false, { element: event.target });
}
if (options.listType === 'joplinChecklist') {
editor.on('click', editorClickHandler);
}
editor.on('NodeChange', nodeChangeHandler);
return () => {
if (options.listType === 'joplinChecklist') {
editor.off('click', editorClickHandler);
}
editor.off('NodeChange', nodeChangeHandler);
}
}
};
};

View File

@@ -399,12 +399,12 @@ div.navbar-mobile-content a.sponsor-button {
margin: auto;
}
#top-section-img {
.top-section-img {
margin-bottom: -280px;
margin-top: 40px;
}
#top-section-img img {
.top-section-img img {
width: 100%;
}
@@ -910,7 +910,7 @@ footer .bottom-links-row p {
padding-top: 80px;
}
#top-section-img {
.top-section-img {
margin-bottom: -90px;
margin-top: 50px;
}
@@ -954,6 +954,10 @@ footer .bottom-links-row p {
display: none;
}
#nav-section a {
margin-left: 4px;
}
}
/*****************************************************************
@@ -1154,7 +1158,7 @@ footer .bottom-links-row p {
background-position: bottom;
padding-bottom: 160px;
}
#top-section-img {
.top-section-img {
margin-bottom: -240px;
margin-top: 130px;
}
@@ -1182,3 +1186,29 @@ footer .bottom-links-row p {
margin-top: -15p;
}
}
/*****************************************************************
ENGLISH VERSION
*****************************************************************/
:lang(en-gb) #made-in-france-section {
display: none;
}
:lang(en-gb) .top-section-img-cn {
display: none;
}
/*****************************************************************
CHINESE VERSION
*****************************************************************/
:lang(zh-cn) #in-the-press-section,
:lang(zh-cn) #sponsors-section,
:lang(zh-cn) .top-section-img-en {
display: none;
}
:lang(zh-cn) #plans-section .faq {
display: none;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 582 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -0,0 +1,28 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr_FR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0.1\n"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:63
msgid "Download the app"
msgstr "Télécharger l'application"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:54
msgid "Free your <span class=\"frame-bg frame-bg-blue\">notes</span>"
msgstr "Libérez vos <span class=\"frame-bg frame-bg-blue\">notes</span>"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:57
msgid "Joplin is an open source note-taking app. Capture your thoughts and securely access them from any device."
msgstr "Joplin est une application libre de prise de notes. Capturez vos pensées et accédez-y de façon sécurisé depuis n'importe quel appareil."
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:65
msgid "Sign up with Joplin Cloud"
msgstr "S'inscrire sur Joplin Cloud"

View File

@@ -0,0 +1,202 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0.1\n"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/partials/plan.mustache:13
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/partials/plan.mustache:9
msgid "/month"
msgstr "/月"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/partials/plan.mustache:19
msgid "/year"
msgstr "/年"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/plans.mustache:8
msgid ""
"<a href=\"https://joplincloud.com\">Joplin Cloud</a> allows you to "
"synchronise your notes across devices. It also lets you publish notes, and "
"collaborate on notebooks with your friends, family or colleagues."
msgstr ""
"<a href=\"https://joplincloud.com\">Joplin Cloud</a> 允许您在不同的设备上同步"
"您的笔记。它还可以让您发布笔记,并与您的朋友、家人或同事在笔记本上进行协作。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:205
msgid "<span class=\"frame-bg frame-bg-yellow-lg\">Customise</span> it"
msgstr "<span class=\"frame-bg frame-bg-yellow-lg\">定制</span>它 根据您的需要"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:104
msgid "<span class=\"frame-bg frame-bg-yellow\">Multimedia</span> notes"
msgstr "<span class=\"frame-bg frame-bg-yellow\">多媒体</span>说明"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:256
msgid "100% <span class=\"frame-bg frame-bg-yellow-lg\">your data</span>"
msgstr "百分之百<span class=\"frame-bg frame-bg-yellow-lg\">你的数据</span>"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:298
msgid "A <span class=\"frame-bg frame-bg-yellow-lg\">French</span> Alternative"
msgstr "一个<span class=\"frame-bg frame-bg-yellow-lg\">法国</span>的替代方案"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:236
msgid ""
"Access your notes from your computer, phone or tablet by synchronising with "
"various services, including Joplin Cloud, Dropbox and OneDrive. The app is "
"available on Windows, macOS, Linux, Android and iOS. A terminal app is also "
"available!"
msgstr ""
"通过与各种服务同步,包括Joplin Cloud、Dropbox和OneDrive,从你的电脑、手机或平"
"板电脑访问你的笔记。该应用程序可在Windows、macOS、Linux、Android和iOS上使用。"
"终端应用也可使用!"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/plans.mustache:49
msgid ""
"Already have a Joplin Cloud account? <a href=\"https://joplincloud.com"
"\">Login now</a>"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:208
msgid ""
"Customise the app with plugins, custom themes and multiple text editors "
"(Rich Text or Markdown). Or create your own scripts and plugins using the "
"Extension API."
msgstr ""
"用插件、自定义主题和多个文本编辑器(富文本或马克顿)来定制该应用程序。或者使"
"用扩展API创建你自己的脚本和插件。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:242
msgid "Download it now"
msgstr "下载该应用程序"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:112
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:63
msgid "Download the app"
msgstr "下载该应用程序"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:213
msgid "Find out more"
msgstr "了解更多"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:54
msgid "Free your <span class=\"frame-bg frame-bg-blue\">notes</span>"
msgstr "释放你的<span class=\"frame-bg frame-bg-blue\">笔记</span>"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:175
msgid "Get the clipper"
msgstr "获取剪子"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:107
msgid ""
"Images, videos, PDFs and audio files are supported. Create math expressions "
"and diagrams directly from the app. Take photos with the mobile app and save "
"them to a note."
msgstr ""
"Joplin,由于其起源和设计,适应并尊重中国的标准和规则。这保证了您的使用不受限"
"制,以及您的使用数据的完全透明和安全。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:327
msgid "In the <span class=\"frame-bg frame-bg-yellow\">Press</span>"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/plans.mustache:5
msgid "Joplin Cloud <span class=\"frame-bg frame-bg-yellow\">plans</span>"
msgstr "乔普林云<span class=\"frame-bg frame-bg-yellow\">计划</span>"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:301
msgid ""
"Joplin Cloud is based in France. This means your data is protected by strict "
"European Union privacy laws. In addition, Joplin Cloud implements strong end-"
"to-end encryption so that not even us can have access to your data."
msgstr ""
"Joplin Cloud 位于法国。 这意味着您的数据受到严格的欧盟隐私法的保护。 此外,"
"Joplin Cloud 实施了强大的端到端加密,因此即使是我们也无法访问您的数据。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:57
msgid ""
"Joplin is an open source note-taking app. Capture your thoughts and securely "
"access them from any device."
msgstr ""
"Joplin是一个开源的记事本应用程序。捕捉你的想法并从任何设备上安全地访问它们。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:262
msgid "More about E2EE"
msgstr "关于E2EE的更多信息"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:391
msgid "Our <span class=\"frame-bg frame-bg-blue-lg\">sponsors</span>"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/plans.mustache:23
msgid "Pay Monthly"
msgstr "月度"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/plans.mustache:30
msgid "Pay Yearly"
msgstr "每年一次"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:167
msgid ""
"Save <span class=\"frame-bg frame-bg-blue\">web pages</span> <br>as notes"
msgstr "保存<span class=\"frame-bg frame-bg-blue\">网页</span> <br>作为笔记"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:65
msgid "Sign up with Joplin Cloud"
msgstr "与乔布林云签约"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:394
msgid "Thank you for your support!"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:257
msgid ""
"The app is open source and your notes are saved to an open format, so you'll "
"always have access to them. Uses End-To-End Encryption (E2EE) to secure your "
"notes and ensure no-one but yourself can access them."
msgstr ""
"该应用程序是开源的,你的笔记被保存为开放的格式,所以你将永远可以访问它们。使"
"用端对端加密(E2EE)来保护你的笔记,确保除了你自己之外没有人可以访问它们。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:144
msgid "Try it now"
msgstr "现在就试试吧"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:170
msgid ""
"Use the web clipper extension, available on Chrome and Firefox, to save web "
"pages or take screenshots as notes."
msgstr "使用Chrome和Firefox上的web clipper扩展,可以保存网页或截图作为笔记。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:138
msgid ""
"With Joplin Cloud, share your notes with your friends, family or colleagues "
"and collaborate on them."
msgstr "通过乔普林云,与你的朋友、家人或同事分享你的笔记,并进行合作。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:137
msgid "Work <span class=\"frame-bg frame-bg-yellow\">together</span>"
msgstr "<span class=\"frame-bg frame-bg-yellow\">一起</span>工作"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:141
msgid ""
"You can also publish a note to the internet and share the URL with others."
msgstr "您还可以将笔记发布到 Internet 并与其他人共享 URL。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:233
msgid ""
"Your notes, <span class=\"frame-bg frame-bg-blue-lg\">everywhere</span> you "
"are"
msgstr ""
"你的笔记<span class=\"frame-bg frame-bg-blue-lg\">你在哪里都可以</span>"
#~ msgid ""
#~ "Joplin, due to its origin and design, adapts and respects Chinese "
#~ "standards and rules. This guarantees your unrestricted use and complete "
#~ "transparency and security of your usage data."
#~ msgstr ""
#~ "Joplin,由于其起源和设计,适应并尊重中国的标准和规则。这保证了您的使用不受"
#~ "限制,以及您的使用数据的完全透明和安全。"

View File

@@ -0,0 +1,296 @@
<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Joplin]]></title><description><![CDATA[Joplin, the open source note-taking application]]></description><link>https://joplinapp.org</link><generator>RSS for Node</generator><lastBuildDate>Wed, 21 Dec 2022 00:00:00 GMT</lastBuildDate><atom:link href="https://joplinapp.org/rss.xml" rel="self" type="application/rss+xml"/><pubDate>Wed, 21 Dec 2022 00:00:00 GMT</pubDate><item><title><![CDATA[Joplin is switching to the GNU Affero General Public License v3 (AGPL-3.0)]]></title><description><![CDATA[<p>As was <a href="https://discourse.joplinapp.org/t/rfc-switch-to-agpl-license-for-joplin-server/16529">discussed last year</a>, Joplin is switching to the GNU Affero General Public License v3 (AGPL-3.0) for the desktop, mobile and CLI applications, as well as the web clipper.</p>
<p>Any open source or commercial fork of Joplin will have to license any changes they make under AGPL, and share these changes back with the community. This is the main reason we switch to this license. It allows us to continue releasing the project as open source while ensuring that those who benefit commercially (or not) from it share back their changes.</p>
<h2>What is the GPL license?<a name="what-is-the-gpl-license" href="#what-is-the-gpl-license" class="heading-anchor">🔗</a></h2>
<p>The AGPL license is based on the GPL license. This is what tldr;Legal has to say about the GPL license:</p>
<blockquote>
<p>You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build &amp; install instructions. (<a href="https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3)">source</a>)</p>
</blockquote>
<h2>What is the AGPL license?<a name="what-is-the-agpl-license" href="#what-is-the-agpl-license" class="heading-anchor">🔗</a></h2>
<p>This is the license we'll use for Joplin from now on:</p>
<blockquote>
<p>The AGPL license differs from the other GNU licenses in that it was built for network software. You can distribute modified versions if you keep track of the changes and the date you made them. As per usual with GNU licenses, you must license derivatives under AGPL. It provides the same restrictions and freedoms as the GPLv3 but with an additional clause which makes it so that source code must be distributed along with web publication. Since web sites and services are never distributed in the traditional sense, the AGPL is the GPL of the web. (<a href="https://tldrlegal.com/license/gnu-affero-general-public-license-v3-(agpl-3.0)">source</a>)</p>
</blockquote>
<h2>What does it change for users?<a name="what-does-it-change-for-users" href="#what-does-it-change-for-users" class="heading-anchor">🔗</a></h2>
<p>There is no changes for users of Joplin - the apps remain open sources and you can still use them freely.</p>
<h2>What does it change for developers?<a name="what-does-it-change-for-developers" href="#what-does-it-change-for-developers" class="heading-anchor">🔗</a></h2>
<p>Any code you develop for Joplin will also remain open source. The only difference is that we'll ask to sign an Individual Contributor License Agreement (CLA) to ensure that the copyright of the entire codebase remains with the Joplin organisation. This is necessary so that if we ever want to change the license again we are able to do so without having to get the agreement of each individual contributor afterwards (which would be nearly impossible).</p>
<p>This is a bit of an extra constraint but it is hard to avoid. Contributor License Agreements are very common for GPL or AGPL projects. For example Apache, Canonical or Python all require their contributors to sign a CLA.</p>
<h2>Questions?<a name="questions" href="#questions" class="heading-anchor">🔗</a></h2>
<p>If you have any questions please let us know. Overall we believe this is a positive improvements for Joplin as it means any work derives from it will also benefit the project.</p>
]]></description><link>https://joplinapp.org/news/20221221-agpl/</link><guid isPermaLink="false">20221221-agpl</guid><pubDate>Wed, 21 Dec 2022 00:00:00 GMT</pubDate><twitter-text>Joplin is switching to the GNU Affero General Public License v3 (AGPL-3.0)</twitter-text></item><item><title><![CDATA[What's new in Joplin 2.9]]></title><description><![CDATA[<h2>Proxy support<a name="proxy-support" href="#proxy-support" class="heading-anchor">🔗</a></h2>
<p>Both the desktop and mobile application now support proxies thanks to the work of Jason Williams. This will allow you to use the apps in particular when you are behind a company proxy.</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20221216-proxy-support.png" alt=""></p>
<h2>New PDF viewer<a name="new-pdf-viewer" href="#new-pdf-viewer" class="heading-anchor">🔗</a></h2>
<p>The desktop application now features a new PDF viewer thanks to the work of Asrient during GSoC.</p>
<p>The main advantage for now is that this viewer preserves the last PDF page that was read. In the next version, the viewer will also include a way to annotate PDF files.</p>
<h2>Multi-language spell checking<a name="multi-language-spell-checking" href="#multi-language-spell-checking" class="heading-anchor">🔗</a></h2>
<p>The desktop app include a multi-language spell checking features, which allows you, for example, to spell-check notes in your native language and in English.</p>
<h2>New mobile text editor<a name="new-mobile-text-editor" href="#new-mobile-text-editor" class="heading-anchor">🔗</a></h2>
<p>Writing formatted notes on mobile has always been cumbersome due to the need to enter special format characters like <code>*</code> or <code>[</code>, etc.</p>
<p>Thanks to the work of Henry Heino during GSoC, writing notes on the go is now easier thanks to an improved Markdown editor.</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20221216-mobile-beta-editor.png" alt=""></p>
<p>The most visible feature is the addition of a toolbar, which helps input those special characters, like on desktop.</p>
<p>Moreover Henry made a lot of subtle but useful improvements to the editor, for example to improve the note appearance, to improve list continuation, etc. Search within a note is now also supported as well as spell-checking.</p>
<p>At a more technical level, Henry also added many test units to ensure that the editor remains robust and reliable.</p>
<p>To enable the feature, go to the configuration screen and selected &quot;Opt-in to the editor beta&quot;. It is already very stable so we will probably promote it to be the main editor from the next version.</p>
<h2>Improved alignment of notebook icons<a name="improved-alignment-of-notebook-icons" href="#improved-alignment-of-notebook-icons" class="heading-anchor">🔗</a></h2>
<p>Previously, when you would assign an icon to a notebook, it would shift the title to the right, but notebook without an icon would not. It means that notebooks with and without an icon would not be vertically aligned.</p>
<p>To tidy things up, this new version adds a default icons to notebooks without an explicitly assigned icon. This result in the notebook titles being correctly vertically aligned.</p>
<p>Note that this feature is only enabled if you use custom icons - otherwise it will simply display the notebook titles without any default icons, as before.</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20221216-notebook-icons.png" alt=""></p>
<h2>Improved handling of file attachments<a name="improved-handling-of-file-attachments" href="#improved-handling-of-file-attachments" class="heading-anchor">🔗</a></h2>
<p>Self Not Found made a number of small but useful improvements to attachment handling, including increasing the maximum size to 200MB, adding support for attaching multiple files, and fixing issues with synchronising attachments via proxy.</p>
<h2>Fixed filesystem sync on mobile<a name="fixed-filesystem-sync-on-mobile" href="#fixed-filesystem-sync-on-mobile" class="heading-anchor">🔗</a></h2>
<p>This was a long and complex change due to the need to support new Android APIs but hopefully that should now be working again, thanks to the work of jd1378.</p>
<p>So you can now sync again your notes with Syncthing and other file-based synchronisation systems.</p>
<h2>And more...<a name="and-more" href="#and-more" class="heading-anchor">🔗</a></h2>
<p>In total this new desktop version includes 36 improvements, bug fixes, and security fixes.</p>
<p>As always, a lot of work went into the Android and iOS app too, which include 37 improvements, bug fixes, and security fixes.</p>
<p>See here for the changelogs:</p>
<ul>
<li><a href="https://joplinapp.org/changelog/">Desktop app changelog</a></li>
<li><a href="https://joplinapp.org/changelog_android/">Android app changelog</a></li>
</ul>
<h2>About the Android version<a name="about-the-android-version" href="#about-the-android-version" class="heading-anchor">🔗</a></h2>
<p>Unfortunately we cannot publish the Android version because it is based on a framework version that Google does not accept. To upgrade the app a lot of changes are needed and another round of pre-releases, and therefore there will not be a 2.9 version for Google Play. You may however download the official APK directly from there: <a href="https://github.com/laurent22/joplin-android/releases/tag/android-v2.9.8">Android 2.9 Official Release</a></p>
<p>This is the reality of app stores in general - small developers being imposed never ending new requirements by all-powerful companies, and by the time a version is finally ready we can't even publish it because yet more requirements are in place.</p>
<p>For the record the current 2.9 app works perfectly fine. It targets Android 11, which is only 2 years old and is still supported (and installed on millions of phones). Google requires us to target Android 12 which only came out last year.</p>
]]></description><link>https://joplinapp.org/news/20221216-release-2-9/</link><guid isPermaLink="false">20221216-release-2-9</guid><pubDate>Fri, 16 Dec 2022 00:00:00 GMT</pubDate><twitter-text>What&apos;s new in Joplin 2.9</twitter-text></item><item><title><![CDATA[Joplin is hiring!]]></title><description><![CDATA[<p>Joplin is an open source note-taking app. Capture your thoughts and securely access them from any device.</p>
<p>We are looking to hire two JavaScript software developers to work on the desktop, mobile, and server applications. All those are built using modern technologies, including React, React Native and Electron with a strong focus on test units.</p>
<p>You need to demonstrate some experience with at least some of these technologies, and willing to learn more and touch various different projects.</p>
<p>You will be part of a small team, so you will have an opportunity for a high-impact role, targeting hundreds of thousands of users.</p>
<p>If you're interested please contact us at job-AT-joplin.cloud</p>
<p>No agencies please.</p>
]]></description><link>https://joplinapp.org/news/20221209-job/</link><guid isPermaLink="false">20221209-job</guid><pubDate>Fri, 09 Dec 2022 00:00:00 GMT</pubDate><twitter-text>Joplin is hiring!</twitter-text></item><item><title><![CDATA[Modernising and securing Joplin, one package at a time]]></title><description><![CDATA[<p>If you watch the <a href="https://github.com/laurent22/joplin">Joplin source code repository</a>, you may have noticed a lot of Renovate pull requests lately. This <a href="https://www.mend.io/free-developer-tools/renovate/">Renovate tool</a> is a way to manage dependencies - it automatically finds what needs to be updated, then upgrade it to the latest version, and create a pull request. If all tests pass, we can then merge this pull request. So far we have merged 267 of these pull requests.</p>
<p>Updating Joplin packages was long due. It is necessary so that we don't fall behind and end up using unsupported or deprecated packages. We also benefit from bug fixes and performance improvements. It is also important in terms of security, since recent package versions usually include various security fixes.</p>
<p>We used to rely on a tool called &quot;npm audit&quot; to do this, however it no longer works on the Joplin codebase, and it was always risky to use it since it would update multiple packages in one command - so if something went wrong it was difficult to find the culprit.</p>
<p>Renovate on the other hand upgrades packages one at a time, and run our test units to ensure everything is still working as expected. It also upgrades multiple instances of the same package across the monorepo, which is convenient to keep our code consistent. It also has a number of options to make our life easier, such as the ability to automatically merge a pull request for patch releases since this is usually safe (when a package is, for example upgraded from 1.0.1 to 1.0.3).</p>
<p>Although Renovate automates the package upgrades it doesn't mean all upgrades are straightforward - our tests won't catch all issues, so the apps might end up being broken or cannot be compiled anymore. So there's manual work involved to get everything working after certain upgrades - for the most part this has been done and the apps appear to be stable so far.</p>
<p>This will however be an important part of pre-release 2.10 (or should it be 3.0?) - we hope that everything works but we may need your support to try this version and report any glitch you may have found. As always pre-release regressions have the highest priority so we aim to fix them as quickly as possible.</p>
]]></description><link>https://joplinapp.org/news/20221115-renovate/</link><guid isPermaLink="false">20221115-renovate</guid><pubDate>Tue, 15 Nov 2022 00:00:00 GMT</pubDate><twitter-text>Modernising and securing Joplin, one package at a time</twitter-text></item><item><title><![CDATA[Joplin Cloud is now part of the Joplin company]]></title><description><![CDATA[<p>As some of you may know Joplin Cloud so far has been operating under my own single-person limited company in the UK. This was mostly for convenience since it meant I could get things going quickly without having to setup a special structure for it.</p>
<p>Now that Joplin Cloud is becoming more mature however a proper company, simply called Joplin, has been created. This company will be based in France, and will be used mainly to handle the commercial part of the project, which currently is mostly Joplin Cloud. I'm still heading the company so there won't be any major change to the way the project is managed.</p>
<h2>What does it mean for Joplin Cloud?<a name="what-does-it-mean-for-joplin-cloud" href="#what-does-it-mean-for-joplin-cloud" class="heading-anchor">🔗</a></h2>
<p>There will be no significant change - the website ownership simply moves from one company in the UK to one in France. The new company is still owned by myself so I will keep following the same roadmap.</p>
<h2>What does it mean for the open source apps?<a name="what-does-it-mean-for-the-open-source-apps" href="#what-does-it-mean-for-the-open-source-apps" class="heading-anchor">🔗</a></h2>
<p>On the short term, the only visible change will be moving the non-open source assets, such as logo or trademark from the UK company to the French one. So expect a few changes in copyright notices here and there.</p>
<p>In the medium to long term, I would like to hire one or two software developers to help me with the Joplin Cloud development, because we reached a point where managing the whole project is difficult for a single person, so some help is needed. Some of their work might also touch the open source apps since both are quite related - but of course that work will remain open source too.</p>
<p>As a general rule, there will be a permanent commitment to keep the apps open source and to derive value from Joplin Cloud/Server.</p>
<p>Longer term I would like to create a non-profit organisation to handle the open source applications and to make decisions about the project, as well as to decide how to allocate any funding we receive (for example from GSoC).</p>
<h2>Looking forward<a name="looking-forward" href="#looking-forward" class="heading-anchor">🔗</a></h2>
<p>Those past 6 years of developing Joplin have been an exciting and rewarding experience, thank you to all of you of the friendly and vibrant Joplin community for your contribution toward making Joplin the software it is today, and looking forward to continuing the journey together!</p>
]]></description><link>https://joplinapp.org/news/20221012-Joplin-Company/</link><guid isPermaLink="false">20221012-Joplin-Company</guid><pubDate>Wed, 12 Oct 2022 00:00:00 GMT</pubDate><twitter-text>Joplin Cloud is now operated by the Joplin company! More info on the announcement post.</twitter-text></item><item><title><![CDATA[Joplin interview on Website Planet]]></title><description><![CDATA[<p>Website Planet has recently conducted an interview about Joplin - it may give you some insight on the current status of the project, our priorities, and future plans! More on the article page - <a href="https://www.websiteplanet.com/blog/interview-joplin/">Organise Your Thoughts with Open Source Note-Taking App, Joplin</a></p>
]]></description><link>https://joplinapp.org/news/20220906-interview-websiteplanet/</link><guid isPermaLink="false">20220906-interview-websiteplanet</guid><pubDate>Tue, 06 Sep 2022 00:00:00 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[Joplin first meetup on 30 August!]]></title><description><![CDATA[<p>We are glad to announce <a href="https://www.meetup.com/joplin/events/287611873/">the first Joplin Meetup</a> that will take place on 30 August 2022 in London!</p>
<p>This is an opportunity to meet other Joplin users as well as some of the main contributors, to discuss the apps, or to ask questions and exchange tips and tricks on how to use the app, develop plugins or contribute to the application. Everybody, technical or not, is welcome!</p>
<p>We will meet at the Old Thameside Inn next to London Bridge. If the weather allows we will be on the terrace outside, if not inside.</p>
<p>More information on the official Meetup page:</p>
<p><a href="https://www.meetup.com/joplin/events/287611873/">https://www.meetup.com/joplin/events/287611873/</a></p>
]]></description><link>https://joplinapp.org/news/20220808-first-meetup/</link><guid isPermaLink="false">20220808-first-meetup</guid><pubDate>Mon, 08 Aug 2022 00:00:00 GMT</pubDate><twitter-text>Joplin will have its first Meetup on 30 August! Come and join us at the Old Thameside Inn next to London Bridge! https://www.meetup.com/joplin/events/287611873/</twitter-text></item><item><title><![CDATA[Joplin 2.8 is available!]]></title><description><![CDATA[<p>As always a lot of changes and new features in this new version available on both desktop and mobile.</p>
<h1>Multiple profile support<a name="multiple-profile-support" href="#multiple-profile-support" class="heading-anchor">🔗</a></h1>
<p>Perhaps the most visible change in this version is the support for multiple profiles. You can now create as many application profile as you wish, each with their own settings, and easily switch from one to another. The main use case is to support for example a &quot;work&quot; profile and a &quot;personal&quot; profile, to allow you to keep things independent, and each profile can sync with a different sync target.</p>
<p>To create a new profile, open <strong>File &gt; Switch profile</strong> and select <strong>Create new profile</strong>, enter the profile name and press OK. The app will automatically switch to this new profile, which you can now configure.</p>
<p>To switch back to the previous profile, again open <strong>File &gt; Switch profile</strong> and select <strong>Default</strong>.</p>
<p>Note that profiles all share certain settings, such as language, font size, theme, etc. This is done so that you don't have reconfigure every details when switching profiles. Other settings such as sync configuration is per profile.</p>
<p>The feature is available on desktop only for now, and should be ported to mobile relatively soon.</p>
<h1>Save Mermaid graph as PNG/SVG<a name="save-mermaid-graph-as-png-svg" href="#save-mermaid-graph-as-png-svg" class="heading-anchor">🔗</a></h1>
<p>This convenient feature allows exporting a Mermaid graph as a PNG or SVG image, or allows copying the image as a DataUrl, which can then be pasted in any compatible text editor. Thanks Asrient for implementing this!</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20220606-mermaid-as-png.png" alt=""></p>
<h1>Publish a mini-website using Joplin Cloud<a name="publish-a-mini-website-using-joplin-cloud" href="#publish-a-mini-website-using-joplin-cloud" class="heading-anchor">🔗</a></h1>
<p>Joplin Cloud now supports publishing a note &quot;recursively&quot;, which means the notes and all the notes it is linked to. This allows easily publishing a simple website made of multiples and images.</p>
<p>To make use of this feature, simply select <strong>Also publish linked notes</strong> when publishing a note.</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20220606-publish-website.png" alt=""></p>
<h1>And more!<a name="and-more" href="#and-more" class="heading-anchor">🔗</a></h1>
<p>In total there are 38 changes to improve the app reliability, security and usability. Full changelog is at <a href="https://joplinapp.org/changelog/">https://joplinapp.org/changelog/</a></p>
]]></description><link>https://joplinapp.org/news/20220606-release-2-8/</link><guid isPermaLink="false">20220606-release-2-8</guid><pubDate>Mon, 06 Jun 2022 00:00:00 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[Joplin received 6 Contributor Projects for GSoC 2022!]]></title><description><![CDATA[<p>We are glad to announce that Google allocated us six projects this year for Google Summer of Code! So this is six contributors who will be working on various parts of the apps, both desktop and mobile, over the summer.</p>
<p>Over the next few weeks, till 13 June, will be the Community Bonding Period during which GSoC contributors get to know mentors, read documentation, and get up to speed to begin working on their projects.</p>
<p>Here's the full list of projects, contributors and mentors.</p>
<table class="table">
<thead>
<tr>
<th>Project Title</th>
<th>Contributor</th>
<th>Assigned Mentor(s)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Improve PDF previewer of Joplin</td>
<td>asrient</td>
<td>Roman, JackGruber</td>
</tr>
<tr>
<td>Implement default plugins on desktop application</td>
<td>mak2002</td>
<td>CalebJohn, Laurent</td>
</tr>
<tr>
<td>Mobile — Easier Editing</td>
<td>Henry H</td>
<td>Daeraxa, CalebJohn</td>
</tr>
<tr>
<td>Improve plugin search and discoverability</td>
<td>Retr0ve</td>
<td>JackGruber, Stefan</td>
</tr>
<tr>
<td>Tablet Layout Project</td>
<td>Tolu-Mals</td>
<td>Laurent, Daeraxa</td>
</tr>
<tr>
<td>Email Plugin</td>
<td>Bishoy Magdy Adeeb</td>
<td>Stefan, Roman</td>
</tr>
</tbody>
</table>
]]></description><link>https://joplinapp.org/news/20220522-gsoc-contributors/</link><guid isPermaLink="false">20220522-gsoc-contributors</guid><pubDate>Sun, 22 May 2022 00:00:00 GMT</pubDate><twitter-text>Joplin received 6 Contributor Projects for GSoC 2022! Welcome to our new contributors who will be working on these projects over summer! #GSoC2022</twitter-text></item><item><title><![CDATA[GSoC "Contributor Proposals" phase is starting now!]]></title><description><![CDATA[<p>The &quot;Contributor Proposals&quot; phase of GSoC 2022 is starting today! If you would like to be a contributor, now is the time to choose your project idea, write your proposal, and upload it to <a href="https://summerofcode.withgoogle.com/">https://summerofcode.withgoogle.com/</a></p>
<p>When it's done, please also let us know by posting an update on your forum introduction post.</p>
<p>If you haven't created a pull request yet, it's still time to create one. Doing so will greatly increase your chances of being selected!</p>
]]></description><link>https://joplinapp.org/news/20220405-gsoc-contributor-proposals/</link><guid isPermaLink="false">20220405-gsoc-contributor-proposals</guid><pubDate>Tue, 05 Apr 2022 00:00:00 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[Joplin participates in Google Summer of Code 2022!]]></title><description><![CDATA[<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20220308-gsoc-banner.png" alt=""></p>
<p>For the third year, Joplin has been selected as a <strong>Google Summer of Code</strong> mentor organisation! We look forward to start working with the contributors on some great new projects. This year's main themes are:</p>
<ul>
<li><strong>Mobile and tablet development</strong> - we want to improve the mobile/tablet application on iOS and Android.</li>
<li><strong>Plugin and external apps</strong> - leverage the Joplin API to create plugins and external apps.</li>
<li>And of course contributors are welcome to suggest their own ideas.</li>
</ul>
<p>Our full idea list is available here: <a href="https://joplinapp.org/gsoc2022/ideas/">GSoC 2022 idea list</a></p>
<p>In the coming month (<strong>March 7 - April 3</strong>), contributors will start getting involved in the forum and start discussing project ideas with the mentors and community. It's also a good time to start looking at Joplin's source code, perhaps work on fixing bugs or implement small features to get familiar with the source code, and to show us your skills.</p>
<p>One difference with previous years is that anyone, not just students, are allowed to participate.</p>
<p>Additionally, last year Google only allowed smaller projects, while this year they allow again small and large projects, so we've indicated this in the idea list - the small ones are <strong>175 hours</strong>, and the large ones <strong>350 hours</strong>.</p>
]]></description><link>https://joplinapp.org/news/20220308-gsoc2022-start/</link><guid isPermaLink="false">20220308-gsoc2022-start</guid><pubDate>Tue, 08 Mar 2022 00:00:00 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[Joplin 2.7 is available!]]></title><description><![CDATA[<p>This new release is largely focused on bug fixing and optimising various parts of the apps. There's about 26 improvements and 25 bugs and security fixes included - as always many of these apply to both the mobile and desktop app (see the <a href="https://joplinapp.org/changelog/">desktop changelog</a> and <a href="https://joplinapp.org/changelog_android/">mobile changelog</a>).</p>
<p>Many thanks to all the contributors who helped create this release!</p>
<p>Below are some of the more noticeable changes:</p>
<h1>Notebook custom icons<a name="notebook-custom-icons" href="#notebook-custom-icons" class="heading-anchor">🔗</a></h1>
<p>Since version 2.6 it was possible to assign an emoji icon to a notebook, and with this new version it's now possible to assign any custom icon. The icon may be a PNG or JPG file of any size. The app will then import the file and resize it to the correct size. To use a custom icon, follow these steps:</p>
<p>Right-click on a notebook, and select &quot;Edit&quot;:</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20220224-edit-notebook.png" alt=""></p>
<p>In the &quot;Edit notebook&quot; dialog, click &quot;Select file...&quot; and browse to your icon image:</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20220224-edit-dialog.png" alt=""></p>
<p>Click &quot;OK&quot; and the icon will now appear next to the notebook:</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20220224-notebook-icon.png" alt=""></p>
<p>The icon can be changed only from the desktop application at the moment, but it will sync and be displayed correctly on the mobile app too.</p>
<h1>Plugin API improvements<a name="plugin-api-improvements" href="#plugin-api-improvements" class="heading-anchor">🔗</a></h1>
<p>This version also includes a number of improvements to the plugin API, in particular it is now easier to customise the editor context menu from a plugin and dynamically add items to it depending on the context. For example, with the Rich Markdown plugin it will be possible to right-click on an image and open it, or copy it to the clipboard.</p>
<p>A few additional functions have also been added to make plugin development simpler - in particular a command to open any item, whether it's a notebook, note, tag or attachement; and functions to work with attachements, in particular to reveal an attachement in the system file explorer, and to track changes to an attachement.</p>
]]></description><link>https://joplinapp.org/news/20220224-release-2-7/</link><guid isPermaLink="false">20220224-release-2-7</guid><pubDate>Thu, 24 Feb 2022 00:00:00 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[Automatic deletion of disabled accounts on Joplin Cloud]]></title><description><![CDATA[<p>As of 15 Feb 2022, disabled accounts on Joplin Cloud will be automatically deleted after 90 days. A disabled account is one where the Stripe subscription has been cancelled either by the user or automatically (eg for unpaid invoices).</p>
<p>Although it is an automated system, I will manually verify each account that's queued for deletion over the next few days for additional safety (for now everything's working as expected).</p>
<p>When an account is queued for deletion, all notes, notebooks, tags, etc are removed from the system within 2 days, and permanently deleted within 7 days. User information, in particular email and full name will be removed from the system within 2 days, but archived for an additional 90 days for legal reasons, after which they will be deleted too.</p>
]]></description><link>https://joplinapp.org/news/20220215-142000/</link><guid isPermaLink="false">20220215-142000</guid><pubDate>Tue, 15 Feb 2022 00:00:00 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[Joplin 2.6 is available!]]></title><description><![CDATA[<p>Many changes in this new release, available on mobile, desktop and CLI:</p>
<p><strong>Per-notebook sort order and sort buttons</strong></p>
<p>This new feature adds a number of changes to the way notes are sorted. The most visible one is the addition of a sort button above the note list - it allows sorting by modification date, creation date, title or by custom order, in either ascending or descending order:</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20211217-120324_0.png" alt=""></p>
<p>By default, this sort order is going to apply to all notebooks, however you can now also assign a per-notebook sort order. In this case, any sort order will be apply to that notebook only. To enable this behaviour, simply right-click on a notebook and select &quot;Toggle own sort order&quot;:</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20211217-120324_1.png" alt=""></p>
<p>Thanks to Kenichi Kobayashi for developing this feature!</p>
<p><strong>Support for notebook icons</strong></p>
<p>It is now possible to associate icons with notebooks no both the desktop and mobile applications. To do so, right-click on a notebook and selected &quot;Edit&quot;.</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20211217-120324_2.png" alt=""></p>
<p>This will open the new notebook dialog from which can change the title and assign an icon. For now the icons are emojis but perhaps custom icons could be supported later on.</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20211217-120324_3.png" alt=""></p>
<p><strong>Allow collaborating on encrypted notebooks using Joplin Cloud</strong></p>
<p>Thanks to the encryption improvements in the previous Joplin versions it is now possible to share and collaborated on encrypted notebooks, when synchronising with Joplin Cloud (or Joplin Server).</p>
<p>To get this working, you and the recipient will need to have Joplin 2.6 and the person who shares will need to have encryption enabled. After that most of the process is handled automatically by the apps - in particular it will automatically generate and share the required encryption keys for each users.</p>
<p><strong>Improved synchronisation startup speed</strong></p>
<p>Synchronisation is also a bit faster in this release due to an optimisation on the startup process. When syncing, the app needs to acquire a lock, which may be time consuming since it requires making multiple requests. This has now been optimised so that less requests are necessary and also each request consumes less resources. This will have a postive impact on Joplin Cloud in particular, but you should also see improvements with Joplin Server and smaller improvements with the other sync targets.</p>
<p><strong>Improved Markdown editor split view scrolling</strong></p>
<p>Kenichi Kobayashi made some great improvements to the Markdown editor scrolling in this release. The issue before was that the editor on the left and the viewer on the right would often not be in sync, in particular if the note contains several images and other media.</p>
<p>With Kenichi's change the editor and viewer stay nicely in sync, regardless of the note content. In fact it looks a bit like magic when you scroll through large notes - notice in particular how each side appear to wait for the other or speed up in order to make sure both sides are aligned as well possible. Kenichi provides a nice technical documentation about the feature <a href="https://github.com/laurent22/joplin/pull/5512#issuecomment-931277022">here</a>.</p>
<p><a href="https://www.youtube.com/watch?v=Wbs5XZR0oeU">https://www.youtube.com/watch?v=Wbs5XZR0oeU</a></p>
<p><strong>Improved and optimised S3 synchronisation</strong></p>
<p>Thanks to the efforts of Lee Matos, synchronisation with S3 is now more reliable and errors are also better handled. The underlying S3 SDK has also been upgraded from v2 to v3 which results in a smaller executable size (about 3-5 MB depending on the operating system)</p>
<p><strong>Export notes as self-contained HTML files</strong></p>
<p>Exporting a single note as HTML is now more user friendly as all images, scripts, styles and other attachments are all packed into a single HTML file (Previously it would create multiples files and directories). This makes it easier to share the complete note with someone who doesn't have Joplin.</p>
<p><strong>Other changes and bug fixes</strong></p>
<p>This release includes a total of 19 new features and improvements and 16 bug fixes. See the 2.6.x changelogs for more details:</p>
<p><a href="https://joplinapp.org/changelog/">https://joplinapp.org/changelog/</a></p>
<p><a href="https://joplinapp.org/changelog_android/">https://joplinapp.org/changelog_android/</a></p>
<p><a href="https://joplinapp.org/changelog_ios/">https://joplinapp.org/changelog_ios/</a></p>
<p><a href="https://joplinapp.org/changelog_cli/">https://joplinapp.org/changelog_cli/</a></p>
]]></description><link>https://joplinapp.org/news/20211217-120324/</link><guid isPermaLink="false">20211217-120324</guid><pubDate>Fri, 17 Dec 2021 12:03:24 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[Potential breaking change in next Joplin Server update (2.5.10)]]></title><description><![CDATA[<p>Just a head up that the next Joplin Server update could potentially include a breaking change, depending on your data.</p>
<p>One of the database migration is going to add an &quot;owner_id&quot; column to the &quot;items&quot; table (where all notes, notebooks, etc. are stored), and automatically populate it. Normally that shouldn't take too long but you might want to make sure you won't need the server right away when you process this.</p>
<p>The second database migration will add a unique constraint on items.name and items.owner_id and that's where the breaking change might be. Normally this data is already unique because that's enforced by the application but in some rare cases, due a race condition, there could be duplicate data in there. If that happens the migration will fail and the server will not start.</p>
<p>If that happens, you'll need to decide what to do with the data, as it's not possible to automatically decide. You can find all duplicates using this query:</p>
<p><code><strong>select</strong> count(<em>), name, owner_id<br>
<strong>from</strong> items <strong>group</strong> <strong>by</strong> name, owner_id<br>
<strong>having</strong> count(</em>) &gt; 1;</code></p>
<p>Once you have the list of IDs you have a few options:</p>
<ul>
<li>Find the corresponding item in Joplin (it can unfortunately be anything - a note, resource, folder, etc.), then delete it and sync.</li>
<li>Or, just delete the data directly in the database. You'll want to delete the corresponding item_id from the user_items table too.</li>
</ul>
<p>But really in most cases you should be fine. Especially if you don't have that many notes it's unlikely you have duplicates.</p>
]]></description><link>https://joplinapp.org/news/20211102-150403/</link><guid isPermaLink="false">20211102-150403</guid><pubDate>Tue, 02 Nov 2021 15:04:03 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[Joplin v2.5 is available for desktop and mobile!]]></title><description><![CDATA[<p><a href="https://joplinapp.org/download/">Joplin v2.5</a> is now available for desktop, mobile and CLI! Here's an overview of the changes:</p>
<h3>Support for Markdown + Front Matter<a name="support-for-markdown-front-matter" href="#support-for-markdown-front-matter" class="heading-anchor">🔗</a></h3>
<p>Markdown + Front Matter is a format that allows attaching metadata, such as tags, creation date, or geolocation to a Markdown file. This is done by adding a block of YAML code (a &quot;front matter&quot;) at the top of the file.</p>
<p>Thansk to Caleb John's efforts the Joplin desktop and CLI applications now support importing and exporting these files. When exporting, we try to preserve as much metadata as possible, while still keeping it the formatting user friendly.</p>
<p>Here's an example, with the Front Matter at the top, delimited by &quot;---&quot;, and the text below.</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20211031-115215_0.png" alt=""></p>
<p>Markdown + Front Matter is an excellent way to share notes with someone who doesn't have Joplin, to backup notes in a durable format (since no third-party application is needed to read it), and also to export notes to other applications, or to import them.</p>
<p>As with the regular Markdown exporter, the images and attachments are also exported.</p>
<h3>Add support for callback URLs<a name="add-support-for-callback-urls" href="#add-support-for-callback-urls" class="heading-anchor">🔗</a></h3>
<p>Callback URLs is a semi-standard that defines how certain resources in an application can be accessed via URLs. Either to view the resource, or to perform certain actions, such as deletion, creation, etc.</p>
<p>Joplin now support callback URLs to open notes, notebooks and folders. To do so, right click on a note and select &quot;Copy external link&quot;:</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20211031-115215_1.png" alt=""></p>
<p>That would give you a URL such as this:</p>
<blockquote>
<p>joplin://x-callback-url/openNote?id=b7a7b93281f54d928612eea550f33a7f</p>
</blockquote>
<p>Then if you click it from outside the app, the app will open and select this particular note. In practice such a feature allows third-party application to interact with Joplin by creating links that can be opened from outside. For example, you may use a different application for project planning, then link to the individual notes for more details about each task.</p>
<p>Many thanks to Roman Musin for adding the feature!</p>
<h3>Improved end-to-end encryption support<a name="improved-end-to-end-encryption-support" href="#improved-end-to-end-encryption-support" class="heading-anchor">🔗</a></h3>
<p>The series of quiet but major changes to the end-to-end encryption support continue in this new verison. One goal is still to allow sharing notebooks while encryption is enabled.</p>
<p>To that end, v2.5 includes support for RSA public-private key pairs. If you have encryption enabled, they will be automatically generated when you synchronise by the mobile, desktop or CLI applications. Later on, these keys will be used to allow sharing encrypted notebooks.</p>
<p>The second goal of these E2EE changes is to simplify the system enough that it can be enabled by default. To that end, the master password dialog and encryption screen have been improved. An option to reset the master password is now also available.</p>
<h3>Various other improvements and bug fixes<a name="various-other-improvements-and-bug-fixes" href="#various-other-improvements-and-bug-fixes" class="heading-anchor">🔗</a></h3>
<p>In total this release includes about 11 other bug fixes and improvements. There was in particular several improvements to the share features. It is now also possible for a share recipient to leave the shared notebook.</p>
<h3>Mobile app update<a name="mobile-app-update" href="#mobile-app-update" class="heading-anchor">🔗</a></h3>
<p>As always the mobile apps (to be released soon) benefit from several of the above changes since they share the same codebase as the desktop app.</p>
<p>Specific to the mobile version 2.5 are some improvements to the beta editor - in particular the layout has been cleaned up, and the first word of sentences is now automatically capitalised, which makes typing notes easier. If you haven't tried the beta editor yet, you can enable it from the Configuration screen.</p>
<p>The full changelog is available there: <a href="https://joplinapp.org/changelog/">https://joplinapp.org/changelog/</a></p>
]]></description><link>https://joplinapp.org/news/20211031-115215/</link><guid isPermaLink="false">20211031-115215</guid><pubDate>Sun, 31 Oct 2021 11:52:15 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA["Certificate has expired" error with Joplin Cloud, and workaround]]></title><description><![CDATA[<p>Some of you might be experiencing an error &quot;Certificate has expired&quot; when synchronising with Joplin Cloud (and possibly other services) when using the desktop application.</p>
<p>This is due to Let's Encrypt root certificate that expired on 30 September, and the new method they are using is not compatible with the Joplin desktop application.</p>
<p>This actually affects thousands of applications, not just Joplin, so various solutions are being considered right now and hopefully a fix will be available relatively soon.</p>
<p>For now, as a workaround, you can simply check &quot;<strong>Ignore TLS certificate errors</strong>&quot; in <strong>Configuration &gt; Synchronisation &gt; Advanced Options</strong></p>
<p>I will let you know as soon as a fix is available so that you can clear that option.</p>
<p>More info:</p>
<p>- <a href="https://community.letsencrypt.org/t/issues-with-electron-and-expired-root/160991">Issue with Electron and expired root</a> on Let's Encrypt</p>
<p>- <a href="https://github.com/electron/electron/issues/31212">Let's Encrypt root CA isn't working properly</a> on Electron GitHub repository</p>
<p><strong>Update:</strong> I have implemented a temporary fix on Joplin Cloud which should solve the issue for now. If you're still having some issues please let me know. An updated desktop app will be available later on with a more permanent fix.</p>
]]></description><link>https://joplinapp.org/news/20210930-163458/</link><guid isPermaLink="false">20210930-163458</guid><pubDate>Thu, 30 Sep 2021 16:34:58 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[Joplin 2.4 is available!]]></title><description><![CDATA[<p>Joplin 2.4 is now available on desktop, mobile and CLI. Here's what's new in this release:</p>
<h3>Sync Wizard Dialog<a name="sync-wizard-dialog" href="#sync-wizard-dialog" class="heading-anchor">🔗</a></h3>
<p>A new Sync Wizard Dialog has been added to simplify setting up sync on new clients.</p>
<p>The dialog shows the main sync targets, their differences, and makes it easy to choose one and start synchronising. This is mostly aimed at new users or those perhaps less technical. Those who are self hosting or using complex setups will still easily find what they need from a link on that dialog (or in Config &gt; Synchronisation like before).</p>
<p>Sync setup on mobile has been slightly improved too - now on a new client, instead of asking you to sync with Dropbox directly (which may not be what you want), it jumps to the Config &gt; Synchronisation section where you can select the sync target</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20210929-144036_0.png" alt=""></p>
<h3>Disable synchronisation<a name="disable-synchronisation" href="#disable-synchronisation" class="heading-anchor">🔗</a></h3>
<p>It's a small change but something that's been asked many time - it's now possible to disable synchronisation entirely by selecting &quot;None&quot; as a sync target. Previously that could be done in a hacky way, by selecting a non-configured sync target. Now it's clearer and easier to do.</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20210929-144036_1.png" alt=""></p>
<h3>Add back support for deprecated plugins<a name="add-back-support-for-deprecated-plugins" href="#add-back-support-for-deprecated-plugins" class="heading-anchor">🔗</a></h3>
<p>Recently some plugins stopped working because deprecated plugin APIs had been removed. It had been planned for a long time but I suspect the warnings weren't visible enough so plugin developers didn't act on them, and as a result many plugins stopped working.</p>
<p>This is now fixed in the latest version. A selected number of plugins will have access to these old deprecated APIs, which means they will start working again. This was mainly affecting ambrt's plugins such as &quot;Convert Text To New Note&quot; or the popular &quot;Embed Search&quot; plugin.</p>
<h3>Add support for recommended plugins<a name="add-support-for-recommended-plugins" href="#add-support-for-recommended-plugins" class="heading-anchor">🔗</a></h3>
<p>As mentioned in an earlier post, we now support <a href="https://www.patreon.com/posts/introducing-in-55618802">recommended plugins</a>. These recommended plugins appear on top when searching and are identified by a small crown.</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20210929-144036_2.png" alt=""></p>
<h3>End to End Encryption improvements<a name="end-to-end-encryption-improvements" href="#end-to-end-encryption-improvements" class="heading-anchor">🔗</a></h3>
<p>Like most recent releases, v2.4 includes a few improvement to the End to End Encryption (E2EE) system. The goal is to make it easier to use, to make it more reliable and to support the future use case of sharing encrypted notebooks or notes.</p>
<p>One important change is the support for a master password. This single password will be responsible to encrypt various keys, including some that will be automatically generated. Thanks to this, it won't be necessary to ask to enter a new password every time a key needs to be encrypted, since the master password can be used. It will also be easier to manage since you'll only have one password to remember instead of a different one for each notebook you might have shared.</p>
<p>Finally, it's now possible to disable a master key. What it means is that it will no longer show up in the list of master keys, and will also no longer generate a warning asking you to enter the password. In some case you might have forgotten it and no longer need it key, so you can now disable it.</p>
<h3>Custom CSS<a name="custom-css" href="#custom-css" class="heading-anchor">🔗</a></h3>
<p>This version also introduces a few internal change to better support custom CSS. In particular the colours now come from a CSS file, which could potentially be overridden, and new UI elements are styled using stylesheets, which likewise could be overridden.</p>
<p>Those are just first steps, but eventually these changes will make it easier to style the UI and create new themes.</p>
<h3>Bug fixes<a name="bug-fixes" href="#bug-fixes" class="heading-anchor">🔗</a></h3>
<p>This release also includes about 30 various bug fixes and improvements.</p>
<p>A notable one is a fix for GotoAnything, which recently wasn't working on first try.</p>
<p>The plugin screen has also been improved so that search works even when GitHub is down or blocked, as it is in China in particular.</p>
]]></description><link>https://joplinapp.org/news/20210929-144036/</link><guid isPermaLink="false">20210929-144036</guid><pubDate>Wed, 29 Sep 2021 14:40:36 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[Introducing recommended plugins in the next Joplin version]]></title><description><![CDATA[<p>A common request from new users is how to know which plugin is safe to install or not. In fact probably all of them are safe but as a new user that's not necessarily easy to know. So to help with this, the next version of Joplin will support recommended plugins - those will be plugins that meet our standards of quality and performance, and they will be indicated by a small crown tag inside the plugin box. Recommended plugins will also appear on top when searching.</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20210901-113415_0.png" alt=""></p>
<p>For now, since we don't have a review process, the recommended plugins are those developed by the Joplin team and frequent contributors, because we know those are safe to use.</p>
<p>Later we might have a review process and add more recommended plugins. That being said, in the meantime even if a plugin is not marked as recommended, there's a good chance it is still safe and have good performance too. Often you can search for it on the forum and if it's active with many users commenting, you're most likely good to go.</p>
<p>But if there's any doubt, the recommended tag is a good way to be sure.</p>
]]></description><link>https://joplinapp.org/news/20210901-113415/</link><guid isPermaLink="false">20210901-113415</guid><pubDate>Wed, 01 Sep 2021 11:34:15 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[Joplin Cloud is officially production ready!]]></title><description><![CDATA[<p><a href="https://joplinapp.org/plans/">Joplin Cloud</a> has been out of beta for a few weeks now and since then it has been quietly running without any troubles. There is no known bugs and the service is running smoothly so it's now safe to say that it is production ready!</p>
<p>As a reminder, Joplin Cloud is meant to provide a more seamless Joplin experience - if you want to quickly get started, it's as easy as downloading the app and getting a Joplin Cloud account. Besides improved sync performance, that will give you the ability to collaborate on notebooks with others, as well as publishing and sharing notes.</p>
<p>Of course Joplin still supports other sync options such as Nextcloud, Dropbox and OneDrive or AWS S3. You can also self host using Joplin Server. The advantage of Joplin Cloud being that you don't need to maintain a server yourself - for a small fee you'll get that taken care of.</p>
<p>Additionally, subscribing to Joplin Cloud is a great way to support the project as a whole, including the open source applications. Such support is needed in the long term to provide bug and security fixes, add new features, and provide support.</p>
<p>At some level it is also an experiment, to see if such a service is financially viable and can allow me to work full time on the project. This is certainly something I would like, and perhaps Joplin Cloud combined with your donations will allow that.</p>
]]></description><link>https://joplinapp.org/news/20210831-154354/</link><guid isPermaLink="false">20210831-154354</guid><pubDate>Tue, 31 Aug 2021 15:43:54 GMT</pubDate><twitter-text></twitter-text></item></channel></rss>

View File

@@ -1,6 +1,7 @@
<!DOCTYPE html>
<html lang="en">
<html lang="en-gb">
<head>
{{> gtmHead}}
{{> gaOptimize}}
<meta
charset="utf-8"
@@ -12,6 +13,7 @@
<meta name="theme-color" content="#000000" />
<link rel="stylesheet" href="{{{assetUrls.css.fontawesome}}}">
{{> openGraphTags}}
{{> rssFeedLink}}
<link
rel="stylesheet"
href="{{cssBaseUrl}}/bootstrap5.0.2.min.css"
@@ -33,6 +35,8 @@
<title>Joplin</title>
</head>
<body class="front-page website-env-{{env}}">
{{> gtmBody}}
<div class="container-fluid" id="main-container">
{{#navbar}}
@@ -47,22 +51,22 @@
Running in {{env}} mode!
</div>
<h1 class="text-center">
<h1 translate class="text-center">
Free your <span class="frame-bg frame-bg-blue">notes</span>
</h1>
<p class="text-center" id="top-section-text">
<p translate class="text-center" id="top-section-text">
Joplin is an open source note-taking app. Capture your thoughts and securely access them from any device.
</p>
<br />
<br />
<p class="text-center">
<a href="{{baseUrl}}/download/" class="button-link btn-blue download-button">Download the app</a>
<a translate href="{{baseUrl}}/download/" class="button-link btn-blue download-button">Download the app</a>
{{#showJoplinCloudLinks}}
<a href="{{baseUrl}}/plans/" class="button-link btn-trans plans-button">Sign up with Joplin Cloud</a>
<a translate href="{{baseUrl}}/plans/" class="button-link btn-trans plans-button">Sign up with Joplin Cloud</a>
{{/showJoplinCloudLinks}}
</p>
<picture class="img-fluid img-center" id="top-section-img">
<picture class="img-fluid img-center top-section-img top-section-img-en">
<source type="image/webp" srcset="
{{imageBaseUrl}}/home-top-img-4x.webp 4820w,
{{imageBaseUrl}}/home-top-img-2x.webp 2388w,
@@ -72,7 +76,20 @@
{{imageBaseUrl}}/home-top-img-2x.png 2388w,
{{imageBaseUrl}}/home-top-img.png 1205w
">
<img id="top-section-img-img" src="{{imageBaseUrl}}/home-top-img-2x.png">
<img src="{{imageBaseUrl}}/home-top-img-2x.png">
</picture>
<picture class="img-fluid img-center top-section-img top-section-img-cn">
<source type="image/webp" srcset="
{{imageBaseUrl}}/home-top-img-cn-4x.webp 4820w,
{{imageBaseUrl}}/home-top-img-cn-2x.webp 2388w,
{{imageBaseUrl}}/home-top-img-cn.webp 1205w
">
<source type="image/png" srcset="
{{imageBaseUrl}}/home-top-img-cn-2x.png 2388w,
{{imageBaseUrl}}/home-top-img-cn.png 1205w
">
<img src="{{imageBaseUrl}}/home-top-img-cn-2x.png">
</picture>
</div>
</div>
@@ -84,17 +101,15 @@
<div class="row">
<div class="col-12 col-md-5 col-xxl-6">
<div class="ml-30 ml-mobile-0">
<h2 id="multimedia-title">
<h2 translate id="multimedia-title">
<span class="frame-bg frame-bg-yellow">Multimedia</span> notes
</h2>
<p id="multimedia-text">
Images, videos, PDFs and audio files are supported. Create
math expressions and diagrams directly from the app. Take
photos with the mobile app and save them to a note.
<p translate id="multimedia-text">
Images, videos, PDFs and audio files are supported. Create math expressions and diagrams directly from the app. Take photos with the mobile app and save them to a note.
</p>
<br />
<p>
<a href="{{baseUrl}}/download/" class="button-link btn-blue">Download the app</a>
<a translate href="{{baseUrl}}/download/" class="button-link btn-blue">Download the app</a>
</p>
</div>
</div>
@@ -119,15 +134,14 @@
<div class="col-6 d-none d-md-block"></div>
<div class="col-12 col-md-6">
<div class="ml-30 ml-mobile-0">
<h2>Work <span class="frame-bg frame-bg-yellow">together</span></h2>
<p>
With Joplin Cloud, share your notes with your friends, family
or colleagues and collaborate on them.
<h2 translate>Work <span class="frame-bg frame-bg-yellow">together</span></h2>
<p translate>
With Joplin Cloud, share your notes with your friends, family or colleagues and collaborate on them.
</p>
<p>You can also publish a note to the internet and share the URL with others.</p>
<p translate>You can also publish a note to the internet and share the URL with others.</p>
<br/>
<p>
<a href="{{baseUrl}}/plans/" class="button-link btn-blue">Try it now</a>
<a translate href="{{baseUrl}}/plans/" class="button-link btn-blue">Try it now</a>
</p>
<br class="d-block d-md-none" />
<br class="d-block d-md-none" />
@@ -150,16 +164,15 @@
<div class="row">
<div class="col-12 col-md-6">
<div class="ml-30 ml-mobile-0">
<h2 id="save-web-title">
<h2 translate id="save-web-title">
Save <span class="frame-bg frame-bg-blue">web pages</span> <br />as notes
</h2>
<p>
Use the web clipper extension, available on Chrome and
Firefox, to save web pages or take screenshots as notes.
<p translate>
Use the web clipper extension, available on Chrome and Firefox, to save web pages or take screenshots as notes.
</p>
<br />
<p>
<a href="{{baseUrl}}/clipper/" class="button-link btn-blue">Get the clipper</a>
<a translate href="{{baseUrl}}/clipper/" class="button-link btn-blue">Get the clipper</a>
</p>
</div>
</div>
@@ -189,19 +202,15 @@
</div>
<div class="col-12 col-md-6">
<div class="ml-30 ml-mobile-0">
<h2 id="customise-it-title">
<h2 translate id="customise-it-title">
<span class="frame-bg frame-bg-yellow-lg">Customise</span> it
<br />
to your needs
</h2>
<p>
Customise the app with plugins, custom themes and multiple
text editors (Rich Text or Markdown). Or create your own
scripts and plugins using the Extension API.
<p translate>
Customise the app with plugins, custom themes and multiple text editors (Rich Text or Markdown). Or create your own scripts and plugins using the Extension API.
</p>
<br />
<p>
<a href="{{baseUrl}}/help/#plugins" class="button-link btn-blue">Find out more</a>
<a translate href="{{baseUrl}}/help/#plugins" class="button-link btn-blue">Find out more</a>
</p>
<br class="d-block d-lg-none" />
@@ -221,16 +230,16 @@
<div class="container">
<div class="row">
<div class="col-12">
<h2 class="text-center">
<h2 translate class="text-center">
Your notes, <span class="frame-bg frame-bg-blue-lg">everywhere</span> you are
</h2>
<p class="text-center" id="your-note-text">
<p translate class="text-center" id="your-note-text">
Access your notes from your computer, phone or tablet by synchronising with various services, including Joplin Cloud, Dropbox and OneDrive. The app is available on Windows, macOS, Linux, Android and iOS. A terminal app is also available!
</p>
<br />
<br />
<p class="text-center">
<a href="{{baseUrl}}/download/" class="button-link btn-blue">Download it now</a>
<a translate href="{{baseUrl}}/download/" class="button-link btn-blue">Download it now</a>
</p>
<br />
</div>
@@ -244,15 +253,13 @@
<div class="col-12 col-md-6">
<br class="d-block d-md-none" />
<div class="ml-30 ml-mobile-0">
<h2>100% <span class="frame-bg frame-bg-yellow-lg">your data</span></h2>
<p>
The app is open source and your notes are saved to an open
format, so you'll always have access to them. Uses End-To-End Encryption (E2EE) to secure your notes and ensure no-one but
yourself can access them.
<h2 translate>100% <span class="frame-bg frame-bg-yellow-lg">your data</span></h2>
<p translate>
The app is open source and your notes are saved to an open format, so you'll always have access to them. Uses End-To-End Encryption (E2EE) to secure your notes and ensure no-one but yourself can access them.
</p>
<br />
<p>
<a href="{{baseUrl}}/e2ee/" class="button-link btn-blue">More about E2EE</a>
<a translate href="{{baseUrl}}/e2ee/" class="button-link btn-blue">More about E2EE</a>
</p>
</div>
</div>
@@ -270,12 +277,54 @@
</div>
</div>
<div id="made-in-france-section" class="blue-bg">
<div class="container">
<div class="row">
<div class="d-none d-md-block col-md-6">
<br />
<br />
<br />
<img
src="{{imageBaseUrl}}/made-in-france.png"
alt=""
class="img-fluid"
/>
<br />
<br />
<br />
</div>
<div class="col-12 col-md-6">
<div class="ml-30 ml-mobile-0">
<h2 translate id="customise-it-title">
A <span class="frame-bg frame-bg-yellow-lg">French</span> Alternative
</h2>
<p translate>
Joplin Cloud is based in France. This means your data is protected by strict European Union privacy laws. In addition, Joplin Cloud implements strong end-to-end encryption so that not even us can have access to your data.
</p>
<br />
<br />
<br />
<br class="d-block d-lg-none" />
<br class="d-block d-lg-none" />
<img
src="{{imageBaseUrl}}/made-in-france.png"
alt=""
class="img-fluid d-block d-md-none"
/>
<br />
<br />
</div>
</div>
</div>
</div>
</div>
<div id="in-the-press-section">
<div class="container">
<div class="row">
<div class="col-12">
<br />
<h2 class="text-center">
<h2 translate class="text-center">
In the <span class="frame-bg frame-bg-yellow">Press</span>
</h2>
<br />
@@ -339,10 +388,10 @@
<div class="container">
<div class="row">
<div class="col-12">
<h2 class="text-center">
<h2 translate class="text-center">
Our <span class="frame-bg frame-bg-blue-lg">sponsors</span>
</h2>
<p class="text-center" id="your-note-text">
<p translate class="text-center" id="your-note-text">
Thank you for your support!
</p>
<br />

View File

@@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="en">
<html lang="en-gb">
<!--
@@ -14,6 +14,7 @@ https://github.com/laurent22/joplin/blob/dev/{{{sourceMarkdownFile}}}
-->
<head>
{{> gtmHead}}
{{> gaOptimize}}
<meta
charset="utf-8"
@@ -24,6 +25,7 @@ https://github.com/laurent22/joplin/blob/dev/{{{sourceMarkdownFile}}}
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
{{> openGraphTags}}
{{> rssFeedLink}}
<link
rel="stylesheet"
href="{{cssBaseUrl}}/bootstrap5.0.2.min.css"
@@ -47,6 +49,8 @@ https://github.com/laurent22/joplin/blob/dev/{{{sourceMarkdownFile}}}
></script>
</head>
<body class="website-env-{{env}}">
{{> gtmBody}}
<div class="container-fluid generic-template {{pageName}}-page" id="main-container">
{{#navbar}}

View File

@@ -1,5 +1,9 @@
<!-- Donate button A/B testing -->
<!-- Monthly/Yearly plan A/B testing -->
<!--
<script src="https://www.googleoptimize.com/optimize.js?id=OPT-PW3ZPK3"></script>
-->
<!-- Donate button A/B testing -->
<!--
<script async src="https://www.googleoptimize.com/optimize.js?id=OPT-PW3ZPK3"></script>
-->

View File

@@ -0,0 +1,4 @@
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-579DTGX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->

View File

@@ -0,0 +1,7 @@
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-579DTGX');</script>
<!-- End Google Tag Manager -->

View File

@@ -16,6 +16,7 @@
<a href="{{baseUrl}}/news/" class="fw500">News</a>
<a href="{{baseUrl}}/help/" class="fw500">Help</a>
<a href="{{forumUrl}}" class="fw500">Forum</a>
<a href="{{baseUrl}}/cn/" class="fw500">中文</a>
{{#showJoplinCloudLinks}}
{{> joplinCloudButton}}
{{/showJoplinCloudLinks}}
@@ -23,6 +24,7 @@
</div>
<div class="col-9 text-right d-block d-md-none navbar-mobile-content">
{{> twitterLink}}
<a href="{{baseUrl}}/cn/" class="fw500">中文</a>
{{> supportButton}}
<span class="pointer"

View File

@@ -6,17 +6,17 @@
</div>
<div class="plan-price plan-price-monthly">
{{priceMonthly.formattedMonthlyAmount}}<sub class="per-month">&nbsp;/month{{#footnote}} (*){{/footnote}}</sub>
{{priceMonthly.formattedMonthlyAmount}}<sub class="per-month">&nbsp;<span translate>/month</span>{{#footnote}} (*){{/footnote}}</sub>
</div>
<div class="plan-price plan-price-yearly">
{{priceYearly.formattedMonthlyAmount}}<sub class="per-month">&nbsp;/month{{#footnote}} (*){{/footnote}}</sub>
{{priceYearly.formattedMonthlyAmount}}<sub class="per-month">&nbsp;<span translate>/month</span>{{#footnote}} (*){{/footnote}}</sub>
</div>
</div>
<div class="plan-price-yearly-per-year">
<div>
({{priceYearly.formattedAmount}}<sub class="per-year">&nbsp;/year</sub>)
({{priceYearly.formattedAmount}}<sub class="per-year">&nbsp;<span translate>/year</span></sub>)
</div>
</div>

View File

@@ -0,0 +1 @@
<link rel="alternate" type="application/rss+xml" title="Joplin RSS feed" href="https://joplinapp.org/rss.xml" />

View File

@@ -2,10 +2,10 @@
<div class="container">
<div class="row">
<div class="col-12 title-box">
<h1 class="text-center">
<h1 translate class="text-center">
Joplin Cloud <span class="frame-bg frame-bg-yellow">plans</span>
</h1>
<p class="text-center sub-title">
<p translate class="text-center sub-title">
<a href="https://joplincloud.com">Joplin Cloud</a> allows you to synchronise your notes across devices. It also lets you publish notes, and collaborate on notebooks with your friends, family or colleagues.
</p>
</div>
@@ -20,14 +20,14 @@
<div style="display: flex; justify-content: center; margin-top: 1.2em">
<div class="form-check form-check-inline">
<input id="pay-monthly-radio" class="form-check-input" type="radio" name="pay-radio" checked value="monthly">
<label style="font-weight: bold" class="form-check-label" for="pay-monthly-radio">
<label translate style="font-weight: bold" class="form-check-label" for="pay-monthly-radio">
Pay Monthly
</label>
</div>
<div class="form-check form-check-inline">
<input id="pay-yearly-radio" class="form-check-input" type="radio" name="pay-radio" value="yearly">
<label style="font-weight: bold" class="form-check-label" for="pay-yearly-radio">
<label translate style="font-weight: bold" class="form-check-label" for="pay-yearly-radio">
Pay Yearly
</label>
</div>
@@ -46,7 +46,7 @@
{{> plan}}
{{/plans.teams}}
<p class="joplin-cloud-login-info">Already have a Joplin Cloud account? <a href="https://joplincloud.com">Login now</a></p>
<p translate class="joplin-cloud-login-info">Already have a Joplin Cloud account? <a href="https://joplincloud.com">Login now</a></p>
</div>
<div class="row">
@@ -59,7 +59,7 @@
</div>
</div>
<div class="row">
<div class="row faq">
{{{faqHtml}}}
</div>
</div>
@@ -116,16 +116,21 @@
});
};
const applyPeriod = (period) => {
subscriptionPeriod = period;
$('.plan-group').removeClass(period === 'monthly' ? 'plan-prices-yearly' : 'plan-prices-monthly');
$('.plan-group').addClass('plan-prices-' + period);
$("#pay-" + period + '-radio').prop('checked', true);
}
$(() => {
$("input[name='pay-radio']").change(function() {
const period = $("input[type='radio'][name='pay-radio']:checked").val();
subscriptionPeriod = period;
$('.plan-group').removeClass(period === 'monthly' ? 'plan-prices-yearly' : 'plan-prices-monthly');
$('.plan-group').addClass('plan-prices-' + period);
applyPeriod(period);
});
setupBetaHandling(urlQuery);
applyPeriod('yearly');
});
</script>
</div>

View File

@@ -0,0 +1,141 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/partials/plan.mustache:13
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/partials/plan.mustache:9
msgid "/month"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/partials/plan.mustache:19
msgid "/year"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/plans.mustache:8
msgid "<a href=\"https://joplincloud.com\">Joplin Cloud</a> allows you to synchronise your notes across devices. It also lets you publish notes, and collaborate on notebooks with your friends, family or colleagues."
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:205
msgid "<span class=\"frame-bg frame-bg-yellow-lg\">Customise</span> it"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:104
msgid "<span class=\"frame-bg frame-bg-yellow\">Multimedia</span> notes"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:256
msgid "100% <span class=\"frame-bg frame-bg-yellow-lg\">your data</span>"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:298
msgid "A <span class=\"frame-bg frame-bg-yellow-lg\">French</span> Alternative"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:236
msgid "Access your notes from your computer, phone or tablet by synchronising with various services, including Joplin Cloud, Dropbox and OneDrive. The app is available on Windows, macOS, Linux, Android and iOS. A terminal app is also available!"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/plans.mustache:49
msgid "Already have a Joplin Cloud account? <a href=\"https://joplincloud.com\">Login now</a>"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:208
msgid "Customise the app with plugins, custom themes and multiple text editors (Rich Text or Markdown). Or create your own scripts and plugins using the Extension API."
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:242
msgid "Download it now"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:112
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:63
msgid "Download the app"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:213
msgid "Find out more"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:54
msgid "Free your <span class=\"frame-bg frame-bg-blue\">notes</span>"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:175
msgid "Get the clipper"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:107
msgid "Images, videos, PDFs and audio files are supported. Create math expressions and diagrams directly from the app. Take photos with the mobile app and save them to a note."
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:327
msgid "In the <span class=\"frame-bg frame-bg-yellow\">Press</span>"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/plans.mustache:5
msgid "Joplin Cloud <span class=\"frame-bg frame-bg-yellow\">plans</span>"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:301
msgid "Joplin Cloud is based in France. This means your data is protected by strict European Union privacy laws. In addition, Joplin Cloud implements strong end-to-end encryption so that not even us can have access to your data."
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:57
msgid "Joplin is an open source note-taking app. Capture your thoughts and securely access them from any device."
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:262
msgid "More about E2EE"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:391
msgid "Our <span class=\"frame-bg frame-bg-blue-lg\">sponsors</span>"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/plans.mustache:23
msgid "Pay Monthly"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/plans.mustache:30
msgid "Pay Yearly"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:167
msgid "Save <span class=\"frame-bg frame-bg-blue\">web pages</span> <br>as notes"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:65
msgid "Sign up with Joplin Cloud"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:394
msgid "Thank you for your support!"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:257
msgid "The app is open source and your notes are saved to an open format, so you'll always have access to them. Uses End-To-End Encryption (E2EE) to secure your notes and ensure no-one but yourself can access them."
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:144
msgid "Try it now"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:170
msgid "Use the web clipper extension, available on Chrome and Firefox, to save web pages or take screenshots as notes."
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:138
msgid "With Joplin Cloud, share your notes with your friends, family or colleagues and collaborate on them."
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:137
msgid "Work <span class=\"frame-bg frame-bg-yellow\">together</span>"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:141
msgid "You can also publish a note to the internet and share the URL with others."
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:233
msgid "Your notes, <span class=\"frame-bg frame-bg-blue-lg\">everywhere</span> you are"
msgstr ""

Binary file not shown.

View File

@@ -31,7 +31,7 @@ Joplin is available in multiple languages thanks to the help of its users. You c
If you want to start contributing to the project's code, please follow these guidelines before creating a pull request:
- Explain WHY you want to add this change. Explain it inside the pull request and you may link to an issue for additional information, but the PR should give a clear overview of why you want to add this.
- The top post of the pull request should contain a full, self-contained explanation of the feature: what it does, how it does it, with examples of usage and screenshots. Also explain why you want to add this - what problem does it solve. Do not simply add a text `Implement feature #4345` or link to forum posts, because the information there will most likely be outdated or confusing (multiple discussions and opinions). The pull request needs to be self-contained.
- Bug fixes are always welcome. Start by reviewing the [list of bugs](https://github.com/laurent22/joplin/issues?q=is%3Aissue+is%3Aopen+label%3Abug)
- A good way to easily start contributing is to pick and work on a [good first issue](https://github.com/laurent22/joplin/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22). We try to make these issues as clear as possible and provide basic info on how the code should be changed, and if something is unclear feel free to ask for more information on the issue.
- Before adding a new feature, ask about it in the [Github Issue Tracker](https://github.com/laurent22/joplin/issues?utf8=%E2%9C%93&q=is%3Aissue) or the [Joplin Forum](https://discourse.joplinapp.org/), or check if existing discussions exist to make sure the new functionality is desired.
@@ -43,13 +43,17 @@ If you want to start contributing to the project's code, please follow these gui
Building the apps is relatively easy - please [see the build instructions](https://github.com/laurent22/joplin/blob/dev/BUILD.md) for more details.
## Signing the Individual Contributor License Agreement
All contributors to the project must sign our [Individual Contributor License Agreement](https://github.com/laurent22/joplin/blob/dev/readme/cla.md).
## Coding style
Coding style is enforced by a pre-commit hook that runs eslint. This hook is installed whenever running `yarn install` on any of the application directory. If for some reason the pre-commit hook didn't get installed, you can manually install it by running `yarn install` at the root of the repository.
Please see [readme/coding_style.md](readme/coding_style.md).
For new React components, please use [React Hooks](https://reactjs.org/docs/hooks-intro.html). For new code in general, please use TypeScript. Even if you are modifying a file that was originally in JavaScript you should ideally convert it first to TypeScript before modifying it. Doing so is relatively easy and it helps maintain code quality.
## GUI style
For changes made to the Desktop client that affect the user interface, refer to `packages/app-desktop/theme.ts` for all styling information. The goal is to create a consistent user interface to allow for easy navigation of Joplin's various features and improve the overall user experience.
For changes made to the Desktop and mobile clients that affect the user interface, refer to `packages/lib/theme.ts` for all styling information. The goal is to create a consistent user interface to allow for easy navigation of Joplin's various features and improve the overall user experience.
## Automated tests

View File

@@ -2,7 +2,7 @@
# Build stage
# =============================================================================
FROM node:16-bullseye AS builder
FROM node:18-bullseye AS builder
RUN apt-get update \
&& apt-get install -y \
@@ -51,7 +51,7 @@ RUN BUILD_SEQUENCIAL=1 yarn install --inline-builds \
# from a smaller base image.
# =============================================================================
FROM node:16-bullseye-slim
FROM node:18-bullseye-slim
ARG user=joplin
RUN useradd --create-home --shell /bin/bash $user

View File

@@ -201,14 +201,16 @@ fi
# If a new environment needs to be supported, then the command check section should be re-thought
if [[ $DESKTOP =~ .*gnome.*|.*kde.*|.*xfce.*|.*mate.*|.*lxqt.*|.*unity.*|.*x-cinnamon.*|.*deepin.*|.*pantheon.*|.*lxde.*|.*i3.*|.*sway.* ]] || [[ `command -v update-desktop-database` ]]
then
DATA_HOME=${XDG_DATA_HOME:-~/.local/share}
DESKTOP_FILE_LOCATION="$DATA_HOME/applications"
# Only delete the desktop file if it will be replaced
rm -f ~/.local/share/applications/appimagekit-joplin.desktop
rm -f "$DESKTOP_FILE_LOCATION/appimagekit-joplin.desktop"
# On some systems this directory doesn't exist by default
mkdir -p ~/.local/share/applications
mkdir -p "$DESKTOP_FILE_LOCATION"
# Tabs specifically, and not spaces, are needed for indentation with Bash heredocs
cat >> ~/.local/share/applications/appimagekit-joplin.desktop <<-EOF
cat >> "$DESKTOP_FILE_LOCATION/appimagekit-joplin.desktop" <<-EOF
[Desktop Entry]
Encoding=UTF-8
Name=Joplin
@@ -224,7 +226,7 @@ then
EOF
# Update application icons
[[ `command -v update-desktop-database` ]] && update-desktop-database ~/.local/share/applications && update-desktop-database ~/.local/share/icons
[[ `command -v update-desktop-database` ]] && update-desktop-database "$DESKTOP_FILE_LOCATION" && update-desktop-database "$DATA_HOME/icons"
print "${COLOR_GREEN}OK${COLOR_RESET}"
else
print "${COLOR_RED}NOT DONE, unknown desktop '${DESKTOP}'${COLOR_RESET}"

30
LICENSE
View File

@@ -1,16 +1,17 @@
All code in this repository is licensed under the MIT License **unless a
directory contains a LICENSE or LICENSE.md file**, in which case that file
applies to the code in that sub-directory.
All code in this repository is licensed under the AGPL-3.0-or-later License
**unless a directory contains a LICENSE or LICENSE.md file**, in which case that
file applies to the code in that sub-directory.
For example, packages/server contains a LICENSE.md file, thus all code under the
packages/server directory is licensed under that license.
For example, packages/app-cli does NOT contain a LICENSE file, thus all code
under that directory is licensed under the default license, which is MIT.
under that directory is licensed under the default license, which is
AGPL-3.0-or-later.
* * *
Joplin® is a trademark of Cozic Ltd registered in the European Union, with
Joplin® is a trademark of JOPLIN SAS registered in the European Union, with
filing number 018544315.
* * *
@@ -23,23 +24,8 @@ icons please contact the author in order to get a permission.
* * *
MIT License
AGPL-3.0-or-later License
Copyright (c) 2016-2022 Laurent Cozic
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
https://spdx.org/licenses/AGPL-3.0-or-later.html

130
README.md
View File

@@ -2,12 +2,6 @@
[![Donate using PayPal](https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=E8JMYD2LQ8MMA&lc=GB&item_name=Joplin+Development&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted) [![Sponsor on GitHub](https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/GitHub-Badge.svg)](https://github.com/sponsors/laurent22/) [![Become a patron](https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/Patreon-Badge.svg)](https://www.patreon.com/joplin) [![Donate using IBAN](https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/Donate-IBAN.svg)](https://joplinapp.org/donate/#donations)
<!-- DONATELINKS -->
* * *
🌞 Joplin participates in **Google Summer of Code 2022**! More info on [the announcement post](https://github.com/laurent22/joplin/blob/dev/readme/news/20220308-gsoc2022-start.md). 🌞
* * *
<img width="64" src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/LinuxIcons/256x256.png" align="left" /> **Joplin** is a free, open source note taking and to-do application, which can handle a large number of notes organised into notebooks. The notes are searchable, can be copied, tagged and modified either from the applications directly or from your own text editor. The notes are in [Markdown format](#markdown).
Notes exported from Evernote [can be imported](#importing) into Joplin, including the formatted content (which is converted to Markdown), resources (images, attachments, etc.) and complete metadata (geolocation, updated time, created time, etc.). Plain Markdown files can also be imported.
@@ -28,11 +22,11 @@ Three types of applications are available: for **desktop** (Windows, macOS and L
Operating System | Download
---|---
Windows (32 and 64-bit) | <a href='https://github.com/laurent22/joplin/releases/download/v2.7.15/Joplin-Setup-2.7.15.exe'><img alt='Get it on Windows' width="134px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeWindows.png'/></a>
macOS | <a href='https://github.com/laurent22/joplin/releases/download/v2.7.15/Joplin-2.7.15.dmg'><img alt='Get it on macOS' width="134px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeMacOS.png'/></a>
Linux | <a href='https://github.com/laurent22/joplin/releases/download/v2.7.15/Joplin-2.7.15.AppImage'><img alt='Get it on Linux' width="134px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeLinux.png'/></a>
Windows (32 and 64-bit) | <a href='https://github.com/laurent22/joplin/releases/download/v2.9.17/Joplin-Setup-2.9.17.exe'><img alt='Get it on Windows' width="134px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeWindows.png'/></a>
macOS | <a href='https://github.com/laurent22/joplin/releases/download/v2.9.17/Joplin-2.9.17.dmg'><img alt='Get it on macOS' width="134px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeMacOS.png'/></a>
Linux | <a href='https://github.com/laurent22/joplin/releases/download/v2.9.17/Joplin-2.9.17.AppImage'><img alt='Get it on Linux' width="134px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeLinux.png'/></a>
**On Windows**, you may also use the <a href='https://github.com/laurent22/joplin/releases/download/v2.7.15/JoplinPortable.exe'>Portable version</a>. The [portable application](https://en.wikipedia.org/wiki/Portable_application) allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called "JoplinProfile" next to the executable file.
**On Windows**, you may also use the <a href='https://github.com/laurent22/joplin/releases/download/v2.9.17/JoplinPortable.exe'>Portable version</a>. The [portable application](https://en.wikipedia.org/wiki/Portable_application) allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called "JoplinProfile" next to the executable file.
**On Linux**, the recommended way is to use the following installation script as it will handle the desktop icon too:
@@ -42,7 +36,7 @@ Linux | <a href='https://github.com/laurent22/joplin/releases/download/v2.7.15/J
Operating System | Download | Alt. Download
---|---|---
Android | <a href='https://play.google.com/store/apps/details?id=net.cozic.joplin&utm_source=GitHub&utm_campaign=README&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><img alt='Get it on Google Play' height="40px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeAndroid.png'/></a> | or download the APK file: [64-bit](https://github.com/laurent22/joplin-android/releases/download/android-v2.7.2/joplin-v2.7.2.apk) [32-bit](https://github.com/laurent22/joplin-android/releases/download/android-v2.7.2/joplin-v2.7.2-32bit.apk)
Android | <a href='https://play.google.com/store/apps/details?id=net.cozic.joplin&utm_source=GitHub&utm_campaign=README&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><img alt='Get it on Google Play' height="40px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeAndroid.png'/></a> | or download the APK file: [64-bit](https://github.com/laurent22/joplin-android/releases/download/android-v2.8.1/joplin-v2.8.1.apk) [32-bit](https://github.com/laurent22/joplin-android/releases/download/android-v2.8.1/joplin-v2.8.1-32bit.apk)
iOS | <a href='https://itunes.apple.com/us/app/joplin/id1315599797'><img alt='Get it on the App Store' height="40px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeIOS.png'/></a> | -
## Terminal application
@@ -81,10 +75,11 @@ A community maintained list of these distributions can be found here: [Unofficia
| <img width="50" src="https://avatars2.githubusercontent.com/u/215668?s=96&v=4"/></br>[avanderberg](https://github.com/avanderberg) | <img width="50" src="https://avatars2.githubusercontent.com/u/3061769?s=96&v=4"/></br>[c-nagy](https://github.com/c-nagy) | <img width="50" src="https://avatars2.githubusercontent.com/u/70780798?s=96&v=4"/></br>[cabottech](https://github.com/cabottech) | <img width="50" src="https://avatars2.githubusercontent.com/u/67130?s=96&v=4"/></br>[chr15m](https://github.com/chr15m) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/4862947?s=96&v=4"/></br>[chrootlogin](https://github.com/chrootlogin) | <img width="50" src="https://avatars2.githubusercontent.com/u/82579431?s=96&v=4"/></br>[clmntsl](https://github.com/clmntsl) | <img width="50" src="https://avatars2.githubusercontent.com/u/808091?s=96&v=4"/></br>[cuongtransc](https://github.com/cuongtransc) | <img width="50" src="https://avatars2.githubusercontent.com/u/1307332?s=96&v=4"/></br>[dbrandonjohnson](https://github.com/dbrandonjohnson) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/1439535?s=96&v=4"/></br>[fbloise](https://github.com/fbloise) | <img width="50" src="https://avatars2.githubusercontent.com/u/49439044?s=96&v=4"/></br>[fourstepper](https://github.com/fourstepper) | <img width="50" src="https://avatars2.githubusercontent.com/u/38898566?s=96&v=4"/></br>[h4sh5](https://github.com/h4sh5) | <img width="50" src="https://avatars2.githubusercontent.com/u/3266447?s=96&v=4"/></br>[iamwillbar](https://github.com/iamwillbar) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/37297218?s=96&v=4"/></br>[Jesssullivan](https://github.com/Jesssullivan) | <img width="50" src="https://avatars2.githubusercontent.com/u/1248504?s=96&v=4"/></br>[joesfer](https://github.com/joesfer) | <img width="50" src="https://avatars2.githubusercontent.com/u/5588131?s=96&v=4"/></br>[kianenigma](https://github.com/kianenigma) | <img width="50" src="https://avatars2.githubusercontent.com/u/24908652?s=96&v=4"/></br>[konishi-t](https://github.com/konishi-t) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/42319182?s=96&v=4"/></br>[marcdw1289](https://github.com/marcdw1289) | <img width="50" src="https://avatars2.githubusercontent.com/u/1788010?s=96&v=4"/></br>[maxtruxa](https://github.com/maxtruxa) | <img width="50" src="https://avatars2.githubusercontent.com/u/29300939?s=96&v=4"/></br>[mcejp](https://github.com/mcejp) | <img width="50" src="https://avatars2.githubusercontent.com/u/1168659?s=96&v=4"/></br>[nicholashead](https://github.com/nicholashead) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/5782817?s=96&v=4"/></br>[piccobit](https://github.com/piccobit) | <img width="50" src="https://avatars2.githubusercontent.com/u/77214738?s=96&v=4"/></br>[Polymathic-Company](https://github.com/Polymathic-Company) | <img width="50" src="https://avatars2.githubusercontent.com/u/47742?s=96&v=4"/></br>[ravenscroftj](https://github.com/ravenscroftj) | <img width="50" src="https://avatars2.githubusercontent.com/u/765564?s=96&v=4"/></br>[taskcruncher](https://github.com/taskcruncher) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/73081837?s=96&v=4"/></br>[thismarty](https://github.com/thismarty) | <img width="50" src="https://avatars2.githubusercontent.com/u/15859362?s=96&v=4"/></br>[thomasbroussard](https://github.com/thomasbroussard) | | |
| <img width="50" src="https://avatars2.githubusercontent.com/u/37297218?s=96&v=4"/></br>[Jesssullivan](https://github.com/Jesssullivan) | <img width="50" src="https://avatars2.githubusercontent.com/u/1310474?s=96&v=4"/></br>[jknowles](https://github.com/jknowles) | <img width="50" src="https://avatars2.githubusercontent.com/u/1248504?s=96&v=4"/></br>[joesfer](https://github.com/joesfer) | <img width="50" src="https://avatars2.githubusercontent.com/u/5588131?s=96&v=4"/></br>[kianenigma](https://github.com/kianenigma) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/24908652?s=96&v=4"/></br>[konishi-t](https://github.com/konishi-t) | <img width="50" src="https://avatars2.githubusercontent.com/u/42319182?s=96&v=4"/></br>[marcdw1289](https://github.com/marcdw1289) | <img width="50" src="https://avatars2.githubusercontent.com/u/1788010?s=96&v=4"/></br>[maxtruxa](https://github.com/maxtruxa) | <img width="50" src="https://avatars2.githubusercontent.com/u/29300939?s=96&v=4"/></br>[mcejp](https://github.com/mcejp) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/1168659?s=96&v=4"/></br>[nicholashead](https://github.com/nicholashead) | <img width="50" src="https://avatars2.githubusercontent.com/u/5782817?s=96&v=4"/></br>[piccobit](https://github.com/piccobit) | <img width="50" src="https://avatars2.githubusercontent.com/u/77214738?s=96&v=4"/></br>[Polymathic-Company](https://github.com/Polymathic-Company) | <img width="50" src="https://avatars2.githubusercontent.com/u/47742?s=96&v=4"/></br>[ravenscroftj](https://github.com/ravenscroftj) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/327998?s=96&v=4"/></br>[sif](https://github.com/sif) | <img width="50" src="https://avatars2.githubusercontent.com/u/54626606?s=96&v=4"/></br>[skyrunner15](https://github.com/skyrunner15) | <img width="50" src="https://avatars2.githubusercontent.com/u/765564?s=96&v=4"/></br>[taskcruncher](https://github.com/taskcruncher) | <img width="50" src="https://avatars2.githubusercontent.com/u/73081837?s=96&v=4"/></br>[thismarty](https://github.com/thismarty) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/15859362?s=96&v=4"/></br>[thomasbroussard](https://github.com/thomasbroussard) | | | |
<!-- SPONSORS-GITHUB -->
<!-- TOC -->
@@ -153,6 +148,8 @@ A community maintained list of these distributions can be found here: [Unofficia
- About
- [Changelog (Desktop App)](https://github.com/laurent22/joplin/blob/dev/readme/changelog.md)
- [Changelog (Android)](https://github.com/laurent22/joplin/blob/dev/readme/changelog_android.md)
- [Changelog (iOS)](https://github.com/laurent22/joplin/blob/dev/readme/changelog_ios.md)
- [Changelog (CLI App)](https://github.com/laurent22/joplin/blob/dev/readme/changelog_cli.md)
- [Changelog (Server)](https://github.com/laurent22/joplin/blob/dev/readme/changelog_server.md)
- [Stats](https://github.com/laurent22/joplin/blob/dev/readme/stats.md)
@@ -185,6 +182,7 @@ A community maintained list of these distributions can be found here: [Unofficia
- Custom CSS support for customisation of both the rendered markdown and overall user interface.
- Customisable layout allows toggling, movement and sizing of various elements.
- Keyboard shortcuts are editable and allow binding of most Joplin commands with export/import functionality.
- Multiple profile support.
# Importing
@@ -272,7 +270,7 @@ WebDAV-compatible services that are known to work with Joplin:
## Dropbox synchronisation
When syncing with Dropbox, Joplin creates a sub-directory in Dropbox, in `/Apps/Joplin` and read/write the notes and notebooks from it. The application does not have access to anything outside this directory.
When syncing with Dropbox, Joplin creates a sub-directory in Dropbox, in `/Apps/Joplin` and reads/writes the notes and notebooks in it. The application does not have access to anything outside this directory.
In the **desktop application** or **mobile application**, select "Dropbox" as the synchronisation target in the [Configuration screen](https://github.com/laurent22/joplin/blob/dev/readme/config_screen.md) (it is selected by default). Then, to initiate the synchronisation process, click on the "Synchronise" button in the sidebar and follow the instructions.
@@ -280,7 +278,7 @@ In the **terminal application**, to initiate the synchronisation process, type `
## OneDrive synchronisation
When syncing with OneDrive, Joplin creates a sub-directory in OneDrive, in /Apps/Joplin and read/write the notes and notebooks from it. The application does not have access to anything outside this directory.
When syncing with OneDrive, Joplin creates a sub-directory in OneDrive, in /Apps/Joplin and reads/writes the notes and notebooks in it. The application does not have access to anything outside this directory.
In the **desktop application** or **mobile application**, select "OneDrive" as the synchronisation target in the [Configuration screen](https://github.com/laurent22/joplin/blob/dev/readme/config_screen.md). Then, to initiate the synchronisation process, click on the "Synchronise" button in the sidebar and follow the instructions.
@@ -293,7 +291,7 @@ As of Joplin 2.x.x, Joplin supports multiple S3 providers. We expose some option
In the **desktop application** or **mobile application**, select "S3 (Beta)" as the synchronisation target in the [Configuration screen](https://github.com/laurent22/joplin/blob/dev/readme/config_screen.md).
- **S3 Bucket:** The name of your Bucket, such as `joplin-bucket`
- **S3 URL:** Fully qualified URL; For AWS this should be `https://s3.amazonaws.com/`
- **S3 URL:** Fully qualified URL; For AWS this should be `https://s3.<regionName>.amazonaws.com/`
- **S3 Access Key & S3 Secret Key:** The User's programmatic access key. To create a new key & secret on AWS, visit [IAM Security Credentials](https://console.aws.amazon.com/iam/home#/security_credentials). For other providers follow their documentation.
- **S3 Region:** Some providers require you to provide the region of your bucket. This is usually in the form of "eu-west1" or something similar depending on your region. For providers that do not require a region, you can leave it blank.
- **Force Path Style**: This setting enables Joplin to talk to S3 providers using an older style S3 Path. Depending on your provider you may need to try with this on and off.
@@ -333,17 +331,17 @@ All providers will require a bucket, Access Key, and Secret Key.
If you provide a configuration and you receive "success!" on the "check config" then your S3 sync should work for your provider. If you do not receive success, you may need to adjust your settings, or save them, restart the app, and attempt a sync. This may reveal more clear error messaging that will help you deduce the problem.
### AWS
- URL: https://s3.amazonaws.com
- URL: `https://s3.<region>.amazonaws.com/` (fill in your region, a complete list of endpoint adresses can be found [here](https://docs.aws.amazon.com/general/latest/gr/s3.html))
- Region: required
- Force Path Style: unchecked
### Linode
- URL: https://<region>.linodeobjects.com
- Region: empty
- URL: `https://<region>.linodeobjects.com` (region is in the URL provided by Linode; this URL is also the same as the URL provided by Linode with the bucket name removed)
- Region: Anything you want to type, can't be left empty
- Force Path Style: unchecked
### UpCloud
- URL: https://<account>.<region>.upcloudobjects.com (They will provide you with multiple URLs, the one that follows this pattern should work.)
- URL: `https://<account>.<region>.upcloudobjects.com` (They will provide you with multiple URLs, the one that follows this pattern should work.)
- Region: required
- Force Path Style: unchecked
@@ -450,7 +448,7 @@ You can also use search filters to further restrict the search.
| Operator | Description | Example |
| --- | --- | --- |
|**-**|If placed before a text term, it excludes the notes that contain that term. You can also place it before a filter to negate it. |`-spam` searches for all notes without the word `spam`.<br>`office -trash` searches for all notes with the word`office` and without the word `trash`.|
|**-**|If placed before a text term, it excludes the notes that contain that term. You can also place it before a filter to negate it. |`-spam` searches for all notes without the word `spam`.<br>`office -trash` searches for all notes with the word `office` and without the word `trash`.|
|**any:**|Return notes that satisfy any/all of the required conditions. `any:0` is the default, which means all conditions must be satisfied.|`any:1 cat dog` will return notes that have the word `cat` or `dog`.<br>`any:0 cat dog` will return notes with both the words `cat` and `dog`. |
| **title:** <br> **body:**|Restrict your search to just the title or the body field.|`title:"hello world"` searches for notes whose title contains `hello` and `world`.<br>`title:hello -body:world` searches for notes whose title contains `hello` and body does not contain `world`.
| **tag:** |Restrict the search to the notes with the specified tags.|`tag:office` searches for all notes having tag office.<br>`tag:office tag:important` searches for all notes having both office and important tags.<br>`tag:office -tag:spam` searches for notes having tag `office` which do not have tag `spam`.<br>`any:1 tag:office tag:spam` searches for notes having tag `office` or tag `spam`.<br>`tag:be*ful` does a search with wildcards.<br>`tag:*` returns all notes with tags.<br>`-tag:*` returns all notes without tags.|
@@ -482,6 +480,16 @@ Notes are sorted by "relevance". Currently it means the notes that contain the r
In the desktop application, press <kbd>Ctrl+P</kbd> or <kbd>Cmd+P</kbd> and type a note title or part of its content to jump to it. Or type <kbd>#</kbd> followed by a tag name, or <kbd>@</kbd> followed by a notebook name.
# Multiple profile support
To create a new profile, open File > Switch profile and select Create new profile, enter the profile name and press OK. The app will automatically switch to this new profile, which you can now configure.
To switch back to the previous profile, again open File > Switch profile and select Default.
Note that profiles all share certain settings, such as language, font size, theme, etc. This is done so that you don't have reconfigure every details when switching profiles. Other settings such as sync configuration is per profile.
The feature is available on desktop only for now, and should be ported to mobile relatively soon.
# Donations
Donations to Joplin support the development of the project. Developing quality applications mostly takes time, but there are also some expenses, such as digital certificates to sign the applications, app store fees, hosting, etc. Most of all, your donation will make it possible to keep up the current development standard.
@@ -522,47 +530,47 @@ Current translations:
<!-- LOCALE-TABLE-AUTO-GENERATED -->
&nbsp; | Language | Po File | Last translator | Percent done
---|---|---|---|---
<img src="https://joplinapp.org/images/flags/country-4x3/arableague.png" width="16px"/> | Arabic | [ar](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ar.po) | [Whaell O](mailto:Whaell@protonmail.com) | 89%
<img src="https://joplinapp.org/images/flags/es/basque_country.png" width="16px"/> | Basque | [eu](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eu.po) | juan.abasolo@ehu.eus | 25%
<img src="https://joplinapp.org/images/flags/country-4x3/ba.png" width="16px"/> | Bosnian (Bosna i Hercegovina) | [bs_BA](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bs_BA.po) | [Derviš T.](mailto:dervis.t@pm.me) | 64%
<img src="https://joplinapp.org/images/flags/country-4x3/bg.png" width="16px"/> | Bulgarian (България) | [bg_BG](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bg_BG.po) | | 50%
<img src="https://joplinapp.org/images/flags/es/catalonia.png" width="16px"/> | Catalan | [ca](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ca.po) | [Xavi Ivars](mailto:xavi.ivars@gmail.com) | 98%
<img src="https://joplinapp.org/images/flags/country-4x3/hr.png" width="16px"/> | Croatian (Hrvatska) | [hr_HR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hr_HR.po) | [Milo Ivir](mailto:mail@milotype.de) | 100%
<img src="https://joplinapp.org/images/flags/country-4x3/cz.png" width="16px"/> | Czech (Česká republika) | [cs_CZ](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/cs_CZ.po) | [Michal Stanke](mailto:michal@stanke.cz) | 86%
<img src="https://joplinapp.org/images/flags/country-4x3/dk.png" width="16px"/> | Dansk (Danmark) | [da_DK](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/da_DK.po) | ERYpTION | 98%
<img src="https://joplinapp.org/images/flags/country-4x3/de.png" width="16px"/> | Deutsch (Deutschland) | [de_DE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/de_DE.po) | [MrKanister](mailto:pueblos_spatulas@aleeas.com) | 100%
<img src="https://joplinapp.org/images/flags/country-4x3/ee.png" width="16px"/> | Eesti Keel (Eesti) | [et_EE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/et_EE.po) | | 49%
<img src="https://joplinapp.org/images/flags/country-4x3/arableague.png" width="16px"/> | Arabic | [ar](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ar.po) | [Whaell O](mailto:Whaell@protonmail.com) | 82%
<img src="https://joplinapp.org/images/flags/es/basque_country.png" width="16px"/> | Basque | [eu](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eu.po) | juan.abasolo@ehu.eus | 23%
<img src="https://joplinapp.org/images/flags/country-4x3/ba.png" width="16px"/> | Bosnian (Bosna i Hercegovina) | [bs_BA](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bs_BA.po) | [Derviš T.](mailto:dervis.t@pm.me) | 59%
<img src="https://joplinapp.org/images/flags/country-4x3/bg.png" width="16px"/> | Bulgarian (България) | [bg_BG](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bg_BG.po) | | 46%
<img src="https://joplinapp.org/images/flags/es/catalonia.png" width="16px"/> | Catalan | [ca](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ca.po) | [Xavi Ivars](mailto:xavi.ivars@gmail.com) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/hr.png" width="16px"/> | Croatian (Hrvatska) | [hr_HR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hr_HR.po) | [Milo Ivir](mailto:mail@milotype.de) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/cz.png" width="16px"/> | Czech (Česká republika) | [cs_CZ](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/cs_CZ.po) | [Michal Stanke](mailto:michal@stanke.cz) | 79%
<img src="https://joplinapp.org/images/flags/country-4x3/dk.png" width="16px"/> | Dansk (Danmark) | [da_DK](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/da_DK.po) | ERYpTION | 99%
<img src="https://joplinapp.org/images/flags/country-4x3/de.png" width="16px"/> | Deutsch (Deutschland) | [de_DE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/de_DE.po) | [MrKanister](mailto:pueblos_spatulas@aleeas.com) | 99%
<img src="https://joplinapp.org/images/flags/country-4x3/ee.png" width="16px"/> | Eesti Keel (Eesti) | [et_EE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/et_EE.po) | | 45%
<img src="https://joplinapp.org/images/flags/country-4x3/gb.png" width="16px"/> | English (United Kingdom) | [en_GB](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/en_GB.po) | | 100%
<img src="https://joplinapp.org/images/flags/country-4x3/us.png" width="16px"/> | English (United States of America) | [en_US](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/en_US.po) | | 100%
<img src="https://joplinapp.org/images/flags/country-4x3/es.png" width="16px"/> | Español (España) | [es_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/es_ES.po) | [Francisco Mora](mailto:francisco.m.collao@gmail.com) | 98%
<img src="https://joplinapp.org/images/flags/esperanto.png" width="16px"/> | Esperanto | [eo](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eo.po) | Marton Paulo | 28%
<img src="https://joplinapp.org/images/flags/country-4x3/es.png" width="16px"/> | Español (España) | [es_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/es_ES.po) | [Francisco Mora](mailto:francisco.m.collao@gmail.com) | 91%
<img src="https://joplinapp.org/images/flags/esperanto.png" width="16px"/> | Esperanto | [eo](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eo.po) | Marton Paulo | 26%
<img src="https://joplinapp.org/images/flags/country-4x3/fi.png" width="16px"/> | Finnish (Suomi) | [fi_FI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fi_FI.po) | mrkaato0 | 98%
<img src="https://joplinapp.org/images/flags/country-4x3/fr.png" width="16px"/> | Français (France) | [fr_FR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fr_FR.po) | Laurent Cozic | 100%
<img src="https://joplinapp.org/images/flags/es/galicia.png" width="16px"/> | Galician (España) | [gl_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/gl_ES.po) | [Marcos Lans](mailto:marcoslansgarza@gmail.com) | 32%
<img src="https://joplinapp.org/images/flags/country-4x3/id.png" width="16px"/> | Indonesian (Indonesia) | [id_ID](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/id_ID.po) | [eresytter](mailto:42007357+eresytter@users.noreply.github.com) | 88%
<img src="https://joplinapp.org/images/flags/country-4x3/it.png" width="16px"/> | Italiano (Italia) | [it_IT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/it_IT.po) | [Albano Battistella](mailto:albano_battistella@hotmail.com) | 86%
<img src="https://joplinapp.org/images/flags/country-4x3/hu.png" width="16px"/> | Magyar (Magyarország) | [hu_HU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hu_HU.po) | [Magyari Balázs](mailto:balmag@gmail.com) | 86%
<img src="https://joplinapp.org/images/flags/country-4x3/be.png" width="16px"/> | Nederlands (België, Belgique, Belgien) | [nl_BE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_BE.po) | | 88%
<img src="https://joplinapp.org/images/flags/country-4x3/nl.png" width="16px"/> | Nederlands (Nederland) | [nl_NL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_NL.po) | [MHolkamp](mailto:mholkamp@users.noreply.github.com) | 98%
<img src="https://joplinapp.org/images/flags/country-4x3/no.png" width="16px"/> | Norwegian (Norge, Noreg) | [nb_NO](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nb_NO.po) | [Mats Estensen](mailto:code@mxe.no) | 98%
<img src="https://joplinapp.org/images/flags/country-4x3/ir.png" width="16px"/> | Persian | [fa](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fa.po) | [Kourosh Firoozbakht](mailto:kourox@protonmail.com) | 62%
<img src="https://joplinapp.org/images/flags/country-4x3/pl.png" width="16px"/> | Polski (Polska) | [pl_PL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pl_PL.po) | [konhi](mailto:hello.konhi@gmail.com) | 81%
<img src="https://joplinapp.org/images/flags/country-4x3/br.png" width="16px"/> | Português (Brasil) | [pt_BR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_BR.po) | [Renato Nunes Bastos](mailto:rnbastos@gmail.com) | 98%
<img src="https://joplinapp.org/images/flags/country-4x3/pt.png" width="16px"/> | Português (Portugal) | [pt_PT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_PT.po) | [Diogo Caveiro](mailto:dcaveiro@yahoo.com) | 81%
<img src="https://joplinapp.org/images/flags/country-4x3/ro.png" width="16px"/> | Română | [ro](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ro.po) | [Cristi Duluta](mailto:cristi.duluta@gmail.com) | 57%
<img src="https://joplinapp.org/images/flags/country-4x3/si.png" width="16px"/> | Slovenian (Slovenija) | [sl_SI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sl_SI.po) | [Martin Korelič](mailto:martin.korelic@protonmail.com) | 90%
<img src="https://joplinapp.org/images/flags/country-4x3/se.png" width="16px"/> | Svenska | [sv](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sv.po) | [Jonatan Nyberg](mailto:jonatan@autistici.org) | 98%
<img src="https://joplinapp.org/images/flags/country-4x3/th.png" width="16px"/> | Thai (ประเทศไทย) | [th_TH](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/th_TH.po) | | 41%
<img src="https://joplinapp.org/images/flags/country-4x3/vn.png" width="16px"/> | Tiếng Việt | [vi](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/vi.po) | | 87%
<img src="https://joplinapp.org/images/flags/country-4x3/tr.png" width="16px"/> | Türkçe (Türkiye) | [tr_TR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/tr_TR.po) | [Arda Kılıçdağı](mailto:arda@kilicdagi.com) | 96%
<img src="https://joplinapp.org/images/flags/country-4x3/ua.png" width="16px"/> | Ukrainian (Україна) | [uk_UA](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/uk_UA.po) | [Vyacheslav Andreykiv](mailto:vandreykiv@gmail.com) | 80%
<img src="https://joplinapp.org/images/flags/country-4x3/gr.png" width="16px"/> | Ελληνικά (Ελλάδα) | [el_GR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/el_GR.po) | [Harris Arvanitis](mailto:xaris@tuta.io) | 98%
<img src="https://joplinapp.org/images/flags/country-4x3/ru.png" width="16px"/> | Русский (Россия) | [ru_RU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ru_RU.po) | [Sergey Segeda](mailto:thesermanarm@gmail.com) | 89%
<img src="https://joplinapp.org/images/flags/country-4x3/rs.png" width="16px"/> | српски језик (Србија) | [sr_RS](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sr_RS.po) | | 72%
<img src="https://joplinapp.org/images/flags/country-4x3/cn.png" width="16px"/> | 中文 (简体) | [zh_CN](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_CN.po) | [horaceyoung](mailto:paventyang@gmail.com) | 98%
<img src="https://joplinapp.org/images/flags/country-4x3/tw.png" width="16px"/> | 中文 (繁體) | [zh_TW](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_TW.po) | [SiderealArt](mailto:nelson22768384@gmail.com) | 87%
<img src="https://joplinapp.org/images/flags/country-4x3/jp.png" width="16px"/> | 日本語 (日本) | [ja_JP](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ja_JP.po) | [genneko](mailto:genneko217@gmail.com) | 100%
<img src="https://joplinapp.org/images/flags/country-4x3/kr.png" width="16px"/> | 한국어 | [ko](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ko.po) | [Ji-Hyeon Gim](mailto:potatogim@potatogim.net) | 86%
<img src="https://joplinapp.org/images/flags/country-4x3/fr.png" width="16px"/> | Français (France) | [fr_FR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fr_FR.po) | Laurent Cozic | 98%
<img src="https://joplinapp.org/images/flags/es/galicia.png" width="16px"/> | Galician (España) | [gl_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/gl_ES.po) | [Marcos Lans](mailto:marcoslansgarza@gmail.com) | 30%
<img src="https://joplinapp.org/images/flags/country-4x3/id.png" width="16px"/> | Indonesian (Indonesia) | [id_ID](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/id_ID.po) | [Wisnu Adi Santoso](mailto:waditos@gmail.com) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/it.png" width="16px"/> | Italiano (Italia) | [it_IT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/it_IT.po) | [Albano Battistella](mailto:albano_battistella@hotmail.com) | 80%
<img src="https://joplinapp.org/images/flags/country-4x3/hu.png" width="16px"/> | Magyar (Magyarország) | [hu_HU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hu_HU.po) | [Magyari Balázs](mailto:balmag@gmail.com) | 80%
<img src="https://joplinapp.org/images/flags/country-4x3/be.png" width="16px"/> | Nederlands (België, Belgique, Belgien) | [nl_BE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_BE.po) | | 81%
<img src="https://joplinapp.org/images/flags/country-4x3/nl.png" width="16px"/> | Nederlands (Nederland) | [nl_NL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_NL.po) | [MHolkamp](mailto:mholkamp@users.noreply.github.com) | 91%
<img src="https://joplinapp.org/images/flags/country-4x3/no.png" width="16px"/> | Norwegian (Norge, Noreg) | [nb_NO](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nb_NO.po) | [Mats Estensen](mailto:code@mxe.no) | 91%
<img src="https://joplinapp.org/images/flags/country-4x3/ir.png" width="16px"/> | Persian | [fa](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fa.po) | [Kourosh Firoozbakht](mailto:kourox@protonmail.com) | 57%
<img src="https://joplinapp.org/images/flags/country-4x3/pl.png" width="16px"/> | Polski (Polska) | [pl_PL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pl_PL.po) | [X3NO](mailto:X3NO@disroot.org) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/br.png" width="16px"/> | Português (Brasil) | [pt_BR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_BR.po) | [Renato Nunes Bastos](mailto:rnbastos@gmail.com) | 91%
<img src="https://joplinapp.org/images/flags/country-4x3/pt.png" width="16px"/> | Português (Portugal) | [pt_PT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_PT.po) | [Diogo Caveiro](mailto:dcaveiro@yahoo.com) | 75%
<img src="https://joplinapp.org/images/flags/country-4x3/ro.png" width="16px"/> | Română | [ro](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ro.po) | [Cristi Duluta](mailto:cristi.duluta@gmail.com) | 52%
<img src="https://joplinapp.org/images/flags/country-4x3/si.png" width="16px"/> | Slovenian (Slovenija) | [sl_SI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sl_SI.po) | [Martin Korelič](mailto:martin.korelic@protonmail.com) | 83%
<img src="https://joplinapp.org/images/flags/country-4x3/se.png" width="16px"/> | Svenska | [sv](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sv.po) | [Jonatan Nyberg](mailto:jonatan@autistici.org) | 99%
<img src="https://joplinapp.org/images/flags/country-4x3/th.png" width="16px"/> | Thai (ประเทศไทย) | [th_TH](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/th_TH.po) | | 38%
<img src="https://joplinapp.org/images/flags/country-4x3/vn.png" width="16px"/> | Tiếng Việt | [vi](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/vi.po) | | 80%
<img src="https://joplinapp.org/images/flags/country-4x3/tr.png" width="16px"/> | Türkçe (Türkiye) | [tr_TR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/tr_TR.po) | [Arda Kılıçdağı](mailto:arda@kilicdagi.com) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/ua.png" width="16px"/> | Ukrainian (Україна) | [uk_UA](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/uk_UA.po) | [Vyacheslav Andreykiv](mailto:vandreykiv@gmail.com) | 75%
<img src="https://joplinapp.org/images/flags/country-4x3/gr.png" width="16px"/> | Ελληνικά (Ελλάδα) | [el_GR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/el_GR.po) | [Harris Arvanitis](mailto:xaris@tuta.io) | 91%
<img src="https://joplinapp.org/images/flags/country-4x3/ru.png" width="16px"/> | Русский (Россия) | [ru_RU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ru_RU.po) | [Sergey Segeda](mailto:thesermanarm@gmail.com) | 83%
<img src="https://joplinapp.org/images/flags/country-4x3/rs.png" width="16px"/> | српски језик (Србија) | [sr_RS](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sr_RS.po) | | 67%
<img src="https://joplinapp.org/images/flags/country-4x3/cn.png" width="16px"/> | 中文 (简体) | [zh_CN](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_CN.po) | [KaneGreen](mailto:737445366KG@Gmail.com) | 97%
<img src="https://joplinapp.org/images/flags/country-4x3/tw.png" width="16px"/> | 中文 (繁體) | [zh_TW](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_TW.po) | [Kevin Hsu](mailto:kevin.hsu.hws@gmail.com) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/jp.png" width="16px"/> | 日本語 (日本) | [ja_JP](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ja_JP.po) | [genneko](mailto:genneko217@gmail.com) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/kr.png" width="16px"/> | 한국어 | [ko](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ko.po) | [Ji-Hyeon Gim](mailto:potatogim@potatogim.net) | 92%
<!-- LOCALE-TABLE-AUTO-GENERATED -->
# Contributors

View File

@@ -9,3 +9,7 @@ Only the latest version is supported with security updates.
Please [contact support](https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/AdresseSupport.png) **with a proof of concept** that shows the security vulnerability. Please do not contact us without this proof of concept, as we cannot fix anything without this.
For general opinions on what makes an app more or less secure, please use the forum.
## Bounty
We **do not** offer a bounty for discovering vulnerabilities, please do not ask. We can however credit you and link to your website in the changelog and release announcement.

View File

@@ -48,7 +48,6 @@
"Abhishek",
"Abkhazian",
"accel",
"accomodate",
"accum",
"actualkeyword",
"adata",
@@ -210,7 +209,6 @@
"dialogs",
"Dialogs",
"DIALOGS",
"Dicourse",
"Distill",
"dists",
"docid",
@@ -327,6 +325,7 @@
"homenote",
"hotfolder",
"Howver",
"hpagent",
"Hrvatska",
"htmlentities",
"htmlfile",
@@ -351,7 +350,6 @@
"infint",
"inflim",
"infty",
"innaccurate",
"inputi",
"inserttable",
"Interlingue",
@@ -727,8 +725,6 @@
"Stringifiable",
"subdir",
"subl",
"sublty",
"sucessful",
"Suomi",
"Sūriyya",
"Svenska",
@@ -955,4 +951,4 @@
"မြန်မာ",
"កម្ពុជា"
]
}
}

View File

@@ -6,7 +6,7 @@ version: '3'
services:
db:
image: postgres:13
image: postgres:15
command: postgres -c work_mem=100000
ports:
- "5432:5432"

View File

@@ -18,7 +18,7 @@ services:
- POSTGRES_PORT=5432
- POSTGRES_HOST=localhost
db:
image: postgres:13
image: postgres:15
ports:
- "5432:5432"
environment:

View File

@@ -19,7 +19,7 @@ version: '3'
services:
db:
image: postgres:13
image: postgres:15
volumes:
- ./data/postgres:/var/lib/postgresql/data
ports:

View File

@@ -6,15 +6,9 @@
],
"settings": {
"files.exclude": {
".yarn": true,
"lerna-debug.log": true,
"_mydocs/mdtest/": true,
"./packages/lib/plugin_types": true,
"_releases/": true,
"_vieux/": true,
".gitignore": true,
".eslintignore": true,
"**/*.jpl": true,
"./packages/app-cli/**/*.*~": true,
"./packages/app-cli/**/*.mo": true,
"./packages/app-cli/**/build/": true,
@@ -103,26 +97,32 @@
"./packages/app-mobile/fastlane/Preview.html": true,
"./packages/app-mobile/fastlane/report.xml": true,
"./packages/app-mobile/fastlane/screenshots": true,
"./packages/renderer/**/.vscode/": true,
"./packages/renderer/**/copyLib.bat": true,
"./packages/renderer/**/node_modules/": true,
"./packages/app-tools/**/*-kct.*": true,
"./packages/app-tools/**/github_username_cache.json": true,
"./packages/app-tools/**/patreon_oauth_token.txt": true,
"./packages/lib/plugin_types": true,
"./packages/renderer/**/.vscode/": true,
"./packages/renderer/**/copyLib.bat": true,
"./packages/renderer/**/node_modules/": true,
".eslintignore": true,
".gitignore": true,
".vscode/*": true,
".yarn": true,
"*.sublime-workspace": true,
"**/_mydocs": true,
"**/_mydocs/EnexSamples/*.enex": true,
"**/_releases": true,
"**/_vieux/": true,
"**/.DS_Store": true,
"**/*?.js": { "when": "$(basename).tsx"},
"**/*.base64": true,
"**/*~": true,
"**/*.bundle.js": true,
"**/*.eot": true,
"**/*.icns": true,
"**/*.ico": true,
"**/*.jar": true,
"**/*.jpl": true,
"**/*.js": {"when": "$(basename).ts"},
"**/*.map": true,
"**/*.min.css": true,
"**/*.min.js": true,
@@ -135,6 +135,7 @@
"**/*.ttf": true,
"**/*.woff": true,
"**/*.woff2": true,
"**/*~": true,
"**/app/data/uploads/": true,
"**/Clipper-source/": true,
"**/docs/*.html": true,
@@ -171,11 +172,13 @@
"app/config/parameters.yml": true,
"app/data/uploads/.gitkeep": false,
"Assets/DownloadBadges*.psd": true,
"Assets/TinyMCE/langs": true,
"Assets/WebsiteAssets/locales/*.mo": true,
"build/": true,
"docs/": true,
"docs/images/flags": true,
"lerna-debug.log": true,
"node_modules/": true,
"Assets/TinyMCE/langs": true,
"packages/app-cli/**/*.*~": true,
"packages/app-cli/**/*.mo": true,
"packages/app-cli/**/build/": true,
@@ -224,7 +227,6 @@
"packages/app-cli/tests/support/plugins/toc/**/dist/": true,
"packages/app-cli/tests/sync/": true,
"packages/app-cli/tests/tmp/": true,
"packages/htmlpack/dist/": true,
"packages/app-clipper/**/dist/": true,
"packages/app-clipper/content_scripts/**/*.bundle.js": true,
"packages/app-clipper/dist/": true,
@@ -250,7 +252,6 @@
"packages/app-desktop/**/pluginAssets/": true,
"packages/app-desktop/build/icons/": true,
"packages/app-desktop/build/images/": true,
"packages/app-desktop/vendor/lib/": true,
"packages/app-desktop/dist/": true,
"packages/app-desktop/fonts/": true,
"packages/app-desktop/gui/note-viewer/highlight/styles/": true,
@@ -258,6 +259,7 @@
"packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/supportedLocales.js": true,
"packages/app-desktop/lib/": true,
"packages/app-desktop/locale/": true,
"packages/app-desktop/vendor/lib/": true,
"packages/app-mobile/**/.DS_Store": true,
"packages/app-mobile/**/.gradle": true,
"packages/app-mobile/**/.idea": true,
@@ -305,6 +307,16 @@
"packages/app-mobile/fastlane/screenshots": true,
"packages/app-mobile/ios/build/": true,
"packages/app-mobile/lib/csstojs/": true,
"packages/app-mobile/lib/rnInjectedJs/": true,
"packages/app-mobile/lib/sql-extensions/spellfix.so": true,
"packages/app-mobile/node_modules/": true,
"packages/app-tools/**/*-kct.*": true,
"packages/app-tools/**/github_username_cache.json": true,
"packages/app-tools/**/patreon_oauth_token.txt": true,
"packages/app-tools/commit_hook.txt": true,
"packages/app-tools/github_oauth_token.txt": true,
"packages/generator-joplin/generators/app/templates/api/": true,
"packages/htmlpack/dist/": true,
"packages/renderer/**/.vscode/": true,
"packages/renderer/**/copyLib.bat": true,
"packages/renderer/**/node_modules/": true,
@@ -312,22 +324,13 @@
"packages/renderer/MdToHtml/rules/fence.js": true,
"packages/renderer/MdToHtml/rules/mermaid.js": true,
"packages/renderer/MdToHtml/rules/sanitize_html.js": true,
"packages/app-mobile/lib/rnInjectedJs/": true,
"packages/app-mobile/lib/sql-extensions/spellfix.so": true,
"packages/server/dist/": true,
"packages/server/db-*.sqlite": true,
"packages/server/test.pid": true,
"packages/server/dist/": true,
"packages/server/temp": true,
"packages/generator-joplin/generators/app/templates/api/": true,
"packages/app-mobile/node_modules/": true,
"packages/server/test.pid": true,
"phpunit.xml": true,
"Server/db*.sqlite/": true,
"Server/dist/": true,
"packages/app-tools/**/*-kct.*": true,
"packages/app-tools/**/github_username_cache.json": true,
"packages/app-tools/**/patreon_oauth_token.txt": true,
"packages/app-tools/commit_hook.txt": true,
"packages/app-tools/github_oauth_token.txt": true,
"var/*": true,
"var/cache": false,
"var/cache/.gitkeep": false,
@@ -342,8 +345,6 @@
"vendor/": true,
"web/bundles/": true,
"web/env.php": true,
"**/*.js": {"when": "$(basename).ts"},
"**/*?.js": { "when": "$(basename).tsx"},
}
}
}

View File

@@ -2,5 +2,6 @@
"packages": [
"packages/*"
],
"version": "independent"
"version": "independent",
"useWorkspaces": true
}

View File

@@ -13,7 +13,5 @@ module.exports = {
'*.{js,jsx,ts,tsx}': [
'yarn run linter-precommit',
'yarn run checkLibPaths',
'yarn run spellcheck',
'git add',
],
};

View File

@@ -12,8 +12,8 @@
"node": ">=16"
},
"scripts": {
"buildParallel": "yarn workspaces foreach --verbose --interlaced --parallel --jobs 2 run build && yarn run tsc",
"buildSequential": "yarn workspaces foreach --verbose --interlaced run build && yarn run tsc",
"buildParallel": "yarn workspaces foreach --verbose --interlaced --parallel --jobs 2 --topological run build && yarn run tsc",
"buildSequential": "yarn workspaces foreach --verbose --interlaced --topological run build && yarn run tsc",
"buildApiDoc": "yarn workspace joplin start apidoc ../../readme/api/references/rest_api.md",
"buildCommandIndex": "gulp buildCommandIndex",
"buildPluginDoc": "typedoc --name 'Joplin Plugin API Documentation' --mode file -theme './Assets/PluginDocTheme/' --readme './Assets/PluginDocTheme/index.md' --excludeNotExported --excludeExternals --excludePrivate --excludeProtected --out ../joplin-website/docs/api/references/plugin_api packages/lib/services/plugins/api/",
@@ -21,6 +21,7 @@
"updateNews": "node ./packages/tools/website/updateNews",
"buildSettingJsonSchema": "yarn workspace joplin start settingschema ../../../joplin-website/docs/schema/settings.json",
"buildTranslations": "node packages/tools/build-translation.js",
"buildWebsiteTranslations": "node packages/tools/website/buildTranslations.js",
"buildWebsite": "node ./packages/tools/website/build.js && yarn run buildPluginDoc && yarn run buildSettingJsonSchema",
"checkLibPaths": "node ./packages/tools/checkLibPaths.js",
"circularDependencyCheck": "madge --warning --circular --extensions js ./",
@@ -31,6 +32,8 @@
"linter-ci": "eslint --resolve-plugins-relative-to . --quiet --ext .js --ext .jsx --ext .ts --ext .tsx",
"linter-precommit": "eslint --resolve-plugins-relative-to . --fix --ext .js --ext .jsx --ext .ts --ext .tsx",
"linter": "eslint --resolve-plugins-relative-to . --fix --quiet --ext .js --ext .jsx --ext .ts --ext .tsx",
"linter-interactive": "eslint-interactive --resolve-plugins-relative-to . --fix --quiet --ext .js --ext .jsx --ext .ts --ext .tsx",
"packageJsonLint": "npmPkgJsonLint --configFile .npmpackagejsonlintrc.json --quiet .",
"postinstall": "gulp build",
"publishAll": "git pull && yarn run buildParallel && lerna version --yes --no-private --no-git-tag-version && gulp completePublishAll",
"releaseAndroid": "PATH=\"/usr/local/opt/openjdk@11/bin:$PATH\" node packages/tools/release-android.js",
@@ -53,35 +56,39 @@
"updateIgnored": "gulp updateIgnoredTypeScriptBuild",
"updatePluginTypes": "./packages/generator-joplin/updateTypes.sh",
"watch": "yarn workspaces foreach --parallel --verbose --interlaced --jobs 999 run watch",
"watchWebsite": "nodemon --verbose --watch Assets/WebsiteAssets --watch packages/tools/website/build.js --ext md,ts,js,mustache,css,tsx,gif,png,svg --exec \"node packages/tools/website/build.js && http-server --port 8077 ../joplin-website/docs -a localhost\""
"watchWebsite": "nodemon --verbose --watch Assets/WebsiteAssets --watch packages/tools/website --watch packages/tools/website/utils --ext md,ts,js,mustache,css,tsx,gif,png,svg --exec \"node packages/tools/website/build.js && http-server --port 8077 ../joplin-website/docs -a localhost\""
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
"pre-commit": "lint-staged && yarn run packageJsonLint"
}
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^4.6.0",
"@typescript-eslint/parser": "^4.6.0",
"cspell": "^5.20.0",
"eslint": "^7.6.0",
"eslint-plugin-import": "^2.20.2",
"eslint-plugin-react": "^7.18.0",
"eslint-plugin-react-hooks": "^2.4.0",
"fs-extra": "^8.1.0",
"glob": "^7.1.6",
"gulp": "^4.0.2",
"husky": "^3.0.2",
"lerna": "^3.22.1",
"lint-staged": "^9.2.1",
"madge": "^4.0.2",
"typedoc": "^0.17.8",
"typescript": "4.0.5"
"@seiyab/eslint-plugin-react-hooks": "4.5.1-beta.0",
"@typescript-eslint/eslint-plugin": "5.47.1",
"@typescript-eslint/parser": "5.47.1",
"cspell": "5.21.2",
"eslint": "8.30.0",
"eslint-interactive": "10.3.0",
"eslint-plugin-import": "2.26.0",
"eslint-plugin-promise": "6.1.1",
"eslint-plugin-react": "7.31.11",
"fs-extra": "11.1.0",
"glob": "8.0.3",
"gulp": "4.0.2",
"husky": "3.1.0",
"lerna": "3.22.1",
"lint-staged": "13.1.0",
"madge": "5.0.1",
"npm-package-json-lint": "6.4.0",
"typedoc": "0.17.8",
"typescript": "4.9.4"
},
"dependencies": {
"http-server": "^0.12.3",
"node-gyp": "^8.4.1",
"nodemon": "^2.0.9"
"@types/fs-extra": "9.0.13",
"http-server": "14.1.1",
"node-gyp": "9.3.1",
"nodemon": "2.0.20"
},
"packageManager": "yarn@3.1.1"
"packageManager": "yarn@3.3.1"
}

View File

@@ -33,7 +33,7 @@ const ResourceServer = require('./ResourceServer.js');
const NoteMetadataWidget = require('./gui/NoteMetadataWidget.js');
const FolderListWidget = require('./gui/FolderListWidget.js');
const NoteListWidget = require('./gui/NoteListWidget.js');
const StatusBarWidget = require('./gui/StatusBarWidget.js');
const StatusBarWidget = require('./gui/StatusBarWidget').default;
const ConsoleWidget = require('./gui/ConsoleWidget.js');
const LinkSelector = require('./LinkSelector.js').default;
@@ -375,6 +375,11 @@ class AppGui {
this.showNoteMetadata(!this.widget('noteMetadata').shown);
}
toggleFolderIds() {
this.widget('folderList').toggleShowIds();
this.widget('noteList').toggleShowIds();
}
widget(name) {
if (name === 'root') return this.rootWidget_;
return this.rootWidget_.childByName(name);
@@ -412,7 +417,7 @@ class AppGui {
const widget = this.widget('mainWindow').focusedWidget;
if (!widget) return null;
if (widget.name == 'noteList' || widget.name == 'folderList') {
if (widget.name === 'noteList' || widget.name === 'folderList') {
return widget.currentItem;
}
@@ -498,6 +503,8 @@ class AppGui {
}
} else if (cmd === 'toggle_metadata') {
this.toggleNoteMetadata();
} else if (cmd === 'toggle_ids') {
this.toggleFolderIds();
} else if (cmd === 'enter_command_line_mode') {
const cmd = await this.widget('statusBar').prompt();
if (!cmd) return;
@@ -521,11 +528,11 @@ class AppGui {
const args = splitCommandString(cmd);
for (let i = 0; i < args.length; i++) {
if (args[i] == '$n') {
if (args[i] === '$n') {
args[i] = note ? note.id : '';
} else if (args[i] == '$b') {
} else if (args[i] === '$b') {
args[i] = folder ? folder.id : '';
} else if (args[i] == '$c') {
} else if (args[i] === '$c') {
const item = this.activeListItem();
args[i] = item ? item.id : '';
}

View File

@@ -16,6 +16,7 @@ const { cliUtils } = require('./cli-utils.js');
const Cache = require('@joplin/lib/Cache');
const RevisionService = require('@joplin/lib/services/RevisionService').default;
const shim = require('@joplin/lib/shim').default;
const setupCommand = require('./setupCommand').default;
class Application extends BaseApplication {
constructor() {
@@ -81,21 +82,21 @@ class Application extends BaseApplication {
pattern = pattern ? pattern.toString() : '';
if (type == BaseModel.TYPE_FOLDER && (pattern == Folder.conflictFolderTitle() || pattern == Folder.conflictFolderId())) return [Folder.conflictFolder()];
if (type === BaseModel.TYPE_FOLDER && (pattern === Folder.conflictFolderTitle() || pattern === Folder.conflictFolderId())) return [Folder.conflictFolder()];
if (!options) options = {};
const parent = options.parent ? options.parent : app().currentFolder();
const ItemClass = BaseItem.itemClass(type);
if (type == BaseModel.TYPE_NOTE && pattern.indexOf('*') >= 0) {
if (type === BaseModel.TYPE_NOTE && pattern.indexOf('*') >= 0) {
// Handle it as pattern
if (!parent) throw new Error(_('No notebook selected.'));
return await Note.previews(parent.id, { titlePattern: pattern });
} else {
// Single item
let item = null;
if (type == BaseModel.TYPE_NOTE) {
if (type === BaseModel.TYPE_NOTE) {
if (!parent) throw new Error(_('No notebook has been specified.'));
item = await ItemClass.loadFolderNoteByField(parent.id, 'title', pattern);
} else {
@@ -114,46 +115,12 @@ class Application extends BaseApplication {
return [];
}
stdout(text) {
return this.gui().stdout(text);
setupCommand(cmd) {
return setupCommand(cmd, t => this.stdout(t), () => this.store(), () => this.gui());
}
setupCommand(cmd) {
cmd.setStdout(text => {
return this.stdout(text);
});
cmd.setDispatcher(action => {
if (this.store()) {
return this.store().dispatch(action);
} else {
return () => {};
}
});
cmd.setPrompt(async (message, options) => {
if (!options) options = {};
if (!options.type) options.type = 'boolean';
if (!options.booleanAnswerDefault) options.booleanAnswerDefault = 'y';
if (!options.answers) options.answers = options.booleanAnswerDefault === 'y' ? [_('Y'), _('n')] : [_('N'), _('y')];
if (options.type == 'boolean') {
message += ` (${options.answers.join('/')})`;
}
let answer = await this.gui().prompt('', `${message} `, options);
if (options.type === 'boolean') {
if (answer === null) return false; // Pressed ESCAPE
if (!answer) answer = options.answers[0];
const positiveIndex = options.booleanAnswerDefault == 'y' ? 0 : 1;
return answer.toLowerCase() === options.answers[positiveIndex].toLowerCase();
} else {
return answer;
}
});
return cmd;
stdout(text) {
return this.gui().stdout(text);
}
async exit(code = 0) {
@@ -180,8 +147,9 @@ class Application extends BaseApplication {
if (!this.allCommandsLoaded_) {
fs.readdirSync(__dirname).forEach(path => {
if (path.indexOf('command-') !== 0) return;
if (path.endsWith('.test.js')) return;
const ext = fileExtension(path);
if (ext != 'js') return;
if (ext !== 'js') return;
const CommandClass = require(`./${path}`);
let cmd = new CommandClass();
@@ -332,6 +300,7 @@ class Application extends BaseApplication {
{ keys: [' '], command: 'todo toggle $n' },
{ keys: ['tc'], type: 'function', command: 'toggle_console' },
{ keys: ['tm'], type: 'function', command: 'toggle_metadata' },
{ keys: ['ti'], type: 'function', command: 'toggle_ids' },
{ keys: ['/'], type: 'prompt', command: 'search ""', cursorPosition: -2 },
{ keys: ['mn'], type: 'prompt', command: 'mknote ""', cursorPosition: -2 },
{ keys: ['mt'], type: 'prompt', command: 'mktodo ""', cursorPosition: -2 },

View File

@@ -12,7 +12,7 @@ async function handleAutocompletionPromise(line) {
const words = getArguments(line);
// If there is only one word and it is not already a command name then you
// should look for commands it could be
if (words.length == 1) {
if (words.length === 1) {
if (names.indexOf(words[0]) === -1) {
const x = names.filter(n => n.indexOf(words[0]) === 0);
if (x.length === 1) {
@@ -78,38 +78,38 @@ async function handleAutocompletionPromise(line) {
const currentFolder = app().currentFolder();
if (argName == 'note' || argName == 'note-pattern') {
if (argName === 'note' || argName === 'note-pattern') {
const notes = currentFolder ? await Note.previews(currentFolder.id, { titlePattern: `${next}*` }) : [];
l.push(...notes.map(n => n.title));
}
if (argName == 'notebook') {
if (argName === 'notebook') {
const folders = await Folder.search({ titlePattern: `${next}*` });
l.push(...folders.map(n => n.title));
}
if (argName == 'item') {
if (argName === 'item') {
const notes = currentFolder ? await Note.previews(currentFolder.id, { titlePattern: `${next}*` }) : [];
const folders = await Folder.search({ titlePattern: `${next}*` });
l.push(...notes.map(n => n.title), folders.map(n => n.title));
}
if (argName == 'tag') {
if (argName === 'tag') {
const tags = await Tag.search({ titlePattern: `${next}*` });
l.push(...tags.map(n => n.title));
}
if (argName == 'file') {
if (argName === 'file') {
const files = await fs.readdir('.');
l.push(...files);
}
if (argName == 'tag-command') {
if (argName === 'tag-command') {
const c = filterList(['add', 'remove', 'list', 'notetags'], next);
l.push(...c);
}
if (argName == 'todo-command') {
if (argName === 'todo-command') {
const c = filterList(['toggle', 'clear'], next);
l.push(...c);
}
@@ -124,6 +124,7 @@ async function handleAutocompletionPromise(line) {
return line;
}
function handleAutocompletion(str, callback) {
// eslint-disable-next-line promise/prefer-await-to-then -- Old code before rule was applied
handleAutocompletionPromise(str).then(function(res) {
callback(undefined, res);
});

View File

@@ -1,97 +1,97 @@
const { _ } = require('@joplin/lib/locale');
const { reg } = require('@joplin/lib/registry.js');
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const locale_1 = require("@joplin/lib/locale");
const registry_js_1 = require("@joplin/lib/registry.js");
class BaseCommand {
constructor() {
this.stdout_ = null;
this.prompt_ = null;
}
usage() {
throw new Error('Usage not defined');
}
encryptionCheck(item) {
if (item && item.encryption_applied) throw new Error(_('Cannot change encrypted item'));
}
description() {
throw new Error('Description not defined');
}
async action() {
throw new Error('Action not defined');
}
compatibleUis() {
return ['cli', 'gui'];
}
supportsUi(ui) {
return this.compatibleUis().indexOf(ui) >= 0;
}
options() {
return [];
}
hidden() {
return false;
}
enabled() {
return true;
}
cancellable() {
return false;
}
async cancel() {}
name() {
const r = this.usage().split(' ');
return r[0];
}
setDispatcher(fn) {
this.dispatcher_ = fn;
}
dispatch(action) {
if (!this.dispatcher_) throw new Error('Dispatcher not defined');
return this.dispatcher_(action);
}
setStdout(fn) {
this.stdout_ = fn;
}
stdout(text) {
if (this.stdout_) this.stdout_(text);
}
setPrompt(fn) {
this.prompt_ = fn;
}
async prompt(message, options = null) {
if (!this.prompt_) throw new Error('Prompt is undefined');
return await this.prompt_(message, options);
}
metadata() {
return {
name: this.name(),
usage: this.usage(),
options: this.options(),
hidden: this.hidden(),
};
}
logger() {
return reg.logger();
}
constructor() {
this.stdout_ = null;
this.prompt_ = null;
}
usage() {
throw new Error('Usage not defined');
}
encryptionCheck(item) {
if (item && item.encryption_applied)
throw new Error((0, locale_1._)('Cannot change encrypted item'));
}
description() {
throw new Error('Description not defined');
}
action(_args) {
return __awaiter(this, void 0, void 0, function* () {
throw new Error('Action not defined');
});
}
compatibleUis() {
return ['cli', 'gui'];
}
supportsUi(ui) {
return this.compatibleUis().indexOf(ui) >= 0;
}
options() {
return [];
}
hidden() {
return false;
}
enabled() {
return true;
}
cancellable() {
return false;
}
cancel() {
return __awaiter(this, void 0, void 0, function* () { });
}
name() {
const r = this.usage().split(' ');
return r[0];
}
setDispatcher(fn) {
this.dispatcher_ = fn;
}
dispatch(action) {
if (!this.dispatcher_)
throw new Error('Dispatcher not defined');
return this.dispatcher_(action);
}
setStdout(fn) {
this.stdout_ = fn;
}
stdout(text) {
if (this.stdout_)
this.stdout_(text);
}
setPrompt(fn) {
this.prompt_ = fn;
}
prompt(message, options = null) {
return __awaiter(this, void 0, void 0, function* () {
if (!this.prompt_)
throw new Error('Prompt is undefined');
return yield this.prompt_(message, options);
});
}
metadata() {
return {
name: this.name(),
usage: this.usage(),
options: this.options(),
hidden: this.hidden(),
};
}
logger() {
return registry_js_1.reg.logger();
}
}
module.exports = { BaseCommand };
exports.default = BaseCommand;
//# sourceMappingURL=base-command.js.map

View File

@@ -0,0 +1,95 @@
import { _ } from '@joplin/lib/locale';
import { reg } from '@joplin/lib/registry.js';
export default class BaseCommand {
protected stdout_: any = null;
protected prompt_: any = null;
protected dispatcher_: any;
usage(): string {
throw new Error('Usage not defined');
}
encryptionCheck(item: any) {
if (item && item.encryption_applied) throw new Error(_('Cannot change encrypted item'));
}
description() {
throw new Error('Description not defined');
}
async action(_args: any) {
throw new Error('Action not defined');
}
compatibleUis() {
return ['cli', 'gui'];
}
supportsUi(ui: string) {
return this.compatibleUis().indexOf(ui) >= 0;
}
options(): any[] {
return [];
}
hidden() {
return false;
}
enabled() {
return true;
}
cancellable() {
return false;
}
async cancel() {}
name() {
const r = this.usage().split(' ');
return r[0];
}
setDispatcher(fn: Function) {
this.dispatcher_ = fn;
}
dispatch(action: any) {
if (!this.dispatcher_) throw new Error('Dispatcher not defined');
return this.dispatcher_(action);
}
setStdout(fn: Function) {
this.stdout_ = fn;
}
stdout(text: string) {
if (this.stdout_) this.stdout_(text);
}
setPrompt(fn: Function) {
this.prompt_ = fn;
}
async prompt(message: string, options: any = null) {
if (!this.prompt_) throw new Error('Prompt is undefined');
return await this.prompt_(message, options);
}
metadata() {
return {
name: this.name(),
usage: this.usage(),
options: this.options(),
hidden: this.hidden(),
};
}
logger() {
return reg.logger();
}
}

View File

@@ -52,7 +52,7 @@ function getCommands() {
fs.readdirSync(__dirname).forEach(path => {
if (path.indexOf('command-') !== 0) return;
const ext = fileExtension(path);
if (ext != 'js') return;
if (ext !== 'js') return;
const CommandClass = require(`./${path}`);
const cmd = new CommandClass();

View File

@@ -222,7 +222,7 @@ async function main() {
for (const n in testUnits) {
if (!testUnits.hasOwnProperty(n)) continue;
if (onlyThisTest && n != onlyThisTest) continue;
if (onlyThisTest && n !== onlyThisTest) continue;
await clearDatabase();
const testName = n.substr(4).toLowerCase();

View File

@@ -21,7 +21,7 @@ cliUtils.printArray = function(logFunction, rows) {
for (let j = 0; j < row.length; j++) {
const item = row[j];
const width = item ? item.toString().length : 0;
const align = typeof item == 'number' ? ALIGN_RIGHT : ALIGN_LEFT;
const align = typeof item === 'number' ? ALIGN_RIGHT : ALIGN_LEFT;
if (!colWidths[j] || colWidths[j] < width) colWidths[j] = width;
if (colAligns.length <= j) colAligns[j] = align;
}
@@ -32,7 +32,7 @@ cliUtils.printArray = function(logFunction, rows) {
for (let col = 0; col < colWidths.length; col++) {
const item = rows[row][col];
const width = colWidths[col];
const dir = colAligns[col] == ALIGN_LEFT ? stringPadding.RIGHT : stringPadding.LEFT;
const dir = colAligns[col] === ALIGN_LEFT ? stringPadding.RIGHT : stringPadding.LEFT;
line.push(stringPadding(item, width, ' ', dir));
}
logFunction(line.join(' '));
@@ -45,13 +45,13 @@ cliUtils.parseFlags = function(flags) {
for (let i = 0; i < flags.length; i++) {
let f = flags[i].trim();
if (f.substr(0, 2) == '--') {
if (f.substr(0, 2) === '--') {
f = f.split(' ');
output.long = f[0].substr(2).trim();
if (f.length == 2) {
if (f.length === 2) {
output.arg = cliUtils.parseCommandArg(f[1].trim());
}
} else if (f.substr(0, 1) == '-') {
} else if (f.substr(0, 1) === '-') {
output.short = f.substr(1);
}
}
@@ -65,9 +65,9 @@ cliUtils.parseCommandArg = function(arg) {
const c2 = arg[arg.length - 1];
const name = arg.substr(1, arg.length - 2);
if (c1 == '<' && c2 == '>') {
if (c1 === '<' && c2 === '>') {
return { required: true, name: name };
} else if (c1 == '[' && c2 == ']') {
} else if (c1 === '[' && c2 === ']') {
return { required: false, name: name };
} else {
throw new Error(`Invalid command arg: ${arg}`);
@@ -83,7 +83,7 @@ cliUtils.makeCommandArgs = function(cmd, argv) {
const booleanFlags = [];
const aliases = {};
for (let i = 0; i < options.length; i++) {
if (options[i].length != 2) throw new Error(`Invalid options: ${options[i]}`);
if (options[i].length !== 2) throw new Error(`Invalid options: ${options[i]}`);
let flags = options[i][0];
flags = cliUtils.parseFlags(flags);
@@ -117,7 +117,7 @@ cliUtils.makeCommandArgs = function(cmd, argv) {
const argOptions = {};
for (const key in args) {
if (!args.hasOwnProperty(key)) continue;
if (key == '_') continue;
if (key === '_') continue;
argOptions[key] = args[key];
}
@@ -170,7 +170,7 @@ cliUtils.promptConfirm = function(message, answers = null) {
return new Promise((resolve) => {
rl.question(`${message} `, answer => {
const ok = !answer || answer.toLowerCase() == answers[0].toLowerCase();
const ok = !answer || answer.toLowerCase() === answers[0].toLowerCase();
rl.close();
resolve(ok);
});

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const BaseItem = require('@joplin/lib/models/BaseItem').default;
const BaseModel = require('@joplin/lib/BaseModel').default;
const { toTitleCase } = require('@joplin/lib/string-utils.js');

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const { app } = require('./app.js');
const { _ } = require('@joplin/lib/locale');
const BaseModel = require('@joplin/lib/BaseModel').default;

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const { _ } = require('@joplin/lib/locale');
class Command extends BaseCommand {

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const { app } = require('./app.js');
const { _ } = require('@joplin/lib/locale');
const BaseModel = require('@joplin/lib/BaseModel').default;

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const { _, setLocale } = require('@joplin/lib/locale');
const { app } = require('./app.js');
const fs = require('fs-extra');
@@ -122,7 +122,7 @@ class Command extends BaseCommand {
}
if (args.name == 'locale') {
if (args.name === 'locale') {
setLocale(Setting.value('locale'));
}

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const { app } = require('./app.js');
const { _ } = require('@joplin/lib/locale');
const BaseModel = require('@joplin/lib/BaseModel').default;

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const { app } = require('./app.js');
const { _ } = require('@joplin/lib/locale');
const BaseModel = require('@joplin/lib/BaseModel').default;

View File

@@ -0,0 +1,27 @@
import Note from '@joplin/lib/models/Note';
import { NoteEntity } from '@joplin/lib/services/database/types';
import { setupDatabaseAndSynchronizer, switchClient } from '@joplin/lib/testing/test-utils';
import { setupCommandForTesting, setupApplication } from './utils/testUtils';
const Command = require('./command-done');
describe('command-done', () => {
beforeEach(async () => {
await setupDatabaseAndSynchronizer(1);
await switchClient(1);
await setupApplication();
});
it('should make a note as "done"', async () => {
const note = await Note.save({ title: 'hello', is_todo: 1, todo_completed: 0 });
const command = setupCommandForTesting(Command);
const now = Date.now();
await command.action({ note: note.id });
const checkNote: NoteEntity = await Note.load(note.id);
expect(checkNote.todo_completed).toBeGreaterThanOrEqual(now);
});
});

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const Folder = require('@joplin/lib/models/Folder').default;
const Note = require('@joplin/lib/models/Note').default;
const Tag = require('@joplin/lib/models/Tag').default;

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
import { _ } from '@joplin/lib/locale';
import EncryptionService from '@joplin/lib/services/e2ee/EncryptionService';
import DecryptionWorker from '@joplin/lib/services/DecryptionWorker';

View File

@@ -1,5 +1,5 @@
const fs = require('fs-extra');
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const { splitCommandString } = require('@joplin/lib/string-utils.js');
const uuid = require('@joplin/lib/uuid').default;
const { app } = require('./app.js');

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const { app } = require('./app.js');
const { _ } = require('@joplin/lib/locale');

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const { app } = require('./app.js');
const Setting = require('@joplin/lib/models/Setting').default;
const ReportService = require('@joplin/lib/services/ReportService').default;

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const InteropService = require('@joplin/lib/services/interop/InteropService').default;
const BaseModel = require('@joplin/lib/BaseModel').default;
const { app } = require('./app.js');

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const { app } = require('./app.js');
const { _ } = require('@joplin/lib/locale');
const BaseModel = require('@joplin/lib/BaseModel').default;

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const { app } = require('./app.js');
const { renderCommandHelp } = require('./help-utils.js');
const { _ } = require('@joplin/lib/locale');

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const InteropService = require('@joplin/lib/services/interop/InteropService').default;
const BaseModel = require('@joplin/lib/BaseModel').default;
const { cliUtils } = require('./cli-utils.js');

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const { app } = require('./app.js');
const { _ } = require('@joplin/lib/locale');
const BaseModel = require('@joplin/lib/BaseModel').default;
@@ -44,7 +44,7 @@ class Command extends BaseCommand {
queryOptions.orderBy = options.sort;
queryOptions.orderByDir = 'ASC';
}
if (options.reverse === true) queryOptions.orderByDir = queryOptions.orderByDir == 'ASC' ? 'DESC' : 'ASC';
if (options.reverse === true) queryOptions.orderByDir = queryOptions.orderByDir === 'ASC' ? 'DESC' : 'ASC';
queryOptions.caseInsensitive = true;
if (options.type) {
queryOptions.itemTypes = [];
@@ -55,7 +55,7 @@ class Command extends BaseCommand {
queryOptions.uncompletedTodosOnTop = Setting.value('uncompletedTodosOnTop');
let modelType = null;
if (pattern == '/' || !app().currentFolder()) {
if (pattern === '/' || !app().currentFolder()) {
queryOptions.includeConflictFolder = true;
items = await Folder.all(queryOptions);
modelType = Folder.modelType();
@@ -65,7 +65,7 @@ class Command extends BaseCommand {
modelType = Note.modelType();
}
if (options.format && options.format == 'json') {
if (options.format && options.format === 'json') {
this.stdout(JSON.stringify(items));
} else {
let hasTodos = false;
@@ -88,7 +88,7 @@ class Command extends BaseCommand {
row.push(BaseModel.shortId(item.id));
shortIdShown = true;
if (modelType == Folder.modelType()) {
if (modelType === Folder.modelType()) {
row.push(await Folder.noteCount(item.id));
}

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const { app } = require('./app.js');
const { _ } = require('@joplin/lib/locale');
const Folder = require('@joplin/lib/models/Folder').default;

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const { app } = require('./app.js');
const { _ } = require('@joplin/lib/locale');
const Note = require('@joplin/lib/models/Note').default;

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const { app } = require('./app.js');
const { _ } = require('@joplin/lib/locale');
const Note = require('@joplin/lib/models/Note').default;

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const { app } = require('./app.js');
const { _ } = require('@joplin/lib/locale');
const BaseModel = require('@joplin/lib/BaseModel').default;
@@ -7,25 +7,45 @@ const Note = require('@joplin/lib/models/Note').default;
class Command extends BaseCommand {
usage() {
return 'mv <note> [notebook]';
return 'mv <item> [notebook]';
}
description() {
return _('Moves the notes matching <note> to [notebook].');
return _('Moves the given <item> to [notebook]');
}
async action(args) {
const pattern = args['note'];
const pattern = args['item'];
const destination = args['notebook'];
let folder = null;
const folder = await Folder.loadByField('title', destination);
if (!folder) throw new Error(_('Cannot find "%s".', destination));
if (destination !== 'root') {
folder = await app().loadItem(BaseModel.TYPE_FOLDER, destination);
if (!folder) throw new Error(_('Cannot find "%s".', destination));
}
const notes = await app().loadItems(BaseModel.TYPE_NOTE, pattern);
if (!notes.length) throw new Error(_('Cannot find "%s".', pattern));
const destinationDuplicates = await Folder.search({ titlePattern: destination, limit: 2 });
if (destinationDuplicates.length > 1) {
throw new Error(_('Ambiguous notebook "%s". Please use short notebook id instead - press "ti" to see the short notebook id' , destination));
}
for (let i = 0; i < notes.length; i++) {
await Note.moveToFolder(notes[i].id, folder.id);
const itemFolder = await app().loadItem(BaseModel.TYPE_FOLDER, pattern);
if (itemFolder) {
const sourceDuplicates = await Folder.search({ titlePattern: pattern, limit: 2 });
if (sourceDuplicates.length > 1) {
throw new Error(_('Ambiguous notebook "%s". Please use notebook id instead - press "ti" to see the short notebook id or use $b for current selected notebook', pattern));
}
if (destination === 'root') {
await Folder.moveToFolder(itemFolder.id, '');
} else {
await Folder.moveToFolder(itemFolder.id, folder.id);
}
} else {
const notes = await app().loadItems(BaseModel.TYPE_NOTE, pattern);
if (notes.length === 0) throw new Error(_('Cannot find "%s".', pattern));
for (let i = 0; i < notes.length; i++) {
await Note.moveToFolder(notes[i].id, folder.id);
}
}
}
}

View File

@@ -1,4 +1,4 @@
const { BaseCommand } = require('./base-command.js');
const BaseCommand = require('./base-command').default;
const { app } = require('./app.js');
const { _ } = require('@joplin/lib/locale');
const BaseModel = require('@joplin/lib/BaseModel').default;

Some files were not shown because too many files have changed in this diff Show More