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

Compare commits

...

1039 Commits

Author SHA1 Message Date
Laurent Cozic
4693c924c3 Merge branch 'dev' into plugin_system 2020-10-09 18:33:38 +01:00
Laurent Cozic
833fb1264f Merge branch 'release-1.2' into dev 2020-10-09 18:33:27 +01:00
Laurent Cozic
6e7015e8f9 Fixed mobile build 2020-10-09 17:55:14 +01:00
Laurent Cozic
f007735936 ios-v10.2.0 2020-10-09 17:26:38 +01:00
Laurent Cozic
1f1cd9f11b Updated TOC plugin doc 2020-10-09 17:22:30 +01:00
Laurent Cozic
ac959b2882 Updated TOC plugin doc 2020-10-09 16:56:51 +01:00
Laurent Cozic
4609634259 Update website 2020-10-09 15:52:45 +01:00
Laurent Cozic
f06b64f3f9 Update TOC 2020-10-09 15:52:33 +01:00
Laurent Cozic
80503ad0c1 Updated links 2020-10-09 15:45:21 +01:00
Laurent Cozic
05dfaf7347 Replace links 2020-10-09 15:22:57 +01:00
Laurent Cozic
59be83d958 go back to absolute URLs as it is easier to grep 2020-10-09 15:15:44 +01:00
Laurent Cozic
e7676a148f Merge branch 'dev' into plugin_system 2020-10-09 15:09:55 +01:00
Laurent Cozic
73a39d36ea Update website 2020-10-09 14:58:06 +01:00
Laurent Cozic
a43ab26a46 Merge branch 'release-1.2' into dev 2020-10-09 14:57:44 +01:00
Laurent Cozic
f5f117cb72 Electron release v1.2.6 2020-10-09 12:17:54 +01:00
Laurent Cozic
fc6da04081 CLI v1.2.3 2020-10-09 12:17:40 +01:00
Laurent Cozic
12ff654986 Merge branch 'release-1.2' of github.com:laurent22/joplin into release-1.2 2020-10-09 12:10:16 +01:00
Laurent Cozic
e852ad846f Electron release v1.2.5 2020-10-09 12:10:06 +01:00
Laurent Cozic
cb28021a27 Provide more info when a revision cannot be created 2020-10-09 12:00:55 +01:00
Laurent Cozic
d8ab03f3bc Updating doc 2020-10-08 17:56:03 +01:00
Laurent Cozic
48b6b83950 Updating doc 2020-10-08 17:55:32 +01:00
Laurent Cozic
3e3bad0947 Fixed test plugin 2020-10-08 17:11:54 +01:00
Laurent Cozic
e527f590c5 Fixed plugin 2020-10-08 16:53:37 +01:00
Laurent Cozic
88f968aac5 Updated types 2020-10-08 16:52:22 +01:00
Laurent Cozic
bbd01c3a38 More API clean up 2020-10-08 16:39:20 +01:00
Laurent Cozic
e8d22a4177 Add command documentation 2020-10-08 15:52:41 +01:00
Laurent Cozic
6caec4df39 Refactored markdownUtils 2020-10-08 15:22:05 +01:00
Laurent Cozic
28e00fdf2e Android release v1.2.5 2020-10-08 12:56:12 +01:00
Laurent Cozic
3bd0656eab Android release v1.2.4 2020-10-08 12:51:48 +01:00
Laurent Cozic
e9af71dd76 Android: Reverted app to singleTop launch mode and fixed potential crash when sharing with app 2020-10-08 11:49:39 +01:00
Laurent Cozic
73b33e8e32 Android: Fixes #3800: Simplify initialisation code to prevent sharing
with app to create multiple instance of app and break settings.

Revert "Mobile: Add startup screen to show progress of db migration"

This reverts commit 569355a318.
2020-10-08 11:35:29 +01:00
Laurent Cozic
eea56fcf94 Added more plugin doc 2020-10-07 22:43:35 +01:00
Laurent Cozic
a5a278eced Version num 2020-10-07 21:08:02 +01:00
Laurent Cozic
a978ae4cfa Merge branch 'dev' into plugin_system 2020-10-07 21:05:39 +01:00
Laurent Cozic
c2c7efee91 Desktop: Also make toggle button area wider 2020-10-07 21:03:56 +01:00
Laurent Cozic
c9c44d5643 Merge branch 'release-1.2' into dev 2020-10-07 21:00:20 +01:00
Laurent Cozic
0836fca822 Merge branch 'release-1.2' of github.com:laurent22/joplin into release-1.2 2020-10-07 20:59:50 +01:00
Laurent Cozic
566df5039c Desktop: Fixes #3876: Notebooks and tags click area was too narrow 2020-10-07 20:58:43 +01:00
Laurent Cozic
dd1c1dded4 Update plugin types 2020-10-07 15:03:42 +01:00
Laurent Cozic
5407481976 fix 2020-10-07 12:33:42 +01:00
Laurent Cozic
5a1f6b13cf Fixed plugin update 2020-10-07 12:29:56 +01:00
Laurent Cozic
a904431782 Added way to update plugins 2020-10-07 12:28:25 +01:00
Laurent Cozic
b23ec936fd Deleted file 2020-10-07 10:15:51 +01:00
Laurent Cozic
73a4517902 More clean up on plugin doc 2020-10-07 10:14:52 +01:00
Laurent Cozic
a966b32583 Cleaned up plugin API to avoid depending on internal classes 2020-10-07 09:48:38 +01:00
Laurent Cozic
91a3428124 Rebuilt plugin doc 2020-10-06 21:30:33 +01:00
Laurent Cozic
93a5ba9490 Improved plugin doc 2020-10-06 21:30:05 +01:00
Laurent Cozic
e570f7a226 Disable filters for now 2020-10-06 18:23:15 +01:00
Laurent Cozic
9b28a8995f Open plugin dev tool window 2020-10-06 18:14:46 +01:00
Laurent Cozic
197f509f5d Increase version to 1.3 2020-10-06 14:04:21 +01:00
Laurent Cozic
559655bf33 Android release v1.2.3 2020-10-06 13:06:48 +01:00
Laurent Cozic
0eab23fbcf Android: Set app launchMode to singleInstance to try to fix lost settings issue 2020-10-06 13:02:41 +01:00
Laurent Cozic
f334f4f487 All: Improved handling of database migration failures 2020-10-06 12:47:33 +01:00
Laurent Cozic
4c83d7aa75 Fixed sidebar resize issue 2020-10-06 12:03:15 +01:00
Laurent Cozic
17e053b358 Handle module change event 2020-10-06 11:33:13 +01:00
Laurent Cozic
a29c93634d Converted locale file to TS 2020-10-06 10:27:43 +01:00
Laurent Cozic
a5f5bfcfec clean up 2020-10-06 10:16:18 +01:00
Laurent Cozic
b509329383 Convert interopservicehelper to TS 2020-10-06 10:14:54 +01:00
Laurent Cozic
91c7abed42 Added back support for keymap on command service 2020-10-06 09:55:23 +01:00
Laurent Cozic
54fda6ac97 Refactored menu bar 2020-10-05 19:29:53 +01:00
Laurent Cozic
341eefebaf Converted BaseApplication to TypeScripy 2020-10-05 14:44:56 +01:00
Laurent Cozic
af714cbdac Optimize command state handling 2020-10-05 13:20:23 +01:00
Laurent Cozic
6a0bf15c28 Clean up 2020-10-03 18:24:44 +01:00
Laurent Cozic
5a2bdad348 Cleaned up toolbar code to improve rendering 2020-10-03 18:22:39 +01:00
Laurent Cozic
fd08bfdd86 Better way to create buttonToolbarInfos 2020-10-03 17:49:28 +01:00
Laurent Cozic
1a5cead659 Added @typescript-eslint/explicit-member-accessibility rule 2020-10-03 15:45:32 +01:00
Laurent Cozic
85df133386 Added command service tests and a way to get multiple toolbar buttons 2020-10-03 15:36:23 +01:00
Laurent Cozic
869d11e113 Added way to parse when-clauses for commands 2020-10-03 14:40:12 +01:00
Laurent Cozic
d7a01d3965 Fixed issue with state that was accidentally mutated 2020-10-02 20:06:52 +01:00
Laurent Cozic
989036241d Fixed toolbar button label 2020-10-02 20:03:14 +01:00
Laurent Cozic
433cef1827 Fixed encryption config screen password save logic 2020-10-02 19:59:36 +01:00
Laurent Cozic
433d34f62b Resize app content when banner is added on top 2020-10-02 19:40:12 +01:00
Laurent Cozic
e7ec33bbf9 Added event tests 2020-10-02 18:48:25 +01:00
Laurent Cozic
a29f42d78d Converted synchronizer to TypeScript 2020-10-02 18:03:29 +01:00
Laurent Cozic
74ed234ab9 Added support for onAlarmTrigger event 2020-10-02 17:41:18 +01:00
over-soul
49bfa49489 All: Translation: Update fa.po (#3856)
Updated some existing Persian translations and added some new translations.

Co-authored-by: over-soul <ali@elego.com>
2020-10-02 12:06:30 -04:00
Paweł Żukowski
5f81944a3e All: Translation: Update pl_PL.po (#3855)
Translate missing strings and fix few existing typos.
2020-10-02 12:05:10 -04:00
Laurent Cozic
86b76ccb77 Fixed setting plugin 2020-10-02 16:49:39 +01:00
Laurent Cozic
29aedf8480 Fixed toc demo 2020-10-02 16:21:32 +01:00
Laurent Cozic
9486f5e0d2 Simplify plugin 2020-10-02 16:07:04 +01:00
Laurent Cozic
9a458431b8 Fixed sandbox proxy namespace logic 2020-10-02 15:56:34 +01:00
Laurent Cozic
2c9db9d18c Fixed dialog plugin API 2020-10-02 15:21:58 +01:00
Laurent Cozic
ae9c535842 Improved setting API 2020-10-02 13:02:39 +01:00
Laurent Cozic
a518da587e Fixed demo 2020-10-02 12:52:05 +01:00
Laurent Cozic
92e6e00d9e Fixed commands 2020-10-02 12:49:40 +01:00
Laurent Cozic
b64c9cf18a Finished refactoring interop service 2020-10-02 12:42:25 +01:00
Laurent Cozic
275d6e230d Converted shim to TypeScript 2020-10-02 11:38:04 +01:00
Laurent Cozic
ab8ce15c33 Fixed command api 2020-10-02 10:42:03 +01:00
Laurent Cozic
3fb6179587 lonter 2020-10-02 01:03:39 +01:00
Laurent Cozic
28cc38064c Fixed interop plugin API to work with multi-process arch and cleaned up interop service 2020-10-02 00:44:42 +01:00
Laurent Cozic
1fa5ab2b96 Refactoring and got ipc messages to work 2020-10-01 23:42:49 +01:00
Laurent Cozic
15f4e635d9 Minor tweaks 2020-10-01 15:10:59 +01:00
Laurent Cozic
7a79d7ef7e Refactoring and got ipc messages to work 2020-10-01 14:47:38 +01:00
Laurent Cozic
776e7dfe3f renaming logger 2020-10-01 10:31:01 +01:00
Laurent Cozic
790b622cbc Updated doc 2020-09-30 23:38:28 +01:00
Laurent Cozic
89117b4ee9 Renamed 2020-09-30 23:36:27 +01:00
Laurent Cozic
c245517e0f Renamed to PlatformImplementation 2020-09-30 23:31:27 +01:00
Laurent Cozic
31db95d0c4 Cleaned up plugin API names 2020-09-30 23:17:18 +01:00
Laurent Cozic
2cd50de065 Moved plugin classes under /plugins namespace 2020-09-30 23:07:46 +01:00
Laurent Cozic
6dcb7e2605 Added doc 2020-09-30 17:19:34 +01:00
Laurent Cozic
9c9bd4ba51 Changed plugin system architecture to allow using one process per plugin 2020-09-30 16:56:41 +01:00
Laurent Cozic
71e6964945 Added proxy class 2020-09-30 10:24:15 +01:00
Laurent Cozic
00057da17d Electron release v1.2.4 2020-09-30 08:16:46 +01:00
Laurent Cozic
0a05464013 Desktop: Regression: Context menu on sidebar did not work anymore 2020-09-30 08:16:20 +01:00
Laurent Cozic
97dc2fa6bd Fixed tests 2020-09-29 16:42:32 +01:00
Laurent Cozic
161e112e7b Added support for getting selected notes and adding a context menu item 2020-09-29 16:28:25 +01:00
Laurent Cozic
c93a6f86cd Added way to add a custom Markdown plugin 2020-09-29 15:29:11 +01:00
Laurent Cozic
9bb178b9d9 Fixed broken merge 2020-09-29 15:28:12 +01:00
Laurent Cozic
8087bc5280 Merge branch 'dev' into plugin_system 2020-09-29 14:30:33 +01:00
Laurent Cozic
26f5a606e0 Merge branch 'release-1.2' into dev 2020-09-29 14:29:38 +01:00
Laurent Cozic
9ebb574059 Merge branch 'release-1.2' of github.com:laurent22/joplin into release-1.2 2020-09-29 14:27:33 +01:00
Laurent Cozic
d29c3c2466 Desktop: Regression: Sidebar toggle button did not work anymore 2020-09-29 14:26:05 +01:00
Laurent Cozic
a71f1c19ec Android release v1.2.2 2020-09-29 12:40:46 +01:00
Laurent Cozic
485921d879 CLI v1.2.2 2020-09-29 12:34:42 +01:00
Laurent Cozic
15de7572c0 Electron release v1.2.3 2020-09-29 12:32:24 +01:00
Laurent Cozic
09f41dd50e Desktop: Make global search field wider when it has focus 2020-09-29 12:31:19 +01:00
Laurent Cozic
7b8ee467a0 Desktop: Improved rendering of All Notes item in sidebar 2020-09-29 11:49:51 +01:00
Laurent Cozic
99a496d684 Desktop: Always label "Click to add tags" 2020-09-29 11:33:22 +01:00
Laurent Cozic
100aaab58d Refactor reducer to TypeScript and using immerjs 2020-09-29 11:16:01 +01:00
Laurent Cozic
126c7b5a75 Merge branch 'dev' into reducer_refactor 2020-09-29 11:00:31 +01:00
Laurent Cozic
d448ea3a02 Merge branch 'dev' into plugin_system 2020-09-29 10:59:55 +01:00
Laurent Cozic
9d6975a9e2 Merge branch 'dev' of github.com:laurent22/joplin into dev 2020-09-29 10:57:34 +01:00
Laurent Cozic
555727e5fe Refactor reducer 2020-09-29 10:56:33 +01:00
Laurent Cozic
f43ee123d8 Tools: Fixed tests 2020-09-29 10:54:31 +01:00
Laurent Cozic
f42fb1b871 Changed tag label 2020-09-29 10:51:47 +01:00
Laurent Cozic
cf2442c5b2 Desktop: Fixes #3835: Prevent crash in rare case when opening the config screen 2020-09-29 08:40:14 +01:00
Laurent Cozic
e0e4735b03 Desktop: Fixes #3754: Refresh search results when searching by tag and when a tag is changed 2020-09-29 08:11:52 +01:00
osso73
138faa2aae All: Translation: Update ca.po (#3844) 2020-09-29 02:06:23 -04:00
Laurent Cozic
8bd58c9608 Merge branch 'release-1.2' of github.com:laurent22/joplin into release-1.2 2020-09-28 19:19:52 +01:00
Laurent Cozic
215a725ded Mobile: Fixes #3834: Fixed search highlights 2020-09-28 19:19:21 +01:00
Naveen M V
12c0a05af0 Desktop: Keep search fuzzy scores between 0 and 2 (#3812) 2020-09-28 18:58:19 +01:00
Caleb John
a7fa119041 Desktop: Extend functionality of codemirror vim (#3823)
add swapLine(Up/Down)
have `o` use the more complex list indent
enable sync initializing from vim (and maybe emacs)
split keymap stuff into it's own file
2020-09-28 18:57:17 +01:00
Laurent Cozic
7fb52b8b0e Desktop: Fix issue with highlighted search terms in CodeMirror viewer 2020-09-28 18:44:21 +01:00
Laurent Cozic
3e86ae4a82 Desktop: Disable fuzzy search for now due to performance issues 2020-09-28 18:41:16 +01:00
Laurent Cozic
77eceea426 Ensure plugin settings are within their own namespaces 2020-09-28 18:11:53 +01:00
Laurent Cozic
a09c6f152c Added support for plugin dialogs 2020-09-28 17:26:22 +01:00
Laurent Cozic
3830195752 Allow creating new section from plugin 2020-09-27 13:45:08 +01:00
Laurent Cozic
c9594065c3 Refactor Settings 2020-09-27 13:31:45 +01:00
Laurent Cozic
360d3bbff9 Allow creating new settings from plugin 2020-09-27 13:03:37 +01:00
Laurent Cozic
6fde8dfe52 Refactored Settings into TypeScript 2020-09-26 18:14:00 +01:00
Laurent Cozic
de2ccfbfe0 Added explanation for shim timers and implemented RN side 2020-09-26 12:42:44 +01:00
Laurent Cozic
31f53b12fd Move timers to shim 2020-09-26 12:19:13 +01:00
Laurent Cozic
d45b280ada Done text selection plugin 2020-09-25 11:18:06 +01:00
Ji-Hyeon Gim
ca46590ff3 All: Translation: Update ko.po (#3813)
Signed-off-by: Ji-Hyeon Gim <potatogim@potatogim.net>
2020-09-24 21:17:53 -04:00
Laurent Cozic
b5a137545e Add support getting and replacing editor selection 2020-09-24 18:35:20 +01:00
Laurent Cozic
4e80dbb7a7 Allow tagging desktop-only feature in plugin doc 2020-09-24 15:53:37 +01:00
Laurent Cozic
90b0c99806 Merge branch 'release-1.2' into plugin_system 2020-09-24 14:50:20 +01:00
Laurent Cozic
947d81d96d Desktop: Optimised sidebar rendering speed 2020-09-24 14:30:20 +01:00
Laurent Cozic
6ca640d2ed Desktop: Fix: Fade out checked items in Rich Text editor too 2020-09-23 17:49:25 +01:00
Laurent Cozic
c8c0c3af46 Changed to node-slug 2020-09-23 17:34:58 +01:00
Laurent Cozic
110de50bf9 Allow setting custom shortcuts and saving/loading them 2020-09-23 17:26:30 +01:00
Laurent Cozic
b7e110d888 Converted eventManager to TypeScript 2020-09-23 16:25:00 +01:00
Laurent Cozic
f1c557cb43 Converted app to TypeScript 2020-09-23 15:51:31 +01:00
Laurent Cozic
43e9fc92c9 Adding support for custom menu items 2020-09-23 15:24:42 +01:00
Laurent Cozic
10fa331731 Define plugin state types 2020-09-23 15:18:45 +01:00
Laurent Cozic
cc8e122de3 Added support for custom commands and toolbar buttons 2020-09-23 15:10:31 +01:00
Laurent Cozic
bca5fd8db9 gitignore 2020-09-23 14:10:02 +01:00
Laurent Cozic
13101f7d9b Merge branch 'dev' into plugin_system 2020-09-23 14:09:21 +01:00
Laurent Cozic
6aca233b21 CLI v1.2.1 2020-09-23 12:16:58 +01:00
Laurent Cozic
2200be697e Cli: Fixed crash due to missing spellfix extension 2020-09-23 12:14:17 +01:00
Laurent Cozic
25ab3c323b Desktop: Fixes #3801: Fixed editor font size 2020-09-23 11:39:36 +01:00
Laurent Cozic
5bf30a9586 Merge branch 'release-1.2' into dev 2020-09-23 10:24:55 +01:00
Laurent Cozic
b6779a8074 Desktop: Fixes #3810: Only disable relevant toolbar buttons when editor is read-only 2020-09-23 10:21:24 +01:00
Caleb John
59599d318c Desktop: Adjust the codemirror code block colors for the dark theme (#3794) 2020-09-23 09:34:39 +01:00
Arda Kılıçdağı
538600fd6c All: Translation: Update tr_TR.po (#3798) 2020-09-22 21:12:31 -04:00
Ji-Hyeon Gim
63264ba471 All: Translation: Update ko.po (#3778)
This patch includes the translation of missing strings, the improvement of the existing translation

Signed-off-by: Ji-Hyeon Gim <potatogim@potatogim.net>
2020-09-22 21:11:55 -04:00
Laurent Cozic
95e7f3df7d Electron release v1.2.2 2020-09-22 16:39:18 +01:00
Laurent Cozic
366fd2a333 Fixed desktop build 2020-09-22 16:38:47 +01:00
Laurent Cozic
5be99a4a16 Merge branch 'release-1.2' of github.com:laurent22/joplin into release-1.2 2020-09-22 16:37:23 +01:00
Laurent Cozic
d86f6a1fbd Tools: Require setting type flag for new Android releases 2020-09-22 16:36:46 +01:00
Laurent Cozic
7d68208cb4 Android release v1.2.1 2020-09-22 16:17:11 +01:00
Laurent Cozic
e9de9d9128 Electron release v1.2.1 2020-09-22 16:02:51 +01:00
Laurent Cozic
1af16d9f0b Tools: Update package locks 2020-09-22 16:02:22 +01:00
Laurent Cozic
8e11eababa Android: Fixes #3797: Disable beta editor even if it was already enabled 2020-09-22 16:01:00 +01:00
Laurent Cozic
4ec9faadd5 Desktop: Disable auto-update by default 2020-09-22 15:41:25 +01:00
Laurent Cozic
5cf462c885 Tools: Increase release version to 1.2 2020-09-22 15:31:32 +01:00
Laurent Cozic
f7ef0a2b1e Tools: Added script to automatically increase major and minor version numbers on new releases 2020-09-22 15:30:20 +01:00
Laurent Cozic
870f55a6c5 Merge branch 'release-1.2' of github.com:laurent22/joplin into release-1.2 2020-09-22 14:37:34 +01:00
Caleb John
7f7e38b434 Desktop, Mobile: Resolves #3740: Upgrade Mermaid to v8.8.0 (#3745)
Co-authored-by: Laurent <laurent22@users.noreply.github.com>
2020-09-22 13:21:35 +01:00
Caleb John
460a07b1a3 Desktop: Fix missed highlighting when using the global search (#3717) 2020-09-22 13:17:51 +01:00
Caleb John
48c9b86d2b Desktop: Fixes #3791: Add stricter rules for katex blocks (#3795) 2020-09-22 13:16:37 +01:00
Caleb John
7202066c1f Desktop: Fix bug where editor would scroll to focus global search (#3787) 2020-09-22 13:12:22 +01:00
Carlos Eduardo
5226f0019b Desktop: Add frequently used languages to markdown editor (#3786) 2020-09-22 13:11:12 +01:00
Laurent Cozic
26ac745419 Deskop, Cli: Fixes #3780: Fixed link generation when exporting to PDF or HTML 2020-09-22 12:56:56 +01:00
Laurent Cozic
b3f2bbee5b Desktop, Cli: Fixes #3760: Improved handling of special characters when exporting to Markdown 2020-09-22 12:06:19 +01:00
Laurent Cozic
56c6cfc785 Update website 2020-09-21 17:53:14 +01:00
Laurent Cozic
1db4932573 Merge branch 'release-1.2' into dev 2020-09-21 17:52:25 +01:00
Laurent Cozic
a2873ebbc5 Merge branch 'release-1.1' into dev 2020-09-21 17:52:19 +01:00
Laurent Cozic
f652011d59 Desktop: Fixes #3748: Fixed issue when switching from search to "All notes" 2020-09-21 17:50:59 +01:00
Laurent Cozic
27c572b2f5 Desktop: Fixes #3700: Disable editor shortcuts when a dialog, such as GotoAnything, is visible 2020-09-21 17:31:25 +01:00
Laurent Cozic
7a4c97618d Desktop: Improved menu enabled states when not in main screen 2020-09-21 17:09:57 +01:00
Laurent Cozic
3ac4fbeee5 Desktop, Mobile: Fixes #3698: Always use light theme for notes in HTML mode 2020-09-21 16:41:24 +01:00
Laurent Cozic
9e05fa553c Desktop: Fixes #3684: Allow Read Time label to be translated 2020-09-21 16:16:28 +01:00
Laurent Cozic
d4f0d2423d CLI v1.1.8 2020-09-21 13:03:33 +01:00
Laurent Cozic
abdd7e3256 Tools: Improved git changelog 2020-09-21 13:01:46 +01:00
Laurent Cozic
f3ea476f27 Merge branch 'release-1.1' of github.com:laurent22/joplin into release-1.1 2020-09-21 12:40:28 +01:00
Laurent Cozic
aa22af443c Tools: Clean up after spellfix build 2020-09-21 12:35:20 +01:00
Laurent Cozic
ce3bd2a47d Tools: Fixed Cli version handling 2020-09-21 12:16:05 +01:00
Laurent Cozic
a9b26246e6 Merge branch 'dev' into release-1.2 2020-09-21 11:56:32 +01:00
Laurent Cozic
cc1e941dd9 Merge branch 'release-1.1' into dev 2020-09-21 11:55:47 +01:00
Laurent Cozic
9610b7e6bd Electron release v1.1.4 2020-09-21 11:42:26 +01:00
Laurent Cozic
4f2884a0f7 Started adding support for registering commands 2020-09-21 11:38:09 +01:00
Laurent Cozic
4872f1419c Also add placeholder for JSON import 2020-09-20 16:57:17 +01:00
Laurent Cozic
fdcaab3caf Got JSON export working as a plugin 2020-09-20 16:19:37 +01:00
Laurent Cozic
9f2c4b938f Added complete lib to plugin doc 2020-09-20 15:36:30 +01:00
Laurent Cozic
8be65acf7d Testing interop plugin 2020-09-20 12:09:32 +01:00
Marc BOUVIER
ad85a12535 All: Translation: Update fr_FR.po (#3776) 2020-09-19 13:35:05 -04:00
Ji-Hyeon Gim
b825346829 All: Translation: Update ko.po (#3771)
Update ko.po translations.

Signed-off-by: Ji-Hyeon Gim <potatogim@potatogim.net>
2020-09-19 13:32:37 -04:00
Ettore Atalan
bd4cbaf93d All: Translation: Update de_DE.po (#3770)
This patch includes the translation of missing strings, the improvement of the existing translation and the replacement of Anglicisms by German words.
2020-09-19 13:31:25 -04:00
Laurent Cozic
e05aa433e4 Allow creating custom exporters 2020-09-19 15:50:46 +01:00
Laurent Cozic
ccfb0b43d6 Refactor 2020-09-19 14:56:49 +01:00
Laurent Cozic
4211e962c6 Merge branch 'release-1.2' into plugin_system 2020-09-19 14:22:24 +01:00
Laurent Cozic
9af2a19bdf Merge branch 'dev' into release-1.2 2020-09-19 14:22:02 +01:00
Laurent Cozic
d3fa906a9a Merge branch 'dev' of github.com:laurent22/joplin into dev 2020-09-19 14:20:02 +01:00
Laurent Cozic
6b54c4244b Refactored 2020-09-19 14:19:09 +01:00
Laurent Cozic
1d5a4bd381 Simplified interop interface 2020-09-19 12:20:01 +01:00
Laurent Cozic
86a1103a64 Remove JSON exporter 2020-09-19 11:13:49 +01:00
Laurent Cozic
45edaaa96f Converted interop service to TypeScript 2020-09-19 11:04:29 +01:00
Laurent Cozic
b7b158aa94 Fixed doc title 2020-09-18 15:53:25 +01:00
Laurent Cozic
e6bc55b6f8 Update plugin doc 2020-09-18 15:46:25 +01:00
Laurent Cozic
111092791c Updated plugin doc 2020-09-18 13:10:47 +01:00
Laurent Cozic
4e91e01ddc Updated plugin doc 2020-09-18 13:08:01 +01:00
Laurent Cozic
44dce6c6c3 Fixed frozen state issue 2020-09-18 10:10:26 +01:00
Laurent Cozic
b25ad50a1b Add more doc 2020-09-18 09:59:22 +01:00
Gen Neko
22679641ee All: Translation: Update ja_JP.po (#3761) 2020-09-18 01:56:18 -04:00
Laurent Cozic
e2e3be66ee doc 2020-09-17 18:02:57 +01:00
Laurent Cozic
4b3119ebba Finished tutorial 2020-09-17 17:39:15 +01:00
Laurent Cozic
1712a67e2e Doc draft 2020-09-17 16:19:25 +01:00
Laurent Cozic
cd563b050c Bottom border on user views 2020-09-17 15:41:05 +01:00
Laurent Cozic
4426f2dbec Make sure plugin views can be resized 2020-09-17 15:08:43 +01:00
Laurent Cozic
0fbbf2eee0 Remember plugin view sizes 2020-09-17 14:51:50 +01:00
Laurent Cozic
0ca7457000 Electron release v1.1.3 2020-09-17 10:19:25 +01:00
Laurent Cozic
c84e49c71c All: Fixes #3696: Increased file extension limit to 20 to prevent issue when using external editors 2020-09-17 10:17:45 +01:00
Laurent Cozic
07ab0e986d Merge branch 'release-1.1' of github.com:laurent22/joplin into release-1.1 2020-09-17 10:00:30 +01:00
Laurent Cozic
17957f5da4 Desktop, Cli: Do not prevent export when one item is still encrypted 2020-09-17 10:00:13 +01:00
Naveen M V
a7b5d43e69 Desktop: Fix: Creating a note after backward redirection places it in a wrong notebook (#3759) 2020-09-17 09:32:52 +01:00
Caleb John
38eda3f151 Desktop: Fixes #3749: Use joplin list handling in emacs mode (#3758) 2020-09-17 09:29:19 +01:00
Laurent Cozic
2fdad2fe80 Make sure user views have a stable ID 2020-09-17 09:22:03 +01:00
Laurent Cozic
0249ff48ca Removed obsolete handlers 2020-09-17 08:51:12 +01:00
Laurent Cozic
142fc02f9c Simplified UserWebview component 2020-09-16 17:57:30 +01:00
Laurent Cozic
842b123285 Fixed slub 2020-09-16 17:30:39 +01:00
Laurent Cozic
a4aca68b85 Support for theme in webview 2020-09-16 17:27:13 +01:00
Laurent Cozic
1397af0692 User webviews 2020-09-16 16:19:33 +01:00
Laurent Cozic
5da760dd0c Added a way to load a plugin for development 2020-09-15 17:49:43 +01:00
Laurent Cozic
511d58d3af Various improvements 2020-09-15 17:02:02 +01:00
Laurent Cozic
a1c9e675ad Improve plugin build 2020-09-15 16:56:48 +01:00
Laurent Cozic
0349ad0b80 Merge branch 'release-1.2' into plugin_system 2020-09-15 14:41:47 +01:00
Laurent
056285deda Desktop: UI update (#3586) 2020-09-15 14:01:07 +01:00
Laurent Cozic
9d8411a25e Add TOC plugin demo 2020-09-15 13:47:47 +01:00
Laurent Cozic
754ba2267a Merge branch 'dev' into plugin_system 2020-09-15 13:41:57 +01:00
Laurent Cozic
bdedf69439 Tools: Remove console statement 2020-09-15 12:13:29 +01:00
Laurent Cozic
c9451d8675 Electron release v1.1.2 2020-09-15 12:12:16 +01:00
Laurent Cozic
c38834b04c Updated French translation 2020-09-15 12:08:49 +01:00
Laurent Cozic
851eee1500 Fixed and simplified translations 2020-09-15 12:08:25 +01:00
Laurent Cozic
4cdac308d1 Wraps console calls 2020-09-15 10:36:32 +01:00
Laurent Cozic
c0d5c7c282 Merge branch 'dev' into plugin_system 2020-09-14 14:06:21 +01:00
Laurent Cozic
40e24102ce Merge branch 'release-1.1' into dev 2020-09-14 13:06:56 +01:00
Laurent Cozic
7614a795e9 Fixed tests 2020-09-14 13:06:33 +01:00
Laurent Cozic
1273a1dc5f Merge branch 'dev' of github.com:laurent22/joplin into dev 2020-09-14 11:26:41 +01:00
Laurent Cozic
10909fe4fc Merge branch 'release-1.1' into dev 2020-09-14 11:26:27 +01:00
Laurent Cozic
9b3d3026bf Merge branch 'release-1.0' into dev 2020-09-14 11:26:18 +01:00
Laurent Cozic
96076c84f4 CLI v1.0.168 2020-09-14 09:50:09 +01:00
Helmut K. C. Tessarek
2c553db45a Update translations 2020-09-14 02:22:27 -04:00
Laurent Cozic
7d7005596f Desktop: Security: Upgrade packages to fix vulnerabilities 2020-09-13 17:25:46 +01:00
Laurent Cozic
998dd52adc Desktop: Clarifies labels of certain actions, and added shortcut for note list toggle 2020-09-13 17:21:11 +01:00
Patryk Długajczyk
2a1c6d6475 Linux: Fixes #3720: Fix icons path in AppImage build (#3721) 2020-09-12 00:45:44 +01:00
Laurent Cozic
1ba0644142 Merge branch 'release-1.1' of github.com:laurent22/joplin into release-1.1 2020-09-12 00:24:10 +01:00
Laurent Cozic
88ac57d7f3 Tools: Fixed handling of security vulnerabilities in git-changelog 2020-09-12 00:22:17 +01:00
Laurent Cozic
314686bede Android release v1.1.1 2020-09-12 00:18:03 +01:00
Laurent Cozic
af8845f209 Tools: Fixed Android version handling 2020-09-12 00:10:18 +01:00
Laurent Cozic
c95d7f9d37 Electron release v1.1.1 2020-09-12 00:06:59 +01:00
Laurent Cozic
2510c659e6 Clear build number 2020-09-12 00:06:25 +01:00
Laurent Cozic
b7523e1b21 Merge branch 'dev' into release-1.1 2020-09-12 00:03:29 +01:00
Laurent Cozic
e4e9e801a2 Android: Fix build 2020-09-11 23:57:06 +01:00
Laurent Cozic
524ec12d8a Android: Remove option for new editor as it crashes the app 2020-09-11 23:56:45 +01:00
Laurent Cozic
1108e8c28a Merge branch 'release-1.0' into dev 2020-09-11 23:34:44 +01:00
Laurent Cozic
0f1156ab9c Desktop: Fixed clock sync logic when creating new sync target 2020-09-11 23:33:34 +01:00
Laurent Cozic
2a08cc332a Merge branch 'dev' of github.com:laurent22/joplin into dev 2020-09-11 23:02:53 +01:00
Naveen M V
5d2baa872e Desktop: Fix wildcard search (#3713) 2020-09-11 22:52:32 +01:00
Naveen M V
4b377589aa Desktop: Fix bug with quotes when searching (#3735) 2020-09-11 11:30:57 +01:00
Laurent Cozic
cf78204c85 Doc: Added more info about sync lock refresh mechanism 2020-09-11 11:26:07 +01:00
Laurent Cozic
c513cdd4eb Desktop: Sync immediately on startup 2020-09-09 14:45:26 +01:00
Laurent Cozic
5f410e80e6 Merge branch 'release-1.0' into dev 2020-09-09 13:59:36 +01:00
Laurent Cozic
2aa7eaa192 Electron release v1.0.245 2020-09-09 12:39:06 +01:00
Laurent Cozic
b24d060281 All: Got clock sync to work on mobile 2020-09-09 12:25:31 +01:00
Laurent Cozic
a014b9347e Merge branch 'release-1.0' of github.com:laurent22/joplin into release-1.0 2020-09-09 11:39:57 +01:00
Laurent Cozic
582ab4ac13 All: Implemented more reliable way to sync device and server clocks that would work with filesystem sync too 2020-09-09 11:39:13 +01:00
Laurent Cozic
c9adccad4a Get NTP time working on Android 2020-09-09 10:56:17 +01:00
Laurent Cozic
f41ba67e15 Improved ntp time 2020-09-09 00:34:27 +01:00
Laurent Cozic
1f70a76c7e Desktop: Fixes #3729: Fix lock issue when device does not have the right time 2020-09-08 23:57:48 +01:00
Cristi
5fe3732a38 All: Translation: Update ro.po (#3728) 2020-09-08 18:29:07 -04:00
Harris Arvanitis
445533cfcc All: Translation: Update el_GR.po (#3718) 2020-09-08 18:28:42 -04:00
Laurent Cozic
a8e29249d6 Electron release v1.1.244 2020-09-08 01:03:29 +01:00
Laurent Cozic
e4a3cbd2ff Increase minor version 2020-09-08 01:03:12 +01:00
Laurent Cozic
96b7ce9d50 Electron release v1.0.243 2020-09-08 00:57:35 +01:00
Laurent Cozic
2bbc1e7ecd Desktop: Fixes #3710: Fix applying tags to multiple notes 2020-09-08 00:49:58 +01:00
Laurent Cozic
83619b279d Desktop: Fixes #3697: Fixed copying link in Rich Text editor 2020-09-08 00:29:31 +01:00
Laurent Cozic
8b5a99d494 Desktop: Fixes #3553: Fixed viewer font size, in particular for inline code 2020-09-08 00:00:43 +01:00
Laurent Cozic
67d4123608 Desktop: Add log statement to try to fix issue #3536 2020-09-07 23:55:37 +01:00
Laurent Cozic
a424e3c899 Desktop, Cli: Fixes #3689: Fixed note export when there are folders with non-existing parents. Also fixed long path issue on Windows. 2020-09-07 22:12:51 +01:00
Laurent
08d4b5a714 Mobile: Fixes #3022: Fix issue with action button disappearing in some contexts (#3702) 2020-09-07 17:42:16 +01:00
Laurent Cozic
68aefd5e4c Desktop: Rename menu item from "Export" to "Export all" to clarify what it does 2020-09-07 17:33:51 +01:00
Laurent Cozic
57d750bc9a All: Security: Disallow EMBED tags to prevent XSS vulnerability 2020-09-06 19:29:42 +01:00
Caleb John
fbe966903b Desktop: Resolves #3560: Make codemirror the default code editor (#3703) 2020-09-06 16:28:23 +01:00
Jose Esteve
652748f969 Cli: Resolves #3711: Fix keytar library being loaded up in FreeBSD. (#3712)
Issue https://github.com/laurent22/joplin/issues/3711

This patch replaces the 'isLinux' check by a more restrictive version
which fixes the false positive in BSD systems. This was causing Joplin
not to load due to the lack of X11 in headless mode.
2020-09-06 15:20:38 +01:00
Naveen M V
e108fdb1d8 Desktop: Fuzzy search (#3632) 2020-09-06 13:07:00 +01:00
Anjula Karunarathne
a8296e2e37 Desktop: Add keyboard shortcut editor (#3525) 2020-09-06 13:00:25 +01:00
Laurent Cozic
0998fc0ad7 Doc: Update dontate page 2020-09-05 22:49:40 +01:00
Laurent Cozic
d5f3e860b9 Merge branch 'dev' of github.com:laurent22/joplin into dev 2020-09-05 22:48:42 +01:00
Laurent Cozic
4e624f7db5 Doc: Added new sponsor 2020-09-05 22:28:28 +01:00
Anton Deriabin
5b697b7e16 Doc: Fixed wrong e2ee spec link (#3655) 2020-09-05 00:14:49 +01:00
Caleb John
30e0d69a74 Desktop: Load Codemirror css in index.html (#3673) 2020-09-05 00:02:20 +01:00
Caleb John
652816fd26 Desktop: Change codemirror default home and end to be visual line based (#3672) 2020-09-05 00:01:06 +01:00
Laurent Cozic
3a33e5f416 Electron release v1.0.242 2020-09-04 22:46:26 +01:00
Laurent Cozic
277dac5512 Desktop: Fixes sync target upgrade issue when custom TLS settings are used 2020-09-04 22:46:09 +01:00
Laurent Cozic
81d97d9f9d Update website 2020-09-04 19:34:43 +01:00
Laurent Cozic
a4873cd40d Android release v1.0.340 2020-09-04 19:22:28 +01:00
Laurent Cozic
20cb2daf43 Merge branch 'dev' of github.com:laurent22/joplin into dev 2020-09-04 19:15:04 +01:00
Laurent Cozic
e5b5250a91 Tools: Make it easier to create Android pre-releases 2020-09-04 19:11:46 +01:00
Laurent Cozic
db7d617e2b Update website 2020-09-04 19:06:36 +01:00
Laurent Cozic
a627884876 Merge branch 'dev' of github.com:laurent22/joplin into dev 2020-09-04 18:31:01 +01:00
Laurent Cozic
ed30d09e07 ios-v10.0.53 2020-09-04 18:30:43 +01:00
Laurent Cozic
179e3f9aee Electron release v1.0.241 2020-09-04 18:25:04 +01:00
Laurent Cozic
a67aedba35 Tools: Fixed changelog script 2020-09-04 18:24:53 +01:00
Laurent Cozic
199c411a7d CLI v1.0.167 2020-09-04 18:17:24 +01:00
Laurent Cozic
5cd7bb5bdb Electron release v1.0.240 2020-09-04 18:01:38 +01:00
Laurent Cozic
30b8f5e2aa Merge branch 'dev' of github.com:laurent22/joplin into dev 2020-09-04 18:01:05 +01:00
Laurent Cozic
44f2842820 Android release v1.0.339-3 2020-09-04 17:28:18 +01:00
Laurent Cozic
569355a318 Mobile: Add startup screen to show progress of db migration 2020-09-04 17:07:57 +01:00
Laurent Cozic
8464e16d5d Doc: Added note on how to update Katex or Mermaid package 2020-09-02 22:54:58 +01:00
Laurent Cozic
874c1e3e82 Fixing mermaid script 2020-09-02 22:51:16 +01:00
Laurent Cozic
2530ecfc86 All: Fixes #3664: Fixed Katex font rendering 2020-09-02 22:48:24 +01:00
Laurent Cozic
6b49f1dfcc Desktop: Fixes #3618: Fix links within Mermaid documents 2020-09-02 22:44:24 +01:00
Laurent Cozic
b1af25ea18 Electron release v1.0.239 2020-09-01 22:26:52 +01:00
Laurent Cozic
3086007a9c Electron release v1.0.238 2020-09-01 22:25:42 +01:00
Laurent Cozic
bdfb6b97f5 Desktop: Fixes #3645: Improved handling of startup errors, and prevent window from being invisible when upgrading sync target 2020-09-01 22:25:23 +01:00
Laurent Cozic
c01219e6be Merge branch 'dev' of github.com:laurent22/joplin into dev 2020-09-01 20:55:12 +01:00
Laurent Cozic
743c11c279 Android release v1.0.338 2020-08-30 20:42:09 +01:00
Laurent Cozic
11646d1c21 Desktop: Added more logging info to sync target upgrade process 2020-08-29 19:12:02 +01:00
Laurent Cozic
797f4a9669 Electron release v1.0.237 2020-08-29 11:28:12 +01:00
Laurent Cozic
815775ad8f Linux: Fixes #3645: Prevent lock when restarting app 2020-08-29 11:27:13 +01:00
Eduardo Kimmel
085109288f All: Translation: Update pt_BR.po (#3668)
Updated some pt_br translations.
2020-08-28 17:43:30 -04:00
Alexander Knyazev
c6cf0f3ba5 All: Translation: Update ru_RU.po (#3666)
Co-authored-by: Alexander Knyazev <a.knyazev@omprussia.ru>
2020-08-28 17:42:31 -04:00
rnbastos
f9bdce7e24 All: Translation: Update pt_BR.po (#3642)
Update pt_BR translation.
2020-08-28 17:41:29 -04:00
Kourosh
f8cf4db5db All: Translation: Update fa.po (#3637) 2020-08-28 17:40:33 -04:00
Laurent Cozic
14e6ae373f Electron release v1.0.236 2020-08-28 09:49:48 +01:00
jonath92
39bffd2790 Regression: Fixed OneDrive synchronisation (#3674) 2020-08-28 09:46:41 +01:00
Laurent
f3cb903901 Doc: Mentioned that we don't accept pull requests created using an automated tool 2020-08-20 11:55:13 +01:00
Laurent Cozic
abad1883bc Merge branch 'master' into dev 2020-08-19 14:30:36 +01:00
Laurent Cozic
bb8770a967 Update website 2020-08-19 14:29:49 +01:00
Laurent Cozic
c903947704 Merge branch 'dev' of github.com:laurent22/joplin into dev 2020-08-19 00:12:33 +01:00
Naveen M V
82e96840e9 All: When searching, weight notes using Okapi BM25 score (#3454) 2020-08-18 23:53:28 +01:00
Laurent Cozic
e190d90832 Desktop: Fixed restarting portable app 2020-08-18 23:51:23 +01:00
Caleb John
0ae8d454ad Focus the editor whenever the user toggles the visible panes (#3646) 2020-08-18 22:26:57 +01:00
Laurent Cozic
77c7f966cf Electron release v1.0.235 2020-08-18 21:56:50 +01:00
Laurent Cozic
619fa1d607 Revert "Desktop, Mobile: Add support for media player for video and audio files"
Reverted as it now attempts to render note links as images. See:

https://discourse.joplinapp.org/t/joplin-for-windows-1-0-234-bug/10558?u=laurent

This reverts commit 13280ce1b3.
2020-08-18 21:52:00 +01:00
Laurent Cozic
157736ff7e Desktop: Fixed regression: Several menu items did not work anymore 2020-08-18 21:45:22 +01:00
Naveen M V
0b57d906f8 Doc: Update search engine doc (#3614)
Add documentation for search filters
2020-08-18 00:15:00 +01:00
Laurent Cozic
86bfdb5c79 Android release v1.0.337 2020-08-17 21:48:37 +01:00
Laurent Cozic
fc7d34f79c Electron release v1.0.234 2020-08-17 21:44:40 +01:00
Matias Laporte
9d962f0328 All: Translation: Update es_ES.po (#3629) 2020-08-13 20:38:30 -04:00
Laurent Cozic
79e1a33b28 Fixed tabs 2020-08-08 10:21:25 +01:00
Caleb John
0eedae1f62 Desktop: Fixed vim mode issue where status bar was not visible (#3606) 2020-08-08 10:15:01 +01:00
Caleb John
e1144c098e Desktop: Fixed scrolling issue when editing while searching in CodeMirror (#3593)
Only scroll to search matchs when the user changes the search or
explicitly changes the search index
https://discourse.joplinapp.org/t/codemirror-feedback/10397
2020-08-08 10:11:55 +01:00
Caleb John
5c5cb0f781 Desktop: Implement scroll-past-end on CodeMirror editor (#3589) 2020-08-08 09:55:10 +01:00
Laurent Cozic
656615b571 Merge branch 'dev' of github.com:laurent22/joplin into dev 2020-08-08 00:35:55 +01:00
jonath92
799a9e810d All: Resolves #1266: Add support for OneDrive for Business (#3433) 2020-08-08 00:35:30 +01:00
R3dError
aa147bbcdc Desktop: Added attach file to menu bar (#3540) 2020-08-08 00:32:49 +01:00
alexchee
8c7a24282c All: Fixes #3591: Fixed sync fetching issue (#3599) 2020-08-08 00:30:11 +01:00
Naveen M V
f99f3f8a6d All: Resolves #1877: Add search filters (#3213) 2020-08-08 00:13:21 +01:00
Laurent Cozic
29fbafdfff Mobile: Fixed issue when creating new notebook and going back 2020-08-07 02:03:33 +00:00
Laurent Cozic
3253146dae Merge branch 'master' into dev 2020-08-06 15:30:00 +01:00
Laurent Cozic
7e4ac0fd73 Tools: Add complexity rule 2020-08-05 23:16:51 +00:00
Laurent Cozic
60d77cb5ea ios-v10.0.52 2020-08-05 15:57:21 +01:00
Laurent Cozic
8299164964 Android release v1.0.336 2020-08-05 00:18:42 +01:00
Laurent Cozic
488393e75d Mobile: Fixes #3597: Fixed regression when saving a new notebook 2020-08-05 00:08:11 +01:00
Laurent Cozic
c19f8c8035 Mobile: Fixes #3597: Fixed regression when saving a new notebook 2020-08-05 00:07:55 +01:00
Laurent Cozic
b0b55718cc Merge branch 'dev' of github.com:laurent22/joplin into dev 2020-08-04 23:00:38 +01:00
Laurent Cozic
5ade9ff2f6 Tools: Updated eslint and clarified comma-dangle rule 2020-08-04 23:00:11 +01:00
Allan Jacquet-Cretides
e4cfb518ba Desktop: Resolves #3569: Show full folder name in mouse-over pop-up text (#3590) 2020-08-04 22:45:32 +01:00
Laurent Cozic
89864de1ff Tools: Added eslint radix rule 2020-08-04 22:36:50 +01:00
Laurent
ee2a474611 Update .travis.yml 2020-08-04 22:31:59 +01:00
Caleb John
223caca0f5 Desktop: Enable CodeMirror keybindings (#3545) 2020-08-02 16:26:26 +01:00
Laurent Cozic
ee358f70dd Desktop: Add version info to error screen 2020-08-02 16:21:30 +01:00
Laurent Cozic
0718828d60 Merge branch 'master' into dev 2020-08-02 16:12:11 +01:00
Laurent Cozic
d13f54c2ce CLI v1.0.166 2020-08-02 15:03:57 +01:00
Laurent Cozic
90f7f99cd1 ios-v10.0.51 2020-08-02 15:01:39 +01:00
Laurent Cozic
a273bbaeee Fixed Android build 2020-08-02 13:37:32 +01:00
Laurent Cozic
619b426689 Android release v1.0.335 2020-08-02 13:34:09 +01:00
Laurent Cozic
97c752a39e Fixed config 2020-08-02 13:16:41 +01:00
Laurent Cozic
7565f1cada Fixed mobile version build 2020-08-02 12:38:36 +01:00
Laurent
0c147236a3 All: Add mechanism to lock and upgrade sync targets (#3524) 2020-08-02 12:28:50 +01:00
Anjula Karunarathne
88f22fabf7 Desktop: Added KeymapService to manage keyboard shortcuts (#3252) 2020-08-02 12:26:55 +01:00
Thatcher Chamberlin
5f46d60c5e Desktop, Cli, Update Katex to v0.12.0 (#3571) 2020-08-02 12:24:03 +01:00
Jess
cc8c200826 Desktop: Resolves #3529: Fix AppImage Icon (#3570) 2020-08-02 12:17:51 +01:00
Laurent
4485947b0f Desktop: Fixed copy, cut and paste in Rich Text editor (#3565) 2020-08-02 12:16:42 +01:00
Roman Musin
9f1a877f96 Android: remove hardcoded portrait screen orientation for share activity (#3418) 2020-08-02 12:14:56 +01:00
Laurent Cozic
13280ce1b3 Desktop, Mobile: Add support for media player for video and audio files
Co-authored-by: Bryan <bryan.r.gerlach@gmail.com>
2020-08-02 12:03:49 +01:00
Caleb John
7f73931530 Desktop: Fixes #3560: Modify the CodeMirror linter plugin to fix katex (#3582)
Rewrite the joplin mode to manually handle parsing.

This gives us more control over katex parsing and the ability to upgrade
in the future
2020-08-02 11:33:59 +01:00
Caleb John
bbfed9bca8 Desktop: Codemirror: clean up list indent code (#3581) 2020-08-01 19:09:52 +01:00
Caleb John
bab29cd582 Desktop: Toggle Editor rather than setting split mode on search (#3561) 2020-08-01 19:07:52 +01:00
Laurent
f9296992bf Merge branch 'dev' into plugin_system 2020-08-01 18:58:08 +01:00
Laurent Cozic
baea44cbd6 Fixed mobile version build 2020-08-01 18:56:56 +01:00
Laurent Cozic
ab0538df43 All: Security: Apply latest package security updates 2020-08-01 18:56:26 +01:00
Laurent Cozic
5b06ebde1e Updated 2020-08-01 18:38:43 +01:00
Laurent Cozic
d309c75974 Merge branch 'dev' into plugin_system 2020-08-01 18:35:05 +01:00
Laurent Cozic
58d4a69053 Merge branch 'dev' of github.com:laurent22/joplin into dev 2020-08-01 18:21:42 +01:00
Laurent
9147b3061a Desktop: Hide completed to-dos in GotoAnything (#3580) 2020-08-01 18:17:40 +01:00
Laurent
1b0102f62c Update stale.yml 2020-08-01 18:15:17 +01:00
j-krl
471631933b CLI: Resolves #3217: Added link navigation shortcuts (#3275) 2020-08-01 17:57:45 +01:00
Laurent
cd761932c1 Merge branch 'dev' into cli-shortcuts-ts 2020-08-01 17:50:03 +01:00
Laurent Cozic
e63eee89ef Electron release v1.0.233 2020-08-01 15:27:30 +01:00
Laurent Cozic
4393ebbcc6 Desktop: Fixed potential crash when notebook does not have a title 2020-08-01 15:20:17 +01:00
Laurent Cozic
ed82390a8d Desktop: Fixed toolbar button state when going from setting screen to main screen 2020-08-01 15:11:14 +01:00
Laurent Cozic
79e708779f Merge branch 'master' of github.com:laurent22/joplin 2020-08-01 14:49:31 +01:00
Laurent Cozic
98905f6892 Tools: Cleaned up and improve build config, and fixed TypeScript Watch high CPU usage 2020-08-01 14:48:56 +01:00
Retew
44e57c3959 All: Translation: Update ru_RU.po (#3579) 2020-07-29 23:35:43 -04:00
voltinus
35d48394ce All: Translation: Update pl_PL.po (#3577) 2020-07-29 23:32:24 -04:00
Laurent Cozic
eb42a5f34b Mobile: Reduced auto-sync interval when opening app, and fixed Amazon S3 config 2020-07-28 22:47:24 +00:00
Laurent Cozic
729c8c6fac Electron release v1.0.232 2020-07-28 19:11:14 +01:00
Laurent Cozic
7a1707d864 Finished reverting hierarchical tag feature 2020-07-28 19:09:50 +01:00
Laurent Cozic
64d7603eed Revert "All: Added support for hierarchical/nested tags (#2572)"
This reverts commit e11e57f1d8.
2020-07-28 18:50:34 +01:00
Laurent Cozic
89e6b680a6 Revert "Desktop: Regression: Fix sort tags alphabetically in side-menu (#3489)"
This reverts commit 10ff43f4f0.
2020-07-28 18:49:34 +01:00
Helmut K. C. Tessarek
da071a804c Update website 2020-07-27 13:27:45 -04:00
Helmut K. C. Tessarek
7833ca5ae6 https://joplin.cozic.net -> https://joplinapp.org 2020-07-27 13:26:17 -04:00
Mehrad Mahmoudian
44d49b57b9 fixed a typo and added checked checkbox in Markdown Guide (#3556)
* Doc: Fixed a typo in a markdown syntax of a link

* Doc: added an example of a checked checkbox

and added how the checkboxes would get translated when turned to HTML

* Doc: added a picture of a rendered markdown checkbox in Joplin
2020-07-27 13:19:11 -04:00
Laurent
9db150f8ff Update stale.yml 2020-07-27 11:06:45 +01:00
Laurent Cozic
e2d3630783 Tools: Added sync target snapshots 2020-07-25 11:38:43 +01:00
Laurent Cozic
cb1b5cae9f Update website 2020-07-24 19:46:27 +01:00
Laurent Cozic
3af5b31c1c Merge branch 'master' of github.com:laurent22/joplin 2020-07-24 19:44:33 +01:00
Laurent Cozic
b6dafd6da6 Doc: Showcasing plugins as screenshots (#3549)
Co-authored-by: Mehrad Mahmoudian <m.mahmoudian@gmail.com>
2020-07-24 19:42:44 +01:00
Laurent Cozic
d08b922632 Electron release v1.0.231 2020-07-24 18:02:12 +01:00
Laurent Cozic
9d4e250f6b Electron release v1.0.230 2020-07-24 17:45:14 +01:00
Laurent Cozic
c19cc1b39a Merge branch 'master' of github.com:laurent22/joplin 2020-07-24 17:28:55 +01:00
Laurent Cozic
73bd6f9776 Update turndown 2020-07-24 17:28:28 +01:00
WhiredPlanck
6fef55398f All: Translation: Update zh_CN.po (#3542)
* [trans] Update zh_CN.po

* [trans] Give the specific names of AWS secret and AWS key
2020-07-24 11:58:09 -04:00
Laurent Cozic
d209d5036b Desktop, Cli: Security: Fixed a path traversal vulnerability in clipper server API that could allow an attacker to read or write an arbitrary file (CVE-2020-15844) 2020-07-24 00:45:15 +00:00
Laurent Cozic
4be02bc33c Desktop: Fixed save issue in Rich Text editor when making a change to a note and quickly switching to a different notebook 2020-07-23 23:55:01 +00:00
Laurent Cozic
d6daa34e0a Linter 2020-07-23 23:06:58 +00:00
Laurent Cozic
9cebbbe7cf Desktop, Cli: Fixed attachments being out of order when importing Enex file 2020-07-23 18:43:01 +01:00
Laurent Cozic
71e5304298 Desktop: Fixes #3534: Undoing changes multiple time on an existing note could result in a blank note 2020-07-23 19:56:53 +00:00
Laurent Cozic
8f8d11c9b3 Desktop: Fixes #3510: Note links would be broken after saving a note in Rich Text editor 2020-07-23 19:38:42 +00:00
Laurent Cozic
1cd86fd3ea Cli: Fixes #3548: Desktop-only scripts were incorrectly being loaded in CLI server tool 2020-07-23 19:04:04 +00:00
Laurent Cozic
7f1f5a8c3d Desktop: Fixes #3503: Editor window was no longer being resized with the main window 2020-07-22 23:26:45 +01:00
Caleb John
9dfb0642da Desktop: Split Codemirror setOptions into different effects (#3522) 2020-07-22 23:18:52 +01:00
Caleb John
0fa8dfa063 Desktop: Enforce that whitespace check for unindent checks the begining of a (#3515) 2020-07-22 23:17:49 +01:00
Caleb John
1d79dedf6d Fix architecture check to only search within machine details (#3512) 2020-07-22 23:16:42 +01:00
Caleb John
a274a56e65 Desktop: CodeMirror: Change rootSize parameters to prevent collision with styles.editor (#3505) 2020-07-22 23:16:06 +01:00
Caleb John
44d3a4213f Desktop: Enable searching in editor rather than the viewer for CodeMirror (#3360) 2020-07-22 23:13:23 +01:00
Laurent Cozic
e68eb196b7 Removed debug code 2020-07-22 19:09:20 +01:00
Laurent Cozic
4bef79cd71 Desktop: Fixes #3407: In some cases, changes made to an attachment would not be saved. Also added banner to show that an attachment is being edited 2020-07-22 19:03:31 +01:00
Laurent Cozic
f3dc3602c8 Desktop: Fixes #3366: Revealing file in Windows did not work 2020-07-22 17:24:01 +01:00
Vaidotas Šimkus
17e140ba56 Api: Fixes #3539: Fixes nested tag API to handle calls with no 'fields' query key 2020-07-22 10:38:49 +01:00
Laurent Cozic
89d0575ccd All: Security: Upgrade packages to fix minor vulnerabilities 2020-07-21 22:22:58 +01:00
Helmut K. C. Tessarek
ca0197a319 fix linter error (#3518) 2020-07-20 00:19:08 +01:00
Helmut K. C. Tessarek
62bc296abe Update translations 2020-07-19 15:18:42 -04:00
Gen Neko
e58dc809ec All: Translation: Update ja_JP.po (#3526)
Translate new strings for the nested tag and note properties.
2020-07-19 14:41:40 -04:00
Arda Kılıçdağı
abd57ad384 All: Translation: Update tr_TR.po (#3523)
Turkish translations updated
2020-07-18 13:42:48 -04:00
Tim Mundt
bada9286d0 All: Translation: Update de_DE.po (#3517) 2020-07-17 19:34:14 -04:00
Roman Musin
3807317e66 Mobile: Increase max resource size to 100mb (#3431) 2020-07-15 18:29:16 +01:00
Vaidotas Šimkus
10ff43f4f0 Desktop: Regression: Fix sort tags alphabetically in side-menu (#3489) 2020-07-15 18:28:40 +01:00
Caleb John
282f6de1a9 Desktop: Load more CodeMirror modes for syntax highlighting (#3401) 2020-07-15 11:46:14 +01:00
alexchee
9a55afec01 All: Add support for AWS S3 synchronisation (Beta) (#2815) 2020-07-15 10:22:55 +01:00
Robert
c8c4bb3245 Update nl_NL.po (#3498) 2020-07-15 10:14:21 +01:00
Chen Yuyang
e1f831af62 Update translation zh_CN.po (#3490) 2020-07-15 10:13:39 +01:00
Laurent Cozic
657cebfda9 Desktop: Improved GotoAnything speed and made it safer
Previously we'd use the remove-markdown package to create the note
preview however this function would freeze on certain notes, and was
probably unsafe as it used regex to parse Markdown. Replaced this in
favour of Markdown-it along with htmlparser2 to strip all markup from a
note.
2020-07-14 23:27:45 +01:00
Laurent Cozic
7f1c25793a Desktop: Fixes #3449: Fixed style caching 2020-07-14 19:17:25 +00:00
Laurent Cozic
b770ffda4d Desktop: Regression: Fixed adding a new sub-notebook to a notebook 2020-07-14 18:56:02 +00:00
Laurent Cozic
d0b3e15999 Electron release v1.0.229 2020-07-14 15:33:20 +01:00
Laurent Cozic
20433b0282 Desktop: Fixed alarms on macOS 2020-07-14 15:32:49 +01:00
Caleb John
452b41de0f Desktop: Fixes #3440: Improve Markdown rendering in CodeMirror, in particular for math expressions (#3448) 2020-07-12 19:42:19 +01:00
Helmut K. C. Tessarek
b69008225f Update translations 2020-07-12 14:33:09 -04:00
yaozeye
b3a778e983 All: Translation: Update zh_TW.po (#3470) 2020-07-12 14:22:26 -04:00
yaozeye
a57c6e9155 All: Translation: Update zh_CN.po (#3468) 2020-07-12 14:22:07 -04:00
Laurent Cozic
3fbfba2c03 Merge branch 'master' of github.com:laurent22/joplin 2020-07-12 19:20:32 +01:00
Laurent Cozic
8a5e6875f0 Desktop, Cli: Fixes #3473: Fix filename when exporting notebook as Markdown 2020-07-12 19:13:08 +01:00
Vaidotas Šimkus
e11e57f1d8 All: Added support for hierarchical/nested tags (#2572)
The implementation uses / symbol as a nesting separator. I.e. tag/subtag is a nested tag, where tag is the parent tag and subtag is its child. Creating a tag named tag/subtag/subsubtag creates three tags, one for each level. The tags are associated using parent_id field.

In the app, viewing notes with a tag will also show all notes that are associated with any of the tag's descendant tags (same for the note count). Deleting a tag will also delete all its descendant tags.

In the desktop app the tags are shown nested just like the notebooks.
2020-07-12 18:09:07 +01:00
Laurent Cozic
073bd80f89 Electron release v1.0.228 2020-07-12 18:05:06 +01:00
Laurent Cozic
e3aaee738a Desktop: Fixes #3482: Fixed regression when moving note to notebook from menu 2020-07-12 17:27:56 +01:00
Laurent Cozic
f1b2b7b86b Desktop: Fixes #3481: Crash when applying tags to multiple notes from within another tag 2020-07-12 17:15:17 +01:00
Laurent Cozic
e0a87d6253 Revert "All: Add support for sync target lock"
This reverts commit 51235f191d.

Not ready yet, moving to a branch
2020-07-12 16:38:54 +01:00
Laurent Cozic
a7eae2e033 Update donate.md 2020-07-11 14:27:35 +01:00
Laurent Cozic
51235f191d All: Add support for sync target lock
The goal is to allow locking a sync target so that maintenance
operations, such as upgrading the target to a more efficient format,
can be done. For now, only the lock mechanism is in place, as a way to
evaluate it, and to see if it can cause any issue.
2020-07-10 23:42:03 +01:00
Laurent Cozic
003ead2511 Clean up 2020-07-10 19:54:29 +01:00
Laurent Cozic
8dc8527fdc CLI v1.0.165 2020-07-10 19:52:58 +01:00
Laurent Cozic
985dcc2605 Update stale.yml
30 days should be enough - either we tag the issue or it gets closed, and it's likely all issues will be checked by at least one mod within 30 days.
2020-07-10 18:02:35 +01:00
WhiredPlanck
4063cdba11 All: Translation: Update zh_CN.po (#3451)
* branch off from master

* fix typo and improve translations
2020-07-07 15:14:52 -04:00
WhiredPlanck
c96c591fa9 All: Translation: Update zh_TW.po (#3450)
* Update zh_TW.po

* fix typo and improve translations
2020-07-07 15:14:27 -04:00
Laurent Cozic
4913fdb800 Electron release v1.0.227 2020-07-07 19:18:03 +01:00
Laurent Cozic
24bc7f153a Desktop: Fixes #3461: Fixed regression which could cause a crash after deleting a notebook 2020-07-07 19:17:33 +01:00
Laurent Cozic
8732c97dcd Desktop: Fixed GotoAnything rendering issue with HTML notes 2020-07-07 19:17:33 +01:00
Damien MASCRÉ
e092eaef6f Updates to the french translation (#3466)
* Update french translation.

* Update french translation.
2020-07-07 15:09:30 +01:00
cadolphs
4ade1bf65f Desktop: Add approximate reading time to note statistics (#3373)
* First stab at a reading time calculator

* Use ceil instead of floor for rounding

* Fix variable names to camelCase

* Up wpm to 250, add source
2020-07-07 00:39:36 +01:00
Laurent Cozic
807c89a42f Added way to get dev mode command line 2020-07-05 18:55:21 +01:00
Laurent Cozic
0b8350e9ea Adding plugin doc 2020-07-05 17:58:24 +01:00
Laurent Cozic
49e7be8924 Ignored files 2020-07-05 17:24:20 +01:00
Laurent Cozic
810c63e3b2 Update doc 2020-07-04 18:38:12 +01:00
Laurent Cozic
d917ca5551 Added plugin doc auto-generation 2020-07-04 18:27:47 +01:00
Laurent Cozic
ec642300ab Moved sandbox to sub-folder 2020-07-04 17:56:21 +01:00
Laurent Cozic
9034d646bf Moved sandbox to a class 2020-07-04 17:02:32 +01:00
Laurent Cozic
96f6bbb035 Allow executing commands from plugin 2020-07-04 16:05:02 +01:00
Laurent Cozic
e14ed655d2 Freeze state in dev mode 2020-07-04 15:32:24 +01:00
Laurent Cozic
54e5323f54 Fixed another issue due to modifying state data 2020-07-04 15:24:53 +01:00
Laurent Cozic
ef58affed1 Fix tests 2020-07-04 15:09:14 +01:00
Laurent Cozic
76fa87d878 Fixed test issue due modification of immutable state 2020-07-04 14:52:55 +01:00
Laurent Cozic
2db2225788 Merge branch 'master' into plugin_system 2020-07-04 14:31:54 +01:00
Laurent Cozic
425c1763f4 Desktop: Fixed GotoAnything rendering issue with HTML notes 2020-07-04 12:57:19 +01:00
Laurent Cozic
77a03599de Desktop: WYSIWYG: Fixed inserting date time and other content inside header 2020-07-04 12:17:30 +01:00
Laurent Cozic
9c057071b5 Electron release v1.0.226 2020-07-04 10:47:04 +01:00
Laurent Cozic
ee3f4beeaf Desktop: Dev fix: Better handling of command props 2020-07-04 10:46:22 +01:00
Laurent Cozic
7035b1f9f6 Desktop: Dev fix: Added back title on header buttons 2020-07-04 10:46:22 +01:00
Deep Majumder
3aea55ee63 Tools: Generates SHA-256 sum of AppImage for Linux (#3410) 2020-07-03 22:46:20 +01:00
Laurent Cozic
28acb4eca6 Electron release v1.0.225 2020-07-03 22:43:19 +01:00
Laurent Cozic
c63c6370b5 Desktop: Refactored command system
The goal is to make the command system more modular, so each command can
be defined as a single object that includes a declaration (name, label,
etc.) and a runtime (to execute the command, test if it should be
enabled, etc.)

Utility methods are provided to convert a command to a menu item or a
toolbar button, thus reducing duplicated and boiler plate code across the
codebase (often the menu item logic was duplicated in the toolbar
button logic and vice versa).

The goal is to make it easier to add new commands (and associated menu
item and toolbar buttons) and to call them from
anywhere. This is also useful for plugins, which can also easily define
new commands.

Could also allow creating a command palette.
2020-07-03 22:32:39 +01:00
Laurent Cozic
6046f40e45 Tools: Fixed tests following highlight.js upgrade (changed in HTML escape mode) 2020-07-03 22:30:33 +01:00
Caleb John
262159cf73 Desktop: Codemirror: Remove cancelled keys in favour of explicit keymaps (#3417) 2020-07-02 23:00:56 +01:00
Caleb John
8eb94bc8ab Desktop: Manually refresh codemirror whenever the window size changes (#3388)
* Manually refresh codemirror whenever the parent div size changes

* Set editor width through style rather than adding an extra property

* use Memo for editorStyle
2020-07-02 22:45:43 +01:00
WhiredPlanck
a9390affaa All: Translation: Update zh_CN.po (#3430)
* Update zh_CN.po

* Correct typo

* Correct typo: NextCloud --> Nextcloud; Improved translation

* Improved translation (2)
2020-06-30 10:30:09 -04:00
Arda Kılıçdağı
66392b4e8a Yandex disk removed from supported WEBDAV clients (#3432)
Yandex.disk recently removed file upload support from WebDAV

https://ru.stackoverflow.com/questions/1043523/После-загрузки-файла-на-Яндекс-Диск-по-webdav-происходят-паузы-по-60-секунд-на-к
https://qna.habr.com/q/677787

So this makes Yandex.disk unusable at the moment.

Here's a similar issue, please see recent comments: https://github.com/PhilippC/keepass2android/issues/506

I've personally tried, and cannot even access to Yandex.disk at the moment through WebDAV.

This PR simply removes yandex.disk line from the ReadMe.

Thanks,
2020-06-30 10:26:30 -04:00
Laurent Cozic
3283f34c79 ios-v10.0.50 2020-06-28 20:17:13 +01:00
Laurent Cozic
fd4e5d7d30 Android release v1.0.333 2020-06-28 19:57:33 +01:00
Laurent Cozic
5bbf9d87c2 Desktop: Fixes #3412: Fixed custom order when note title is changed 2020-06-28 19:10:35 +01:00
Laurent Cozic
acf1ff6d1d Desktop, Cli: Fixes #3402: Fixed import of checkboxes in ENEX files 2020-06-28 18:55:47 +01:00
Laurent Cozic
05acc51054 Desktop, Mobile: Fixes #3281: Prevent code highlighting from freezing the app in some cases 2020-06-28 18:31:43 +01:00
Laurent Cozic
eb8841379c Desktop, Cli: Fixes #2331: Only de-duplicate imported notebook titles when needed 2020-06-28 18:00:51 +01:00
Laurent Cozic
044f2eac6a Improved view support 2020-06-28 17:10:34 +01:00
Laurent Cozic
281f135125 Improved view support 2020-06-28 17:08:38 +01:00
Laurent Cozic
6c88f8b8ae Merge branch 'plugin_system' of github.com:laurent22/joplin into plugin_system 2020-06-28 16:57:28 +01:00
Laurent Cozic
832abcddf0 Add support for state watch 2020-06-27 11:54:42 +01:00
Laurent Cozic
d601575549 Doc: Updated sponsors 2020-06-27 10:05:19 +01:00
Laurent Cozic
e6c481f45c Fixed tests 2020-06-27 01:05:40 +01:00
Laurent Cozic
11fecfb83a Cleaned up naming and types 2020-06-26 23:03:20 +01:00
Laurent Cozic
2facc9868e Renamed control to view 2020-06-26 22:52:40 +01:00
Laurent Cozic
7b9ad9d1c3 Moved listener to view itself 2020-06-26 22:46:45 +01:00
Laurent Cozic
3b96a99f3e Allow sending messages from webview script to plugin 2020-06-26 18:13:00 +01:00
Laurent Cozic
575ce5128b Added reducer 2020-06-26 16:14:59 +01:00
Arda Kılıçdağı
0d2f253218 All: Translation: Update tr_TR.po (#3415) 2020-06-25 22:29:35 -04:00
rnbastos
349d020da2 All: Translation: Update pt_BR.po (#3408) 2020-06-25 22:28:28 -04:00
Laurent Cozic
dece28da35 Better integration of custom webviews 2020-06-25 22:15:31 +01:00
Laurent Cozic
2ffc429971 Merge branch 'master' into plugin_system 2020-06-25 20:27:38 +01:00
Laurent Cozic
87ccb86f54 All: Reducer should not mutate state 2020-06-25 20:27:14 +01:00
Laurent Cozic
8baa125842 Refactored to save plugin state in Redux store 2020-06-25 20:25:50 +01:00
Anjula Karunarathne
20482b2f14 Update README.md (#3414)
Fixed typo: Xfcxe -> Xfce
2020-06-24 23:54:16 +01:00
Laurent Cozic
6b6092ffc7 Merge branch 'master' into plugin_system 2020-06-24 23:14:16 +01:00
Laurent Cozic
47a05fb4ba Tools: Fixed build 2020-06-24 23:13:32 +01:00
Laurent Cozic
ac0a89625a Tools: Fixed build issues 2020-06-24 23:11:42 +01:00
Laurent Cozic
714c912aff Added support for plugin webview 2020-06-24 23:10:19 +01:00
Laurent Cozic
ebf8b744e1 Tools: Fixed build issues 2020-06-24 16:33:35 +01:00
Caleb John
a07638239b Tools: Use ensureDir instead of mkdir in utils (#3409)
* Use ensureDir instead of mkdir in utils

* switch to mkdirp
2020-06-23 21:38:52 +01:00
Laurent Cozic
1039e98396 Only load plugins if dir present 2020-06-23 17:25:35 +01:00
Laurent Cozic
8f00538cb1 Merge branch 'master' into plugin_system 2020-06-22 23:07:12 +01:00
Laurent Cozic
5143870d3b Tools: Improve building and testing app on Windows 2020-06-22 23:06:47 +01:00
Laurent Cozic
2b530a3ff9 Merge branch 'master' into plugin_system 2020-06-21 21:37:58 +00:00
Laurent Cozic
d089511aa6 Added support filters and custom views 2020-06-21 21:30:07 +00:00
Gen Neko
f61c4c1374 All: Translation: Update ja_JP.po (#3394) 2020-06-21 12:14:59 -04:00
Laurent Cozic
254735fcae Desktop: WYSIWYG: Fix undo issue 2020-06-21 14:37:04 +01:00
Laurent Cozic
44024371ff Merge branch 'master' of github.com:laurent22/joplin 2020-06-21 14:01:53 +01:00
Laurent Cozic
be232fa34b Tools: Add no-array-constructor eslint rule 2020-06-21 13:58:54 +01:00
Helmut K. C. Tessarek
1a90165255 Desktop, Mobile: Fix link color for dark theme (#3391) 2020-06-21 00:47:19 +01:00
Helmut K. C. Tessarek
13417d15b7 Update en_US.po 2020-06-20 18:22:01 -04:00
Helmut K. C. Tessarek
9fe1f6acfc Update translations 2020-06-20 18:21:11 -04:00
Laurent Cozic
1899d86641 Electron release v1.0.224 2020-06-20 23:12:06 +01:00
Laurent Cozic
6ca63ca56b Merge branch 'master' of github.com:laurent22/joplin 2020-06-20 23:11:38 +01:00
Derviš T
e796968ec0 All: Translation: Update bs_BA.po (#3390)
Finished translating new strings. Corrected the old ones that have changed since the last translation update.
2020-06-20 18:11:25 -04:00
Laurent Cozic
7b64c8dbe3 Desktop: Fixed API issue 2020-06-20 23:11:18 +01:00
Laurent Cozic
2377f7bc07 Desktop: Make sure search engine can keep working when index is corrupted 2020-06-20 19:21:35 +01:00
Laurent Cozic
47fdcef182 Electron release v1.0.223 2020-06-20 12:34:49 +01:00
Laurent Cozic
d27b658392 Desktop: API: Improved error handling on service end-point 2020-06-20 12:34:05 +01:00
Laurent Cozic
07720ed6f8 Electron release v1.0.222 2020-06-20 12:21:31 +01:00
rnbastos
a9cdecf599 Update pt_BR.po (#3382) 2020-06-20 12:21:05 +01:00
yaozeye
c6b5a5c328 Update zh_CN.po (#3387) 2020-06-20 12:20:40 +01:00
Laurent Cozic
e7f3aa3764 Updated British spelling 2020-06-20 12:18:41 +01:00
Laurent Cozic
89ca8e08d6 Desktop: API: Fixed externalEditWatcher/noteIsWatched call, fixed tests 2020-06-20 12:03:22 +01:00
Laurent Cozic
6350506ce7 Mobile: Fixes OneDribe login screen 2020-06-20 11:14:01 +01:00
Laurent Cozic
d5ed611920 Update website 2020-06-20 02:57:32 +01:00
Laurent Cozic
acc10ccac4 Electron release v1.0.221 2020-06-20 02:31:12 +01:00
Laurent Cozic
45160a2e73 Desktop: API: Add support for external editing from API 2020-06-20 02:30:09 +01:00
Laurent Cozic
e38794171a Tools: Fix desktop build issue on Windows 2020-06-20 01:18:46 +01:00
Laurent Cozic
c2d6da83c0 All: Fixes #3381: Prevent desktop.ini file from breaking sync lock 2020-06-20 01:15:56 +01:00
j-krl
fd568b5300 interop unnecessary 2020-06-18 15:50:19 -06:00
Caleb John
77005fc495 Tools: Try to add codemirror types again (#3380)
* Try add codemirror type again

* Add global typedef for codemirror

* Add comment
2020-06-18 18:58:11 +01:00
Deep Majumder
0273e58783 Doc: Corrected info on supported Linux dsitros. (#3378)
Added list of supported desktop environments
2020-06-18 18:55:41 +01:00
Laurent Cozic
450c8dbf22 Added support for setting and getting runtime preferences and done CodeMirror plugin test 2020-06-18 00:49:32 +01:00
Laurent Cozic
94d87285dc Merge branch 'master' into plugin_system 2020-06-17 23:50:12 +01:00
Laurent Cozic
3e88a24753 Desktop: Reduce database logging statements 2020-06-17 23:46:47 +01:00
Laurent Cozic
1205908233 Revert "Desktop: Change codemirror to user import syntax (#3375)"
This reverts commit 3a7a068196.
2020-06-17 23:45:36 +01:00
Caleb John
3a7a068196 Desktop: Change codemirror to user import syntax (#3375) 2020-06-17 18:47:11 +01:00
Caleb John
845ecfe742 Desktop: Add default filename for jex export (#3034)
* Add default filename for jex export

* Restructure date as default filename
2020-06-17 18:35:13 +01:00
Laurent Cozic
53355aaad3 Clipper: Do not export invisible elements 2020-06-17 00:03:40 +01:00
Laurent Cozic
7cd0e25538 Merge branch 'master' of github.com:laurent22/joplin 2020-06-16 18:10:04 +01:00
Caleb John
2f15178ff6 Desktop: Remove auto-indent for in note html/xml for Code Mirror (#3374)
html/xml inside of a codeblock will still benefit from auto-indent
2020-06-16 13:00:58 +01:00
Caleb John
a4b13be0d1 Desktop: Fix getLineSpan logic and list token regex logic (#3365)
- previously getLineSpan was included line text as a token (dumb
oversight)
- the regex was updated to include a space after a OL element (was
missing for some reason)
2020-06-16 13:00:17 +01:00
Caleb John
23ae4fb790 Desktop: Add swapLineUp and swapLineDown keys to Code Mirror editor (#3363) 2020-06-16 12:59:33 +01:00
Laurent Cozic
cff036d08b Desktop: Do not expand the leaft notebook when following a link to a note 2020-06-15 22:59:42 +00:00
Laurent Cozic
7826cc0b03 Doc: Added sponsor 2020-06-15 23:03:09 +01:00
Alexander van der Berg
2bfa28a311 Doc: Fix sponsors table layout in the GitHub README.md (#3362)
The table was displayed correctly only on https://joplinapp.org/
2020-06-15 23:00:50 +01:00
Laurent Cozic
780c5c80ae Revert "Desktop: Fixes #3302: Prevent drag and dropping of text in editor as it can lead to data loss"
This reverts commit a75db94da5.

It turns out people often drag and drop text, so restoring the functionality.

See https://discourse.joplinapp.org/t/9406
2020-06-15 19:16:22 +01:00
Laurent Cozic
fcd00b3212 Desktop, Cli: Fixed various bugs related to the import of ENEX files as HTML 2020-06-15 17:10:51 +01:00
Laurent Cozic
6a41d6e85a Cli: Allow importing ENEX files as HTML 2020-06-14 16:45:17 +00:00
Laurent Cozic
3733858145 Desktop, Cli: Fixed issue with importing resources from ENEX files 2020-06-14 16:26:35 +00:00
Laurent Cozic
95d8ee65a5 ios-v10.0.49 2020-06-14 17:04:10 +01:00
Laurent Cozic
8e57697b71 Android release v1.0.332 2020-06-14 16:28:11 +01:00
Helmut K. C. Tessarek
c9c371b297 Update translations 2020-06-13 18:18:30 -04:00
Helmut K. C. Tessarek
d4f794920e update de_DE.po 2020-06-13 18:17:07 -04:00
Helmut K. C. Tessarek
13b5ef36d7 Update translations 2020-06-13 17:47:15 -04:00
Laurent Cozic
83e0bac52a Electron release v1.0.220 2020-06-13 17:43:07 +01:00
Laurent Cozic
9943ae0fa5 Electron release v1.0.219 2020-06-13 17:41:20 +01:00
Laurent Cozic
4c95872826 Tools: Fixed build-translation tool on macOS 2020-06-13 17:41:02 +01:00
Laurent Cozic
4aef72572d Desktop: Added debug info to detect empty note issue 2020-06-13 17:17:32 +01:00
Laurent Cozic
126918be54 Mobile: Do not restore selection on undo/redo (unreliable) 2020-06-13 16:46:43 +01:00
Laurent Cozic
1dc4516efc Revert "Mobile: Refactored and made dialog boxes more reliable"
This reverts commit f432734338.

This new package has its own glitches and doesn't look good
when button labels are too large. So reverting to the less
glitchy package.
2020-06-13 16:20:59 +01:00
Laurent Cozic
9a9cfbd130 Mobile: Resolves #2595: Add undo/redo support 2020-06-13 16:20:18 +01:00
Rodgco
341c9ba64b All: Translation: Update pt_BR.po (#3358) 2020-06-10 22:08:07 -04:00
Laurent Cozic
f432734338 Mobile: Refactored and made dialog boxes more reliable 2020-06-10 22:12:18 +01:00
Laurent Cozic
b7f5f848f2 All: Refactored themes to allow using the same ones in both desktop and mobile version
Will also allow using them when exporting HTML or PDF from CLI.
2020-06-10 22:08:59 +01:00
Laurent Cozic
d80cf6bf37 Mobile: Made saving notes more reliable 2020-06-09 23:30:32 +00:00
Laurent Cozic
31bce2e644 Mobile: Fixed issue with resources not being downloaded after metadata has been decrypted 2020-06-09 19:56:48 +00:00
Laurent Cozic
faabd17fc6 Desktop: Fixed issue with setting filename for edited attachments 2020-06-09 19:15:43 +00:00
Laurent Cozic
4c4ed60cfb Merge branch 'master' of github.com:laurent22/joplin 2020-06-08 18:49:16 +01:00
Laurent Cozic
be1895a080 Clipper: Fixes #3241: Handle certain special cases of ordered lists 2020-06-08 18:44:13 +01:00
Laurent Cozic
b81b6135f6 Clean up unused optional parameter 2020-06-08 09:05:03 +01:00
Laurent Cozic
583ac7960b Mobile: Dev fix: Add missing key 2020-06-08 09:02:14 +01:00
Laurent Cozic
b749bb60fc Merge branch 'master' of github.com:laurent22/joplin 2020-06-08 09:02:04 +01:00
Roman Musin
2c6a298758 Android: Fixes #3010: Request permissions if needed when exporting profile (#3202) 2020-06-08 09:01:11 +01:00
Laurent Cozic
42544cc63b Mobile: Reduce side menu edge hit width
Due to this bug:

https://github.com/react-native-community/react-native-side-menu/issues/153

After rotating the device, the edge hit area is too large, more than 50%
of the note in some cases, which makes it difficult to scroll the note
or zoom.
2020-06-08 08:49:24 +01:00
Roman Musin
d2b81d221b Mobile: Fixes #3343: Fixed issue when creating note then switching notebook (#3347) 2020-06-08 08:40:52 +01:00
Laurent Cozic
618d8723d1 Android release v1.0.331 2020-06-08 07:53:49 +01:00
Laurent Cozic
8058d3f728 Removed debug code 2020-06-08 07:43:09 +01:00
Laurent Cozic
0bc10acf02 Mobile: Fixes #3344: Fixed regression that would cause links in notes to open within app itself 2020-06-08 07:41:04 +01:00
Laurent Cozic
e5866e8aa6 ios-v10.0.48 2020-06-07 14:54:34 +01:00
Laurent Cozic
b4e907ae77 Android release v1.0.330 2020-06-07 14:24:21 +01:00
Laurent Cozic
ff23248017 Doc: Updated sponsors 2020-06-07 13:31:43 +01:00
Laurent Cozic
ac0d01b724 Doc: Fixes #3330: Fixed various links in doc 2020-06-07 13:02:58 +01:00
Laurent Cozic
40adbc5e9e Desktop: Resolves #3333: Improved escaping of Markdown titles in links 2020-06-07 12:55:40 +01:00
Laurent Cozic
f36e0c2513 All: Fixes #3334: Prevent notebook to be the parent of itself 2020-06-07 12:47:43 +01:00
Laurent Cozic
5be8c2cdcf Electron release v1.0.218 2020-06-07 11:02:14 +01:00
Laurent Cozic
e915549f6d Merge branch 'master' of github.com:laurent22/joplin 2020-06-07 11:02:02 +01:00
Laurent Cozic
30b3f3190b Desktop: Regression: Fixed issue with note being needlessly reloaded in WYSIWYG editor 2020-06-07 11:01:33 +01:00
TheOnlyTrueJonathanHeard
3f7390d104 Linux: Allow downloading pre-release versions from install script (#3335) 2020-06-07 10:00:06 +01:00
Caleb John
005bfe799c Desktop: Fixes #3337: Fixed regression when applying theme for Ace Editor (#3338) 2020-06-07 09:59:00 +01:00
Laurent Cozic
c9f1715899 Tools: Fixed formatting of git changelog 2020-06-06 16:31:31 +01:00
Laurent Cozic
faf5eac806 Tools: Add link to release page when creating desktop release 2020-06-06 16:04:47 +01:00
Laurent Cozic
9c5ab41b05 Electron release v1.0.217 2020-06-06 16:03:03 +01:00
Caleb John
a8c8539e7a Desktop: Add option to choose Code Mirror as code editor (#3284) 2020-06-06 16:00:20 +01:00
Laurent Cozic
a3153f1c9f Desktop: Fixes #3331: Fixed note list context menu 2020-06-06 15:47:02 +01:00
Laurent Cozic
f23ab37a11 Doc: Added Ringing Supply sponsor 2020-06-06 15:32:36 +01:00
Laurent Cozic
334da21a3b Tools: Apply linter 2020-06-06 10:21:21 +01:00
叡山电车
4a7c1f54d2 update zh_cn translation (#3332) 2020-06-06 10:10:41 +01:00
Naveen M V
643b06ffa7 Tools: Rewrite randomly failing test (#3328) 2020-06-05 16:05:47 +01:00
Laurent Cozic
0f4a781df0 Mobile: Fixes #3240: Fix geolocation
Co-authored-by: Roman Musin <musinrr@gmail.com>

Squashed commit of the following:

commit c3916ee544d2b59e6b0c760366a9a2b5f821b029
Author: Laurent Cozic <laurent@cozic.net>
Date:   Fri Jun 5 00:01:18 2020 +0100

    Fixed for iOS

commit 959a8b59d1
Author: Roman Musin <musinrr@gmail.com>
Date:   Thu Jun 4 21:56:43 2020 +0100

    Initialize keychain service when starting mobile app

commit 2b322352ed
Author: Roman Musin <musinrr@gmail.com>
Date:   Thu Jun 4 21:32:40 2020 +0100

    Mobile: fix geolocation
2020-06-05 00:08:09 +01:00
Georg Maubach
d6cc84aabd Doc: New Idea: Separate Windows For Panes (#3271)
Joplin has 4 panes: side bar, notes list, code and view. Change joplin in a way that these parts can be different windows. Thus it is possible to put these windows on different screens for more space and better overview.
2020-06-04 19:29:28 +01:00
Roman Musin
33ad0dce15 Android: Resolves #2896: Enable sharing to Joplin on Android (#2870) 2020-06-04 18:40:44 +01:00
Shotaro Yamada
949c92f6d6 Desktop: Resolves #2614: Unindent empty list markup on Enter (#2772) 2020-06-04 18:36:10 +01:00
Arda Kılıçdağı
48098b5c06 Update tr_TR.po (#3327) 2020-06-04 18:34:30 +01:00
Laurent Cozic
afcfb0e341 Tools: Disabled tests that are randomly failing 2020-06-04 18:26:42 +01:00
Laurent Cozic
a1364a621a Tools: Apply linter rules 2020-06-04 18:24:11 +01:00
Laurent Cozic
4113252f18 Tools: Build TypeScript in pre-commit to check for any error 2020-06-04 18:22:21 +01:00
Roman Musin
386d11f51a Doc: Fix iOS log file name format is not rendered to html (#3326) 2020-06-04 11:02:01 +01:00
Laurent Cozic
39a506ad52 Desktop: Fixes #3324: Attaching an image, then cancelling the resize dialog, would crash the app 2020-06-04 09:08:13 +01:00
Laurent Cozic
d9c266e3f1 Merge branch 'master' of github.com:laurent22/joplin 2020-06-04 07:55:13 +01:00
Laurent Cozic
f4092c0824 Desktop: Dev fix: Only disable editor toolbar in preview mode
Reverts 468261906a

Disabling the toolbar when the editor is not in focus means it
was disabled when trying to click on one of the button, because
the editor loses focus before the click event is processed.
2020-06-03 23:59:45 +01:00
Laurent Cozic
4fd20b1c5a Merge branch 'master' of github.com:laurent22/joplin 2020-06-03 23:55:29 +01:00
Laurent Cozic
0d5586b379 Desktop: Fixes #3227: Fix styling of note title in exported PDF and print 2020-06-03 23:55:08 +01:00
Laurent Cozic
da77de0a08 Desktop: Fixes #3287: Disable middle-clicking external URLs, as they would open inside the application 2020-06-03 18:34:00 +01:00
叡山电车
dd34b155b4 Desktop: Fixes #3170: Always make the first item selected in Goto Anything (#3181) 2020-06-03 18:01:17 +01:00
Laurent Cozic
26ce102113 Desktop: Resolves #2773: Add support for system keychain to save sensitive settings (#3207) 2020-06-03 17:07:50 +01:00
叡山电车
5082181c49 Desktop: Fixes #3153: Make GotoAnyting work with East Asian charactors (#3180) 2020-06-03 17:06:14 +01:00
Laurent Cozic
0ee370303c Update geolocalisation info on French translation 2020-06-03 16:54:56 +01:00
jtagcat
720494d870 Doc: install_and_update: document --silent (#3262) 2020-06-03 16:43:47 +01:00
TheOnlyTrueJonathanHeard
cfe1911723 All: Resolves #173: Upload attachments > 4 MB when using OneDrive (#3195) 2020-06-03 14:29:47 +01:00
lscolombo
b2318b1f9f Doc: Changed favicon.ico for latest Joplin logo (#3321)
Co-authored-by: lscolombo <lucianasoclolombo@gmail.com>
2020-06-03 14:25:00 +01:00
Laurent Cozic
560db37025 Tools: Added prefer-default-export eslint rule 2020-06-02 20:13:15 +00:00
Laurent Cozic
dd557f66a5 Desktop: Create new notes with minimum set of properties to prevent a few minor bugs 2020-06-02 22:27:36 +01:00
Laurent Cozic
0603f179cc Update translations 2020-06-02 19:40:28 +00:00
Laurent Cozic
21fcaf621d Tools: Improve how translations are built to make sure no translation is missed 2020-06-02 19:33:08 +00:00
Laurent Cozic
794c8dd051 Update translations 2020-06-02 18:36:22 +00:00
Laurent Cozic
f020b571da Update website 2020-06-03 11:41:02 +01:00
Laurent Cozic
071ea5854f Desktop: Resolves #279: Add support for editable resources (#3305)
* Add support for editable resources

* Fixed handling of resource paths

* Add delay before saving resource

* Delete temp files and stop watching when switching notes

* Handle sync when resource has been edited

* Handle resource conflicts

* Refactoring and handle conflicts from edit watcher

* Added test unit for conflict handling when deleting resource

* Trying to fix Travis-ci test units

* Fixed typo

* Update TinyMCE.tsx

* Update AsyncActionQueue.ts
2020-06-02 22:43:06 +01:00
Laurent Cozic
bfec890632 Update AsyncActionQueue.ts 2020-06-02 22:35:41 +01:00
Laurent Cozic
3bb9d2efd6 Update TinyMCE.tsx 2020-06-02 22:35:05 +01:00
Laurent Cozic
e117b6f732 Fixed typo 2020-06-02 17:50:43 +01:00
Laurent Cozic
710026c8ac Fixed typo 2020-06-02 17:50:24 +01:00
Laurent Cozic
79c45af0d5 Merge branch 'master' into editable_resources 2020-06-02 17:32:21 +01:00
Laurent Cozic
a75db94da5 Desktop: Fixes #3302: Prevent drag and dropping of text in editor as it can lead to data loss 2020-06-01 21:30:51 +00:00
Laurent Cozic
468261906a Desktop: Fixes #3298: Fixed shortcut to focus Note List when editor is in focus 2020-06-01 21:24:14 +00:00
Laurent Cozic
3f1c9c989b Desktop: Fixes #3286: Disable editor toolbar when editor is not in focus 2020-06-01 21:01:10 +00:00
叡山电车
3b40de1962 Desktop: Fixes #3171: Fixed issue with accentuated letters in GotoAnything (#3183)
* fix #3171

* fix problem when searching with diacritics
2020-06-02 16:57:24 +01:00
lscolombo
2dda1c82c5 All: Translation: Update es_ES.po (#3316)
Added translations  and corrected others marked as 'Needs work'

Co-authored-by: lscolombo <lucianasoclolombo@gmail.com>
2020-06-01 23:47:30 -04:00
dsp77
4bc4d41728 All: Translation: Update de_DE.po (#3315)
* Added German translations

- Added missing translations
- Motified a few translations
- There is the question whether to translate the English "theme" to a
German word or keep its English version.

* Adjusted translation
2020-06-01 23:45:46 -04:00
Gen Neko
c8c160d912 All: Translation: Update ja_JP.po (#3314)
* All: Translation: Update ja_JP

* Translate new strings

* Explicitly specify an access key for menu items

* Fix an error in the previous commit
2020-06-01 23:43:37 -04:00
Fathy AR
99354f7dbe All: Translation: Update id_ID.po (#3309) 2020-06-01 23:43:02 -04:00
Laurent Cozic
279310f9a5 Tools: Fixed Linux build issue due to icon error (#3311) 2020-06-01 10:19:16 +01:00
Laurent Cozic
d0de79bffa Trying to fix Travis-ci test units 2020-05-31 21:07:24 +01:00
Laurent Cozic
fbd42726c0 Added test unit for conflict handling when deleting resource 2020-05-31 20:22:55 +01:00
Laurent Cozic
dfe02fbe96 macOS: Improved appearance of application icon 2020-05-31 17:50:41 +01:00
Laurent Cozic
a8cffb9ac8 Revert "macOS: Improved appearance of application icon"
This reverts commit 334347abcf.
2020-05-31 17:46:19 +01:00
Laurent Cozic
bdbf2fe583 Refactoring and handle conflicts from edit watcher 2020-05-31 17:43:51 +01:00
Laurent Cozic
36776cd615 Handle resource conflicts 2020-05-31 16:57:16 +01:00
Laurent Cozic
1852d9291d Handle sync when resource has been edited 2020-05-31 00:31:29 +01:00
Laurent Cozic
0e5a0fdbe5 Delete temp files and stop watching when switching notes 2020-05-30 17:49:29 +01:00
Laurent Cozic
7e59c40091 Add delay before saving resource 2020-05-30 17:10:25 +01:00
Laurent Cozic
53eba3f062 Fixed handling of resource paths 2020-05-30 15:28:42 +01:00
Laurent Cozic
334347abcf macOS: Improved appearance of application icon 2020-05-30 15:12:32 +01:00
Laurent Cozic
e43e3c198a Add support for editable resources 2020-05-30 13:25:05 +01:00
Ron Alleva
a8b8da4732 Doc: Update the faq for VSCode and Sublime (#3295)
This updates the sublime text and VSCode commands to add options which
make them wait before closing. This is borrowed from how you set a
different editor for git commit messages, described by github here:
https://help.github.com/en/github/using-git/associating-text-editors-with-git

This should address #2425
2020-05-29 10:04:44 +01:00
Helmut K. C. Tessarek
ea57f5655c Update website 2020-05-28 22:31:55 -04:00
Helmut K. C. Tessarek
68496bd1a1 terminal.md: clarify install methods 2020-05-28 22:30:55 -04:00
Helmut K. C. Tessarek
097d4d5735 Update translations 2020-05-27 21:06:33 -04:00
Ivan Fadila Putra
89224c8f88 All: Translation : Add bahasa indonesia (id_ID.po) (#3246)
* Translation : translate to bahasa indonesia

* fix(translation) : change to one letter

* fix(translation) : consistency N -> T

* rm(unused) : remove unused files
2020-05-27 21:04:27 -04:00
yaozeye
22c0a219aa All: Translation: Update zh_CN.po (#3288)
Translation added, error fixed & expression improved.
2020-05-27 21:00:09 -04:00
Helmut K. C. Tessarek
9eed42cea0 Update website 2020-05-27 20:46:53 -04:00
Helmut K. C. Tessarek
be24cbed2d clarify, which install methods are supported/unsupported 2020-05-27 20:46:32 -04:00
Helmut K. C. Tessarek
aef3e0aead Update website 2020-05-27 20:35:57 -04:00
Helmut K. C. Tessarek
7a06a41502 update section: install terminal application 2020-05-27 20:33:56 -04:00
Laurent Cozic
03948d185d Merge branch 'master' of github.com:laurent22/joplin 2020-05-27 17:22:13 +01:00
Laurent Cozic
40d39d6268 Desktop: Resolves #51: Add way to manually order notes by dragging them (#3235)
* Allow custom sorting

* Implement UI

* Set order from message box

* Fixed mistake

* Update NoteListItem.tsx

* Desktop: Fixed date popup dialog overflow issue inside info dialog
2020-05-27 17:21:46 +01:00
Anjula Karunarathne
66f1506429 Documentation: Fixed some typos in COTRIBUTING.md (#3277)
Fixes some typos and a broken anchor link in `CONTRIBUTING.md` file
2020-05-27 16:54:34 +01:00
j-krl
f19f148297 word choice 2020-05-25 20:18:13 -06:00
j-krl
79c6eb5503 Added to docs and rewrote LinkSelector as ts file 2020-05-25 20:14:38 -06:00
j-krl
1204bed80a Merge branch 'cli-shortcuts-ts' of https://github.com/j-krl/joplin into cli-shortcuts-ts 2020-05-25 20:10:04 -06:00
j-krl
dc91b1f7d6 Added to docs and rewrote LinkSelector as ts file 2020-05-25 20:09:53 -06:00
j-krl
66dc2b33de Added to docs and rewrote LinkSelector as ts file 2020-05-25 20:00:16 -06:00
Laurent Cozic
ffeb7d0ecd Add support for TypeScript in plugins 2020-05-25 18:04:15 +01:00
Laurent Cozic
c97c337c79 Desktop: Fixed date popup dialog overflow issue inside info dialog 2020-05-25 17:37:37 +01:00
Laurent Cozic
aba92857cb Load plugins from directory 2020-05-25 17:28:32 +01:00
Laurent Cozic
5918c81dbb Merge branch 'master' into plugin_system 2020-05-25 16:56:04 +01:00
Laurent Cozic
0f7deeeac1 Desktp: Put back Edit in External Editor button 2020-05-25 11:37:45 +01:00
Laurent Cozic
8c338675d2 Desktop: Fixes #3267: Fixed issue with invalid image paths when config path contains spaces 2020-05-25 09:52:10 +01:00
Laurent Cozic
b126c761cd Desktop: Fixed portable app issue with resource paths 2020-05-25 00:30:29 +01:00
Chillu1
d02513bb70 All: Translation: Update pl_PL.po (#3268) 2020-05-24 16:13:40 -04:00
Laurent Cozic
68e8d69d04 Tools: Trying to use "npm run dist" on CI 2020-05-24 15:27:30 +01:00
Laurent Cozic
4eb680d675 Electron release v1.0.216 2020-05-24 15:06:48 +01:00
Laurent Cozic
068dbfffd8 Revert "Desktop: Fixes #3260: Fixed image loading issue in WYSIWYG on portable app"
This reverts commit 2c115cd074.

Reason: Fixed is not right and needs further testing on portable release
2020-05-24 15:05:38 +01:00
Laurent Cozic
d9ec2efa4b Merge branch 'master' of github.com:laurent22/joplin 2020-05-24 15:05:08 +01:00
Laurent Cozic
1c90e9dd7d Electron release v1.0.215 2020-05-24 15:04:33 +01:00
j-krl
811942d45e Merge branch 'cli-shortcuts' of https://github.com/j-krl/joplin into cli-shortcuts 2020-05-24 03:20:44 -06:00
j-krl
dbde239a25 formatting 2020-05-24 03:20:05 -06:00
j-krl
ab3ba3e2ca formatting 2020-05-24 03:11:45 -06:00
j-krl
79e77b5a10 removed personal comments 2020-05-24 02:44:24 -06:00
j-krl
c3395133c9 automatic page scrolling, docs updated 2020-05-24 02:38:14 -06:00
j-krl
b1d073cdeb next/prev link index is buggy on page change 2020-05-23 21:09:22 -06:00
Laurent Cozic
2c115cd074 Desktop: Fixes #3260: Fixed image loading issue in WYSIWYG on portable app 2020-05-23 23:30:18 +01:00
Laurent Cozic
c99bd27e4d Desktop: Fixes #3259: Fixed inserting templates into existing notes 2020-05-23 23:06:08 +01:00
j-krl
25d723b373 switched to class based implementation 2020-05-23 07:23:55 -06:00
Laurent Cozic
819d9fd977 Added more tests 2020-05-23 10:40:10 +01:00
Laurent Cozic
0cfceab151 Desktop: Fix undo issue when loading new note 2020-05-23 00:14:26 +01:00
Laurent Cozic
65a0e056c7 Merge branch 'master' of github.com:laurent22/joplin 2020-05-23 00:01:31 +01:00
Eike
b27a215c7f All: Translation: Update de_DE.po (#3243)
* Updated German translation
 - Changed translation for Fail-safe from Störsicher to Fehlersicher

* Shorter WYSIWYG compatibility hint as per #3244
2020-05-22 17:49:54 -04:00
j-krl
e9783d050b I'm going to have to rewrite this entire thing... 2020-05-22 15:26:42 -06:00
j-krl
e1be1ead86 big link doesn't work but regular link does 2020-05-22 06:39:08 -06:00
j-krl
b129bed69f installed open package 2020-05-22 06:06:28 -06:00
j-krl
265ad50ce4 app 2020-05-22 05:50:56 -06:00
j-krl
3e2570601f app-gui 2020-05-22 05:48:27 -06:00
Laurent Cozic
05513e67d2 Merge branch 'master' of github.com:laurent22/joplin 2020-05-22 10:57:52 +01:00
Kaustubh Sharma
34e4164e2f Docs: Update ideas.md (#3247)
spelling mistake corrected
2020-05-22 09:57:32 +01:00
Laurent Cozic
ad80e074de Started plugin system 2020-05-21 23:51:51 +00:00
Laurent Cozic
e4123b4ad9 Doc: Updated list of dependencies 2020-05-21 22:40:01 +00:00
Laurent Cozic
ee6325e3c2 Electron release v1.0.214 2020-05-21 17:12:37 +01:00
Laurent Cozic
a2fce031a2 Desktop: Dev fix: Fixed TypeScript 2020-05-21 17:12:18 +01:00
Laurent Cozic
2de30f8b82 Electron release v1.0.213 2020-05-21 16:09:46 +01:00
Laurent Cozic
f1dbc1d41c Desktop: Improved handling of dark and light theme auto-switch 2020-05-20 23:57:59 +00:00
Laurent Cozic
a96734f5be Revert "Tools: Added eslint rule arrow-parens"
This reverts commit 0b6f5581f0.

It causes too many conflicts with pull requests.
2020-05-21 09:14:33 +01:00
Laurent Cozic
b83eee751f Destkop: Fix selection-related issues 2020-05-21 08:17:08 +01:00
Laurent Cozic
49451dba20 Desktop: Resolves #2665: Add support for system theme auto-switching 2020-05-21 00:47:38 +01:00
Laurent Cozic
3830f36c0b Electron release v1.0.212 2020-05-21 00:20:40 +01:00
Roman Musin
9f7eeb0510 Mobile: Resolves #2669: When attaching a file insert it at the current cursor position (#3189)
* When attaching an image/resource insert it at the current cursor position

* Correct argument order

* Address code review comments

* Another code review comment

Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
2020-05-20 17:46:01 +01:00
Laurent Cozic
58396ea5ce Mobile: Dev fix: Added remove-markdown package 2020-05-20 17:40:38 +01:00
Laurent Cozic
b1bb470b0a CLI: Disable support for HTML export for now as it does not work 2020-05-20 17:31:41 +01:00
Laurent Cozic
0b6f5581f0 Tools: Added eslint rule arrow-parens 2020-05-20 17:16:43 +01:00
Laurent Cozic
c34f762507 Doc: Removed GSoD link 2020-05-20 00:27:17 +00:00
Laurent Cozic
9eac63c021 Desktop: Made sidebar chevrons consistent 2020-05-20 00:21:18 +00:00
Laurent Cozic
1fec7d5558 Tools: Added rule no-new-func 2020-05-20 00:17:09 +00:00
Laurent Cozic
5eb084fd3b Desktop: Fixed issue with the editor showing previous note when it should show nothing 2020-05-20 00:13:59 +00:00
Laurent Cozic
a99db36578 Desktop: Fixed two way scrolling issue in Markdown editor 2020-05-19 23:51:00 +00:00
Laurent Cozic
bec8a2e7d1 Electron release v1.0.211 2020-05-20 09:38:27 +01:00
Laurent Cozic
38ced8cb09 Desktop: Dev fix: TypeScript error 2020-05-20 09:38:14 +01:00
Laurent Cozic
8eff3f5616 Electron release v1.0.210 2020-05-20 09:10:50 +01:00
Laurent Cozic
6f8332bad1 Desktop: Fixes #3228: Markdown editor would not scroll in sync with viewer in some cases 2020-05-20 01:16:03 +01:00
Laurent Cozic
01e0c0c21f Desktop: Made Markdown editor default again 2020-05-20 00:59:12 +01:00
Laurent Cozic
7a1eecc815 Desktop: Fixes #3200: Fixed infinite rendering loop, which would cause the app to crash (white window) 2020-05-20 00:58:35 +01:00
Laurent Cozic
bec91863e2 All: Fixes #3234: Sync would fail in some cases due to a database error 2020-05-19 23:17:56 +01:00
Ayush Jain
341b763088 Desktop: Resolves #2883: Themes switched for more appealing text highlighting (#3192)
* conflicts fixed and changes made to aceEditor.tsx

* theme imported

* theme imported
2020-05-18 11:30:29 +01:00
Laurent Cozic
e0721493e9 Electron release v1.0.209 2020-05-17 18:07:54 +01:00
Laurent Cozic
2d467f7fa5 CI: Upgrade required Node version to 10 2020-05-17 18:07:44 +01:00
Laurent Cozic
23ecbfcb3a Electron release v1.0.208 2020-05-17 16:54:23 +01:00
Laurent Cozic
f8ad782991 Desktop: Fixes #3219: Fix notebook associated with note when doing search, and expand correct notebook 2020-05-17 16:45:27 +01:00
Laurent Cozic
c2684a8149 Desktop: Added more info on how to switch to Markdown editor 2020-05-17 16:29:55 +01:00
Laurent Cozic
4e7c6b0aea Update welcome note 2020-05-17 16:00:45 +01:00
Laurent Cozic
c568f5b33c Desktop: Resolves #3137: Switch to Font Awesome as icon library 2020-05-17 15:34:42 +01:00
Laurent Cozic
e85d4fca5d Desktop: Moved note-related toolbar button next to tag bar 2020-05-17 14:01:42 +01:00
Naveen M V
d9601f3136 Desktop: Dev fix: Remove redundant handleHistory call. (#3216)
handleHistory calls have been moved out of the switch statement.
2020-05-16 13:42:27 +01:00
Laurent Cozic
3ee5deb9f3 Update website 2020-05-16 13:31:29 +01:00
Laurent Cozic
8bc92e88df Doc: Added sponsors 2020-05-16 13:30:54 +01:00
anirudh murali
ebe06c9c38 Desktop: Fixes #2865: Make sidebar resizable when note list is not displayed (#2895)
Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
2020-05-15 12:20:56 +01:00
Naveen M V
b3f32ffc59 Desktop: Resolves #2409: Add note history (back/forward buttons) (#2819) 2020-05-15 12:13:42 +01:00
Laurent Cozic
ecc50790ed Desktop: Refactor: Minor refactoring following counter feature update in a09c7b72c7 2020-05-15 11:52:59 +01:00
RedDocMD
a09c7b72c7 Desktop: Fixes #3009: Word/character counter includes Markdown syntax and HTML tags (#3037)
* Updated commit

* Update package.json

* Update package.json

Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
2020-05-15 11:28:31 +01:00
roman-r-m
7d767cf0c9 Mobile: Resolves #2327: Handle back button when sort popup is open (#3187) 2020-05-14 16:03:13 +01:00
Caleb John
b5fc8e7fc1 Merge pull request #3012 from Rishgod/theme-bold
Desktop: Changing bold-text preview color for Aritim-dark theme
2020-05-13 17:55:09 -06:00
zawnk
91ec0dce37 Minor type in German translation (#3208) 2020-05-13 17:33:27 +01:00
Laurent Cozic
1aa2786ba0 CLI v1.0.164 2020-05-13 16:32:15 +01:00
Laurent Cozic
3265fafd76 Cli: Improve handling of encrypted items 2020-05-13 16:28:54 +01:00
roman-r-m
17fd8ee504 Mobile: Fixes #2685: Fix quick actions (#2796)
* Fix quick actions

* Receive quick actions when the app is cold-launched

* Force side menu close before creating quick note

* Fix react warning: Can't perform a react state update on an unmounted component

The warning was:
Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.
    in NoteScreenComponent (created by Connect(NoteScreenComponent))
    in Connect(NoteScreenComponent) (at app-nav.js:74)

* Fix auto title generation for quick notes.

The previous version created a new provisional note but then while handling NAV_BACK at reduxSharedMiddleware:35 the list of provisional note ids was cleared so when NoteScreenComponent was being mounted later the note was no longer considered provisional and Joplin would not generate the note title from its contents.

* Check for quick action data to be present before processing.

For some reason sometimes it gets called with null.
2020-05-13 11:39:16 +01:00
Laurent Cozic
05adb06aeb Desktop: WYSIWYG: Allow pasting images in editor 2020-05-11 19:26:04 +01:00
Laurent Cozic
dacf6377ae Desktop: WYSIWYG: Fixed UI translation issue for certain languages 2020-05-11 18:59:23 +01:00
Laurent Cozic
fa76c5db8d Desktop: Upgraded to Electron 8.2.5 2020-05-10 22:11:46 +00:00
Laurent Cozic
17f6d6e8c1 Merge branch 'master' of github.com:laurent22/joplin 2020-05-11 09:42:38 +01:00
Laurent Cozic
347d84526b Tools: Improve git-changelog tool 2020-05-10 17:54:18 +01:00
Laurent Cozic
172327613f Doc: Clarify ID format 2020-05-10 17:52:53 +01:00
Laurent Cozic
3e1ee7f330 Update PULL_REQUEST_TEMPLATE 2020-05-10 17:42:21 +01:00
Laurent Cozic
22b5888671 Electron release v1.0.207 2020-05-10 17:16:36 +01:00
Laurent Cozic
41edae9719 All: Security: Fixes #3143: Filter SVG element event attributes to prevent XSS vulnerability 2020-05-10 16:51:15 +01:00
Laurent Cozic
6446a3c4de Revert "Desktop: Resolves #2894: Set editor color scheme according to theme (#3188)"
This reverts commit 488cb99d4c.

Reason: The app doesn't even start

https://github.com/laurent22/joplin/pull/3188#issuecomment-626334459
2020-05-10 16:33:28 +01:00
Laurent Cozic
9c4939e051 Merge branch 'master' of github.com:laurent22/joplin 2020-05-10 16:28:34 +01:00
Laurent Cozic
9f9f760ede Desktop: WYSIWYG: Handle drag and drop of notes and files 2020-05-10 16:28:22 +01:00
Ayush Jain
488cb99d4c Desktop: Resolves #2894: Set editor color scheme according to theme (#3188)
* conflicts fixed and changes made to aceEditor.tsx

* theme imported
2020-05-10 15:13:55 +01:00
Giacomo Rossetto
4167ecafd2 Desktop: Support Windows tiles (#3063)
* Add vector assets

Useful for future tile designs, they contain suggested content guides

* Add tile files

Images and manifest

* Make build script retrieve new files

* Automate Windows Tiles icon generation

* Fix alignment bug

* Replace handcraftet tiles with automatically generetad ones
2020-05-10 15:01:53 +01:00
Laurent Cozic
6ca41ddf80 Desktop: WYSIWYG: Enable context menu on resources, links and text 2020-05-09 19:18:41 +01:00
Rahul Mohata
734f83470c Desktop, Mobile: Fixes #3109: Fixed background color on large Mermaid graphs (#3111) 2020-05-09 16:21:01 +01:00
Siddhant Sehgal
0f8f7aeb14 Desktop: Fixes #3052: Fixed order of notebooks in "Move to notebook" dialog (#3084)
* Added Folder::sortFolderTree

* Added unit tests
2020-05-09 16:19:30 +01:00
Mohammed Rabeeh
3b653a95a0 Desktop: Fixes #3066: Fix focus after exiting GotoAnything (#3075)
* Fix focus on GotoAnything and Layout Switching

* Update app.js

Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
2020-05-09 16:17:11 +01:00
Yuvaraj J
06eb389b21 CLI: Made layout configurable (#3069) 2020-05-09 16:12:09 +01:00
Rahul Mohata
17d2d6f959 Mobile: Fixed note title placeholder color (#3006)
Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
2020-05-09 16:07:47 +01:00
Rahul Mohata
20e065a371 Mobile : Disabled the header items when no note is selected (#2988) 2020-05-09 16:01:39 +01:00
anirudh murali
57cf826e2c All: Resolves #2915: Improve automatic title generation (#2955) 2020-05-09 15:55:00 +01:00
Rahul Mohata
dbe8d3a68e Mobile: Fixed the switch background color on config screen (#2919) 2020-05-09 15:39:02 +01:00
Ishant Gupta
5a174b2236 Mobile: Fixes #2875: Fixed notebook title text overflow (#2877)
* uses no_of_lines to fix the issue

* ellipsizeMode added
2020-05-09 15:33:06 +01:00
Mohammed Rabeeh
b8158f3b53 Desktop: Fixes #3131: Long URIs break Note Info dialog (#3136) 2020-05-09 11:53:16 +01:00
roman-r-m
e768b8cfea Mobile: Avoid crash when downloading large files (#3113) 2020-05-09 11:52:09 +01:00
Vas Sudanagunta
c593546575 Docs: minor improvements to search type table (#2957)
- fixed grammar
- removed redundant "query"
2020-05-09 11:31:15 +01:00
roman-r-m
578f93fb90 Mobile: Improve performance of attaching images, especially large ones (#2945)
* Disable sending serialized data over the react-native bridge when attaching image or file

* Remove noData opt from DocumentPicker as it's only relevant for ImagePicker
2020-05-09 11:26:03 +01:00
Caleb John
24a90036b7 Linux: Fixes #2906 : Update install script to remove command -v check (#2926)
* Linux: update install script to remove command -v check

* Formatting change

* spacing
2020-05-09 11:23:42 +01:00
Laurent Cozic
488c0f1828 Merge branch 'master' of github.com:laurent22/joplin 2020-05-09 11:12:36 +01:00
Laurent Cozic
f4717d0a3d Desktop: Add option to "Reveal file in folder" when right-clicking on image
Co-authored-by: Vaidotas Šimkus
2020-05-09 11:10:47 +01:00
Pranav Shridhar
913c78f45d macOS: Resolves #2804: Add search feature in Help Menu (#2805)
* added search feature in help menu (for mac users)

* Update app.js

Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
2020-05-09 10:47:13 +01:00
Laurent Cozic
4e90c05472 Electron release v1.0.206 2020-05-09 09:38:50 +01:00
Zaid Kesarani
d31d9f2638 Android: Fixed Export Profile Error (#3082)
* Fixed issue: #3010

* solved linter errors

* Optimized Code
2020-05-08 22:46:12 +01:00
Laurent Cozic
0cf56d5a9a Merge branch 'master' of github.com:laurent22/joplin 2020-05-08 13:41:42 +01:00
Shotaro Yamada
80112e7b35 Desktop: Handle compositionend event in TinyMCE (#3164) 2020-05-08 00:16:04 +01:00
Laurent Cozic
b2f1fac133 Delete question.md 2020-05-08 00:11:26 +01:00
Laurent Cozic
cd57877175 Update issue templates 2020-05-08 00:09:09 +01:00
Laurent Cozic
30f515d473 Update question.md 2020-05-08 00:01:16 +01:00
Laurent Cozic
199113341f Update question.md 2020-05-07 23:59:54 +01:00
Laurent Cozic
64aef69d74 Change issue template for questions
Many users unfortunately don't care about the template asking not post support queries here, so we'll now accept questions but we'll just ignore them and let stale bot take care of them.

Also removed the "invalid" template because I believe it make people try to game the system by posting instead a bug report for their support or feature request. At least now we can hope there will less off-topic issues in the bug label.
2020-05-07 23:57:30 +01:00
Laurent Cozic
2073755498 Electron release v1.0.205 2020-05-07 23:11:24 +01:00
Laurent Cozic
f72b5c1028 Desktop: WYSIWYG: Fix CODE element style 2020-05-07 23:10:56 +01:00
Laurent Cozic
561b24f6fd Merge branch 'master' of github.com:laurent22/joplin 2020-05-07 18:20:23 +01:00
Laurent Cozic
d41221bd90 Desktop: Fixed regression with Ace Editor list indentation, and cleaned up code 2020-05-07 18:20:07 +01:00
Laurent Cozic
132c6543b2 Desktop: Fixed regression with Ace Editor (switching layout had bugs) 2020-05-07 18:08:03 +01:00
AlphaJack
7152344fe1 All: Translation: Update it_IT.po (#3172) 2020-05-07 00:32:51 -04:00
Laurent Cozic
a04092c99c Desktop: Fixes #2467: Disable or enable menu items depending on the current view 2020-05-06 23:31:18 +00:00
Laurent Cozic
c273fd4d63 Desktop: Fixed regression with local search (could not be closed anymore) 2020-05-06 23:17:03 +01:00
Renato Rosa
e06dd9c69f Update locale pt_BR to add latest strings. (#3159) 2020-05-05 19:09:19 +01:00
Laurent Cozic
463b20013d Fixed linter errors 2020-05-05 19:03:13 +01:00
Laurent Cozic
204fbec648 Desktop: WYSIWYG: Handle "Paste as text" when pressing Ctrl+Shift+V 2020-05-05 18:52:06 +01:00
Laurent Cozic
d65706aa9c Desktop: TinyMCE: Fixed undo issue when pasting text 2020-05-05 00:01:13 +00:00
Laurent Cozic
f2a1597ecc Desktop: TinyMCE: Fixed clicking a link within a checkbox label 2020-05-04 23:08:36 +01:00
Laurent Cozic
9a2f0bee29 Clean up 2020-05-04 18:37:22 +01:00
Laurent Cozic
3f8833eaf1 Desktop: TinyMCE: Added support for scroll restore 2020-05-04 18:31:55 +01:00
Laurent Cozic
c3a1e7c6e9 Desktop: Fixed note toolbar layout 2020-05-04 00:14:28 +00:00
Laurent Cozic
f5aec137bd Desktop: TinyMCE: Added localisation support 2020-05-03 23:55:41 +00:00
Laurent Cozic
20960dbd47 Electron release v1.0.204 2020-05-03 23:21:54 +01:00
Laurent Cozic
e45fd6b4d3 Fixed typo 2020-05-03 23:21:45 +01:00
Laurent Cozic
8eacba972e Electron release v1.0.203 2020-05-03 18:46:27 +01:00
Laurent Cozic
51732a5adb Desktop: Fixed various bugs and regressions following note editor refactoring
Squashed commit of the following:

commit 5fde36f5c3fa7c7efbce6d81f48fe841c823e88c
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sun May 3 18:43:20 2020 +0100

    Cannot fix for now

commit 251284db3c8b7da6db83f3e06fd19bfdc8b8dd3f
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sun May 3 18:31:08 2020 +0100

    Fixed print to multiple PDFs logic

commit 00d9557996fb984b400fe650594150ae2681e03f
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sun May 3 17:49:20 2020 +0100

    Fixed local search in TinyMCE

commit 46778bf0a79f3bba9ddbc27389fadce4f8944507
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sun May 3 17:37:31 2020 +0100

    Restored note toolbar buttons

commit 3e623c98f0a1cf08bf7d0136f0c8982c5e1ddcd8
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sun May 3 12:30:57 2020 +0100

    Various fixes and moved note toolbar to left of title

commit 790262fe9df5b08d4a619e5244d2906047b39855
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sun May 3 11:21:11 2020 +0100

    Clean up

commit cea30f42e69014ecabda6fa5083199a1ba7b7510
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sun May 3 11:08:23 2020 +0100

    Fixed note loading in TinyMCE
2020-05-03 18:44:49 +01:00
Laurent Cozic
f51873d877 Desktop: Remove colour gradient from sidebar and replaced expand icons with chrevrons 2020-05-02 17:17:15 +01:00
Laurent Cozic
d738fa54ad Electron release v1.0.202 2020-05-02 16:52:38 +01:00
Laurent Cozic
ec8ccc94aa Revert "Tests: Fix random failures (#2777)"
This reverts commit d1cab4b7f5.
Part of this revert: d2582f4fdf

For rationale see https://github.com/laurent22/joplin/pull/2819#issuecomment-616148984
2020-05-02 16:45:25 +01:00
Laurent Cozic
cb8dca747b Refactor note editor
Refactor note editor using React Hooks and TypeScript
and moved editor-specific code to separate files.
Moved business logic into more maintainable custom hooks.

Squashed commit of the following:

commit f243d9bf89bdcfa1849ee26df5c0dd3e33405010
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sat May 2 16:04:14 2020 +0100

    Fixed saving issue

commit 055f68d2e8b6cf6f130336c38ac2ab480887583d
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sat May 2 15:43:38 2020 +0100

    Fixed HTML notes

commit 99a3cf71f58d2fedcdf3001bf4110b6e8e3993da
Merge: 9be85c45f2 b16ebbbf7a
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sat May 2 12:54:42 2020 +0100

    Merge branch 'master' into refactor_note_text

commit 9be85c45f23e5cb1ecd612b0ee631947871ada6f
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sat May 2 12:21:01 2020 +0100

    Ident to space

commit 848dde1869c010fe5851f493ef7287ada5f2991e
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sat May 2 11:28:50 2020 +0100

    Refactor prop types

commit 13c3bbe2b4f9a522ea3f8a25e7e5e7bb026dfd4f
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sat May 2 11:15:45 2020 +0100

    Fixed resource loading issue

commit 50cb38e3f00ef40ea8b6a468eadd66728a3ec332
Author: Laurent Cozic <laurent@cozic.net>
Date:   Fri May 1 23:46:58 2020 +0100

    Fixed resource loading logic

commit bc42ed03735f50c8394d597bb9e67312e55752fe
Author: Laurent Cozic <laurent@cozic.net>
Date:   Fri May 1 23:08:41 2020 +0100

    Various fixes

commit 03c038e6d6cbde03bd474798b96c4eb120fd1647
Author: Laurent Cozic <laurent@cozic.net>
Date:   Wed Apr 29 23:22:49 2020 +0100

    Fixed resource handling

commit dc6c15302fac094c4e7dec5a20c9fcc4edb3d132
Author: Laurent Cozic <laurent@cozic.net>
Date:   Wed Apr 29 22:55:13 2020 +0100

    Moved more code to files

commit 398d5121e53df34de89b4148ef2cfd3a7bbe4feb
Author: Laurent Cozic <laurent@cozic.net>
Date:   Wed Apr 29 00:22:43 2020 +0000

    More fixes

commit 3ebbb80147d7d502fd955776c7fedb743400597f
Author: Laurent Cozic <laurent@cozic.net>
Date:   Wed Apr 29 00:12:44 2020 +0000

    Various improvements and bug fixes

commit 52a65ed3875e0709117ca93ba723e20624577d05
Author: Laurent Cozic <laurent@cozic.net>
Date:   Tue Apr 28 23:51:07 2020 +0000

    Move more code to sub-files

commit 33ccf530fb442d7ddae0852cbab2c335efdbbf33
Author: Laurent Cozic <laurent@cozic.net>
Date:   Tue Apr 28 23:25:12 2020 +0100

    Moved code to sub-files

commit ba3ad2cf9fcc1d7809df4afe93cd9737585a9960
Merge: 445acdab73 150ee14de6
Author: Laurent Cozic <laurent@cozic.net>
Date:   Tue Apr 28 22:28:56 2020 +0100

    Merge branch 'master' into refactor_note_text

commit 445acdab7368345369d7f69b9becd1e77c8383dc
Author: Laurent Cozic <laurent@cozic.net>
Date:   Tue Apr 28 19:01:41 2020 +0100

    Imported more code

commit 772481d3a3ac7f0b0b00e86394c0f4fd2f3a9fa7
Author: Laurent Cozic <laurent@cozic.net>
Date:   Mon Apr 27 23:43:17 2020 +0000

    Handle save/load state

commit b3b92192ae3a1a30e3018810346cebfad47ac5e3
Author: Laurent Cozic <laurent@cozic.net>
Date:   Mon Apr 27 23:11:11 2020 +0000

    Clean up and added back scroll

commit 7a19ecfd0cb7fef1d58ece2e024099c7e40986da
Author: Laurent Cozic <laurent@cozic.net>
Date:   Mon Apr 27 22:29:39 2020 +0100

    More refactoring

commit ac388afd381eaecfa4582b3566d032c9d953c4dc
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sun Apr 26 17:07:01 2020 +0100

    Restored print

commit 1d2c0ed389a5398dacc584d24922c5ea0dda861a
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sun Apr 26 12:03:15 2020 +0100

    Put back search

commit c618cb59d43fa3bb507dbd0b757b302ecfe907b3
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sat Apr 25 18:21:11 2020 +0100

    Restore scrolling behaviour

commit 324e6ea79ebafab1d2bca246ef030751147a47eb
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sat Apr 25 10:22:31 2020 +0100

    Simplified saving notes

commit ef089aaf2289193bf275d94c1f2785f6d88657e4
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sat Apr 25 10:12:16 2020 +0100

    More refactoring

commit 61b102307d5a98d2c1502d7bf073592da21af720
Author: Laurent Cozic <laurent@cozic.net>
Date:   Fri Apr 24 18:04:44 2020 +0100

    Added back note revisions

commit 7d5e3694d0df044b8493d9114e89e2d81c9b69ad
Author: Laurent Cozic <laurent@cozic.net>
Date:   Thu Apr 23 22:51:52 2020 +0000

    More note toolbar refactoring

commit a56d58e7c80d91f29afadaffaaa004f3254482f7
Author: Laurent Cozic <laurent@cozic.net>
Date:   Thu Apr 23 20:54:37 2020 +0100

    Finished toolbar refactoring

commit 6c8ef9f44f880a9569eed5c54c9c47dca2251e5e
Author: Laurent Cozic <laurent@cozic.net>
Date:   Thu Apr 23 19:17:44 2020 +0100

    More refactoring

commit 7de8057158a9256e2e0dcf948081e10a6a642216
Author: Laurent Cozic <laurent@cozic.net>
Date:   Wed Apr 22 23:48:42 2020 +0100

    Started refactoring commands

commit 177263c85e7d17d8ddc01b583738c2ab14b3acd7
Merge: f58f1a06e0 7ceb68d835
Author: Laurent Cozic <laurent@cozic.net>
Date:   Wed Apr 22 20:26:19 2020 +0100

    Merge branch 'master' into refactor_note_text

commit f58f1a06e08b3cf80e2ac7a794b15f4b5caf8932
Author: Laurent Cozic <laurent@cozic.net>
Date:   Wed Apr 22 20:25:43 2020 +0100

    Moving Ace Editor to separate component

commit a83d3a220515137985c0f334f5848c91b8539138
Author: Laurent Cozic <laurent@cozic.net>
Date:   Mon Apr 20 20:33:21 2020 +0000

    Cleaned up directory structure for note editor

commit c6f2e609c9443bac21de5033bbedf86ac6f12cc0
Author: Laurent Cozic <laurent@cozic.net>
Date:   Mon Apr 20 19:23:06 2020 +0100

    Added "note" menu to move note-related items to it

commit 1219465318ae5a7a2c777ae2ec15d3357e1499df
Author: Laurent Cozic <laurent@cozic.net>
Date:   Mon Apr 20 19:05:04 2020 +0100

    Moved note related toolbar to separate component
2020-05-02 16:41:07 +01:00
Laurent Cozic
b16ebbbf7a Tools: Fixed clipper watch tool 2020-05-02 12:52:24 +01:00
Laurent Cozic
90ccb34916 Doc: Update contributor list 2020-05-01 14:51:29 +01:00
Laurent Cozic
724af8f757 Docs: Add Season of Docs info 2020-05-01 14:50:28 +01:00
mic704b
125fa8647a All: Fix format of geolocation data (#2673)
* Maintain geolocation data format through serialization.

* Add test.
2020-04-30 16:56:47 +01:00
Helmut K. C. Tessarek
bf47237d8f Desktop: Add + to access 'Zoom In', allows to use the numpad (#2630)
* add + to access 'Zoom In', allows to use the numpad

This change aligns Joplin's behavior with all other apps that have shortcuts for `Zoom In`.
It therefore improves the user experience.

/ref

https://discourse.joplinapp.org/t/please-help-test-the-new-desktop-pre-release/6445/2?u=tessus
https://github.com/laurent22/joplin/pull/2165#issuecomment-593106648

* add comment

* improve comment
2020-04-30 10:08:19 +01:00
PackElend
294b9fc941 refreshed ideas 1 and 2, added 3 2020-04-30 00:48:52 +02:00
PackElend
699c1ab58c added sup-steps in recommended steps
Added important sub-steps under point 5 in the recommended steps to ensure that the applicants don't blow the backlog
2020-04-30 00:32:39 +02:00
Laurent Cozic
150ee14de6 Update website 2020-04-28 19:09:03 +01:00
Laurent Cozic
b207f7a53f Doc: Fixed GitHub Sponsor button 2020-04-28 19:08:31 +01:00
Laurent Cozic
096698912e Update website 2020-04-28 19:03:54 +01:00
Xaris Ar
a5ec1be7d1 All: Translation: Update el_GR.po (#3128) 2020-04-25 16:09:12 -04:00
espinosa
f9f884a7f3 All: Translation: Update fr_FR.po (#3123)
* Partial translation in French

* Remplacé "décryptage" par "déchiffrage"
2020-04-25 13:12:20 -04:00
James ADJINWA
31d59c1e21 Doc: Little typo correction in E2EE (#3122) 2020-04-25 11:14:35 +01:00
Laurent Cozic
7663044e9f Doc: Added GitHub Sponsor button 2020-04-22 23:44:48 +00:00
Rahul Mohata
7ceb68d835 Desktop: Fixes #3095: Fixed the Goto Anything item list overflow (#3096)
* fixed the Goto Anything item list overflowing

* added dialog box styles
2020-04-21 23:57:04 +01:00
Helmut K. C. Tessarek
ac2635a363 Update translations 2020-04-21 08:03:29 -04:00
Arda Kılıçdağı
2496e6e738 All: Translation: Update tr_TR.po (#3104) 2020-04-21 07:41:31 -04:00
Gen Neko
b4b36c6f22 All: Translation: Update ja_JP.po (#3105) 2020-04-21 07:39:45 -04:00
Laurent Cozic
0171ea837f Merge branch 'master' of github.com:laurent22/joplin 2020-04-21 11:17:40 +01:00
Laurent Cozic
79a343c2d9 Tools: Removed obsolete labels 2020-04-21 10:10:01 +01:00
Laurent Cozic
dd5ed48c7e Tools: Better handling of translation messages in changelog 2020-04-20 18:10:27 +00:00
Laurent Cozic
e7169cc70d Desktop: Fixes #3093: Prevent Goto Anything from freezing when inputting special characters 2020-04-20 18:01:28 +00:00
Zaid Kesarani
c65ee4a424 Desktop: Fixed KaTeX font issue in exported PDF and HTML (#3089)
* Fixed issue: #3078

* updated comments

* Changed as requested
2020-04-20 15:17:11 +01:00
Mohammed Rabeeh
feee162578 Mobile: Fixes #3098: Fixed table background colour on dark themes (#3100) 2020-04-20 15:15:31 +01:00
mic704b
d1cab4b7f5 Tests: Fix random failures (#2777)
* Update new feature tests following test harness fixes.

* Fix lint errors.
2020-04-20 11:32:42 +01:00
Laurent Cozic
d2acf314f5 Android release v1.0.329 2020-04-20 10:13:04 +01:00
Laurent Cozic
b803984773 Android: Fixes #3041: Fixed text scrolling issue on older devices 2020-04-20 22:31:21 +00:00
Laurent Cozic
d2582f4fdf Revert "Restored note history feature by Naveen M V <naveenmv7@gmail.com>"
This reverts commit 61d3582357.

For rational see https://github.com/laurent22/joplin/pull/2819#issuecomment-616148984
2020-04-19 17:14:57 +01:00
Laurent Cozic
dfd18ebe24 Android release v1.0.328 2020-04-19 16:25:38 +01:00
Laurent Cozic
94082bc6a5 Android: Fixes #3041 (maybe): Fixed scrolling issue on certain Android devices when displaying large notes 2020-04-19 16:21:09 +01:00
Laurent Cozic
5c3c72c37e Merge branch 'master' of github.com:laurent22/joplin 2020-04-19 16:02:28 +01:00
Laurent Cozic
d730e068b0 All: Fixes #3088: Better handling of missing table field bug on Linux 2020-04-19 16:02:10 +01:00
PackElend
b2f8c38842 changed gsos2020 to gsod2020 2020-04-19 12:39:06 +02:00
PackElend
71b2e36429 changed from GSoD-2020 to gsod2020 2020-04-19 12:33:50 +02:00
Laurent Cozic
e598c64241 Merge branch 'master' of github.com:laurent22/joplin 2020-04-19 10:12:04 +01:00
Laurent Cozic
2b2ec2c655 All: Started resource fetcher service when a note has been decrypted 2020-04-19 10:11:46 +01:00
Helmut K. C. Tessarek
381d757525 Update translations 2020-04-18 19:20:09 -04:00
Helmut K. C. Tessarek
d54c59cf74 fix nl_BE.po - for some reason the CI did not catch this 2020-04-18 19:19:22 -04:00
johanvanheusden
1f481fba4e All: Translation: Update nl_BE.po (#3086)
File corrected and completed until line 470
2020-04-18 19:14:16 -04:00
Lorinson
69cd88e4a5 All: Translation: Update pt_PT.po (#3018)
* PT-PT Locale Update

* PT-PT 18/04/2020 Update

* Update pt_PT.po
2020-04-18 14:40:02 -04:00
PackElend
b140a9d7de GSoD ideas
first draft of the idea summery for Google's Season of Doc 2020
2020-04-18 17:33:57 +02:00
PackElend
b1b530edf2 GSoDoc-2020 intro
Creating the first draft of the intro page for Google Season of Doc 2020
2020-04-18 17:17:20 +02:00
Laurent Cozic
ab63316f83 Merge branch 'master' of github.com:laurent22/joplin 2020-04-18 12:46:08 +01:00
Laurent Cozic
35df8e5d9e All: Added support for basic search 2020-04-18 12:45:54 +01:00
jabdoa2
ea3c82733c Add LXDE to installer as it works fine there (#3081) 2020-04-18 00:03:06 +01:00
rnbastos
60f75fe2db All: Translation: Update pt_BR.po (#3065) 2020-04-17 06:57:40 -04:00
Mohammed Rabeeh
9214095a64 iOS: Resolves #2798: Switch keyboard colour with theme (#3061) 2020-04-16 23:35:31 +01:00
Laurent Cozic
676c43ebab Doc: Added blog posts for archival purpose and to allow listing them in notifications 2020-04-15 22:11:42 +00:00
Laurent Cozic
e65af8c1e4 Electron release v1.0.201 2020-04-15 17:38:14 +01:00
Laurent Cozic
2321455723 Update stale.yml 2020-04-15 11:45:03 +01:00
Laurent Cozic
9260235224 Tools: Set stale limit to 45 days
As the project is active, 45 days is enough time to label the issue (and then it won't be closed). If it has not been labelled within that time it's probably not important enough to keep it open, or we don't have resources to deal with it.
2020-04-15 11:44:55 +01:00
Laurent Cozic
56801c0a08 Merge branch 'master' of github.com:laurent22/joplin 2020-04-15 11:24:53 +01:00
Helmut K. C. Tessarek
aa738cc086 Revert "Desktop: Add global shortcut to show/hide Joplin (#2653)"
This reverts commit 0863f0d564.
2020-04-15 05:50:26 -04:00
Laurent Cozic
900b0f3eb2 Merge branch 'master' of github.com:laurent22/joplin 2020-04-15 09:51:44 +01:00
Mohammed Rabeeh
b5a64e2c3e Doc: Fix start scripts for iOS and Android (#3062) 2020-04-15 09:51:06 +01:00
Laurent Cozic
4163d9e474 All: Fixed regression caused by commit 6164e2d8eb 2020-04-14 23:31:28 +00:00
Laurent Cozic
d769dc2b94 Desktop: Fix issue where last used filename was displayed when exporting directory 2020-04-15 00:05:57 +01:00
Laurent Cozic
c9fc52ec74 Merge branch 'master' of github.com:laurent22/joplin 2020-04-14 23:58:37 +01:00
Laurent Cozic
fe72568d3b Desktop, Mobile: Fixes #3058: In some cases, notes with Katex code were not exported correctly as PDF 2020-04-14 23:58:23 +01:00
Mohammed Rabeeh
c5c379f38a Mobile: Fixes #2853: Fix white rectangle issue on dark theme (#3055) 2020-04-14 20:12:18 +01:00
Laurent Cozic
2050889590 Desktop: Fixes #2968: Trying to resource path issue in WYSIWYG editor 2020-04-13 22:55:24 +00:00
Laurent Cozic
6164e2d8eb Desktop: Search in title and body by default when using Goto Anything 2020-04-13 22:10:59 +00:00
Siddhant Sehgal
30c175ef29 Desktop: Resolves #2799: Disable prompt dialog OK button when input is empty (#2905) 2020-04-14 12:20:05 +01:00
Laurent Cozic
f6fed72b64 Desktop, Mobile: Fixes #3033: Fixed Katex rendering issue when greater than symbol appears in markup 2020-04-12 22:54:42 +00:00
Laurent Cozic
7596ff2eda Mobile, Desktop: Disable BASE html tag, which can break certain plugins such as Katex 2020-04-12 23:00:36 +01:00
Laurent Cozic
142976f012 Electron release v1.0.200 2020-04-12 12:54:25 +01:00
Laurent Cozic
ab5c97f75a Desktop: Add more log statements to attempt to fix #2968 2020-04-12 10:09:24 +01:00
Anjula Karunarathne
aea3de982a Desktop: Fixes #3028: Fix Go To Anything closing when clicking inside the modal (#3029)
* Fix Go To Anything closing when clicking inside the modal

* Update GotoAnything.jsx

* Update GotoAnything.jsx

Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
2020-04-12 09:59:00 +01:00
Assim Deodia
83aff6f478 Linux: Fix install script to add support for non-default home dir (#2969)
If user home directory is configured to anything other than `/home/${USER}`, `Exec` command in desktop entry points to non-existing file, and desktop entry is not considered valid, thus does not appear in list of application. Standard way to get home directory is using `${HOME}` environment variable. This could also be possible root cause of https://discourse.joplinapp.org/t/joplin-not-installing-completely/5669/2
2020-04-12 00:29:39 +01:00
Martin Giger
6cb7154bf4 Support icon install on elementary OS (#3023) 2020-04-12 00:27:06 +01:00
Caleb John
3aa38d35d7 Desktop: Fix JEX export (#3026)
* Return empty default for exports with no note ids (jex for example)

* switch to ! syntax instead of == null
2020-04-12 00:14:53 +01:00
Siddhant Sehgal
870a76c570 Desktop: Fixes #2830: Fixes todo mouse hover behaviour (#2831)
* Fixed-todoitem-hover

* Added empty space for build fix

* Fixed-todo-hover
2020-04-11 11:38:00 +01:00
Rishabh Malhotra
206a64eff6 Desktop: Fixes #2736: Fixes selection in text editor after applying formatting (#2737)
* Appliying changes

* Update NoteText.jsx
2020-04-11 11:02:19 +01:00
Laurent Cozic
6b97839617 Merge branch 'master' of github.com:laurent22/joplin 2020-04-11 10:51:36 +01:00
Laurent Cozic
456d979aa6 Desktop: Fixes #3019: Title auto-update didn't work anymore
Revert "Desktop: Resolves #2681: Clear provisional flag as soon as note is modified to avoid data loss"

This reverts commit 518af9dc0a.
2020-04-11 10:49:16 +01:00
Ethan Chen
ea5e0d337c All: Translation: Update zh_TW.po (#3020) 2020-04-11 03:52:00 -04:00
abolishallprivateproperty
9651317695 All: Translation: Update sv.po (#3013) 2020-04-10 21:48:37 -04:00
Laurent Cozic
a4cc2076d7 Update website 2020-04-11 00:39:25 +01:00
Laurent Cozic
db820d500d Merge branch 'master' of github.com:laurent22/joplin 2020-04-11 00:38:37 +01:00
Laurent Cozic
722192127c Doc: Added info on how to fix broken installations on Windows 2020-04-11 00:36:57 +01:00
Laurent Cozic
36e23d6432 Tools: Minor update of CLI release script 2020-04-10 19:33:25 +01:00
Laurent Cozic
8cfb014f60 CLI v1.0.163 2020-04-10 19:32:20 +01:00
Laurent Cozic
b4a572c8ae ios-v10.0.47 2020-04-10 19:30:43 +01:00
Laurent Cozic
531e92e2da Android release v1.0.327 2020-04-10 19:20:26 +01:00
Laurent Cozic
53a857b706 Electron release v1.0.199 2020-04-10 19:16:48 +01:00
Laurent Cozic
4f5473f8a2 All: Display WYSIWYG info in config screen only in desktop app 2020-04-10 19:16:18 +01:00
Laurent Cozic
1b617a4adc Android release v1.0.326 2020-04-10 18:57:20 +01:00
Laurent Cozic
7741a43d42 Electron release v1.0.198 2020-04-10 18:53:04 +01:00
Laurent Cozic
776411f882 Desktop: WYSIWYG: Added support for tables 2020-04-10 18:22:17 +00:00
Laurent Cozic
ae4cecc621 Desktop: WYSIWYG: Handle internal note links 2020-04-10 17:59:51 +00:00
Laurent Cozic
5be98a46e3 Desktop: WYSIWYG: Improved documentation on what plugins are compatible with WYSIWYG editor 2020-04-10 17:33:09 +00:00
Laurent Cozic
1907ef0c99 Tools: Dynamically generate PortableApps images 2020-04-10 18:19:17 +01:00
Laurent Cozic
bd99b25848 Desktop: WYSIWYG: Preserve HTML code in Markdown when editing from wysiwyg editor 2020-04-10 17:12:41 +00:00
Rishabh Malhotra
616401ebba Update aritimDark.js
Changing #fff to #d3dae3
2020-04-10 19:11:15 +05:30
Rishabh Malhotra
d0fb6acccd changing bold text preview color 2020-04-10 13:22:35 +05:30
Laurent Cozic
12a7b3c73c Desktop: WYSIWYG: Do not display target list in link dialog 2020-04-09 19:05:07 +01:00
Laurent Cozic
75b28c46af Desktop: Wait for note to be saved before closing the app 2020-04-09 18:57:20 +01:00
Laurent Cozic
93dccf62df Desktop: WYSIWYG: Added support for custom icon package and set Attach toolbar icon 2020-04-09 17:49:56 +01:00
Laurent Cozic
ec499eecd5 Desktop: WYSIWYG: Added support for code blocks edition and creation 2020-04-09 17:47:12 +01:00
Laurent Cozic
7ccd19e21d Cli: Fixes #2981: Add support for retrying decryption after it has failed multiple times 2020-04-08 18:02:31 +01:00
Laurent Cozic
a6459d3641 Mobile: Fixes #2941: Fixed resource download auto mode 2020-04-08 17:40:32 +00:00
Laurent Cozic
9b26378fdd All: Fixes #2709: When modifying a conflicted note, it would disappear from the view 2020-04-07 23:06:29 +00:00
Laurent Cozic
6b8e84332d Desktop: Resolves #2639: Resource screen improvements (#2850)
Co-authored-by: Georg Grab <talkdirty@users.noreply.github.com>
2020-04-08 11:12:25 +01:00
Laurent Cozic
6d56bb8afd Revert "Mobile: Fixes #2847: Fixed text issue in config screen on some devices (#2851)"
Reverted to fix regression (crash) in iOS app.

https://github.com/laurent22/joplin/pull/2851#issuecomment-610688103

This reverts commit e024015d5e.
2020-04-08 01:38:39 +01:00
Laurent Cozic
be9e873277 Mobile: Fixes #1437: Allow scrolling past end of note 2020-04-08 01:22:18 +01:00
Laurent Cozic
10feeeeb6b All: Fixes #2257: Prevent decryption loop when a resource cannot be decrypted 2020-04-08 01:00:01 +01:00
Laurent Cozic
518af9dc0a Desktop: Resolves #2681: Clear provisional flag as soon as note is modified to avoid data loss 2020-04-06 21:10:44 +00:00
Laurent Cozic
093fc811eb All: Fixes #2604: Fixed iOS and macOS icons and created script to automate icon creation 2020-04-06 20:55:40 +00:00
Tobias Johansson
2a8b27033f Desktop: Added new Aritim-Dark theme (#2997)
* Working on an aritim-dark theme, very WIP still

* Update aritim.js

* Added new theme "Aritim-Dark"

* removing aritim-dark "brace" theme for now

* Updating style with some changes

* Reset branch back to the original upstream state, to create a different pull-request for moving all themes outside

* Reset branch back to the original upstream state

* Moved all themes out into their own .js theme files

* Updating master to use the seperated themes stuff

* Moved themes into their own const

* Removed switch case for themes and simplified it. Thanks Laurent for the help!

* Adding Aritim-Dark to theme options
2020-04-07 10:23:40 +01:00
Tobias Johansson
62bddd7c69 Desktop: Moved all themes out into their own .js theme files (#2951)
* Working on an aritim-dark theme, very WIP still

* Update aritim.js

* Added new theme "Aritim-Dark"

* removing aritim-dark "brace" theme for now

* Updating style with some changes

* Reset branch back to the original upstream state, to create a different pull-request for moving all themes outside

* Reset branch back to the original upstream state

* Moved all themes out into their own .js theme files

* Updating master to use the seperated themes stuff

* Moved themes into their own const

* Removed switch case for themes and simplified it. Thanks Laurent for the help!
2020-04-07 09:19:53 +01:00
Helmut K. C. Tessarek
113f91b3c5 Update website 2020-04-05 20:39:10 -04:00
Helmut K. C. Tessarek
d40ad2de89 Update translations 2020-04-05 20:37:15 -04:00
Kwangmyung Kim
3b7733018c All: Translation: Update ko.po (#2986)
* Translation: Update ko.po

* Update README.md

Both the words ‘한국어’ and ‘한국말’ are composed of two meaning blocks : Korean + language.

어, which can be written in the Chinese character 語, means “language”, and 말, which is a native Korean word, also means “language”. So basically 한국어 and 한국말 are the same meaning, but I’d say 한국어 is a little more formal word while 한국말 is a more colloquial word.

‘어’ can be found in many other language names, but ‘말’ is not so commonly used other than in the word ‘한국말’ or ‘우리말(uri mal - ‘our language’, which is a word that Korean people use to mean ‘Korean’).

Here are some examples:

English = 영어
Chinese = 중국어
Japanese = 일본어
Arabic = 아랍어
Spanish = 스페인어
French =  프랑스어
Latin = 라틴어
Russian = 러시아어

* change incorect word

* Revert "Update README.md"

This reverts commit 88199a40df.
2020-04-05 20:31:15 -04:00
Helmut K. C. Tessarek
e319864669 Tools: Fix Korean language name: 한국어 (#2989) 2020-04-05 21:14:31 +01:00
Ishant Gupta
7251813634 Mobile: Fixed config text input not visible in dark mode (#2910) 2020-04-05 20:47:30 +01:00
Ishant Gupta
e024015d5e Mobile: Fixes #2847: Fixed text issue in config screen on some devices (#2851)
* fixed text issue on some devices and closes #2847

* changes added to global file
2020-04-05 20:05:04 +01:00
Gen Neko
3f5e6d72d6 Fix a blank Goto Anything screen (#2983) 2020-04-05 08:55:00 +01:00
abonte
9fd43a30f9 All: Translation: Update it_IT.po (#2978) 2020-04-04 21:08:33 -04:00
Laurent Cozic
0707a0e05f Merge branch 'master' of github.com:laurent22/joplin 2020-04-04 18:31:56 +01:00
Laurent Cozic
f550d847c4 Desktop: Resolves #2688: Add "Retry All" option to synchronisation page
Based on pull request #2712 by fhfuih

commit 7d3815e51dbf682ecc1ed3544a15e51b79d5d12d
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sat Apr 4 18:26:01 2020 +0100

    Fix issues

commit dad1d2c4d4eb37fdd23096a3344cf4f14498e335
Merge: 16cf0a3058 0a1ba511ea
Author: Laurent Cozic <laurent@cozic.net>
Date:   Sat Apr 4 18:09:46 2020 +0100

    Merge branch 'master' of https://github.com/fhfuih/joplin into fhfuih-master

commit 0a1ba511ea
Merge: 6207b42044 bdd760f343
Author: fhfuih <fhfuih@outlook.com>
Date:   Sat Mar 14 20:30:27 2020 -0400

    Merge branch 'master' into master

commit 6207b42044
Author: fhfuih <sam.zyhuang@outlook.com>
Date:   Sat Mar 14 20:13:28 2020 -0400

    Decryption Retry All RN frontend

commit 6f46d1985f
Author: fhfuih <sam.zyhuang@outlook.com>
Date:   Sat Mar 14 20:10:55 2020 -0400

    Decryption Retry All backend & desktop

commit 4c3d37b311
Author: fhfuih <sam.zyhuang@outlook.com>
Date:   Fri Mar 13 13:21:21 2020 -0400

    Revert "Add "retry all" option to synchronisation page"

    This reverts commit 15daaa16fd.

commit cffc919791
Author: fhfuih <sam.zyhuang@outlook.com>
Date:   Fri Mar 13 13:19:51 2020 -0400

    Revert "Refactor "retry all" renderer to avoid hacks"

    This reverts commit 51ba6ea655.

commit 51ba6ea655
Author: fhfuih <sam.zyhuang@outlook.com>
Date:   Tue Mar 10 18:27:22 2020 -0400

    Refactor "retry all" renderer to avoid hacks

commit 57d71712e1
Merge: 15daaa16fd b367955e56
Author: fhfuih <sam.zyhuang@outlook.com>
Date:   Mon Mar 9 20:42:02 2020 -0400

    Merge branch 'master' of https://github.com/fhfuih/joplin

commit 15daaa16fd
Author: fhfuih <sam.zyhuang@outlook.com>
Date:   Mon Mar 9 20:36:09 2020 -0400

    Add "retry all" option to synchronisation page
2020-04-04 18:30:13 +01:00
Siddhant Sehgal
1e9a0036e7 Desktop: Resolves #2296: Right-click to move note to notebook (#2566)
* Assign Notebook functionality added

* Made the changes acc. to laurent22

* Changes done till 9/03/20

* Removed NoteContentPropertiesDialog.js

* Render notebooks in tree hierarchy

* Update PromptDialog.jsx

Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
2020-04-04 18:03:09 +01:00
Laurent Cozic
16cf0a3058 Merge branch 'master' of github.com:laurent22/joplin 2020-04-04 17:36:29 +01:00
Helmut K. C. Tessarek
0fa19a281c fix heading 2020-04-04 03:46:23 -04:00
Mats Estensen
9c53f485e6 All: Translation: Update nb_NO.po (#2973) 2020-04-03 18:21:20 -04:00
Li
dc131f77d4 All: Translation: Update zh_CN.po (#2971) 2020-04-03 18:20:17 -04:00
Laurent Cozic
712601b8c0 Desktop: WYSIWYG: Apply theme to toolbar 2020-04-03 18:12:14 +00:00
Caleb John
ff7775b344 Desktop: Add friendly default filenames to export options (#2749)
* Add friendly default filenames to export options

* remove extension from safefilename call

* Load parent folder for all exports

* convert foldername and filename to friendly versions separatly

* Add null guards to the filename export
2020-04-03 00:24:33 +01:00
Laurent Cozic
0512fa6208 Desktop: Fixed regression when drag and dropping files 2020-04-02 23:01:14 +01:00
Laurent Cozic
27ab2b8e30 Desktop: Fixed styling issues with rendered Markdown 2020-04-02 22:54:06 +01:00
Laurent Cozic
9fa7c9c20a Desktop: WYSIWYG: Better handling of links on macOS and inside Katex block 2020-04-02 19:58:25 +01:00
Laurent Cozic
6bd0250ef8 Desktop: WYSIWYG: Handle resource download mode 2020-04-02 18:16:11 +01:00
Laurent Cozic
0d736bcb58 CLI v1.0.162 2020-04-01 18:18:41 +01:00
Laurent Cozic
c1129604ba Tools: Disable logging to console by default 2020-04-01 18:15:40 +01:00
Laurent Cozic
693f6cbfe7 Desktop: Add message box to ask confirmation when resizing image 2020-03-31 22:40:38 +01:00
Jonas
7f397a4da8 Fix Joplin_install_and_update.sh (#2913)
Make space after '"tag_name":' optional, to avoid the whole script failing without further notice.

Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
2020-03-30 18:36:10 +01:00
Siddhant Sehgal
52ba5c5bb7 Desktop: Close Goto Anything modal on outside click (#2940)
* Close goto modal on outside click

* Renamed for consistency

Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
2020-03-30 18:33:36 +01:00
Laurent Cozic
ce24942a03 Update website 2020-03-30 18:23:46 +01:00
Laurent Cozic
719afba05a Electron release v1.0.197 2020-03-30 18:03:36 +01:00
Laurent Cozic
c99dd2ba87 Tools: Fixed Electron build 2020-03-30 18:03:02 +01:00
Helmut K. C. Tessarek
a59cc94afc Update translations 2020-03-30 11:03:18 -04:00
nmiquan
336cadbc12 Translation: add Vietnamese (vi.po) (#2931)
* Vietnamese Translation

* removed cli messages

* updated translation
2020-03-30 10:59:49 -04:00
Laurent Cozic
a946dc69c1 Android release v1.0.325 2020-03-29 20:12:36 +01:00
Laurent Cozic
e2e95df057 Electron release v1.0.196 2020-03-29 20:06:44 +01:00
Laurent Cozic
e095369e1a Desktop: WYSIWYG: Prevent scripts from loading multiple times 2020-03-29 20:06:13 +01:00
Laurent Cozic
1c938a5998 Update build_troubleshooting.md 2020-03-29 11:08:53 +01:00
Anjula Karunarathne
a45128807e Desktop: Resolves #2683: Go To Anything by body (#2686)
* Go to anything by body

* Made limit parameter required

* Made parameter required

Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
2020-03-28 13:05:00 +00:00
Brandon Wulf
d54e52b1a8 Desktop: Cleaning up the install / update script (#2719)
* Cleaning up the install script

* New `--force` option always downloads the latest version
* New `--notes` option shows the release notes
* Actually print the version installed at the end
* Show download progress, but not extra garbage
* Blue logo

* refactor and cleanup

* Handle space, but no args
2020-03-27 21:58:04 -04:00
Laurent Cozic
5743729d11 Desktop: WYSIWYG: Getting links to work 2020-03-27 18:28:13 +00:00
Laurent Cozic
11d8466db1 Desktop: WYSIWYG: Getting links to work 2020-03-27 18:26:52 +00:00
Laurent Cozic
c3360d6c48 Merge branch 'master' of github.com:laurent22/joplin 2020-03-27 16:12:43 +00:00
Bart
37158fdb89 Desktop: Fixes #2334: MD importer handle special chars in linked image name (#2346)
* md importer: decode uri encoded links to cover case of special chars in linked image names

* md importer: temp debug logs for linux test pipeline

* md importer: more temp debug logs

* md importer: tests, add special char image name on linux

* md importer: tests, use const not let

* md importer: remove debug logs
2020-03-27 12:20:38 +00:00
anirudh murali
ae73051797 Desktop: Fixes #2917: Prevent title overflow on small windows (#2918) 2020-03-27 12:16:40 +00:00
Ishant Gupta
62db3d09ea Mobile: Fixes #2900: Fixed bold text not visible in dark theme (#2909)
* fixed bold text not visible in oled dark theme

* fixed variable names
2020-03-27 12:13:22 +00:00
Amit singh
f82aa0adde Mobile: Fixes #2867: Fixed styling issue in config screen (#2868)
* fixes hidden path text

* fixes hidden path text lable
2020-03-27 12:09:26 +00:00
Laurent Cozic
5e5b6cdc42 Desktop: WYSIWYG: Restored focus logic and fixed undo issue 2020-03-26 17:19:13 +00:00
Gen NK
351306eb03 Translation: Update ja_JP.po (#2914) 2020-03-26 11:55:00 -04:00
Laurent Cozic
e4fffa52d4 Doc: Updated info about unit tests and feature tests 2020-03-25 17:56:05 +00:00
Ishant Gupta
d622ff4a78 Mobile: Fixes #2843: Fixed overlapping text in Dropbox sync page (#2845) 2020-03-25 11:18:39 +00:00
Devon Zuegel
b6d4fd16c9 Mobile: Add toolbar, list continuation and Markdown preview to editor (#2224)
* The basic editor is working! No list continuation still though

* List continuation is working! Now to delete when entering again and not typing on line + handle ordered lists

* Supports checkboxes + attempted at setting font

* Editor font works now; now need to fix the delete (look at past state)

* Fix deletion problem

* Add ordered list handler

* Add comments

* Extract insertListLine

* End lists on enter for empty bullets

* Add MarkdownView (renders badly though)

* Save edited text from MarkdownEditor

* Cleanup

* Refactor react-native-markdown-editor/

* Rename react-native-markdown-editor/ => MarkdownEditor/

* Cleanup

* Fix preview styles; still need to fix checkbox problem

* Fix keyboard padding

* Change name back to #body_changeText

* Incorporate PR feedback from @laurent22

* wip: Move MarkdownEditor/ from ReactNativeClient/lib/ to ReactNativeClient/

* Move MarkdownEditor/ from ReactNativeClient/lib/ to ReactNativeClient/

* Remove log statement

* Focus TextInput in MarkdownEditor from grandparent

* Make eslint happy

* Extract textInputRefName to shared variable

* Remove accidental #setState

* Cleanup

* Cleanup

* Run linter

* Cleanup

* Update button order

* Improve styles for config descriptions

* Allow descriptions to be added to BOOL type Setting configs

* Add editorBeta Setting

* Move FailSafe details to description text

* Update descriptionText styles

* Put the editor under the beta flag toggle

* Incorporate PR feedback from @laurent22

* Refactor Markdown editor focusing

* Cleanup

* Reorder MarkdownEditor formats

* Make applyListFormat behavior more intuitive

* Add comment

* Show MarkdownEditor with preview by default

* Show preview by default, then hide on typing

* Fix MarkdownEditor selection bug

* Cleanup

* Update Markdown button styles

* Make Markdown button colors theme-conscious

* Fix merge conflict resolution mistake

* Fix broken import

* Delete package-lock.json

* Reset package-lock.json

Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
2020-03-25 10:50:45 +00:00
Sergey
a548d695f2 Doc: Update macOS troubleshooting for IOS build (#2898) 2020-03-25 09:31:05 +00:00
Aaron Murray
499f318192 Doc: Update text to match Desktop text (#2897) 2020-03-24 19:01:45 +00:00
Laurent Cozic
42ecf98344 Doc: Added build troubleshooting document 2020-03-24 17:22:44 +00:00
Caleb John
6f08e1e4ff Linux: Quit out of install script early if an ARM or 32 bit system is detected (#2881)
* Quit out of install script early if an arm system is detected

* improved error message
2020-03-24 17:08:07 +00:00
Helmut K. C. Tessarek
9524eb7e37 Update translations 2020-03-23 20:57:14 -04:00
Helmut K. C. Tessarek
84e478f8fe update de_DE.po 2020-03-23 20:56:09 -04:00
Arda Kılıçdağı
0cc77f99ac Translation: Update tr_TR.po (#2880)
* Turkish translations updated

* fullpaths updated

* Language string now respects the original one

* Line endings fixed

* Mysterious new lines cleaned

* Revert Readme

* Old translations added back
2020-03-23 20:46:59 -04:00
Ishant Gupta
622049dfad Mobile: Fixes #2859: Fixed code block styling in OLED theme (#2876) 2020-03-23 23:15:00 +00:00
Siddhant Sehgal
65bcc58261 Desktop: Fixes #2824: Fixed top margin of toolbar (#2828)
* Fixed_topmargin

* Fixed todolist hover

* Revert "Fixed todolist hover"

This reverts commit 38a4da622e.
2020-03-23 22:47:10 +00:00
Ishant Gupta
9749a2b9b7 Mobile: Resolves #2738: Auto-save after closing a note (#2782)
* latest changes merged

* fixed linting syntax
2020-03-23 22:34:13 +00:00
krzysiekwie
7b365194ba Translation: Update pl_PL.po (#2869) 2020-03-23 14:33:04 -04:00
1510 changed files with 276285 additions and 106176 deletions

View File

@@ -22,17 +22,19 @@ Clipper/dist
Clipper/icons
Clipper/popup/build
Clipper/popup/config/webpack.config.js
Clipper/popup/config/webpack_config_at_eject_time.js
Clipper/popup/node_modules
Clipper/popup/scripts/build.js
docs/
ElectronClient/dist
ElectronClient/gui/editors/TinyMCE/plugins/lists.js
ElectronClient/lib
ElectronClient/gui/NoteEditor/NoteBody/TinyMCE/plugins/lists.js
ElectronClient/lib/vendor/sjcl-rn.js
ElectronClient/lib/vendor/sjcl.js
ElectronClient/locales
ElectronClient/node_modules
ElectronClient/packageInfo.js
ElectronClient/gui/NoteEditor/NoteBody/TinyMCE/supportedLocales.js
highlight.pack.js
Modules/TinyMCE/JoplinLists/
node_modules/
@@ -55,22 +57,258 @@ Server/docs/
Server/node_modules/
Tools/node_modules
Tools/PortableAppsLauncher
Modules/TinyMCE/IconPack/postinstall.js
Modules/TinyMCE/langs/
CliClient/build/
# AUTO-GENERATED - EXCLUDED TYPESCRIPT BUILD
ElectronClient/gui/editors/PlainEditor.js
ElectronClient/gui/editors/TinyMCE.js
CliClient/app/LinkSelector.js
CliClient/app/services/plugins/PluginRunner.js
CliClient/tests/models_Setting.js
CliClient/tests/services_CommandService.js
CliClient/tests/services_InteropService.js
CliClient/tests/services_PluginService.js
CliClient/tests/services/plugins/sandboxProxy.js
CliClient/tests/synchronizer_LockHandler.js
CliClient/tests/synchronizer_MigrationHandler.js
ElectronClient/app.js
ElectronClient/bridge.js
ElectronClient/commands/copyDevCommand.js
ElectronClient/commands/focusElement.js
ElectronClient/commands/startExternalEditing.js
ElectronClient/commands/stopExternalEditing.js
ElectronClient/ElectronAppWrapper.js
ElectronClient/global.d.js
ElectronClient/gui/Button/Button.js
ElectronClient/gui/ConfigScreen/ButtonBar.js
ElectronClient/gui/ConfigScreen/ConfigScreen.js
ElectronClient/gui/ConfigScreen/SideBar.js
ElectronClient/gui/DropboxLoginScreen.js
ElectronClient/gui/ErrorBoundary.js
ElectronClient/gui/KeymapConfig/KeymapConfigScreen.js
ElectronClient/gui/KeymapConfig/ShortcutRecorder.js
ElectronClient/gui/KeymapConfig/styles/index.js
ElectronClient/gui/KeymapConfig/utils/getLabel.js
ElectronClient/gui/KeymapConfig/utils/useCommandStatus.js
ElectronClient/gui/KeymapConfig/utils/useKeymap.js
ElectronClient/gui/MainScreen/commands/editAlarm.js
ElectronClient/gui/MainScreen/commands/exportPdf.js
ElectronClient/gui/MainScreen/commands/hideModalMessage.js
ElectronClient/gui/MainScreen/commands/moveToFolder.js
ElectronClient/gui/MainScreen/commands/newFolder.js
ElectronClient/gui/MainScreen/commands/newNote.js
ElectronClient/gui/MainScreen/commands/newTodo.js
ElectronClient/gui/MainScreen/commands/print.js
ElectronClient/gui/MainScreen/commands/renameFolder.js
ElectronClient/gui/MainScreen/commands/renameTag.js
ElectronClient/gui/MainScreen/commands/search.js
ElectronClient/gui/MainScreen/commands/selectTemplate.js
ElectronClient/gui/MainScreen/commands/setTags.js
ElectronClient/gui/MainScreen/commands/showModalMessage.js
ElectronClient/gui/MainScreen/commands/showNoteContentProperties.js
ElectronClient/gui/MainScreen/commands/showNoteProperties.js
ElectronClient/gui/MainScreen/commands/showShareNoteDialog.js
ElectronClient/gui/MainScreen/commands/toggleEditors.js
ElectronClient/gui/MainScreen/commands/toggleNoteList.js
ElectronClient/gui/MainScreen/commands/toggleSidebar.js
ElectronClient/gui/MainScreen/commands/toggleVisiblePanes.js
ElectronClient/gui/MainScreen/MainScreen.js
ElectronClient/gui/MenuBar.js
ElectronClient/gui/MultiNoteActions.js
ElectronClient/gui/NoteContentPropertiesDialog.js
ElectronClient/gui/NoteText2.js
ElectronClient/gui/NoteEditor/commands/editorCommandDeclarations.js
ElectronClient/gui/NoteEditor/commands/focusElementNoteBody.js
ElectronClient/gui/NoteEditor/commands/focusElementNoteTitle.js
ElectronClient/gui/NoteEditor/commands/showLocalSearch.js
ElectronClient/gui/NoteEditor/commands/showRevisions.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/CodeMirror.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/Editor.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/styles/index.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/Toolbar.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/index.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/types.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useCursorUtils.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useEditorSearch.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useJoplinMode.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useKeymap.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useLineSorting.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useListIdent.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useScrollUtils.js
ElectronClient/gui/NoteEditor/NoteBody/TinyMCE/styles/index.js
ElectronClient/gui/NoteEditor/NoteBody/TinyMCE/TinyMCE.js
ElectronClient/gui/NoteEditor/NoteBody/TinyMCE/utils/useScroll.js
ElectronClient/gui/NoteEditor/NoteEditor.js
ElectronClient/gui/NoteEditor/styles/index.js
ElectronClient/gui/NoteEditor/utils/contextMenu.js
ElectronClient/gui/NoteEditor/utils/index.js
ElectronClient/gui/NoteEditor/utils/resourceHandling.js
ElectronClient/gui/NoteEditor/utils/types.js
ElectronClient/gui/NoteEditor/utils/useDropHandler.js
ElectronClient/gui/NoteEditor/utils/useFolder.js
ElectronClient/gui/NoteEditor/utils/useFormNote.js
ElectronClient/gui/NoteEditor/utils/useMarkupToHtml.js
ElectronClient/gui/NoteEditor/utils/useMessageHandler.js
ElectronClient/gui/NoteEditor/utils/useNoteSearchBar.js
ElectronClient/gui/NoteEditor/utils/usePluginServiceRegistration.js
ElectronClient/gui/NoteEditor/utils/useSearchMarkers.js
ElectronClient/gui/NoteEditor/utils/useWindowCommandHandler.js
ElectronClient/gui/NoteList/commands/focusElementNoteList.js
ElectronClient/gui/NoteList/NoteList.js
ElectronClient/gui/NoteListControls/commands/focusSearch.js
ElectronClient/gui/NoteListControls/NoteListControls.js
ElectronClient/gui/NoteListItem.js
ElectronClient/gui/NoteTextViewer.js
ElectronClient/gui/NoteToolbar/NoteToolbar.js
ElectronClient/gui/OneDriveLoginScreen.js
ElectronClient/gui/ResizableLayout/hooks/useLayoutItemSizes.js
ElectronClient/gui/ResizableLayout/hooks/useWindowResizeEvent.js
ElectronClient/gui/ResizableLayout/ResizableLayout.js
ElectronClient/gui/ResourceScreen.js
ElectronClient/gui/Root_UpgradeSyncTarget.js
ElectronClient/gui/Root.js
ElectronClient/gui/SearchBar/hooks/useSearch.js
ElectronClient/gui/SearchBar/SearchBar.js
ElectronClient/gui/SearchBar/styles/index.js
ElectronClient/gui/ShareNoteDialog.js
ElectronClient/gui/utils/NoteText.js
ElectronClient/gui/SideBar/commands/focusElementSideBar.js
ElectronClient/gui/SideBar/SideBar.js
ElectronClient/gui/SideBar/styles/index.js
ElectronClient/gui/StatusScreen/StatusScreen.js
ElectronClient/gui/style/StyledInput.js
ElectronClient/gui/style/StyledTextInput.js
ElectronClient/gui/ToggleEditorsButton/styles/index.js
ElectronClient/gui/ToggleEditorsButton/ToggleEditorsButton.js
ElectronClient/gui/ToolbarBase.js
ElectronClient/gui/ToolbarButton/styles/index.js
ElectronClient/gui/ToolbarButton/ToolbarButton.js
ElectronClient/gui/utils/NoteListUtils.js
ElectronClient/InteropServiceHelper.js
ElectronClient/services/bridge.js
ElectronClient/services/plugins/hooks/useThemeCss.js
ElectronClient/services/plugins/hooks/useViewIsReady.js
ElectronClient/services/plugins/PlatformImplementation.js
ElectronClient/services/plugins/PluginRunner.js
ElectronClient/services/plugins/UserWebview.js
ElectronClient/services/plugins/UserWebviewDialog.js
ElectronClient/services/plugins/UserWebviewDialogButtonBar.js
ReactNativeClient/lib/AsyncActionQueue.js
ReactNativeClient/lib/BaseApplication.js
ReactNativeClient/lib/checkPermissions.js
ReactNativeClient/lib/commands/historyBackward.js
ReactNativeClient/lib/commands/historyForward.js
ReactNativeClient/lib/commands/synchronize.js
ReactNativeClient/lib/components/screens/UpgradeSyncTargetScreen.js
ReactNativeClient/lib/errorUtils.js
ReactNativeClient/lib/eventManager.js
ReactNativeClient/lib/hooks/useEffectDebugger.js
ReactNativeClient/lib/hooks/useImperativeHandlerDebugger.js
ReactNativeClient/lib/hooks/usePrevious.js
ReactNativeClient/lib/hooks/usePropsDebugger.js
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/checkbox.js
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/fence.js
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/mermaid.js
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/sanitize_html.js
ReactNativeClient/lib/JoplinServerApi.js
ReactNativeClient/lib/locale.js
ReactNativeClient/lib/Logger.js
ReactNativeClient/lib/markdownUtils.js
ReactNativeClient/lib/models/Alarm.js
ReactNativeClient/lib/models/Setting.js
ReactNativeClient/lib/ntpDate.js
ReactNativeClient/lib/reducer.js
ReactNativeClient/lib/services/AlarmService.js
ReactNativeClient/lib/services/AlarmServiceDriver.android.js
ReactNativeClient/lib/services/AlarmServiceDriver.ios.js
ReactNativeClient/lib/services/AlarmServiceDriverNode.js
ReactNativeClient/lib/services/BaseService.js
ReactNativeClient/lib/services/BooleanExpression.js
ReactNativeClient/lib/services/commands/MenuUtils.js
ReactNativeClient/lib/services/commands/propsHaveChanged.js
ReactNativeClient/lib/services/commands/ToolbarButtonUtils.js
ReactNativeClient/lib/services/CommandService.js
ReactNativeClient/lib/services/contextkey/contextkey.js
ReactNativeClient/lib/services/debug/populateDatabase.js
ReactNativeClient/lib/services/interop/InteropService_Exporter_Base.js
ReactNativeClient/lib/services/interop/InteropService_Exporter_Custom.js
ReactNativeClient/lib/services/interop/InteropService_Exporter_Html.js
ReactNativeClient/lib/services/interop/InteropService_Exporter_Jex.js
ReactNativeClient/lib/services/interop/InteropService_Exporter_Md.js
ReactNativeClient/lib/services/interop/InteropService_Exporter_Raw.js
ReactNativeClient/lib/services/interop/InteropService_Importer_Base.js
ReactNativeClient/lib/services/interop/InteropService_Importer_Custom.js
ReactNativeClient/lib/services/interop/InteropService_Importer_EnexToHtml.js
ReactNativeClient/lib/services/interop/InteropService_Importer_EnexToMd.js
ReactNativeClient/lib/services/interop/InteropService_Importer_Jex.js
ReactNativeClient/lib/services/interop/InteropService_Importer_Md.js
ReactNativeClient/lib/services/interop/InteropService_Importer_Raw.js
ReactNativeClient/lib/services/interop/InteropService.js
ReactNativeClient/lib/services/interop/types.js
ReactNativeClient/lib/services/keychain/KeychainService.js
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.dummy.js
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.mobile.js
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.node.js
ReactNativeClient/lib/services/keychain/KeychainServiceDriverBase.js
ReactNativeClient/lib/services/KeymapService.js
ReactNativeClient/lib/services/plugins/api/Global.js
ReactNativeClient/lib/services/plugins/api/Joplin.js
ReactNativeClient/lib/services/plugins/api/JoplinCommands.js
ReactNativeClient/lib/services/plugins/api/JoplinData.js
ReactNativeClient/lib/services/plugins/api/JoplinFilters.js
ReactNativeClient/lib/services/plugins/api/JoplinInterop.js
ReactNativeClient/lib/services/plugins/api/JoplinPlugins.js
ReactNativeClient/lib/services/plugins/api/JoplinSettings.js
ReactNativeClient/lib/services/plugins/api/JoplinViews.js
ReactNativeClient/lib/services/plugins/api/JoplinViewsDialogs.js
ReactNativeClient/lib/services/plugins/api/JoplinViewsMenuItems.js
ReactNativeClient/lib/services/plugins/api/JoplinViewsPanels.js
ReactNativeClient/lib/services/plugins/api/JoplinViewsToolbarButtons.js
ReactNativeClient/lib/services/plugins/api/JoplinWorkspace.js
ReactNativeClient/lib/services/plugins/api/types.js
ReactNativeClient/lib/services/plugins/BasePluginRunner.js
ReactNativeClient/lib/services/plugins/MenuItemController.js
ReactNativeClient/lib/services/plugins/Plugin.js
ReactNativeClient/lib/services/plugins/PluginService.js
ReactNativeClient/lib/services/plugins/reducer.js
ReactNativeClient/lib/services/plugins/sandboxProxy.js
ReactNativeClient/lib/services/plugins/ToolbarButtonController.js
ReactNativeClient/lib/services/plugins/utils/createViewHandle.js
ReactNativeClient/lib/services/plugins/utils/executeSandboxCall.js
ReactNativeClient/lib/services/plugins/utils/manifestFromObject.js
ReactNativeClient/lib/services/plugins/utils/mapEventHandlersToIds.js
ReactNativeClient/lib/services/plugins/utils/types.js
ReactNativeClient/lib/services/plugins/ViewController.js
ReactNativeClient/lib/services/plugins/WebviewController.js
ReactNativeClient/lib/services/ResourceEditWatcher/index.js
ReactNativeClient/lib/services/ResourceEditWatcher/reducer.js
ReactNativeClient/lib/services/rest/actionApi.desktop.js
ReactNativeClient/lib/services/rest/Api.js
ReactNativeClient/lib/services/rest/errors.js
ReactNativeClient/lib/services/searchengine/filterParser.js
ReactNativeClient/lib/services/searchengine/queryBuilder.js
ReactNativeClient/lib/services/SettingUtils.js
ReactNativeClient/lib/services/synchronizer/gui/useSyncTargetUpgrade.js
ReactNativeClient/lib/services/synchronizer/LockHandler.js
ReactNativeClient/lib/services/synchronizer/MigrationHandler.js
ReactNativeClient/lib/services/synchronizer/migrations/1.js
ReactNativeClient/lib/services/synchronizer/migrations/2.js
ReactNativeClient/lib/services/synchronizer/utils/types.js
ReactNativeClient/lib/services/UndoRedoService.js
ReactNativeClient/lib/ShareExtension.js
ReactNativeClient/lib/shareHandler.js
ReactNativeClient/lib/shim.js
ReactNativeClient/lib/Synchronizer.js
ReactNativeClient/lib/theme.js
ReactNativeClient/lib/themes/aritimDark.js
ReactNativeClient/lib/themes/dark.js
ReactNativeClient/lib/themes/dracula.js
ReactNativeClient/lib/themes/light.js
ReactNativeClient/lib/themes/nord.js
ReactNativeClient/lib/themes/oledDark.js
ReactNativeClient/lib/themes/solarizedDark.js
ReactNativeClient/lib/themes/solarizedLight.js
ReactNativeClient/lib/themes/type.js
ReactNativeClient/lib/uuid.js
ReactNativeClient/lib/versionInfo.js
ReactNativeClient/PluginAssetsLoader.js
ReactNativeClient/setUpQuickActions.js
# AUTO-GENERATED - EXCLUDED TYPESCRIPT BUILD

View File

@@ -4,9 +4,9 @@ module.exports = {
'es6': true,
'node': true,
},
"parser": "@typescript-eslint/parser",
'parser': '@typescript-eslint/parser',
'extends': ['eslint:recommended'],
"settings": {
'settings': {
'react': {
'version': '16.12',
},
@@ -37,28 +37,39 @@ module.exports = {
},
'parserOptions': {
'ecmaVersion': 2018,
"ecmaFeatures": {
"jsx": true,
},
"sourceType": "module",
'ecmaFeatures': {
'jsx': true,
},
'sourceType': 'module',
},
'rules': {
// -------------------------------
// Code correctness
// -------------------------------
"react/jsx-uses-react": "error",
"react/jsx-uses-vars": "error",
"no-unused-vars": "error",
"no-constant-condition": 0,
"no-prototype-builtins": 0,
'react/jsx-uses-react': 'error',
'react/jsx-uses-vars': 'error',
'no-unused-vars': ['error', { 'argsIgnorePattern': '^_' }],
'@typescript-eslint/no-unused-vars': ['error', { 'argsIgnorePattern': '^_' }],
'@typescript-eslint/explicit-member-accessibility': 'off',
'no-constant-condition': 0,
'no-prototype-builtins': 0,
// This error is always a false positive so far since it detects
// possible race conditions in contexts where we know it cannot happen.
"require-atomic-updates": 0,
"prefer-const": ["error"],
"no-var": ["error"],
'require-atomic-updates': 0,
'prefer-const': ['error'],
'no-var': ['error'],
'no-new-func': ['error'],
'import/prefer-default-export': ['error'],
'import/first': ['error'],
'no-array-constructor': ['error'],
'radix': ['error'],
// 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",
'react-hooks/rules-of-hooks': 'error',
// Checks effect dependencies
// Disable because of this: https://github.com/facebook/react/issues/16265
// "react-hooks/exhaustive-deps": "warn",
@@ -66,42 +77,60 @@ module.exports = {
// -------------------------------
// Formatting
// -------------------------------
"space-in-parens": ["error", "never"],
"space-infix-ops": ["error"],
"curly": ["error", "multi-line", "consistent"],
"semi": ["error", "always"],
"eol-last": ["error", "always"],
"quotes": ["error", "single"],
"indent": ["error", "tab"],
"comma-dangle": ["error", "always-multiline"],
"no-trailing-spaces": "error",
"linebreak-style": ["error", "unix"],
"prefer-template": ["error"],
"template-curly-spacing": ["error", "never"],
"object-curly-spacing": ["error", "always"],
"array-bracket-spacing": ["error", "never"],
"key-spacing": ["error", {
"beforeColon": false,
"afterColon": true,
"mode": "strict"
'space-in-parens': ['error', 'never'],
'space-infix-ops': ['error'],
'curly': ['error', 'multi-line', 'consistent'],
'semi': ['error', 'always'],
'eol-last': ['error', 'always'],
'quotes': ['error', 'single'],
'indent': ['error', 'tab'],
'comma-dangle': ['error', {
'arrays': 'always-multiline',
'objects': 'always-multiline',
'imports': 'always-multiline',
'exports': 'always-multiline',
'functions': 'never',
}],
"block-spacing": ["error"],
"brace-style": ["error", "1tbs", { "allowSingleLine": true }],
"no-spaced-func": ["error"],
"func-call-spacing": ["error"],
"space-before-function-paren": ["error", {
"anonymous": "never",
"named": "never",
"asyncArrow": "always"
'no-trailing-spaces': 'error',
'linebreak-style': ['error', 'unix'],
'prefer-template': ['error'],
'template-curly-spacing': ['error', 'never'],
'object-curly-spacing': ['error', 'always'],
'array-bracket-spacing': ['error', 'never'],
'key-spacing': ['error', {
'beforeColon': false,
'afterColon': true,
'mode': 'strict',
}],
"multiline-comment-style": ["error", "separate-lines"],
"space-before-blocks": "error",
"spaced-comment": ["error", "always"],
"keyword-spacing": ["error", { "before": true, "after": true }],
'block-spacing': ['error'],
'brace-style': ['error', '1tbs', { 'allowSingleLine': true }],
'no-spaced-func': ['error'],
'func-call-spacing': ['error'],
'space-before-function-paren': ['error', {
'anonymous': 'never',
'named': 'never',
'asyncArrow': 'always',
}],
'multiline-comment-style': ['error', 'separate-lines'],
'space-before-blocks': 'error',
'spaced-comment': ['error', 'always'],
'keyword-spacing': ['error', { 'before': true, 'after': true }],
},
"plugins": [
"react",
"@typescript-eslint",
"react-hooks"
'plugins': [
'react',
'@typescript-eslint',
'react-hooks',
'import',
],
'overrides': [
{
// enable the rule specifically for TypeScript files
'files': ['*.ts', '*.tsx'],
'rules': {
// Warn only because it would make it difficult to convert JS classes to TypeScript, unless we
// make everything public which is not great. New code however should specify member accessibility.
'@typescript-eslint/explicit-member-accessibility': ['warn'],
},
},
],
};

View File

@@ -0,0 +1,15 @@
---
name: "\U0001F914 Feature requests and support"
about: 'For non-bug issues we recommend using the forum, where you''ll be more likely
to get an answer: https://discourse.joplinapp.org/'
title: ''
labels: ''
assignees: ''
---
If this is a feature request or a support query, please note that you'll not get an answer here.
Instead we recommend using the forum where you'll are a lot more likely to get an answer: https://discourse.joplinapp.org/
The forum is also the right place to submit a feature request so that it can be discussed by other users.

View File

@@ -1,8 +1,9 @@
---
name: "🐛 Bug Report"
name: "\U0001F41B Bug Report"
about: Report a reproducible bug or regression in Joplin.
title: ''
labels: 'bug'
labels: bug
assignees: ''
---

View File

@@ -1,29 +0,0 @@
---
name: "🤔 Questions and Help"
about: The issue tracker is not for questions. Please ask questions on https://discourse.joplinapp.org/.
title: ''
labels: 'invalid'
---
⚠🚨⛔ The issue tracker is not for questions. ⛔🚨⚠
As it happens, support requests that are created as issues are likely to be closed. We want to make sure you are able to find the help you seek.
## Questions and Help
Please read the [documentation](https://joplinapp.org/) and [FAQ](https://joplinapp.org/faq/) first.
### https://discourse.joplinapp.org/
If you have still questions related to Joplin, please open a topic in the [forum](https://discourse.joplinapp.org/).
You can use your GitHub credentials to login to the forum.
## Links
- Documentation: https://joplinapp.org
- FAQ: https://joplinapp.org/faq/
- Forum: https://discourse.joplinapp.org
- How to enable end-to-end encryption: https://joplinapp.org/e2ee/
- API documentation: https://joplinapp.org/api/
- How to enable debug mode: https://joplinapp.org/debugging/

View File

@@ -2,14 +2,24 @@
Please prefix the title with the platform you are targetting:
Here are some examples of good titles:
- Desktop: Resolves #123: Added new setting to change font
- Mobile, Desktop: Fixes #456: Fixed config screen error
- All: Resolves #777: Made synchronisation faster
And here's an explanation of the title format:
- "Desktop" for the Windows/macOS/Linux app (Electron app)
- "Mobile" for the mobile app (or "Android" / "iOS" if the pull request only applies to one of the mobile platforms)
- "CLI" for the CLI app
If it's two platforms, separate them with commas - "Desktop, Mobile" or if it's for all platforms, prefix with "All".
If it's not related to any platform (such as a translation, change to the documentation, etc.), simply don't add a platform.
For example: "Desktop: Added new setting to change font", or "Mobile: Fixed config screen error"
Then please append the issue that you've addressed or fixed. Use "Resolves #123" for new features or improvements and "Fixes #123" for bug fixes.
PLEASE READ THE GUIDE FIRST: https://github.com/laurent22/joplin/blob/master/CONTRIBUTING.md
AND PLEASE READ THE GUIDE: https://github.com/laurent22/joplin/blob/master/CONTRIBUTING.md
-->

7
.github/stale.yml vendored
View File

@@ -1,18 +1,15 @@
# Configuration for probot-stale - https://github.com/probot/stale
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 90
daysUntilStale: 30
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- "good first issue"
- "essential"
- "essential-reviewed"
- "help wanted"
- "nice to have"
- "upstream"
- "backlog"
- "high"
- "spec"
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable

247
.gitignore vendored
View File

@@ -37,33 +37,272 @@ _mydocs
Assets/DownloadBadges*.psd
node_modules
Tools/github_oauth_token.txt
CliClient/tests/support/amazon-s3-auth.json
_releases
ReactNativeClient/lib/csstojs/
ReactNativeClient/lib/rnInjectedJs/
ElectronClient/gui/note-viewer/fonts/
ElectronClient/gui/note-viewer/lib.js
ElectronClient/gui/NoteEditor/NoteBody/TinyMCE/supportedLocales.js
Clipper-source/
Clipper/joplin-webclipper-source.zip
joplin-webclipper-source.zip
Tools/commit_hook.txt
.vscode/*
*.map
ReactNativeClient/lib/sql-extensions/spellfix.so
ReactNativeClient/lib/sql-extensions/spellfix.dylib
CliClient/build/
plugin_types/
# AUTO-GENERATED - EXCLUDED TYPESCRIPT BUILD
ElectronClient/gui/editors/PlainEditor.js
ElectronClient/gui/editors/TinyMCE.js
CliClient/app/LinkSelector.js
CliClient/app/services/plugins/PluginRunner.js
CliClient/tests/models_Setting.js
CliClient/tests/services_CommandService.js
CliClient/tests/services_InteropService.js
CliClient/tests/services_PluginService.js
CliClient/tests/services/plugins/sandboxProxy.js
CliClient/tests/synchronizer_LockHandler.js
CliClient/tests/synchronizer_MigrationHandler.js
ElectronClient/app.js
ElectronClient/bridge.js
ElectronClient/commands/copyDevCommand.js
ElectronClient/commands/focusElement.js
ElectronClient/commands/startExternalEditing.js
ElectronClient/commands/stopExternalEditing.js
ElectronClient/ElectronAppWrapper.js
ElectronClient/global.d.js
ElectronClient/gui/Button/Button.js
ElectronClient/gui/ConfigScreen/ButtonBar.js
ElectronClient/gui/ConfigScreen/ConfigScreen.js
ElectronClient/gui/ConfigScreen/SideBar.js
ElectronClient/gui/DropboxLoginScreen.js
ElectronClient/gui/ErrorBoundary.js
ElectronClient/gui/KeymapConfig/KeymapConfigScreen.js
ElectronClient/gui/KeymapConfig/ShortcutRecorder.js
ElectronClient/gui/KeymapConfig/styles/index.js
ElectronClient/gui/KeymapConfig/utils/getLabel.js
ElectronClient/gui/KeymapConfig/utils/useCommandStatus.js
ElectronClient/gui/KeymapConfig/utils/useKeymap.js
ElectronClient/gui/MainScreen/commands/editAlarm.js
ElectronClient/gui/MainScreen/commands/exportPdf.js
ElectronClient/gui/MainScreen/commands/hideModalMessage.js
ElectronClient/gui/MainScreen/commands/moveToFolder.js
ElectronClient/gui/MainScreen/commands/newFolder.js
ElectronClient/gui/MainScreen/commands/newNote.js
ElectronClient/gui/MainScreen/commands/newTodo.js
ElectronClient/gui/MainScreen/commands/print.js
ElectronClient/gui/MainScreen/commands/renameFolder.js
ElectronClient/gui/MainScreen/commands/renameTag.js
ElectronClient/gui/MainScreen/commands/search.js
ElectronClient/gui/MainScreen/commands/selectTemplate.js
ElectronClient/gui/MainScreen/commands/setTags.js
ElectronClient/gui/MainScreen/commands/showModalMessage.js
ElectronClient/gui/MainScreen/commands/showNoteContentProperties.js
ElectronClient/gui/MainScreen/commands/showNoteProperties.js
ElectronClient/gui/MainScreen/commands/showShareNoteDialog.js
ElectronClient/gui/MainScreen/commands/toggleEditors.js
ElectronClient/gui/MainScreen/commands/toggleNoteList.js
ElectronClient/gui/MainScreen/commands/toggleSidebar.js
ElectronClient/gui/MainScreen/commands/toggleVisiblePanes.js
ElectronClient/gui/MainScreen/MainScreen.js
ElectronClient/gui/MenuBar.js
ElectronClient/gui/MultiNoteActions.js
ElectronClient/gui/NoteContentPropertiesDialog.js
ElectronClient/gui/NoteText2.js
ElectronClient/gui/NoteEditor/commands/editorCommandDeclarations.js
ElectronClient/gui/NoteEditor/commands/focusElementNoteBody.js
ElectronClient/gui/NoteEditor/commands/focusElementNoteTitle.js
ElectronClient/gui/NoteEditor/commands/showLocalSearch.js
ElectronClient/gui/NoteEditor/commands/showRevisions.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/CodeMirror.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/Editor.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/styles/index.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/Toolbar.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/index.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/types.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useCursorUtils.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useEditorSearch.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useJoplinMode.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useKeymap.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useLineSorting.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useListIdent.js
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useScrollUtils.js
ElectronClient/gui/NoteEditor/NoteBody/TinyMCE/styles/index.js
ElectronClient/gui/NoteEditor/NoteBody/TinyMCE/TinyMCE.js
ElectronClient/gui/NoteEditor/NoteBody/TinyMCE/utils/useScroll.js
ElectronClient/gui/NoteEditor/NoteEditor.js
ElectronClient/gui/NoteEditor/styles/index.js
ElectronClient/gui/NoteEditor/utils/contextMenu.js
ElectronClient/gui/NoteEditor/utils/index.js
ElectronClient/gui/NoteEditor/utils/resourceHandling.js
ElectronClient/gui/NoteEditor/utils/types.js
ElectronClient/gui/NoteEditor/utils/useDropHandler.js
ElectronClient/gui/NoteEditor/utils/useFolder.js
ElectronClient/gui/NoteEditor/utils/useFormNote.js
ElectronClient/gui/NoteEditor/utils/useMarkupToHtml.js
ElectronClient/gui/NoteEditor/utils/useMessageHandler.js
ElectronClient/gui/NoteEditor/utils/useNoteSearchBar.js
ElectronClient/gui/NoteEditor/utils/usePluginServiceRegistration.js
ElectronClient/gui/NoteEditor/utils/useSearchMarkers.js
ElectronClient/gui/NoteEditor/utils/useWindowCommandHandler.js
ElectronClient/gui/NoteList/commands/focusElementNoteList.js
ElectronClient/gui/NoteList/NoteList.js
ElectronClient/gui/NoteListControls/commands/focusSearch.js
ElectronClient/gui/NoteListControls/NoteListControls.js
ElectronClient/gui/NoteListItem.js
ElectronClient/gui/NoteTextViewer.js
ElectronClient/gui/NoteToolbar/NoteToolbar.js
ElectronClient/gui/OneDriveLoginScreen.js
ElectronClient/gui/ResizableLayout/hooks/useLayoutItemSizes.js
ElectronClient/gui/ResizableLayout/hooks/useWindowResizeEvent.js
ElectronClient/gui/ResizableLayout/ResizableLayout.js
ElectronClient/gui/ResourceScreen.js
ElectronClient/gui/Root_UpgradeSyncTarget.js
ElectronClient/gui/Root.js
ElectronClient/gui/SearchBar/hooks/useSearch.js
ElectronClient/gui/SearchBar/SearchBar.js
ElectronClient/gui/SearchBar/styles/index.js
ElectronClient/gui/ShareNoteDialog.js
ElectronClient/gui/utils/NoteText.js
ElectronClient/gui/SideBar/commands/focusElementSideBar.js
ElectronClient/gui/SideBar/SideBar.js
ElectronClient/gui/SideBar/styles/index.js
ElectronClient/gui/StatusScreen/StatusScreen.js
ElectronClient/gui/style/StyledInput.js
ElectronClient/gui/style/StyledTextInput.js
ElectronClient/gui/ToggleEditorsButton/styles/index.js
ElectronClient/gui/ToggleEditorsButton/ToggleEditorsButton.js
ElectronClient/gui/ToolbarBase.js
ElectronClient/gui/ToolbarButton/styles/index.js
ElectronClient/gui/ToolbarButton/ToolbarButton.js
ElectronClient/gui/utils/NoteListUtils.js
ElectronClient/InteropServiceHelper.js
ElectronClient/services/bridge.js
ElectronClient/services/plugins/hooks/useThemeCss.js
ElectronClient/services/plugins/hooks/useViewIsReady.js
ElectronClient/services/plugins/PlatformImplementation.js
ElectronClient/services/plugins/PluginRunner.js
ElectronClient/services/plugins/UserWebview.js
ElectronClient/services/plugins/UserWebviewDialog.js
ElectronClient/services/plugins/UserWebviewDialogButtonBar.js
ReactNativeClient/lib/AsyncActionQueue.js
ReactNativeClient/lib/BaseApplication.js
ReactNativeClient/lib/checkPermissions.js
ReactNativeClient/lib/commands/historyBackward.js
ReactNativeClient/lib/commands/historyForward.js
ReactNativeClient/lib/commands/synchronize.js
ReactNativeClient/lib/components/screens/UpgradeSyncTargetScreen.js
ReactNativeClient/lib/errorUtils.js
ReactNativeClient/lib/eventManager.js
ReactNativeClient/lib/hooks/useEffectDebugger.js
ReactNativeClient/lib/hooks/useImperativeHandlerDebugger.js
ReactNativeClient/lib/hooks/usePrevious.js
ReactNativeClient/lib/hooks/usePropsDebugger.js
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/checkbox.js
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/fence.js
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/mermaid.js
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/sanitize_html.js
ReactNativeClient/lib/JoplinServerApi.js
ReactNativeClient/lib/locale.js
ReactNativeClient/lib/Logger.js
ReactNativeClient/lib/markdownUtils.js
ReactNativeClient/lib/models/Alarm.js
ReactNativeClient/lib/models/Setting.js
ReactNativeClient/lib/ntpDate.js
ReactNativeClient/lib/reducer.js
ReactNativeClient/lib/services/AlarmService.js
ReactNativeClient/lib/services/AlarmServiceDriver.android.js
ReactNativeClient/lib/services/AlarmServiceDriver.ios.js
ReactNativeClient/lib/services/AlarmServiceDriverNode.js
ReactNativeClient/lib/services/BaseService.js
ReactNativeClient/lib/services/BooleanExpression.js
ReactNativeClient/lib/services/commands/MenuUtils.js
ReactNativeClient/lib/services/commands/propsHaveChanged.js
ReactNativeClient/lib/services/commands/ToolbarButtonUtils.js
ReactNativeClient/lib/services/CommandService.js
ReactNativeClient/lib/services/contextkey/contextkey.js
ReactNativeClient/lib/services/debug/populateDatabase.js
ReactNativeClient/lib/services/interop/InteropService_Exporter_Base.js
ReactNativeClient/lib/services/interop/InteropService_Exporter_Custom.js
ReactNativeClient/lib/services/interop/InteropService_Exporter_Html.js
ReactNativeClient/lib/services/interop/InteropService_Exporter_Jex.js
ReactNativeClient/lib/services/interop/InteropService_Exporter_Md.js
ReactNativeClient/lib/services/interop/InteropService_Exporter_Raw.js
ReactNativeClient/lib/services/interop/InteropService_Importer_Base.js
ReactNativeClient/lib/services/interop/InteropService_Importer_Custom.js
ReactNativeClient/lib/services/interop/InteropService_Importer_EnexToHtml.js
ReactNativeClient/lib/services/interop/InteropService_Importer_EnexToMd.js
ReactNativeClient/lib/services/interop/InteropService_Importer_Jex.js
ReactNativeClient/lib/services/interop/InteropService_Importer_Md.js
ReactNativeClient/lib/services/interop/InteropService_Importer_Raw.js
ReactNativeClient/lib/services/interop/InteropService.js
ReactNativeClient/lib/services/interop/types.js
ReactNativeClient/lib/services/keychain/KeychainService.js
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.dummy.js
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.mobile.js
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.node.js
ReactNativeClient/lib/services/keychain/KeychainServiceDriverBase.js
ReactNativeClient/lib/services/KeymapService.js
ReactNativeClient/lib/services/plugins/api/Global.js
ReactNativeClient/lib/services/plugins/api/Joplin.js
ReactNativeClient/lib/services/plugins/api/JoplinCommands.js
ReactNativeClient/lib/services/plugins/api/JoplinData.js
ReactNativeClient/lib/services/plugins/api/JoplinFilters.js
ReactNativeClient/lib/services/plugins/api/JoplinInterop.js
ReactNativeClient/lib/services/plugins/api/JoplinPlugins.js
ReactNativeClient/lib/services/plugins/api/JoplinSettings.js
ReactNativeClient/lib/services/plugins/api/JoplinViews.js
ReactNativeClient/lib/services/plugins/api/JoplinViewsDialogs.js
ReactNativeClient/lib/services/plugins/api/JoplinViewsMenuItems.js
ReactNativeClient/lib/services/plugins/api/JoplinViewsPanels.js
ReactNativeClient/lib/services/plugins/api/JoplinViewsToolbarButtons.js
ReactNativeClient/lib/services/plugins/api/JoplinWorkspace.js
ReactNativeClient/lib/services/plugins/api/types.js
ReactNativeClient/lib/services/plugins/BasePluginRunner.js
ReactNativeClient/lib/services/plugins/MenuItemController.js
ReactNativeClient/lib/services/plugins/Plugin.js
ReactNativeClient/lib/services/plugins/PluginService.js
ReactNativeClient/lib/services/plugins/reducer.js
ReactNativeClient/lib/services/plugins/sandboxProxy.js
ReactNativeClient/lib/services/plugins/ToolbarButtonController.js
ReactNativeClient/lib/services/plugins/utils/createViewHandle.js
ReactNativeClient/lib/services/plugins/utils/executeSandboxCall.js
ReactNativeClient/lib/services/plugins/utils/manifestFromObject.js
ReactNativeClient/lib/services/plugins/utils/mapEventHandlersToIds.js
ReactNativeClient/lib/services/plugins/utils/types.js
ReactNativeClient/lib/services/plugins/ViewController.js
ReactNativeClient/lib/services/plugins/WebviewController.js
ReactNativeClient/lib/services/ResourceEditWatcher/index.js
ReactNativeClient/lib/services/ResourceEditWatcher/reducer.js
ReactNativeClient/lib/services/rest/actionApi.desktop.js
ReactNativeClient/lib/services/rest/Api.js
ReactNativeClient/lib/services/rest/errors.js
ReactNativeClient/lib/services/searchengine/filterParser.js
ReactNativeClient/lib/services/searchengine/queryBuilder.js
ReactNativeClient/lib/services/SettingUtils.js
ReactNativeClient/lib/services/synchronizer/gui/useSyncTargetUpgrade.js
ReactNativeClient/lib/services/synchronizer/LockHandler.js
ReactNativeClient/lib/services/synchronizer/MigrationHandler.js
ReactNativeClient/lib/services/synchronizer/migrations/1.js
ReactNativeClient/lib/services/synchronizer/migrations/2.js
ReactNativeClient/lib/services/synchronizer/utils/types.js
ReactNativeClient/lib/services/UndoRedoService.js
ReactNativeClient/lib/ShareExtension.js
ReactNativeClient/lib/shareHandler.js
ReactNativeClient/lib/shim.js
ReactNativeClient/lib/Synchronizer.js
ReactNativeClient/lib/theme.js
ReactNativeClient/lib/themes/aritimDark.js
ReactNativeClient/lib/themes/dark.js
ReactNativeClient/lib/themes/dracula.js
ReactNativeClient/lib/themes/light.js
ReactNativeClient/lib/themes/nord.js
ReactNativeClient/lib/themes/oledDark.js
ReactNativeClient/lib/themes/solarizedDark.js
ReactNativeClient/lib/themes/solarizedLight.js
ReactNativeClient/lib/themes/type.js
ReactNativeClient/lib/uuid.js
ReactNativeClient/lib/versionInfo.js
ReactNativeClient/PluginAssetsLoader.js
ReactNativeClient/setUpQuickActions.js
# AUTO-GENERATED - EXCLUDED TYPESCRIPT BUILD

View File

@@ -9,6 +9,7 @@ rvm: 2.3.3
branches:
only:
- master
- dev
- /^v\d+\.\d+(\.\d+)?(-\S*)?$/
matrix:
@@ -16,7 +17,7 @@ matrix:
- os: osx
osx_image: xcode9.0
language: node_js
node_js: "8"
node_js: "10"
env:
- ELECTRON_CACHE=$HOME/.cache/electron
- ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder
@@ -25,7 +26,7 @@ matrix:
sudo: required
dist: trusty
language: node_js
node_js: "8"
node_js: "10"
env:
- ELECTRON_CACHE=$HOME/.cache/electron
- ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder
@@ -42,6 +43,8 @@ before_install:
# Silence apt-get update errors (for example when a module doesn't exist) since
# otherwise it will make the whole build fails, even though all we need is yarn.
# libsecret-1-dev is required for keytar - https://github.com/atom/node-keytar
- |
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
HOMEBREW_NO_AUTO_UPDATE=1 brew install yarn
@@ -51,6 +54,7 @@ before_install:
sudo apt-get update || true
sudo apt-get install -y yarn
sudo apt-get install -y gettext
sudo apt-get install -y libsecret-1-dev
fi
script:
@@ -66,7 +70,7 @@ script:
# and that would break the desktop release.
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
cd CliClient
npm run test
npm run test-ci
testResult=$?
if [ $testResult -ne 0 ]; then
exit $testResult
@@ -109,4 +113,4 @@ script:
# Prepare the Electron app and build it
cd ElectronClient
USE_HARD_LINKS=false yarn dist
USE_HARD_LINKS=false npm run dist

View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

109
Assets/SmallTile.svg Normal file
View File

@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="disegno.svg"
inkscape:version="1.0rc1 (09960d6, 2020-04-09)"
id="svg8"
version="1.1"
viewBox="0 0 70 70"
height="70"
width="70">
<defs
id="defs2" />
<sodipodi:namedview
inkscape:window-maximized="0"
inkscape:window-y="25"
inkscape:window-x="0"
inkscape:window-height="775"
inkscape:window-width="1280"
inkscape:guide-bbox="true"
showguides="true"
inkscape:pagecheckerboard="true"
inkscape:showpageshadow="false"
showborder="true"
showgrid="false"
inkscape:document-rotation="0"
inkscape:current-layer="layer1"
inkscape:document-units="px"
inkscape:cy="39.253064"
inkscape:cx="25.246811"
inkscape:zoom="5.8562241"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
units="px">
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:locked="false"
inkscape:label=""
id="guide1932"
orientation="-1,0"
position="12,70" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:locked="false"
inkscape:label=""
id="guide1934"
orientation="-1,0"
position="58,70" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:locked="false"
inkscape:label=""
id="guide1936"
orientation="0,1"
position="0,58" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:locked="false"
inkscape:label=""
id="guide1938"
orientation="0,1"
position="0,12" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:locked="false"
inkscape:label=""
id="guide2021"
orientation="-1,0"
position="35,70" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:groupmode="layer"
inkscape:label="Livello 1">
<path
inkscape:transform-center-y="23.027731"
inkscape:transform-center-x="-17.510929"
id="path30"
style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133334;stop-opacity:1"
d="M 52.1731,12 H 35.107236 c -0.161294,0 -0.291666,0.130494 -0.291666,0.291543 v 5.419239 c 0,0.182381 0.147678,0.330176 0.330178,0.330176 h 2.339824 c 0.94638,0 1.713811,0.727936 1.795988,1.652976 v 3.715485 2.069989 19.715998 0.139708 h -6.44e-4 c 0.0058,0.206545 -0.0023,0.409658 -0.02244,0.609702 -0.0023,0.02918 -0.0062,0.05801 -0.0097,0.08697 -0.01349,0.116897 -0.02846,0.233161 -0.05114,0.346981 -0.01243,0.06489 -0.02993,0.128044 -0.0455,0.191949 -0.02097,0.08499 -0.0379,0.171342 -0.06401,0.254505 -0.1543,0.493916 -0.39825,0.95202 -0.735666,1.355297 -0.01243,0.01438 -0.02771,0.02761 -0.03998,0.04182 -0.102908,0.119222 -0.210962,0.235367 -0.330548,0.34416 -0.120695,0.109778 -0.248492,0.211819 -0.382795,0.306628 -0.954719,0.676302 -2.23974,0.973854 -3.6755,0.836485 -1.830697,-0.172088 -3.646921,-1.002309 -5.114939,-2.337984 -1.467772,-1.335554 -2.380422,-2.988039 -2.569305,-4.653525 -0.169868,-1.489971 0.276578,-2.801116 1.256197,-3.692426 0.0027,-0.0019 0.005,-0.0037 0.0069,-0.0058 0.0379,-0.03398 0.0796,-0.06379 0.1186,-0.09654 0.701076,-0.58738 1.614951,-0.943313 2.657858,-1.041435 0.01172,-0.0011 0.02306,-0.003 0.03423,-0.0039 0.109777,-0.0097 0.221631,-0.01402 0.334471,-0.01827 0.05899,-0.0019 0.117251,-0.0062 0.177111,-0.0065 0.01986,-2.76e-4 0.03875,-0.0023 0.05864,-0.0023 0.03557,0 0.07248,0.0046 0.108055,0.0051 0.164347,0.0027 0.329933,0.0094 0.498825,0.02379 0.02134,0.0017 0.0417,9.78e-4 0.06365,0.003 0.01562,0.0016 0.03103,0.005 0.04662,0.0065 0.956682,0.09592 1.90392,0.381568 2.802834,0.814406 0.01876,8.39e-4 0.04047,0.0065 0.06759,0.02159 0.274004,0.151353 0.326498,-0.01101 0.334593,-0.118351 v -4.688237 -3.46883 c 0,-0.233653 -0.162519,-0.440321 -0.3904,-0.490484 -4.841795,-1.065597 -9.592336,0.04355 -12.944402,3.09499 -2.928307,2.663747 -4.344811,6.507647 -3.885849,10.545461 0.409535,3.596512 2.255685,7.05173 5.198956,9.730318 2.868698,2.609903 6.521262,4.242028 10.288996,4.596993 0.519184,0.04805 1.040822,0.07283 1.549826,0.07283 3.598351,0 6.937296,-1.233851 9.401735,-3.475688 2.33455,-2.125552 3.732902,-5.044294 3.938097,-8.219619 l 0.01901,-20.825138 h 0.0021 V 19.91155 h 7.7e-4 v -0.09714 c 0.02109,-0.982682 0.822378,-1.773296 1.81046,-1.773296 h 2.339824 c 0.182259,0 0.330177,-0.147802 0.330177,-0.330177 v -5.419299 c -2.1e-5,-0.161046 -0.130406,-0.291543 -0.291686,-0.291543"
inkscape:connector-curvature="0" />
</g>
<inkscape:templateinfo>
<inkscape:name>SmallTile</inkscape:name>
<inkscape:shortdesc>Small tile</inkscape:shortdesc>
<inkscape:date>2020-04-15</inkscape:date>
</inkscape:templateinfo>
</svg>

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="disegno-1.svg"
inkscape:version="1.0rc1 (09960d6, 2020-04-09)"
id="svg8"
version="1.1"
viewBox="0 0 150 150"
height="150"
width="150">
<defs
id="defs2" />
<sodipodi:namedview
inkscape:window-maximized="0"
inkscape:window-y="25"
inkscape:window-x="0"
inkscape:window-height="775"
inkscape:window-width="1280"
inkscape:guide-bbox="true"
showguides="true"
inkscape:pagecheckerboard="true"
inkscape:showpageshadow="false"
showborder="true"
showgrid="false"
inkscape:document-rotation="0"
inkscape:current-layer="layer1"
inkscape:document-units="px"
inkscape:cy="79.075594"
inkscape:cx="91.835957"
inkscape:zoom="3.1892627"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
units="px">
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:locked="false"
inkscape:label=""
id="guide1919"
orientation="0,1"
position="0,115" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:locked="false"
inkscape:label=""
id="guide1921"
orientation="-1,0"
position="25,150" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:locked="false"
inkscape:label=""
id="guide1923"
orientation="-1,0"
position="125,150" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:locked="false"
inkscape:label=""
id="guide1925"
orientation="0,1"
position="0,35" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:locked="false"
inkscape:label=""
id="guide2879"
orientation="-1,0"
position="75,150" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:groupmode="layer"
inkscape:label="Livello 1">
<path
inkscape:connector-curvature="0"
d="M 105.30102,35.000001 H 75.621261 c -0.280511,0 -0.507245,0.226946 -0.507245,0.507031 v 9.424762 c 0,0.317185 0.256831,0.574219 0.574223,0.574219 h 4.069258 c 1.645878,0 2.980541,1.265976 3.123457,2.874741 v 6.461712 3.599981 34.288687 0.24297 h -0.0011 c 0.01009,0.359209 -0.004,0.712449 -0.03903,1.060352 -0.004,0.05075 -0.01078,0.100887 -0.01687,0.151252 -0.02346,0.203299 -0.0495,0.405497 -0.08894,0.603445 -0.02162,0.112852 -0.05205,0.222685 -0.07913,0.333824 -0.03647,0.147809 -0.06591,0.297986 -0.111322,0.442618 -0.268348,0.858984 -0.692608,1.655686 -1.279419,2.357038 -0.02162,0.02501 -0.04819,0.04802 -0.06953,0.07273 -0.178971,0.207343 -0.366891,0.409334 -0.574866,0.598539 -0.209904,0.190918 -0.43216,0.368381 -0.66573,0.533266 -1.660381,1.176182 -3.8952,1.693662 -6.392174,1.454752 -3.18382,-0.29928 -6.34247,-1.743142 -8.895544,-4.066054 -2.552647,-2.322703 -4.139864,-5.196589 -4.468356,-8.093086 -0.295423,-2.591254 0.481005,-4.871506 2.18469,-6.42161 0.0047,-0.0033 0.0087,-0.0064 0.012,-0.01009 0.06591,-0.05909 0.138435,-0.110939 0.206261,-0.167895 1.219262,-1.021531 2.80861,-1.640544 4.622361,-1.811191 0.02038,-0.0019 0.0401,-0.0052 0.05953,-0.0068 0.190917,-0.01687 0.385445,-0.02438 0.581689,-0.03177 0.102591,-0.0033 0.203915,-0.01078 0.308019,-0.0113 0.03454,-4.8e-4 0.06739,-0.004 0.101982,-0.004 0.06186,0 0.126053,0.008 0.187922,0.0089 0.285821,0.0047 0.573797,0.01635 0.867522,0.04137 0.03711,0.003 0.07252,0.0017 0.110695,0.0052 0.02717,0.0028 0.05397,0.0087 0.08108,0.0113 1.663794,0.166817 3.311164,0.663596 4.874493,1.416358 0.03263,0.0015 0.07038,0.0113 0.117548,0.03755 0.476528,0.263222 0.567822,-0.01915 0.581901,-0.205828 V 73.11952 67.086773 c 0,-0.406353 -0.282642,-0.765776 -0.678957,-0.853016 -8.420512,-1.853212 -16.682323,0.07574 -22.512002,5.382591 -5.092707,4.632602 -7.556192,11.317645 -6.757997,18.339929 0.712234,6.254803 3.92293,12.263883 9.041661,16.922293 4.989039,4.53896 11.341325,7.37744 17.893905,7.99477 0.902929,0.0836 1.810125,0.12666 2.69535,0.12666 6.258001,0 12.064861,-2.14583 16.350841,-6.04467 4.060086,-3.69661 6.492006,-8.77269 6.848866,-14.294994 l 0.0331,-36.217627 h 0.004 v -9.683497 h 10e-4 v -0.16894 c 0.0367,-1.709012 1.43023,-3.083992 3.148627,-3.083992 h 4.06926 c 0.31697,0 0.57422,-0.257047 0.57422,-0.574221 v -9.424867 c -4e-5,-0.28008 -0.22679,-0.507031 -0.50728,-0.507031"
style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.133334;stop-opacity:1"
id="path30"
inkscape:transform-center-x="-30.453831"
inkscape:transform-center-y="40.048222" />
</g>
<inkscape:templateinfo>
<inkscape:name>Square150x150Logo</inkscape:name>
<inkscape:shortdesc>Medium tile</inkscape:shortdesc>
<inkscape:date>2020-04-15</inkscape:date>
</inkscape:templateinfo>
</svg>

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 820 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 71 KiB

BIN
Assets/macOsIcon.psd Normal file

Binary file not shown.

View File

@@ -7,7 +7,11 @@ Note that all the applications share the same library, which, for historical rea
## Required dependencies
- Install yarn - https://yarnpkg.com/lang/en/docs/install/
- Install node - https://nodejs.org/en/
- Install node 10+ - https://nodejs.org/en/
- macOS, Linux: Install rsync - https://nodejs.org/en/
- macOS: Install Cocoapods - `brew install cocoapods`
- Windows: Install Windows Build Tools - `npm install -g windows-build-tools`
- Linux: Install dependencies - `sudo apt install libnss3 libsecret-1-dev`
## Building
@@ -22,18 +26,7 @@ Then you can test the various applications:
cd ElectronClient
npm start
If you'd like to auto-reload the app on changes rather than having to quit and restart it manually each time, you can use [watchman-make](https://facebook.github.io/watchman/docs/watchman-make.html):
```sh
cd ElectronClient
watchman-make -p '**/*.js' '**/*.jsx' --run "npm start"
```
It still requires you to quit the application each time you want it to rebuild, but at least you don't have to re-run `"npm start"` each time. Here's what the workflow loop looks like in practice:
1. Edit and save files in your text editor.
2. Switch to the Electron app and <kbd>cmd</kbd>+<kbd>Q</kbd> to quit it.
3. `watchman` immediately restarts the app for you (whereas usually you'd have to switch back to the terminal, type `"npm start"`, and hit enter).
You can also run it under WSL 2. To do so, [follow these instructions](https://www.beekeeperstudio.io/blog/building-electron-windows-ubuntu-wsl2) to setup your environment.
## Testing the Terminal application
@@ -47,12 +40,12 @@ First you need to setup React Native to build projects with native code. For thi
Then:
cd ReactNativeClient
npm start-android
# Or: npm start-ios
npm run start-android
# Or: npm run start-ios
To run the iOS application, it might be easier to open the file `ios/Joplin.xcworkspace` on XCode and run the app from there.
Normally the bundler should start automatically with the application. If it doesn't run `npm start`.
Normally the bundler should start automatically with the application. If it doesn't, run `npm start`.
## Building the clipper
@@ -80,37 +73,27 @@ You can specify additional parameters when running the desktop or CLI applicatio
Most of the application is written in JavaScript, however new classes and files should generally be written in [TypeScript](https://www.typescriptlang.org/). All TypeScript files are generated next to the .ts or .tsx file. So for example, if there's a file "lib/MyClass.ts", there will be a generated "lib/MyClass.js" next to it. It is implemented that way as it requires minimal changes to integrate TypeScript in the existing JavaScript code base.
# Troubleshooting desktop application
In the current setup, `tsc` is executed from the root of the project, and will compile everything in CliClient, ElectronClient, etc. This is more convenient to have just one place to compile everything, and it also means there's only one watch command to run. However, one drawback is that TypeScript doesn't find types defined in node_modules folders in sub-directories. For example, if you install `immer` in ElectronClient, then try to use the package, TypeScript will report that it cannot find this module. In theory using `typeRoots`, it should be possible to make it find the right modules but it doesn't seem to work in this case. Currently the workaround is to install any such package at the root of the project. By doing so, TypeScript will find the type definitions and compilation will work. It's not ideal since the module is installed at the root even though it's not used, but for now that will work.
## On Linux and macOS
## Hot reload
If there's an error `while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory`, run `sudo apt-get install libgconf-2-4`
If you'd like to auto-reload the desktop app on changes rather than having to quit and restart it manually each time, you can use [watchman-make](https://facebook.github.io/watchman/docs/watchman-make.html):
If you get a node-gyp related error, you might need to manually install it: `npm install -g node-gyp`.
```sh
cd ElectronClient
watchman-make -p '**/*.js' '**/*.jsx' --run "npm start"
```
If you get the error `libtool: unrecognized option '-static'`, follow the instructions [in this post](https://stackoverflow.com/a/38552393/561309) to use the correct libtool version.
It still requires you to quit the application each time you want it to rebuild, but at least you don't have to re-run `"npm start"` each time. Here's what the workflow loop looks like in practice:
## On Windows
1. Edit and save files in your text editor.
2. Switch to the Electron app and <kbd>cmd</kbd>+<kbd>Q</kbd> to quit it.
3. `watchman` immediately restarts the app for you (whereas usually you'd have to switch back to the terminal, type `"npm start"`, and hit enter).
If node-gyp does not work (MSBUILD: error MSB3428: Could not load the Visual C++ component "VCBuild.exe"), you might need to install `windows-build-tools` using `npm install --global windows-build-tools`.
# Updating Markdown renderer packages
If `yarn dist` fails, it may need administrative rights.
The Markdown renderer is located under ReactNativeClient/lib/joplin-renderer. Whenever updating one of its dependencies, such as Mermaid or Katex, please run `npm run buildAssets` to make sure all assets such as fonts or CSS files are deployed correctly.
If you get an `error MSB8020: The build tools for v140 cannot be found.` try to run with a different toolset version, eg `npm install --toolset=v141` (See [here](https://github.com/mapbox/node-sqlite3/issues/1124) for more info).
# Troubleshooting
## Other issues
> The application window doesn't open or is white
This is an indication that there's an early initialisation error. Try this:
- In ElectronAppWrapper, set `debugEarlyBugs` to `true`. This will force the window to show up and should open the console next to it, which should display any error.
- In more rare cases, an already open instance of Joplin can create strange low-level bugs that will display no error but will result in this white window. A non-dev instance of Joplin, or a dev instance that wasn't properly closed might cause this. So make sure you close everything and try again. Perhaps even other Electron apps running (Skype, Slack, etc.) could cause this?
- Also try to delete node_modules and rebuild.
- If all else fails, switch your computer off and on again, to make sure you start clean.
> How to work on the app from Windows?
**You should not use WSL at all** because this is a GUI app that lives outside of WSL, and the WSL layer can cause all kind of very hard to debug issues. It can also lock files in node_modules that cannot be unlocked when the app crashes. (You need to restart your computer.) Likewise, don't run the TypeScript watch command from WSL.
So everything should be done from a Windows Command prompt or Windows PowerShell running as Administrator. All build and start commands are designed to work cross-platform, including on Windows.
Please read for the [Build Troubleshooting Document](https://github.com/laurent22/joplin/blob/dev/readme/build_troubleshooting.md) for various tips on how to get the build working.

View File

@@ -21,15 +21,13 @@ Please check that your request has not already been posted on the forum or the [
Avoid listing multiple requests in one topic. One topic per request makes it easier to track and discuss it.
Finally, when submitting a pull request, don't forget to [test your code](#unit-tests).
Finally, when submitting a pull request, don't forget to [test your code](#automated-tests).
# Contribute to the project
## Contributing to Joplin's translation
# Contributing to Joplin's translation
Joplin is available in multiple languages thanks to the help of its users. You can help translate Joplin to your language or keep it up to date. Please read the documentation about [Localisation](https://joplinapp.org/#localisation).
## Contributing to Joplin's code
# Contributing to Joplin's code
If you want to start contributing to the project's code, please follow these guidelines before creating a pull request:
@@ -38,10 +36,11 @@ If you want to start contributing to the project's code, please follow these gui
- 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.
- **Changes that will consist in more than 50 lines of code should be discussed the [Joplin Forum](https://discourse.joplinapp.org/)**, so that you don't spend too much time implementing something that might not be accepted.
- All the applications share the same backend (database, synchronisation, settings, models, business logic, etc.) so if you change something in the backend in one app, makes sure it still work in the other apps. Usually it does, but keep this in mind.
- Pull requests that make many changes using an automated tool, like for spell fixing, styling, etc. will not be accepted. An exception would be if the changes have been discussed in the forum and someone has agreed to review **and test** the pull request.
Building the apps is relatively easy - please [see the build instructions](https://github.com/laurent22/joplin/blob/master/BUILD.md) for more details.
### Coding style
## Coding style
Coding style is enforced by a pre-commit hook that runs eslint. This hook is installed whenever running `npm 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 `npm install` at the root of the repository.
@@ -49,44 +48,45 @@ For new React components, please use [React Hooks](https://reactjs.org/docs/hook
For changes made to the Desktop client that affect the user interface, refer to `ElectronClient/app/theme.js` 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.
### Unit tests
## Automated tests
When submitting a pull request for a new feature or bug fix, please add unit tests for your code. Unit testing GUI changes is not always possible so it is not required, but any change in a file under /lib for example should be unit tested.
When submitting a pull request for a new feature or a bug fix, please add automated tests for your code whenever possible. Tests in Joplin are divided into **unit tests** and **feature tests**.
* **Unit tests** are used to test models, services or utility classes - they are relatively low level. Unit tests should be prefixed with the type of class that is being tested - for example "models_Folder" or "services_SearchEngine".
* **Feature tests** on the other hand are to test higher level functionalities such as interactions with the GUI and how they affect the underlying model. Often these tests would dispatch Redux actions, and inspect how the application state has been changed. The feature tests should be prefixed with "feature_", for example "feature_TagList". There's a good explanation on what qualifies as a feature test in [this post](https://github.com/laurent22/joplin/pull/2819#issuecomment-603502230).
The tests are under CliClient/tests. To get them running, you first need to build the CLI app:
```sh
npm run tsc # Build the .ts and .tsx files
cd CliClient
npm install
cd CliClient
```
To run all the test units:
```sh
npm run test
npm test
```
To run just one particular file:
```sh
npm run test -- --filter=markdownUtils # Don't add the .js extension
npm test -- --filter=markdownUtils # Don't add the .js extension
```
To filter tests. For example, to run all the test units that contain "should handle conflict" in their description:
```sh
npm run test -- --filter="should handle conflict"
npm test -- --filter="should handle conflict"
```
If you get the error `Cannot find module '/joplin/CliClient/node_modules/sqlite3/lib/binding/node-v79-darwin-x64/node_sqlite3.node'`, you may need to run `npm rebuild`.
## About abandoned pull requests
It happens that a pull request is started but not finished and despite our attempts to contact the contributor, we dont hear from them again.
It happens that a pull request is started but not finished and despite our attempts to contact the contributor, we don't hear from them again.
In that case we will not merge the pull request, even if only small changes are missing. Our policy is simply to close the pull request. Why? Because an unfinished pull request essentially means giving us work and moving on. We would rather not encourage this behaviour.
Also, please note that since we have spent time reviewing the pull request and proposing solutions, we reserve the right to re-use that knowledge to create a new pull request, potentially based on your changes.
Wed much prefer that you complete the pull request though, so well be sure to ping you a few times before that!
We'd much prefer that you complete the pull request though, so we'll be sure to ping you a few times before that!

View File

@@ -1,13 +1,13 @@
module.exports = {
"overrides": [
'overrides': [
{
"files": ["tests/**/*.js"],
'files': ['tests/**/*.js'],
'rules': {
// Ignore all unused function arguments, because in some
// case they are kept to indicate the function signature.
"no-unused-vars": ["error", { "argsIgnorePattern": ".*" }],
"@typescript-eslint/no-unused-vars": 0,
}
'no-unused-vars': ['error', { 'argsIgnorePattern': '.*' }],
'@typescript-eslint/no-unused-vars': 0,
},
},
],
};
};

View File

@@ -20,4 +20,6 @@ out.txt
linkToLocal.sh
yarn-error.log
tests/support/dropbox-auth.txt
tests/support/nextcloud-auth.json
tests/support/onedrive-auth.txt
build/

View File

@@ -0,0 +1,134 @@
const open = require('open');
interface LinkStoreEntry {
link: string;
noteX: number;
noteY: number;
}
class LinkSelector {
noteId_: string;
scrollTop_: number;
renderedText_: string;
currentLinkIndex_: number;
linkStore_: LinkStoreEntry[];
linkRegex_: RegExp;
constructor() {
this.noteId_ = null;
this.scrollTop_ = null; // used so 'o' won't open unhighlighted link after scrolling
this.renderedText_ = null;
this.currentLinkIndex_ = null;
this.linkStore_ = null;
this.linkRegex_ = /http:\/\/[0-9.]+:[0-9]+\/[0-9]+/g;
}
get link(): string | null {
if (this.currentLinkIndex_ === null) return null;
return this.linkStore_[this.currentLinkIndex_].link;
}
get noteX(): number | null {
if (this.currentLinkIndex_ === null) return null;
return this.linkStore_[this.currentLinkIndex_].noteX;
}
get noteY(): number | null {
if (this.currentLinkIndex_ === null) return null;
return this.linkStore_[this.currentLinkIndex_].noteY;
}
findLinks(renderedText: string): LinkStoreEntry[] {
const newLinkStore: LinkStoreEntry[] = [];
const lines: string[] = renderedText.split('\n');
for (let i = 0; i < lines.length; i++) {
const matches = [...lines[i].matchAll(this.linkRegex_)];
matches.forEach((_e, n) => {
newLinkStore.push(
{
link: matches[n][0],
noteX: matches[n].index,
noteY: i,
}
);
});
}
return newLinkStore;
}
updateText(renderedText: string): void {
this.currentLinkIndex_ = null;
this.renderedText_ = renderedText;
this.linkStore_ = this.findLinks(this.renderedText_);
}
updateNote(textWidget: any): void {
this.noteId_ = textWidget.noteId;
this.scrollTop_ = textWidget.scrollTop_;
this.updateText(textWidget.renderedText_);
}
scrollWidget(textWidget: any): void {
if (this.currentLinkIndex_ === null) return;
const noteY = this.linkStore_[this.currentLinkIndex_].noteY;
let viewBoxMin = textWidget.scrollTop_ + 1;
let viewBoxMax = viewBoxMin + textWidget.innerHeight - 2;
if (noteY < viewBoxMin) {
for (; noteY < viewBoxMin; textWidget.pageUp()) {
viewBoxMin = textWidget.scrollTop_;
viewBoxMax = viewBoxMin + textWidget.innerHeight;
}
return;
} else if (noteY > viewBoxMax) {
for (; noteY > viewBoxMax; textWidget.pageDown()) {
viewBoxMin = textWidget.scrollTop_;
viewBoxMax = viewBoxMin + textWidget.innerHeight;
}
return;
}
return;
}
changeLink(textWidget: any, offset: number): void | null {
if (textWidget.noteId !== this.noteId_) {
this.updateNote(textWidget);
this.changeLink(textWidget, offset);
return;
}
if (textWidget.renderedText_ !== this.renderedText_) {
this.updateText(textWidget.renderedText_);
this.changeLink(textWidget, offset);
return;
}
if (textWidget.scrollTop_ !== this.scrollTop_) this.scrollTop_ = textWidget.scrollTop_;
if (!this.linkStore_.length) return null;
let offsetMod = (offset + this.currentLinkIndex_) % this.linkStore_.length;
if (this.currentLinkIndex_ === null) {
if (offsetMod < 0) this.currentLinkIndex_ = this.linkStore_.length + offsetMod;
else if (!offsetMod) this.currentLinkIndex_ = 0;
else this.currentLinkIndex_ = offsetMod - 1;
return;
}
if (offsetMod < 0) offsetMod = this.linkStore_.length + offsetMod;
this.currentLinkIndex_ = offsetMod;
return;
}
openLink(textWidget: any): void {
if (textWidget.noteId !== this.noteId_) return;
if (textWidget.renderedText_ !== this.renderedText_) return;
if (textWidget.scrollTop_ !== this.scrollTop_) return;
open(this.linkStore_[this.currentLinkIndex_].link);
}
}
export default LinkSelector;

View File

@@ -1,4 +1,4 @@
const { Logger } = require('lib/logger.js');
const Logger = require('lib/Logger').default;
const { netUtils } = require('lib/net-utils.js');
const http = require('http');

View File

@@ -1,14 +1,17 @@
const { Logger } = require('lib/logger.js');
const Logger = require('lib/Logger').default;
const Folder = require('lib/models/Folder.js');
const BaseItem = require('lib/models/BaseItem.js');
const Tag = require('lib/models/Tag.js');
const BaseModel = require('lib/BaseModel.js');
const Note = require('lib/models/Note.js');
const Resource = require('lib/models/Resource.js');
const { reducer, defaultState } = require('lib/reducer.js');
const Setting = require('lib/models/Setting').default;
const reducer = require('lib/reducer').default;
const { defaultState } = require('lib/reducer');
const { splitCommandString } = require('lib/string-utils.js');
const { reg } = require('lib/registry.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const shim = require('lib/shim').default;
const Entities = require('html-entities').AllHtmlEntities;
const htmlentities = new Entities().encode;
@@ -32,6 +35,8 @@ const FolderListWidget = require('./gui/FolderListWidget.js');
const NoteListWidget = require('./gui/NoteListWidget.js');
const StatusBarWidget = require('./gui/StatusBarWidget.js');
const ConsoleWidget = require('./gui/ConsoleWidget.js');
const LinkSelector = require('./LinkSelector.js').default;
class AppGui {
constructor(app, store, keymap) {
@@ -73,6 +78,8 @@ class AppGui {
this.currentShortcutKeys_ = [];
this.lastShortcutKeyTime_ = 0;
this.linkSelector_ = new LinkSelector();
// Recurrent sync is setup only when the GUI is started. In
// a regular command it's not necessary since the process
// exits right away.
@@ -243,9 +250,9 @@ class AppGui {
const hLayout = new HLayoutWidget();
hLayout.name = 'hLayout';
hLayout.addChild(folderList, { type: 'stretch', factor: 1 });
hLayout.addChild(noteList, { type: 'stretch', factor: 1 });
hLayout.addChild(noteLayout, { type: 'stretch', factor: 2 });
hLayout.addChild(folderList, { type: 'stretch', factor: Setting.value('layout.folderList.factor') });
hLayout.addChild(noteList, { type: 'stretch', factor: Setting.value('layout.noteList.factor') });
hLayout.addChild(noteLayout, { type: 'stretch', factor: Setting.value('layout.note.factor') });
const vLayout = new VLayoutWidget();
vLayout.name = 'vLayout';
@@ -454,6 +461,30 @@ class AppGui {
} else {
this.stdout(_('Please select the note or notebook to be deleted first.'));
}
} else if (cmd === 'next_link' || cmd === 'previous_link') {
const noteText = this.widget('noteText');
noteText.render();
if (cmd === 'next_link') this.linkSelector_.changeLink(noteText, 1);
else this.linkSelector_.changeLink(noteText, -1);
this.linkSelector_.scrollWidget(noteText);
const cursorOffsetX = this.widget('mainWindow').width - noteText.innerWidth - 8;
const cursorOffsetY = 1 - noteText.scrollTop_;
if (this.linkSelector_.link) {
this.term_.moveTo(
this.linkSelector_.noteX + cursorOffsetX,
this.linkSelector_.noteY + cursorOffsetY
);
shim.setTimeout(() => this.term_.term().inverse(this.linkSelector_.link), 50);
}
} else if (cmd === 'open_link') {
if (this.widget('noteText').hasFocus) {
this.linkSelector_.openLink(this.widget('noteText'));
}
} else if (cmd === 'toggle_console') {
if (!this.consoleIsShown()) {
this.showConsole();

View File

@@ -1,4 +1,4 @@
const { BaseApplication } = require('lib/BaseApplication');
const BaseApplication = require('lib/BaseApplication').default;
const { FoldersScreenUtils } = require('lib/folders-screen-utils.js');
const ResourceService = require('lib/services/ResourceService');
const BaseModel = require('lib/BaseModel.js');
@@ -6,14 +6,15 @@ const Folder = require('lib/models/Folder.js');
const BaseItem = require('lib/models/BaseItem.js');
const Note = require('lib/models/Note.js');
const Tag = require('lib/models/Tag.js');
const Setting = require('lib/models/Setting.js');
const Setting = require('lib/models/Setting').default;
const { reg } = require('lib/registry.js');
const { fileExtension } = require('lib/path-utils.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const fs = require('fs-extra');
const { cliUtils } = require('./cli-utils.js');
const Cache = require('lib/Cache');
const RevisionService = require('lib/services/RevisionService');
const shim = require('lib/shim').default;
class Application extends BaseApplication {
constructor() {
@@ -161,7 +162,7 @@ class Application extends BaseApplication {
};
// Give it a few seconds to cancel otherwise exit anyway
setTimeout(async () => {
shim.setTimeout(async () => {
await doExit();
}, 5000);
@@ -324,6 +325,9 @@ class Application extends BaseApplication {
{ keys: ['PAGE_DOWN'], type: 'function', command: 'page_down' },
{ keys: ['ENTER'], type: 'function', command: 'activate' },
{ keys: ['DELETE', 'BACKSPACE'], type: 'function', command: 'delete' },
{ keys: ['n'], type: 'function', command: 'next_link' },
{ keys: ['b'], type: 'function', command: 'previous_link' },
{ keys: ['o'], type: 'function', command: 'open_link' },
{ keys: [' '], command: 'todo toggle $n' },
{ keys: ['tc'], type: 'function', command: 'toggle_console' },
{ keys: ['tm'], type: 'function', command: 'toggle_metadata' },

View File

@@ -1,4 +1,4 @@
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const { reg } = require('lib/registry.js');
class BaseCommand {

View File

@@ -1,7 +1,7 @@
const fs = require('fs-extra');
const { fileExtension, dirname } = require('lib/path-utils.js');
const wrap_ = require('word-wrap');
const { languageCode } = require('lib/locale.js');
const { languageCode } = require('lib/locale');
const rootDir = dirname(dirname(__dirname));
const MAX_WIDTH = 78;

View File

@@ -1,14 +1,14 @@
'use strict';
const fs = require('fs-extra');
const { Logger } = require('lib/logger.js');
const Logger = require('lib/Logger').default;
const { dirname } = require('lib/path-utils.js');
const { DatabaseDriverNode } = require('lib/database-driver-node.js');
const { JoplinDatabase } = require('lib/joplin-database.js');
const BaseModel = require('lib/BaseModel.js');
const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
const Setting = require('lib/models/Setting.js');
const Setting = require('lib/models/Setting').default;
const { sprintf } = require('sprintf-js');
const exec = require('child_process').exec;

View File

@@ -1,7 +1,8 @@
const yargParser = require('yargs-parser');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const { time } = require('lib/time-utils.js');
const stringPadding = require('string-padding');
const Logger = require('lib/Logger').default;
const cliUtils = {};
@@ -245,4 +246,17 @@ cliUtils.redrawDone = function() {
redrawStarted_ = false;
};
cliUtils.stdoutLogger = function(stdout) {
const stdoutFn = (...s) => stdout(s.join(' '));
const logger = new Logger();
logger.addTarget('console', { console: {
info: stdoutFn,
warn: stdoutFn,
error: stdoutFn,
} });
return logger;
};
module.exports = { cliUtils };

View File

@@ -3,7 +3,7 @@ const BaseItem = require('lib/models/BaseItem');
const BaseModel = require('lib/BaseModel');
const { toTitleCase } = require('lib/string-utils.js');
const { reg } = require('lib/registry.js');
const markdownUtils = require('lib/markdownUtils');
const markdownUtils = require('lib/markdownUtils').default;
const { Database } = require('lib/database.js');
class Command extends BaseCommand {
@@ -53,9 +53,9 @@ class Command extends BaseCommand {
const lines = [];
lines.push('# Joplin API');
lines.push('# Joplin Data API');
lines.push('');
lines.push('This API is available when the clipper server is running. It provides access to the notes, notebooks, tags and other Joplin object via a REST API. Plugins can also access this API even when the clipper server is not running.');
lines.push('');
lines.push('In order to use it, you\'ll first need to find on which port the service is running. To do so, open the Web Clipper Options in Joplin and if the service is running it should tell you on which port. Normally it runs on port **41184**. If you want to find it programmatically, you may follow this kind of algorithm:');
lines.push('');
@@ -290,7 +290,7 @@ class Command extends BaseCommand {
lines.push('');
lines.push('### Creating a note with a specific ID');
lines.push('');
lines.push('When a new note is created, it is automatically assigned a new unique ID so **normally you do not need to set the ID**. However, if for some reason you want to set it, you can supply it as the `id` property. It needs to be a 32 characters long hexadecimal string. **Make sure it is unique**, for example by generating it using whatever GUID function is available in your programming language.');
lines.push('When a new note is created, it is automatically assigned a new unique ID so **normally you do not need to set the ID**. However, if for some reason you want to set it, you can supply it as the `id` property. It needs to be a **32 characters long string** in hexadecimal. **Make sure it is unique**, for example by generating it using whatever GUID function is available in your programming language.');
lines.push('');
lines.push(' curl --data \'{ "id": "00a87474082744c1a8515da6aa5792d2", "title": "My note with custom ID"}\' http://127.0.0.1:41184/notes');
lines.push('');

View File

@@ -1,8 +1,8 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const BaseModel = require('lib/BaseModel.js');
const { shim } = require('lib/shim.js');
const shim = require('lib/shim').default;
class Command extends BaseCommand {
usage() {

View File

@@ -1,7 +1,8 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const BaseModel = require('lib/BaseModel.js');
const BaseItem = require('lib/models/BaseItem.js');
const Note = require('lib/models/Note.js');
class Command extends BaseCommand {
@@ -23,15 +24,17 @@ class Command extends BaseCommand {
const item = await app().loadItem(BaseModel.TYPE_NOTE, title, { parent: app().currentFolder() });
if (!item) throw new Error(_('Cannot find "%s".', title));
const content = args.options.verbose ? await Note.serialize(item) : await Note.serializeForEdit(item);
this.stdout(content);
let content = '';
app()
.gui()
.showConsole();
app()
.gui()
.maximizeConsole();
if (item.encryption_applied) {
content = BaseItem.displayTitle(item);
} else {
content = args.options.verbose ? await Note.serialize(item) : await Note.serializeForEdit(item);
}
this.stdout(content);
app().gui().showConsole();
app().gui().maximizeConsole();
}
}

View File

@@ -1,8 +1,8 @@
const { BaseCommand } = require('./base-command.js');
const { _, setLocale } = require('lib/locale.js');
const { _, setLocale } = require('lib/locale');
const { app } = require('./app.js');
const fs = require('fs-extra');
const Setting = require('lib/models/Setting.js');
const Setting = require('lib/models/Setting').default;
class Command extends BaseCommand {
usage() {

View File

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

View File

@@ -1,6 +1,6 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const BaseModel = require('lib/BaseModel.js');
const Note = require('lib/models/Note.js');
const { time } = require('lib/time-utils.js');

View File

@@ -1,10 +1,10 @@
const { BaseCommand } = require('./base-command.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const EncryptionService = require('lib/services/EncryptionService');
const DecryptionWorker = require('lib/services/DecryptionWorker');
const BaseItem = require('lib/models/BaseItem');
const Setting = require('lib/models/Setting.js');
const { shim } = require('lib/shim');
const Setting = require('lib/models/Setting').default;
const shim = require('lib/shim').default;
const pathUtils = require('lib/path-utils.js');
const imageType = require('image-type');
const readChunk = require('read-chunk');
@@ -24,12 +24,11 @@ class Command extends BaseCommand {
['-p, --password <password>', 'Use this password as master password (For security reasons, it is not recommended to use this option).'],
['-v, --verbose', 'More verbose output for the `target-status` command'],
['-o, --output <directory>', 'Output directory'],
['--retry-failed-items', 'Applies to `decrypt` command - retries decrypting items that previously could not be decrypted.'],
];
}
async action(args) {
// change-password
const options = args.options;
const askForMasterKey = async error => {
@@ -39,11 +38,36 @@ class Command extends BaseCommand {
this.stdout(_('Operation cancelled'));
return false;
}
Setting.setObjectKey('encryption.passwordCache', masterKeyId, password);
Setting.setObjectValue('encryption.passwordCache', masterKeyId, password);
await EncryptionService.instance().loadMasterKeysFromSettings();
return true;
};
const startDecryption = async () => {
this.stdout(_('Starting decryption... Please wait as it may take several minutes depending on how much there is to decrypt.'));
while (true) {
try {
const result = await DecryptionWorker.instance().start();
const line = [];
line.push(_('Decrypted items: %d', result.decryptedItemCount));
if (result.skippedItemCount) line.push(_('Skipped items: %d (use --retry-failed-items to retry decrypting them)', result.skippedItemCount));
this.stdout(line.join('\n'));
break;
} catch (error) {
if (error.code === 'masterKeyNotLoaded') {
const ok = await askForMasterKey(error);
if (!ok) return;
continue;
}
throw error;
}
}
this.stdout(_('Completed decryption.'));
};
if (args.command === 'enable') {
const password = options.password ? options.password.toString() : await this.prompt(_('Enter master password:'), { type: 'string', secure: true });
if (!password) {
@@ -73,24 +97,8 @@ class Command extends BaseCommand {
const plainText = await EncryptionService.instance().decryptString(args.path);
this.stdout(plainText);
} else {
this.stdout(_('Starting decryption... Please wait as it may take several minutes depending on how much there is to decrypt.'));
while (true) {
try {
await DecryptionWorker.instance().start();
break;
} catch (error) {
if (error.code === 'masterKeyNotLoaded') {
const ok = await askForMasterKey(error);
if (!ok) return;
continue;
}
throw error;
}
}
this.stdout(_('Completed decryption.'));
if (args.options['retry-failed-items']) await DecryptionWorker.instance().clearDisabledItems();
await startDecryption();
}
return;

View File

@@ -1,11 +1,11 @@
const fs = require('fs-extra');
const { BaseCommand } = require('./base-command.js');
const { splitCommandString } = require('lib/string-utils.js');
const { uuid } = require('lib/uuid.js');
const uuid = require('lib/uuid').default;
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const Note = require('lib/models/Note.js');
const Setting = require('lib/models/Setting.js');
const Setting = require('lib/models/Setting').default;
const BaseModel = require('lib/BaseModel.js');
class Command extends BaseCommand {

View File

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

View File

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

View File

@@ -1,8 +1,8 @@
const { BaseCommand } = require('./base-command.js');
const InteropService = require('lib/services/InteropService.js');
const InteropService = require('lib/services/interop/InteropService').default;
const BaseModel = require('lib/BaseModel.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
class Command extends BaseCommand {
usage() {
@@ -14,10 +14,10 @@ class Command extends BaseCommand {
}
options() {
const service = new InteropService();
const service = InteropService.instance();
const formats = service
.modules()
.filter(m => m.type === 'exporter')
.filter(m => m.type === 'exporter' && m.format !== 'html')
.map(m => m.format + (m.description ? ` (${m.description})` : ''));
return [['--format <format>', _('Destination format: %s', formats.join(', '))], ['--note <note>', _('Exports only the given note.')], ['--notebook <notebook>', _('Exports only the given notebook.')]];
@@ -29,6 +29,8 @@ class Command extends BaseCommand {
exportOptions.format = args.options.format ? args.options.format : 'jex';
if (exportOptions.format === 'html') throw new Error('HTML export is not supported. Please use the desktop application.');
if (args.options.note) {
const notes = await app().loadItems(BaseModel.TYPE_NOTE, args.options.note, { parent: app().currentFolder() });
if (!notes.length) throw new Error(_('Cannot find "%s".', args.options.note));
@@ -39,7 +41,7 @@ class Command extends BaseCommand {
exportOptions.sourceFolderIds = folders.map(n => n.id);
}
const service = new InteropService();
const service = InteropService.instance();
const result = await service.export(exportOptions);
result.warnings.map(w => this.stdout(w));

View File

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

View File

@@ -1,7 +1,7 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { renderCommandHelp } = require('./help-utils.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const { cliUtils } = require('./cli-utils.js');
class Command extends BaseCommand {

View File

@@ -1,9 +1,9 @@
const { BaseCommand } = require('./base-command.js');
const InteropService = require('lib/services/InteropService.js');
const InteropService = require('lib/services/interop/InteropService').default;
const BaseModel = require('lib/BaseModel.js');
const { cliUtils } = require('./cli-utils.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
class Command extends BaseCommand {
usage() {
@@ -15,13 +15,17 @@ class Command extends BaseCommand {
}
options() {
const service = new InteropService();
const service = InteropService.instance();
const formats = service
.modules()
.filter(m => m.type === 'importer')
.map(m => m.format);
return [['--format <format>', _('Source format: %s', ['auto'].concat(formats).join(', '))], ['-f, --force', _('Do not ask for confirmation.')]];
return [
['--format <format>', _('Source format: %s', ['auto'].concat(formats).join(', '))],
['-f, --force', _('Do not ask for confirmation.')],
['--output-format <output-format>', _('Output format: %s', 'md, html')],
];
}
async action(args) {
@@ -55,11 +59,11 @@ class Command extends BaseCommand {
this.stdout(s);
};
app()
.gui()
.showConsole();
if (args.options.outputFormat) importOptions.outputFormat = args.options.outputFormat;
app().gui().showConsole();
this.stdout(_('Importing notes...'));
const service = new InteropService();
const service = InteropService.instance();
const result = await service.import(importOptions);
result.warnings.map(w => this.stdout(w));
cliUtils.redrawDone();

View File

@@ -1,9 +1,9 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const BaseModel = require('lib/BaseModel.js');
const Folder = require('lib/models/Folder.js');
const Setting = require('lib/models/Setting.js');
const Setting = require('lib/models/Setting').default;
const Note = require('lib/models/Note.js');
const { sprintf } = require('sprintf-js');
const { time } = require('lib/time-utils.js');

View File

@@ -1,6 +1,6 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const Folder = require('lib/models/Folder.js');
class Command extends BaseCommand {

View File

@@ -1,6 +1,6 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const Note = require('lib/models/Note.js');
class Command extends BaseCommand {

View File

@@ -1,6 +1,6 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const Note = require('lib/models/Note.js');
class Command extends BaseCommand {

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,8 +1,8 @@
const { BaseCommand } = require('./base-command.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const BaseModel = require('lib/BaseModel.js');
const Folder = require('lib/models/Folder.js');
const { uuid } = require('lib/uuid.js');
const uuid = require('lib/uuid').default;
class Command extends BaseCommand {
usage() {

View File

@@ -1,8 +1,8 @@
const { BaseCommand } = require('./base-command.js');
const { _ } = require('lib/locale.js');
const Setting = require('lib/models/Setting.js');
const { Logger } = require('lib/logger.js');
const { shim } = require('lib/shim');
const { _ } = require('lib/locale');
const Setting = require('lib/models/Setting').default;
const Logger = require('lib/Logger').default;
const shim = require('lib/shim').default;
class Command extends BaseCommand {
@@ -18,7 +18,8 @@ class Command extends BaseCommand {
const command = args.command;
const ClipperServer = require('lib/ClipperServer');
const stdoutFn = (s) => this.stdout(s);
ClipperServer.instance().initialize();
const stdoutFn = (...s) => this.stdout(s.join(' '));
const clipperLogger = new Logger();
clipperLogger.addTarget('file', { path: `${Setting.value('profileDir')}/log-clipper.txt` });
clipperLogger.addTarget('console', { console: {

View File

@@ -1,6 +1,6 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const BaseModel = require('lib/BaseModel.js');
const { Database } = require('lib/database.js');
const Note = require('lib/models/Note.js');

View File

@@ -1,7 +1,7 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const Setting = require('lib/models/Setting.js');
const { _ } = require('lib/locale.js');
const Setting = require('lib/models/Setting').default;
const { _ } = require('lib/locale');
const { ReportService } = require('lib/services/report.js');
class Command extends BaseCommand {
@@ -25,19 +25,28 @@ class Command extends BaseCommand {
this.stdout(`# ${section.title}`);
this.stdout('');
let canRetryType = '';
for (const n in section.body) {
if (!section.body.hasOwnProperty(n)) continue;
const line = section.body[n];
this.stdout(line);
const item = section.body[n];
if (typeof item === 'object') {
canRetryType = item.canRetryType;
this.stdout(item.text);
} else {
this.stdout(item);
}
}
if (canRetryType === 'e2ee') {
this.stdout('');
this.stdout(_('To retry decryption of these items. Run `e2ee decrypt --retry-failed-items`'));
}
}
app()
.gui()
.showConsole();
app()
.gui()
.maximizeConsole();
app().gui().showConsole();
app().gui().maximizeConsole();
}
}

View File

@@ -1,16 +1,17 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const { OneDriveApiNodeUtils } = require('lib/onedrive-api-node-utils.js');
const Setting = require('lib/models/Setting.js');
const Setting = require('lib/models/Setting').default;
const ResourceFetcher = require('lib/services/ResourceFetcher');
const { Synchronizer } = require('lib/synchronizer.js');
const Synchronizer = require('lib/Synchronizer').default;
const { reg } = require('lib/registry.js');
const { cliUtils } = require('./cli-utils.js');
const md5 = require('md5');
const locker = require('proper-lockfile');
const fs = require('fs-extra');
const SyncTargetRegistry = require('lib/SyncTargetRegistry');
const MigrationHandler = require('lib/services/synchronizer/MigrationHandler').default;
class Command extends BaseCommand {
constructor() {
@@ -29,7 +30,10 @@ class Command extends BaseCommand {
}
options() {
return [['--target <target>', _('Sync to provided target (defaults to sync.target config value)')]];
return [
['--target <target>', _('Sync to provided target (defaults to sync.target config value)')],
['--upgrade', _('Upgrade the sync target to the latest version.')],
];
}
static lockFile(filePath) {
@@ -148,12 +152,8 @@ class Command extends BaseCommand {
const syncTarget = reg.syncTarget(this.syncTargetId_);
if (!(await syncTarget.isAuthenticated())) {
app()
.gui()
.showConsole();
app()
.gui()
.maximizeConsole();
app().gui().showConsole();
app().gui().maximizeConsole();
const authDone = await this.doAuth();
if (!authDone) return cleanUp();
@@ -174,7 +174,35 @@ class Command extends BaseCommand {
this.stdout(_('Synchronisation target: %s (%s)', Setting.enumOptionLabel('sync.target', this.syncTargetId_), this.syncTargetId_));
if (!sync) throw new Error(_('Cannot initialize synchroniser.'));
if (!sync) throw new Error(_('Cannot initialise synchroniser.'));
if (args.options.upgrade) {
let migrationError = null;
try {
const migrationHandler = new MigrationHandler(
sync.api(),
sync.lockHandler(),
Setting.value('appType'),
Setting.value('clientId')
);
migrationHandler.setLogger(cliUtils.stdoutLogger(this.stdout.bind(this)));
await migrationHandler.upgrade();
} catch (error) {
migrationError = error;
}
if (!migrationError) {
Setting.setValue('sync.upgradeState', Setting.SYNC_UPGRADE_STATE_IDLE);
await Setting.saveAll();
}
if (migrationError) throw migrationError;
return cleanUp();
}
this.stdout(_('Starting synchronisation...'));
@@ -210,6 +238,12 @@ class Command extends BaseCommand {
throw error;
}
if (Setting.value('sync.upgradeState') > Setting.SYNC_UPGRADE_STATE_IDLE) {
this.stdout(`/!\\ ${_('Sync target must be upgraded! Run `%s` to proceed.', 'sync --upgrade')}`);
app().gui().showConsole();
app().gui().maximizeConsole();
}
cleanUp();
}

View File

@@ -1,6 +1,6 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const Tag = require('lib/models/Tag.js');
const BaseModel = require('lib/BaseModel.js');
const { time } = require('lib/time-utils.js');

View File

@@ -1,6 +1,6 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const BaseModel = require('lib/BaseModel.js');
const Note = require('lib/models/Note.js');
const { time } = require('lib/time-utils.js');

View File

@@ -1,5 +1,5 @@
const { BaseCommand } = require('./base-command.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const CommandDone = require('./command-done.js');

View File

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

View File

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

View File

@@ -1,7 +1,7 @@
'use strict';
const { time } = require('lib/time-utils.js');
const { Logger } = require('lib/logger.js');
const Logger = require('lib/Logger').default;
const Resource = require('lib/models/Resource.js');
const { dirname } = require('lib/path-utils.js');
const { FsDriverNode } = require('./fs-driver-node.js');

View File

@@ -2,7 +2,7 @@ const Folder = require('lib/models/Folder.js');
const Tag = require('lib/models/Tag.js');
const BaseModel = require('lib/BaseModel.js');
const ListWidget = require('tkwidgets/ListWidget.js');
const _ = require('lib/locale.js')._;
const _ = require('lib/locale')._;
class FolderListWidget extends ListWidget {
constructor() {

View File

@@ -1,6 +1,6 @@
const Note = require('lib/models/Note.js');
const TextWidget = require('tkwidgets/TextWidget.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
class NoteWidget extends TextWidget {
constructor() {
@@ -46,6 +46,8 @@ class NoteWidget extends TextWidget {
if (this.note_ && this.note_.encryption_applied) {
this.text = _('One or more items are currently encrypted and you may need to supply a master password. To do so please type `e2ee decrypt`. If you have already supplied the password, the encrypted items are being decrypted in the background and will be available soon.');
this.text += '\n\n';
this.text += _('You may also type `status` for more information.');
} else {
this.text = this.note_ ? `${this.note_.title}\n\n${this.note_.body}` : '';
}

View File

@@ -1,6 +1,6 @@
const { wrap } = require('lib/string-utils.js');
const Setting = require('lib/models/Setting.js');
const { _ } = require('lib/locale.js');
const Setting = require('lib/models/Setting').default;
const { _ } = require('lib/locale');
const MAX_WIDTH = 78;
const INDENT = ' ';

View File

@@ -21,14 +21,17 @@ const Note = require('lib/models/Note.js');
const Tag = require('lib/models/Tag.js');
const NoteTag = require('lib/models/NoteTag.js');
const MasterKey = require('lib/models/MasterKey');
const Setting = require('lib/models/Setting.js');
const Setting = require('lib/models/Setting').default;
const Revision = require('lib/models/Revision.js');
const { Logger } = require('lib/logger.js');
const Logger = require('lib/Logger').default;
const { FsDriverNode } = require('lib/fs-driver-node.js');
const { shimInit } = require('lib/shim-init-node.js');
const { _ } = require('lib/locale.js');
const { _ } = require('lib/locale');
const { FileApiDriverLocal } = require('lib/file-api-driver-local.js');
const EncryptionService = require('lib/services/EncryptionService');
const envFromArgs = require('lib/envFromArgs');
const env = envFromArgs(process.argv);
const fsDriver = new FsDriverNode();
Logger.fsDriver_ = fsDriver;
@@ -46,7 +49,7 @@ BaseItem.loadClass('NoteTag', NoteTag);
BaseItem.loadClass('MasterKey', MasterKey);
BaseItem.loadClass('Revision', Revision);
Setting.setConstant('appId', 'net.cozic.joplin-cli');
Setting.setConstant('appId', `net.cozic.joplin${env === 'dev' ? 'dev' : ''}-cli`);
Setting.setConstant('appType', 'cli');
shimInit();

View File

@@ -0,0 +1,68 @@
import * as vm from 'vm';
import Plugin from 'lib/services/plugins/Plugin';
import sandboxProxy from 'lib/services/plugins/sandboxProxy';
import BasePluginRunner from 'lib/services/plugins/BasePluginRunner';
import executeSandboxCall from 'lib/services/plugins/utils/executeSandboxCall';
import Global from 'lib/services/plugins/api/Global';
import mapEventHandlersToIds, { EventHandlers } from 'lib/services/plugins/utils/mapEventHandlersToIds';
function createConsoleWrapper(pluginId:string) {
const wrapper:any = {};
for (const n in console) {
if (!console.hasOwnProperty(n)) continue;
wrapper[n] = (...args:any[]) => {
const newArgs = args.slice();
newArgs.splice(0, 0, `Plugin "${pluginId}":`);
return (console as any)[n](...newArgs);
};
}
return wrapper;
}
// The CLI plugin runner is more complex than it needs to be because it more or less emulates
// how it would work in a multi-process architecture, as in the desktop app (and probably how
// it would work in the mobile app too). This is mainly to allow doing integration testing.
//
// For example, all plugin calls go through a proxy, however they could made directly since
// the plugin script is running within the same process as the main app.
export default class PluginRunner extends BasePluginRunner {
private eventHandlers_:EventHandlers = {};
constructor() {
super();
this.eventHandler = this.eventHandler.bind(this);
}
private async eventHandler(eventHandlerId:string, args:any[]) {
const cb = this.eventHandlers_[eventHandlerId];
return cb(...args);
}
private newSandboxProxy(pluginId:string, sandbox:Global) {
const target = async (path:string, args:any[]) => {
return executeSandboxCall(pluginId, sandbox, `joplin.${path}`, mapEventHandlersToIds(args, this.eventHandlers_), this.eventHandler);
};
return {
joplin: sandboxProxy(target),
console: createConsoleWrapper(pluginId),
};
}
async run(plugin:Plugin, sandbox:Global) {
const vmSandbox = vm.createContext(this.newSandboxProxy(plugin.id, sandbox));
try {
vm.runInContext(plugin.scriptText, vmSandbox);
} catch (error) {
this.logger().error(`In plugin ${plugin.id}:`, error);
return;
}
}
}

View File

@@ -2,10 +2,15 @@ const gulp = require('gulp');
const fs = require('fs-extra');
const utils = require('../Tools/gulp/utils');
const tasks = {
compileExtensions: {
fn: require('../Tools/gulp/tasks/compileExtensions.js'),
},
copyLib: require('../Tools/gulp/tasks/copyLib'),
tsc: require('../Tools/gulp/tasks/tsc'),
updateIgnoredTypeScriptBuild: require('../Tools/gulp/tasks/updateIgnoredTypeScriptBuild'),
};
tasks.build = {
tasks.prepareBuild = {
fn: async () => {
const buildDir = `${__dirname}/build`;
await utils.copyDir(`${__dirname}/app`, buildDir, {
@@ -27,7 +32,7 @@ tasks.build = {
},
};
tasks.buildTests = {
tasks.prepareTestBuild = {
fn: async () => {
const testBuildDir = `${__dirname}/tests-build`;
@@ -36,14 +41,33 @@ tasks.buildTests = {
'lib/',
'locales/',
'node_modules/',
'*.ts',
'*.tsx',
],
});
await utils.copyDir(`${__dirname}/../ReactNativeClient/lib`, `${testBuildDir}/lib`);
await utils.copyDir(`${__dirname}/../ReactNativeClient/locales`, `${testBuildDir}/locales`);
const rootDir = utils.rootDir();
await utils.copyDir(`${rootDir}/ReactNativeClient/lib`, `${testBuildDir}/lib`, {
excluded: [
`${rootDir}/ReactNativeClient/lib/joplin-renderer/node_modules`,
],
});
await utils.copyDir(`${rootDir}/ReactNativeClient/locales`, `${testBuildDir}/locales`);
await fs.mkdirp(`${testBuildDir}/data`);
},
};
gulp.task('build', tasks.build.fn);
gulp.task('buildTests', tasks.buildTests.fn);
utils.registerGulpTasks(gulp, tasks);
gulp.task('build', gulp.series([
'prepareBuild',
'compileExtensions',
'copyLib',
]));
gulp.task('buildTests', gulp.series([
'prepareTestBuild',
'compileExtensions',
'copyLib',
]));

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -18,6 +18,7 @@ locales['fa'] = require('./fa.json');
locales['fr_FR'] = require('./fr_FR.json');
locales['gl_ES'] = require('./gl_ES.json');
locales['hr_HR'] = require('./hr_HR.json');
locales['id_ID'] = require('./id_ID.json');
locales['it_IT'] = require('./it_IT.json');
locales['ja_JP'] = require('./ja_JP.json');
locales['ko'] = require('./ko.json');
@@ -34,42 +35,45 @@ locales['sr_RS'] = require('./sr_RS.json');
locales['sv'] = require('./sv.json');
locales['th_TH'] = require('./th_TH.json');
locales['tr_TR'] = require('./tr_TR.json');
locales['vi'] = require('./vi.json');
locales['zh_CN'] = require('./zh_CN.json');
locales['zh_TW'] = require('./zh_TW.json');
stats['ar'] = {"percentDone":89};
stats['eu'] = {"percentDone":38};
stats['ar'] = {"percentDone":80};
stats['eu'] = {"percentDone":34};
stats['bs_BA'] = {"percentDone":83};
stats['bg_BG'] = {"percentDone":74};
stats['ca'] = {"percentDone":59};
stats['hr_HR'] = {"percentDone":31};
stats['cs_CZ'] = {"percentDone":92};
stats['da_DK'] = {"percentDone":83};
stats['de_DE'] = {"percentDone":97};
stats['et_EE'] = {"percentDone":74};
stats['bg_BG'] = {"percentDone":66};
stats['ca'] = {"percentDone":53};
stats['hr_HR'] = {"percentDone":28};
stats['cs_CZ'] = {"percentDone":82};
stats['da_DK'] = {"percentDone":74};
stats['de_DE'] = {"percentDone":95};
stats['et_EE'] = {"percentDone":66};
stats['en_GB'] = {"percentDone":100};
stats['en_US'] = {"percentDone":100};
stats['es_ES'] = {"percentDone":92};
stats['eo'] = {"percentDone":42};
stats['fr_FR'] = {"percentDone":93};
stats['gl_ES'] = {"percentDone":48};
stats['it_IT'] = {"percentDone":96};
stats['nl_BE'] = {"percentDone":38};
stats['nl_NL'] = {"percentDone":95};
stats['nb_NO'] = {"percentDone":87};
stats['fa'] = {"percentDone":37};
stats['pl_PL'] = {"percentDone":73};
stats['pt_PT'] = {"percentDone":88};
stats['pt_BR'] = {"percentDone":85};
stats['ro'] = {"percentDone":38};
stats['sl_SI'] = {"percentDone":48};
stats['sv'] = {"percentDone":66};
stats['th_TH'] = {"percentDone":59};
stats['tr_TR'] = {"percentDone":89};
stats['el_GR'] = {"percentDone":91};
stats['ru_RU'] = {"percentDone":93};
stats['sr_RS'] = {"percentDone":80};
stats['zh_CN'] = {"percentDone":95};
stats['zh_TW'] = {"percentDone":89};
stats['ja_JP'] = {"percentDone":97};
stats['ko'] = {"percentDone":95};
stats['es_ES'] = {"percentDone":95};
stats['eo'] = {"percentDone":38};
stats['fr_FR'] = {"percentDone":94};
stats['gl_ES'] = {"percentDone":43};
stats['id_ID'] = {"percentDone":93};
stats['it_IT'] = {"percentDone":91};
stats['nl_NL'] = {"percentDone":96};
stats['nl_BE'] = {"percentDone":34};
stats['nb_NO'] = {"percentDone":88};
stats['fa'] = {"percentDone":80};
stats['pl_PL'] = {"percentDone":96};
stats['pt_PT'] = {"percentDone":89};
stats['pt_BR'] = {"percentDone":96};
stats['ro'] = {"percentDone":78};
stats['sl_SI'] = {"percentDone":42};
stats['sv'] = {"percentDone":71};
stats['th_TH'] = {"percentDone":52};
stats['vi'] = {"percentDone":85};
stats['tr_TR'] = {"percentDone":96};
stats['el_GR'] = {"percentDone":96};
stats['ru_RU'] = {"percentDone":95};
stats['sr_RS'] = {"percentDone":72};
stats['zh_CN'] = {"percentDone":96};
stats['zh_TW'] = {"percentDone":95};
stats['ja_JP'] = {"percentDone":96};
stats['ko'] = {"percentDone":86};
module.exports = { locales: locales, stats: stats };

File diff suppressed because one or more lines are too long

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