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

Compare commits

...

639 Commits

Author SHA1 Message Date
palerdot
e132744a71 android: vosk integration testing screen 2023-04-28 12:47:15 +05:30
github-actions[bot]
cfe4c8c6f4 @djunho has signed the CLA in laurent22/joplin#8079 2023-04-24 10:05:37 +00:00
github-actions[bot]
b83165f9e5 @DeeJayLSP has signed the CLA in laurent22/joplin#8077 2023-04-24 04:57:05 +00:00
Laurent Cozic
7706f9058b Chore: Trying to fix CI error "TypeError: Cannot redefine property: performance" 2023-04-23 22:58:43 +01:00
Laurent Cozic
03222ba1b2 Revert "Chore: Trying to fix CI error "TypeError: Cannot redefine property: performance""
This reverts commit d4f49db342.

Wrong fix
2023-04-23 22:56:24 +01:00
Laurent Cozic
d4f49db342 Chore: Trying to fix CI error "TypeError: Cannot redefine property: performance" 2023-04-23 22:43:10 +01:00
Laurent Cozic
40e1b0559e Doc: Allow translating documentation 2023-04-23 22:33:15 +01:00
Laurent Cozic
738f1decbb Chore: Add types to search engine 2023-04-23 10:07:38 +01:00
jcgurango
e5a364d052 Chore: Mobile: Convert note-list.js to NoteList.tsx (#8064) 2023-04-23 10:07:28 +01:00
Laurent Cozic
357a3e2e7b Chore: Add types to search engine 2023-04-23 10:05:13 +01:00
Joplin Bot
af91fd99cc Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-04-22 00:39:14 +00:00
Joplin Bot
3855f60a0d Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-04-21 18:18:40 +00:00
Arun Kumar
079b379e7a Desktop: Resolves #8028: Compress installer to reduce size (#8068) 2023-04-20 09:02:04 +01:00
github-actions[bot]
e23e036677 @Wladefant has signed the CLA in laurent22/joplin#8069 2023-04-19 12:28:56 +00:00
Arun Kumar
b824ff5457 Mobile: Fixes #8017: Fixed sync crash (#8056) 2023-04-17 15:17:15 +03:00
renovate[bot]
3669a1b5d6 Update dependency react-native-paper to v5.5.2 (#8054)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-16 23:41:05 +00:00
Laurent Cozic
b93f9aaf01 Update terminal.md 2023-04-16 13:13:06 +03:00
renovate[bot]
8679290206 Update dependency react-native-paper to v5.5.1 (#8037)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-14 22:36:08 +00:00
Joplin Bot
4acec5c6c7 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-04-14 18:18:49 +00:00
Joplin Bot
f1b03453a4 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-04-14 12:20:07 +00:00
github-actions[bot]
7972dd5556 @simonla has signed the CLA in laurent22/joplin#8042 2023-04-11 19:03:07 +00:00
Laurent Cozic
4842500f0a Tools: Increase renovate stability days 2023-04-10 13:00:07 +02:00
renovate[bot]
84c7f28ec5 Update dependency react-native-paper to v5.5.0 (#8035)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-10 12:57:53 +02:00
github-actions[bot]
f3eea43d24 @tbjers has signed the CLA in laurent22/joplin#8036 2023-04-10 02:35:07 +00:00
Joplin Bot
8babaddbcb Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-04-09 12:21:18 +00:00
Laurent Cozic
13cdaabb17 Android 2.11.2 2023-04-09 14:07:14 +02:00
renovate[bot]
a94aa21088 Update dependency slugify to v1.6.6 (#8019)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
2023-04-09 12:56:05 +01:00
Henry Heino
6116bed4e3 Mobile: Resolve #8022: Editor syntax highlighting was broken (#8023) 2023-04-09 12:55:47 +01:00
Arun Kumar
fabd0b4dda Desktop, Mobile: Fixes #7940: Removed MasterKey from Sync Status report (#8026) 2023-04-09 12:54:48 +01:00
Laurent Cozic
6b72f86e7b Mobile: Security: Prevent bypassing fingerprint lock on certain devices 2023-04-09 11:29:33 +02:00
Joplin Bot
02cf546124 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-04-09 06:17:13 +00:00
renovate[bot]
eecb012d64 Update dependency @react-native-community/netinfo to v9.3.8 (#8033)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-09 03:02:24 +00:00
Laurent Cozic
04e9b40769 Android 2.11.1 2023-04-08 10:51:00 +02:00
Laurent Cozic
efdbaeb397 Mobile: Add log info for biometrics feature 2023-04-08 10:40:53 +02:00
Laurent Cozic
46425b920c Doc: Added some doc about Joplin Server items 2023-04-07 16:49:54 +02:00
Laurent Cozic
f5be43c2ac Doc: Add info about synchronisation process 2023-04-07 16:36:59 +02:00
github-actions[bot]
080541a2fe @Letty has signed the CLA in laurent22/joplin#8029 2023-04-07 10:05:21 +00:00
github-actions[bot]
7dc638edf4 @gitstart has signed the CLA in laurent22/joplin#8024 2023-04-06 21:46:34 +00:00
Laurent Cozic
3b686194d8 Tools: Pass APPLE_APP_SPECIFIC_PASSWORD to CI 2023-04-06 14:02:45 +02:00
Laurent Cozic
5c2640f88f Tools: Simplify root workspace build 2023-04-06 12:11:45 +02:00
Laurent Cozic
eca0f92dff Disable again 2023-04-06 11:46:06 +02:00
Laurent Cozic
260fa6c038 Clipper release v2.11.2 2023-04-06 11:44:55 +02:00
Laurent Cozic
8ec6bc9138 Tools: Simplify dependencies of root package 2023-04-06 11:29:59 +02:00
Laurent Cozic
93fa92369b Tools: Removing packages/tools dependency from root workspace 2023-04-06 11:02:22 +02:00
Laurent Cozic
bc6c5ab7a7 Chore: Make utils package a fixed version again (too many problems otherwise) 2023-04-06 10:02:49 +02:00
Laurent Cozic
1826625e4f lock file 2023-04-05 23:19:25 +02:00
Laurent Cozic
20b8fb2719 Missing package 2023-04-05 22:48:17 +02:00
Laurent Cozic
f813e71b29 Chore: Access utils lib with relative path 2023-04-05 22:35:47 +02:00
Laurent Cozic
02422a6e31 Chore: Access utils lib with relative path 2023-04-05 22:35:46 +02:00
renovate[bot]
69a34e87f3 Update dependency nanoid to v3.3.6 (#7973)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-05 21:16:55 +01:00
Joplin Bot
cbeaa16b61 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-04-05 18:18:02 +00:00
Joplin Bot
05917ac142 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-04-05 12:24:26 +00:00
Laurent Cozic
0c8de68b80 Desktop: Fixed issue with text disappearing within plugin-created zones when searching for text
Ref: https://github.com/joplin/plugin-abc-sheet-music/issues/5
2023-04-04 21:09:58 +02:00
Joplin Bot
44d93d52d3 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-04-04 18:30:09 +00:00
Laurent Cozic
073bec9e8c CI: Trying to fix website builder 2023-04-04 20:16:35 +02:00
Laurent Cozic
e6a8c2bea5 CI: Trying to fix website builder 2023-04-04 19:47:54 +02:00
Laurent Cozic
81c316cd2c CI: Trying to fix website builder 2023-04-04 19:24:03 +02:00
Laurent Cozic
659c851960 CI: Trying to fix website builder 2023-04-04 17:01:34 +02:00
Laurent Cozic
572701d9a0 Tools: Fix website builder 2023-04-04 12:04:42 +02:00
Laurent Cozic
66ef37bd4e Chore: Disable flaky test 2023-04-03 20:42:31 +02:00
Laurent Cozic
9ddf75604d Doc: Remove sponsor 2023-04-03 20:39:31 +02:00
Laurent Cozic
3ed7e1d7e8 Doc: Fix sponsor thumbnails 2023-04-03 20:39:31 +02:00
Laurent Cozic
b2b412105a Merge branch 'release-2.10' into dev 2023-04-03 18:30:55 +02:00
Laurent Cozic
60a3c4f65e lock file 2023-04-03 18:26:04 +02:00
Laurent Cozic
9645414c17 Desktop release v2.10.13 2023-04-03 18:10:54 +02:00
Henry Heino
af0136ef39 All: Fixes #7986: Fix OneDrive sync attempting to call method on null variable (#7987) 2023-04-03 18:09:52 +02:00
Self Not Found
b76586c4fd All: Fixes #7851: Encode the non-ASCII characters in OneDrive URI (#7868) 2023-04-03 18:09:10 +02:00
Laurent Cozic
376e4ebde0 Desktop: Fixed display of installed plugins in About box 2023-04-03 18:01:06 +02:00
renovate[bot]
1439b8787f Update dependency react-native-image-picker to v5.3.1 (#8015)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-03 11:51:02 +01:00
renovate[bot]
b8854a99be Update dependency @lezer/highlight to v1.1.4 (#8014)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-03 10:46:19 +00:00
renovate[bot]
6cf02173dc Update dependency gettext-extractor to v3.7.0 (#8012)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-03 10:56:44 +01:00
renovate[bot]
4d8a53d8c9 Update dependency react-native-image-picker to v5.3.0 (#8010)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-03 10:56:25 +01:00
renovate[bot]
7f43718e1d Update dependency react-select to v5.7.2 (#8009)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-02 07:09:26 +00:00
renovate[bot]
690ce637b1 Update dependency nodemon to v2.0.22 (#8008)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-02 03:42:02 +00:00
renovate[bot]
4d023e679e Update dependency turndown to v7.1.2 (#8006)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-01 16:46:25 +00:00
renovate[bot]
6e220a978f Update dependency jsdom to v21.1.1 (#8007)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-01 16:00:34 +02:00
renovate[bot]
39757cd90e Update dependency sass to v1.59.3 (#8005)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-01 05:46:20 +00:00
renovate[bot]
5ccbbea757 Update dependency react-native-paper to v5.4.1 (#8004)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-31 22:56:15 +00:00
Arun Kumar
309222c082 Desktop: Fixes #8000: Fixed Linux tag display issues (#8002) 2023-03-31 23:13:59 +02:00
renovate[bot]
50f5fe2c91 Update dependency sass to v1.59.2 (#8001)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-31 23:12:25 +02:00
renovate[bot]
eacae83182 Update dependency react-native-paper to v5.4.0 (#7997)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-31 23:12:05 +02:00
Laurent Cozic
403d770b1d Tools: Trying to prevent CI from running on forks 2023-03-30 22:57:58 +01:00
Laurent Cozic
a481bf1b53 Tools: Trying to prevent CI from running on forks 2023-03-30 22:55:14 +01:00
renovate[bot]
0d32570c9e Update dependency fs-extra to v11.1.1 (#7996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-30 20:11:29 +00:00
Fejby
f017e99b02 All: Translation: Update cs_CZ.po (#7999) 2023-03-30 14:40:05 -04:00
github-actions[bot]
a89d64d435 @Fejby has signed the CLA in laurent22/joplin#7999 2023-03-30 18:21:47 +00:00
github-actions[bot]
3a27086534 @TahaNw has signed the CLA in laurent22/joplin#7998 2023-03-30 17:33:50 +00:00
Laurent Cozic
413c1e41b5 Revert "Chore: Mac binary signing tweaks for embedded plugins (#7988)"
This reverts commit cf4008951d.

Not working.

Ref: https://github.com/laurent22/joplin/issues/7934#issuecomment-1490632038
2023-03-30 18:24:25 +01:00
Henry Heino
8b879464b8 All: Fixes #7986: Fix OneDrive sync attempting to call method on null variable (#7987) 2023-03-30 17:41:29 +01:00
renovate[bot]
97c9bbc1fe Update dependency react-native-paper to v5.3.1 (#7977) 2023-03-30 17:38:18 +01:00
renovate[bot]
e5bebef7b2 Update dependency lint-staged to v13.2.0 (#7994) 2023-03-30 17:38:06 +01:00
renovate[bot]
73752c4b3f Update dependency pg to v8.10.0 (#7978) 2023-03-30 17:37:46 +01:00
Laurent Cozic
dcf7c9838d Desktop release v2.11.1 2023-03-30 17:13:20 +01:00
Laurent Cozic
f325e7694b Chore: Prepare v2.11 2023-03-30 17:13:06 +01:00
Arun Kumar
75d204c9ca Desktop: Resolves #6101: Added export graph button for Mermaid (#7958) 2023-03-30 16:58:48 +01:00
Arun Kumar
cf4008951d Chore: Mac binary signing tweaks for embedded plugins (#7988) 2023-03-30 16:57:22 +01:00
renovate[bot]
d67818d096 Update dependency react-select to v5.7.1 (#7993)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-30 14:30:20 +00:00
Laurent Cozic
6aaea8ad4f Renovate conf 2023-03-26 16:58:29 +01:00
github-actions[bot]
de41278096 @HelpdeskThisIsJohn has signed the CLA in laurent22/joplin#7969 2023-03-26 03:41:02 +00:00
renovate[bot]
f01ab70907 Update dependency sqlite3 to v5.1.6 (#7967) 2023-03-25 14:27:19 +00:00
renovate[bot]
bbdb221a67 Update dependency react-native-document-picker to v8.1.4 (#7966)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-24 18:21:01 +00:00
renovate[bot]
7d053f8c79 Update dependency styled-components to v5.3.9 (#7965)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-24 14:17:40 +00:00
renovate[bot]
fcad0bf3ca Update dependency style-loader to v3.3.2 (#7964)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-24 10:04:32 +00:00
renovate[bot]
58f929f6b5 Update dependency sqlite3 to v5.1.5 (#7963)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-24 05:40:51 +00:00
renovate[bot]
943198c56e Update dependency node-mocks-http to v1.12.2 (#7962)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-24 01:51:21 +00:00
renovate[bot]
2112ad4004 Update dependency markdown-it-multimd-table to v4.2.1 (#7928) 2023-03-23 21:07:41 +00:00
Laurent Cozic
5995dc81f3 Doc: Added info about data escaping in coding style 2023-03-23 16:10:52 +00:00
Laurent Cozic
104e752634 Merge branch 'release-2.10' into dev 2023-03-23 11:35:21 +00:00
Laurent Cozic
fc335cd15d Desktop release v2.10.12 2023-03-23 11:34:42 +00:00
Julien
45923ba0d3 Desktop: Adjusted New Note and New to-do buttons' breakpoints to happen earlier (#7961) 2023-03-23 11:32:36 +00:00
Julien
8fefa99d81 Desktop: Adjusted New Note and New to-do buttons' breakpoints to happen earlier (#7961) 2023-03-23 11:31:22 +00:00
Laurent Cozic
85d652cd67 Removed unused conf 2023-03-23 11:05:15 +00:00
github-actions[bot]
88e41e9c7d @chenqy9 has signed the CLA in laurent22/joplin#7955 2023-03-23 07:04:32 +00:00
Laurent Cozic
26750488d0 Merge branch 'release-2.10' into dev 2023-03-22 18:46:42 +00:00
Laurent Cozic
a0f582b2b9 Android 2.10.9 2023-03-22 18:45:52 +00:00
Laurent Cozic
917b53bec2 lock file 2023-03-22 18:33:19 +00:00
Laurent Cozic
e44a93422a Mobile: Mark biometrics feature as beta and ensure no call is made if it is not enabled 2023-03-22 18:24:10 +00:00
Laurent Cozic
e115ef4259 Mobile: Mark biometrics feature as beta and ensure no call is made if it is not enabled 2023-03-22 18:22:58 +00:00
Laurent Cozic
bcec699124 Doc: Fixed sponsor avatars 2023-03-21 17:31:43 +00:00
github-actions[bot]
d23c728a1a @jcgurango has signed the CLA in laurent22/joplin#7953 2023-03-21 17:20:42 +00:00
Milo Ivir
0a2d507dec All: Translation: Update hr_HR.po (#7947) 2023-03-20 17:32:52 -04:00
Laurent Cozic
0c08617606 Fix CI 2023-03-20 13:43:25 +00:00
Laurent Cozic
29fba45c33 Fix CI 2023-03-20 12:24:17 +00:00
Laurent Cozic
1071a455b6 Revert "Update Croatian translation (#7937)"
This reverts commit ffeeff260f.

Ref: https://github.com/laurent22/joplin/pull/7937#issuecomment-1475058291
2023-03-20 10:20:46 +00:00
Laurent Cozic
57e4b36fd7 Revert "Revert "All: Translation: Update fi_FI.po (#7945)""
This reverts commit d18a4be31f.

Restore FI translation.

Ref: d18a4be31f (commitcomment-105121959)
2023-03-20 10:19:56 +00:00
Joplin Bot
f08fa92294 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-03-19 18:19:35 +00:00
Laurent Cozic
3a8d87d292 Tools: Export rootDir from utils 2023-03-19 17:31:37 +00:00
Laurent Cozic
53302c9e90 lock file 2023-03-19 17:05:31 +00:00
Laurent Cozic
28a24d8c03 Chore: Fixed build 2023-03-19 17:03:04 +00:00
Laurent Cozic
3e52411bc4 Tools: Moved some utility functions to @joplin/utils to reduce dependencies between packages 2023-03-19 15:38:09 +00:00
Joplin Bot
1548ea18e1 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-03-19 12:21:16 +00:00
Laurent Cozic
f8cd1ba8e5 Revert "Tools: Switch Joplin Server image location to laurent22/joplin-server"
This reverts commit 6729a3d51f.

Ref: https://discourse.joplinapp.org/t/docker-image-doesnt-exist/30103/5
2023-03-19 09:07:19 +00:00
Laurent Cozic
d18a4be31f Revert "All: Translation: Update fi_FI.po (#7945)"
This reverts commit c56f270ed6.

Ref: https://github.com/laurent22/joplin/pull/7937#issuecomment-1475058291
2023-03-19 08:59:16 +00:00
mrkaato0
c56f270ed6 All: Translation: Update fi_FI.po (#7945) 2023-03-18 21:16:42 -04:00
github-actions[bot]
2bca3d1032 @mrkaato0 has signed the CLA in laurent22/joplin#7945 2023-03-18 18:25:42 +00:00
renovate[bot]
9f81d69c5e Update dependency jquery to v3.6.4 (#7944)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-18 16:33:08 +00:00
Laurent Cozic
815419260d Server v2.10.11 2023-03-17 17:50:34 +00:00
Laurent Cozic
6729a3d51f Tools: Switch Joplin Server image location to laurent22/joplin-server 2023-03-17 17:49:34 +00:00
Joplin Bot
6d8ce280dd Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-03-17 12:20:34 +00:00
Laurent Cozic
9e5b455065 Merge branch 'release-2.10' into dev 2023-03-17 08:56:39 +00:00
Laurent Cozic
09cbac3019 Desktop release v2.10.11 2023-03-17 08:55:09 +00:00
Julien
5354ad3934 Desktop: Fixes text wrap on new buttons (#7938) 2023-03-17 08:53:19 +00:00
Julien
7754048b80 Desktop: Fixes text wrap on new buttons (#7938) 2023-03-17 08:51:46 +00:00
Milo Ivir
ffeeff260f Update Croatian translation (#7937) 2023-03-17 08:51:22 +00:00
Julien
71ea74d273 Desktop: Fixes #4801: Do not allow update for plugins incompatible with current version (#7936) 2023-03-17 08:50:51 +00:00
Julien
3a744c79ae Desktop: Fixes #7920: List enabled plugins only in About Joplin and in alphabetical order (#7923) 2023-03-17 08:41:33 +00:00
renovate[bot]
d9ba27a1ec Update dependency lint-staged to v13.1.4 (#7935)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-16 20:26:38 +00:00
github-actions[bot]
0a3540049c @milotype has signed the CLA in laurent22/joplin#7937 2023-03-16 18:51:53 +00:00
Henry Heino
ab50ca9bbd Mobile: Add setting to enable/disable the markdown toolbar (#7929) 2023-03-16 11:12:56 +00:00
renovate[bot]
0bee793ab8 Update dependency lint-staged to v13.1.3 (#7927)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-15 20:36:26 +00:00
Arun Kumar
89fc5e19d9 Desktop: Fixes #7881: Fixed icon when note is dragged across notebooks (#7924) 2023-03-15 14:33:59 +00:00
Arun Kumar
6a3bf51084 Desktop: Resolves #7889: Add support for --safe-mode command line flag (#7919) 2023-03-14 11:46:21 +00:00
Laurent Cozic
df1e298c84 Doc: Mentioned Safe Mode in debugging doc 2023-03-14 11:41:30 +00:00
Joplin Bot
b9c706324b Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-03-14 06:18:40 +00:00
Laurent Cozic
ab7e2de1d9 Update renovate.json5 2023-03-14 01:29:44 +00:00
Joplin Bot
7ef8753b94 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-03-14 00:40:45 +00:00
Laurent Cozic
d48a5efa03 Doc: Update coding style 2023-03-13 19:31:22 +00:00
Laurent Cozic
0804b62ffb Merge branch 'release-2.10' into dev 2023-03-13 18:48:05 +00:00
Laurent Cozic
37995b9ec7 Desktop release v2.10.10 2023-03-13 18:46:58 +00:00
Julien
7a3e6fde7f Desktop: Fixes #7907: Fixed height when controls are on a single row (#7912) 2023-03-13 16:26:56 +00:00
Laurent Cozic
bd4291462e Desktop: Fix issue where search bar can randomly lose focus while searching 2023-03-13 12:19:22 +00:00
Laurent Cozic
489d6778db Desktop: Fix issue where search bar can randomly lose focus while searching 2023-03-13 12:18:47 +00:00
renovate[bot]
538a1413d9 Update dependency nodemon to v2.0.21 (#7908)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-12 22:39:35 +00:00
Joplin Bot
3c9b755045 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-03-12 18:16:33 +00:00
Laurent Cozic
fd7b345efa Merge branch 'release-2.10' into dev 2023-03-12 15:44:02 +00:00
Laurent Cozic
c96468149a Desktop release v2.10.9 2023-03-12 15:37:38 +00:00
pedr
d6d4897e1c Desktop: Resolves #7880: Paste as Text only working on hotkeys on Windows (#7886) 2023-03-12 15:33:16 +00:00
Julien
e07e248fea Desktop: Always show new note buttons (Regression) (#7850) 2023-03-12 15:30:41 +00:00
Julien
b561460307 Desktop: Resolves #7848: Made note list controls responsive (#7884) 2023-03-12 15:26:15 +00:00
Self Not Found
f6d1a27f51 All: Fixes #7851: Encode the non-ASCII characters in OneDrive URI (#7868) 2023-03-12 15:21:31 +00:00
Tao Klerks
80a1500634 Desktop: Fixes #7741: With Custom Sort, new notes appear at bottom and later randomly "pop" to the top (#7765) 2023-03-12 15:16:45 +00:00
Laurent Cozic
bcb578c933 Doc: Update sponsors 2023-03-12 12:38:08 +00:00
Laurent Cozic
75ad454971 Doc: Make website work on more resolutions and added LinkedIn link 2023-03-12 11:53:44 +00:00
renovate[bot]
e90b7f2d81 Update dependency styled-components to v5.3.8 (#7906)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-12 10:17:05 +00:00
renovate[bot]
ffca11ca8a Update dependency react-native-share to v8.2.1 (#7904)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-11 13:28:41 +00:00
renovate[bot]
bd98951d32 Update dependency react-native-image-picker to v5.1.0 (#7896) 2023-03-10 12:54:53 +00:00
pedr
9106fb82f3 Chore: Desktop: Resolves #7879: Paste as Text shortcut pasting content twice (#7885) 2023-03-10 12:53:48 +00:00
Arun Kumar
5c6e17bc89 Desktop: Fixes #4124: Fix note list blank space display problems (#7888) 2023-03-10 12:06:30 +00:00
Arun Kumar
538e9e9b4e Desktop: Fixes #7506: Linux notebook display bug (#7897) 2023-03-10 12:01:35 +00:00
Laurent Cozic
d871b3c7d6 Tools: Include packages that have been updated by Renovate in changelog 2023-03-09 17:50:57 +00:00
Laurent Cozic
99c6c9b411 Tools: Add more eslint/jest rules 2023-03-09 17:50:56 +00:00
Laurent Cozic
3eca4ada5a Tools: Add eslint rule "jest/require-top-level-describe" 2023-03-09 17:50:56 +00:00
Laurent Cozic
19431abc73 Server v2.10.10 2023-03-09 14:37:27 +00:00
renovate[bot]
3e299f1ab9 Update dependency yargs to v17.7.1 (#7892)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-09 01:14:55 +00:00
renovate[bot]
42873d3829 Update dependency yargs to v17.7.0 (#7890) 2023-03-08 22:17:54 +00:00
renovate[bot]
4983327f90 Update dependency node-persist to v3.1.3 (#7887)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-07 21:28:30 +00:00
Mr-Kanister
fddbe6cf6c All: Translation: Update de_DE.po (#7883) 2023-03-07 13:22:43 -05:00
Laurent Cozic
57f00c612d Desktop: Resolves #7867: Cache code blocks in notes to speed up rendering 2023-03-07 17:55:20 +00:00
Joplin Bot
235288e903 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-03-07 12:23:39 +00:00
Laurent Cozic
38be744c3e Tools: Update stats script so that it runs at the beginning of the month 2023-03-07 10:01:24 +00:00
Laurent Cozic
2384ec8792 Chore: Disable flaky test 2023-03-06 17:54:01 +00:00
Laurent Cozic
85f7caa0eb Merge branch 'release-2.10' into dev 2023-03-06 15:48:49 +00:00
Laurent Cozic
ad0f0414c4 iOS 12.10.5 2023-03-06 15:48:23 +00:00
Laurent Cozic
437320f90c lock file 2023-03-06 14:24:14 +00:00
Laurent Cozic
c1db7182ac Tools: Add class member accessibility modifiers and converted rule @typescript-eslint/explicit-member-accessibility to an error 2023-03-06 14:22:37 +00:00
renovate[bot]
aa4af69afc Update dependency yeoman-generator to v5.8.0 (#7878) 2023-03-06 14:00:03 +00:00
renovate[bot]
21a39af97b Update dependency node-persist to v3.1.2 (#7876)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-06 00:10:07 +00:00
Laurent Cozic
0812cc5944 Doc: Typo 2023-03-04 12:19:23 +00:00
renovate[bot]
1fb5d2c6c5 Update dependency raw-body to v2.5.2 (#7869)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-04 08:26:49 +00:00
Laurent Cozic
1b9901d232 Doc: Update coding style 2023-03-03 12:09:45 +00:00
Laurent Cozic
f15d2793cc Doc: Update coding style
Removed rules that are not enforced by esling,
and added new ones
2023-03-03 11:45:01 +00:00
Self Not Found
ad4d71dbe1 Desktop: Fixes #7831: Skip the resources which haven't been downloaded yet when exporting (#7843) 2023-03-03 11:31:49 +00:00
Julien
4bee6ffc90 Desktop: Always show new note buttons (Regression) (#7850) 2023-03-03 11:28:12 +00:00
Julien
01f63b3d97 Desktop: Fix lines alignment when sort order buttons are disabled (Regression) (#7849) 2023-03-03 11:27:11 +00:00
renovate[bot]
b19b590efc Update dependency open to v8.4.2 (#7860)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-03 01:06:42 +00:00
Joplin Bot
6b7577f94d Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-03-02 15:19:57 +00:00
Laurent Cozic
4d09b14522 Doc: Added new for JdLL 2023 2023-03-02 13:27:02 +00:00
Laurent Cozic
9f1e95324d Doc: Added new for JdLL 2023 2023-03-02 13:25:46 +00:00
renovate[bot]
f98314346d Update contributor-assistant/github-action action to v2.3.0 (#7857) 2023-03-01 12:57:31 +00:00
Arun Kumar
fa659b615a Doc: Fix minor typo in technical spec documentation (#7856) 2023-03-01 05:42:30 -05:00
github-actions[bot]
e4aafa7edb @palerdot has signed the CLA from Pull Request #7856 2023-03-01 10:00:41 +00:00
renovate[bot]
811c40b074 Update dependency sass to v1.58.3 (#7852)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-28 23:41:07 +00:00
Laurent Cozic
405c528ef0 Android 2.10.8 2023-02-28 18:19:09 +00:00
Laurent Cozic
a176216374 Update translations 2023-02-28 18:02:09 +00:00
renovate[bot]
8d0b090f66 Update dependency madge to v6 (#7853) 2023-02-28 15:06:57 +00:00
Joplin Bot
337c5ed61c Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-02-28 00:45:05 +00:00
Joplin Bot
b32d39860b Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-02-27 18:19:06 +00:00
renovate[bot]
a091608f72 Update dependency react-native-share to v8.2.0 (#7845) 2023-02-27 12:22:55 +00:00
renovate[bot]
9686ee7833 Update dependency react-native-paper to v5.2.0 (#7844) 2023-02-27 12:22:38 +00:00
renovate[bot]
3b55dcac65 Update dependency sass to v1.58.2 (#7846)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-27 06:00:02 +00:00
Joplin Bot
d524d11d8a Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-02-26 18:16:41 +00:00
Tao Klerks
9c080ec631 Desktop: Fixes #7776: Drag-dropping notes to top or bottom, in custom sort, is finicky (#7777) 2023-02-26 15:40:13 +00:00
Laurent Cozic
da11476fd7 CLI v2.10.3 2023-02-26 13:04:03 +00:00
Laurent Cozic
d157b9cfc7 Cli: Fixed "sync" command when calling it in non-interactive mode 2023-02-26 13:02:50 +00:00
Laurent Cozic
bc8c61748a CLI v2.10.2 2023-02-26 12:41:43 +00:00
Laurent Cozic
3ad727889b Lock file 2023-02-26 12:40:57 +00:00
Laurent Cozic
8df128bb7a Releasing sub-packages 2023-02-26 12:37:29 +00:00
Laurent Cozic
5a4568f4db CI: Fixed publishall 2023-02-26 12:33:59 +00:00
Laurent Cozic
170295919a CI: Fixed publishall 2023-02-26 12:17:17 +00:00
Laurent Cozic
2262cbfdfd Desktop release v2.10.8 2023-02-26 12:15:07 +00:00
Andrej Lifinzew
43e40bcf5a CLI: Resolves #1728: Create subnotebooks (#6722) 2023-02-26 12:13:45 +00:00
Helmut K. C. Tessarek
e60595f0de All: Translation: Update da_DK.po (thanks ERYpTION) 2023-02-25 16:54:55 -05:00
renovate[bot]
527a7c115d Update jest monorepo to v29.4.3 (#7841)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-25 20:42:10 +00:00
Laurent Cozic
c22f910500 Merge branch 'release-2.10' into dev 2023-02-25 16:50:09 +00:00
Laurent Cozic
667b7969ff CLI v2.10.1 2023-02-25 16:49:54 +00:00
Laurent Cozic
1bbf065142 Releasing sub-packages 2023-02-25 16:47:37 +00:00
renovate[bot]
606cad3c3a Update dependency react-native-image-picker to v5.0.2 (#7829)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-25 07:42:17 +00:00
renovate[bot]
c9612dc8b8 Update dependency lint-staged to v13.1.2 (#7832)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-25 04:15:09 +00:00
renovate[bot]
6ee30e22a6 Update dependency @react-native-community/datetimepicker to v6.7.5 (#7835)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-25 02:11:33 +00:00
Laurent Cozic
a6536e1ef9 Chore: Improve logging on api/notes 2023-02-24 18:50:04 +00:00
Laurent Cozic
92cf5abd08 Desktop: Fixed clipping certain pages that contain images within links 2023-02-24 18:49:27 +00:00
Laurent Cozic
d1e545ac2c Desktop: Note background does not change when theme automatically updated via system 2023-02-24 18:00:14 +00:00
Laurent Cozic
ec6567c68d Update translations 2023-02-24 15:30:26 +00:00
Joplin Bot
3b236307f7 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-02-24 12:23:01 +00:00
Laurent Cozic
14ac54bf3d Update translations 2023-02-24 12:07:30 +00:00
Laurent Cozic
e53b796523 iOS 12.10.4 2023-02-24 11:50:40 +00:00
Laurent Cozic
9d189b2b34 iOS 12.10.4 2023-02-24 11:50:16 +00:00
renovate[bot]
84545cf26d Update dependency sass to v1.58.1 (#7818)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-24 10:39:20 +00:00
Joplin Bot
c427a6d0a5 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-02-24 06:18:07 +00:00
Laurent Cozic
42dc6e1ea6 Desktop release v2.10.7 2023-02-23 13:52:29 +00:00
Laurent Cozic
431b95ff7b Android 2.10.7 2023-02-23 13:51:39 +00:00
Laurent Cozic
041fb731a6 lock file 2023-02-23 13:36:59 +00:00
pedr
5289f80394 Chore: Mobile: Fixes #7822: Spellcheck was hidden because of deprecated logic (#7830) 2023-02-23 13:31:08 +00:00
Laurent Cozic
6c12ce0e04 Chore: Set type of main BrowserWindow, and fixed popup calls 2023-02-22 18:16:28 +00:00
Teko-uy
46982c7d64 Completed spanish translation (#7817) 2023-02-22 14:36:53 +00:00
Julien
359448eb69 Chore: Regression: Revert changes made to the note list' height (#7823) 2023-02-22 13:13:39 +00:00
Julien
32bb256cca All: Resolves #7661: Stop synchronization with unsupported WebDAV providers (#7819) 2023-02-22 13:12:53 +00:00
github-actions[bot]
219585bbcf @adidevs has signed the CLA from Pull Request #7824 2023-02-22 10:33:39 +00:00
renovate[bot]
1a9dbcbd1d Update dependency yeoman-generator to v5.7.1 (#7821)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-22 04:34:29 +00:00
pedr
6a9848ebe7 Desktop: Fixes #7782: Markdown + Front Matter export fails when tag(s) lost (#7820) 2023-02-21 17:57:04 +00:00
Laurent Cozic
9e73d3590b Tools: Add eslint rule "no-unneeded-ternary" 2023-02-21 17:19:19 +00:00
Laurent Cozic
08c9a25182 Chore: Desktop: Do not wait for updating geolocation (regression) 2023-02-21 17:19:19 +00:00
renovate[bot]
5b9a45dc1d Update dependency sass to v1.58.0 (#7813) 2023-02-21 15:38:04 +00:00
Laurent Cozic
9dd2fb9674 Fixed regression 2023-02-21 15:28:00 +00:00
github-actions[bot]
234b5c8363 @Teko-uy has signed the CLA from Pull Request #7817 2023-02-21 13:37:05 +00:00
github-actions[bot]
1dc7ec3701 @rddunphy has signed the CLA from Pull Request #7815 2023-02-21 11:22:29 +00:00
Polaris66
72773caf58 Desktop: Resolves #7692: Added "Move Line Up" and "Move Line Down" shortcuts (#7755) 2023-02-21 10:55:17 +00:00
Joplin Bot
094249d074 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-02-20 18:17:07 +00:00
Laurent Cozic
c324f17453 Tools: Fixed Android build error with JDK 19 2023-02-20 16:09:34 +00:00
Laurent Cozic
25a31b0689 Android: Fixes #7791: Fixed issue where app would close after sharing a file 2023-02-20 16:09:33 +00:00
pedr
f2995dd196 Tools: Add prefer-arrow-callbacks to ESlint rules (#7810) 2023-02-20 15:02:29 +00:00
Tao Klerks
ca575162f7 Desktop: Fixes #7731: Make note sort update logic use correct prior sort and drop-grouping (#7737) 2023-02-20 13:23:26 +00:00
pedr
f0ade02435 Mobile: Fixes #7762: Hide main content while biometric is enabled and not authenticated (#7781) 2023-02-20 12:55:40 +00:00
pedr
b13c02017a Desktop: Add a link to twitter inside the help menu (#7796) 2023-02-20 12:45:23 +00:00
Laurent Cozic
716c8c1ce4 Desktop release v2.10.6 2023-02-20 11:48:44 +00:00
Laurent Cozic
30a49b84ad Chore: Mobile: Restore broken back button when file is shared 2023-02-19 19:24:44 +00:00
Laurent Cozic
b8e4150bfd iOS: Fixes #7791: Sharing pictures to Joplin creates recurring duplications 2023-02-19 19:06:17 +00:00
Laurent Cozic
ed0edcb36c iOS: Fixed sharing file 2023-02-19 19:00:17 +00:00
Laurent Cozic
e93046e8e2 lock file 2023-02-19 18:27:43 +00:00
javad mnjd
18a0ca0881 Android: Fixes #7791: Sharing pictures to Joplin creates recurring duplications (#7807) 2023-02-19 18:23:00 +00:00
javad mnjd
21dbc800d5 Android: Fixes #6942: Fixed error when sharing a file (#7801) 2023-02-19 18:21:49 +00:00
Laurent Cozic
5c1eda3392 Chore: Mobile: Refactor note-screen-shared utility lib 2023-02-19 13:09:07 +00:00
Laurent Cozic
1139317788 Chore: Mobile: Refactor note-screen-shared utility lib 2023-02-19 13:09:06 +00:00
Laurent Cozic
a24ccb8da9 Chore: Mobile: Convert Notes component to TSX and fixed AppState listener issue 2023-02-19 13:09:06 +00:00
vikneshwar
0aaa396315 Mobile: Fixes #7675: Fix camera attachment (#7775) 2023-02-19 13:08:53 +00:00
jbfagot
f9dc19e1c4 Typo correction (#7803) 2023-02-19 11:33:06 +00:00
github-actions[bot]
1839724d7c @jbfagot has signed the CLA from Pull Request #7803 2023-02-19 08:58:20 +00:00
renovate[bot]
a5aeb3a2f8 Update dependency open to v8.4.1 (#7800)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-18 18:31:53 +00:00
javad mnjd
d5d57aa360 Android: Fixes #7791: Fixed duplicate sharing issue (#7799) 2023-02-18 16:30:56 +00:00
renovate[bot]
9aa5df7790 Update dependency @react-native-community/datetimepicker to v6.7.4 (#7798)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-18 12:14:30 +00:00
renovate[bot]
a7697465a8 Update jest monorepo to v29.4.2 (#7793)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-18 07:13:34 +00:00
renovate[bot]
aeb7e5ce47 Update dependency gettext-extractor to v3.6.2 (#7795)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-18 01:48:20 +00:00
Laurent Cozic
42cef1e918 CLI: Validate required flags 2023-02-17 16:31:20 +00:00
ahk02
b832930512 Cipper: fixed display cutoff due to increase in browser scale (#7757) 2023-02-17 13:29:15 +00:00
Henry Heino
057ac550bd Chore: Renderer: Refactor and test long-press and click handlers (#7774) 2023-02-17 13:13:28 +00:00
pedr
3a14b76a61 Desktop: Add a menu option to reset the application layout (#7786) 2023-02-17 13:07:18 +00:00
Julien
e1a8c76598 Desktop: New design for "New note" and "New todo" buttons (#7780) 2023-02-17 13:02:47 +00:00
Julien
b62e6552cd Chore: Remove test spy (#7790) 2023-02-17 12:52:06 +00:00
renovate[bot]
ca6e50e80c Update dependency lint-staged to v13.1.1 (#7788)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-17 11:51:44 +00:00
renovate[bot]
ad8947a85d Update dependency pg to v8.9.0 (#7784) 2023-02-17 00:01:46 +00:00
github-actions[bot]
fb562210b2 @adibullu123 has signed the CLA from Pull Request #7785 2023-02-16 16:20:58 +00:00
melsonic
34940d1c4f Desktop: Fixes #7662: Ctrl-X behaviour when no text is selected (#7778) 2023-02-16 14:08:28 +00:00
Laurent Cozic
7fa1459dc3 Tools: Apply eslint rules "no-console" and "id-denylist" 2023-02-16 10:58:24 +00:00
Laurent Cozic
625689dbb1 Tools: Add "@typescript-eslint/object-curly-spacing" rule 2023-02-16 10:58:23 +00:00
Julien
dc976047d2 Desktop: Fixes #7658: Clicking on Save saves changes when updating a link (#7753) 2023-02-16 09:01:50 +00:00
github-actions[bot]
a014e830e7 @laurent22 has signed the CLA from Pull Request #7778 2023-02-15 21:40:20 +00:00
github-actions[bot]
1e828bfdca @laurent22 has signed the CLA from Pull Request #7775 2023-02-15 21:40:16 +00:00
github-actions[bot]
60309ec6a3 @laurent22 has signed the CLA from Pull Request #7772 2023-02-15 21:39:56 +00:00
github-actions[bot]
aabba090b1 @laurent22 has signed the CLA from Pull Request #7757 2023-02-15 21:39:52 +00:00
github-actions[bot]
6ae903ef4d @laurent22 has signed the CLA from Pull Request #7755 2023-02-15 21:38:49 +00:00
pedr
dd86940c6b Desktop: Add 'Paste as text' to the Context menu of the Rich Text Editor (#7769) 2023-02-15 13:59:32 +00:00
pedr
7d7b7ed6f3 Desktop: Fixes #7634: App freezes and displays fatal error when text provided in the search bar is too long (#7764) 2023-02-14 15:13:31 +00:00
renovate[bot]
8de904cd3c Update jest monorepo to v29.4.1 (#7760)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-14 04:26:21 +00:00
pedr
c706b8dd2f Desktop: Allow 'Paste as Text' on the Rich Text Editor (#7751) 2023-02-13 19:16:33 +00:00
Laurent Cozic
d55d4d42e5 Doc: Fixed licence info 2023-02-13 17:10:09 +00:00
Tao Klerks
bbfeffec69 All: Fixes #6956: Custom sort order not synchronized (#7729) 2023-02-13 16:41:55 +00:00
renovate[bot]
3c471dc120 Update jest monorepo to v29.4.0 (#7759) 2023-02-13 13:39:42 +00:00
Laurent Cozic
be0fa69b3b Revert "Mobile: Resolves #1044: Add create sub-notebook feature (#7728)"
This reverts commit f5fc1f2f22.

Cancel button is gone with this change
2023-02-10 23:48:46 +00:00
Laurent Cozic
bf1bdf0951 Android 2.10.6 2023-02-10 16:31:18 +00:00
Laurent Cozic
a1a10a6c55 Android: Fixes #7691: Sharing file to Joplin does not work 2023-02-10 16:12:49 +00:00
Laurent Cozic
02e8307093 lock file 2023-02-10 16:12:48 +00:00
renovate[bot]
285a3a211e Update dependency @react-native-community/slider to v4.4.2 (#7752)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-10 16:02:45 +00:00
Joplin Bot
80cb1471fc Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-02-10 06:17:49 +00:00
Joplin Bot
a7a194f835 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-02-10 00:43:53 +00:00
github-actions[bot]
41a0b3359a @pedr has signed the CLA from Pull Request #7751 2023-02-09 20:10:04 +00:00
Laurent Cozic
1f70357d37 Server v2.10.9 2023-02-09 19:43:09 +00:00
Laurent Cozic
107f2e128e Server: Clean up share logic 2023-02-09 19:42:16 +00:00
Laurent Cozic
e1cd8d9b85 Server v2.10.8 2023-02-09 18:24:30 +00:00
Laurent Cozic
293f621e46 Server: Fixed sharing issue when a user no longer has a user item associated with their account 2023-02-09 18:24:09 +00:00
Joplin Bot
c5b551bbcb Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-02-09 18:17:12 +00:00
Laurent Cozic
ac776eabc1 Server v2.10.7 2023-02-09 15:57:38 +00:00
Laurent Cozic
05c17fbfac Server: Fixed sharing issue for changes that are associated with deleted items 2023-02-09 15:56:44 +00:00
Laurent Cozic
6b9de394ca Tools: Update post release commands 2023-02-09 11:48:22 +00:00
Laurent Cozic
bef9a29581 Renovate exclude 2023-02-09 01:34:02 +00:00
renovate[bot]
1546aad7e9 Update dependency punycode to v2.3.0 (#7749) 2023-02-09 01:33:32 +00:00
renovate[bot]
fe47fef261 Update dependency redux to v4.2.1 (#7743)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-09 00:24:35 +00:00
renovate[bot]
288f4ab43b Update dependency react-native-image-picker to v5.0.1 (#7747)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-08 20:36:31 +00:00
renovate[bot]
294cbaea4d Update dependency react-native-image-picker to v5 (#7746) 2023-02-08 17:01:40 +00:00
Carlos
f5fc1f2f22 Mobile: Resolves #1044: Add create sub-notebook feature (#7728) 2023-02-08 14:34:29 +00:00
Henry Heino
c90865c4d2 Mobile: Fixes #7700: Fix double-scroll issue in long notes (#7701) 2023-02-08 14:24:59 +00:00
Helmut K. C. Tessarek
322641ccd6 Desktop: Fixes #7694: Markdown editor not surrounding highlighted text with backticks (#7697) 2023-02-08 14:24:20 +00:00
Henry Heino
2656666ed8 Mobile: Fixes #7687: Fix startup error (#7688) 2023-02-08 14:21:59 +00:00
andy1631
2d673902a4 Desktop: Fix highlighting in GotoAnything dialogue (#7592) 2023-02-08 14:20:54 +00:00
Julien
631c41a1ff Desktop: Resolves #6143: Show installed plugins in Help - About Joplin (#7711) 2023-02-08 14:16:09 +00:00
renovate[bot]
7841c99c02 Update dependency @rmp135/sql-ts to v1.16.0 (#7736) 2023-02-08 14:13:42 +00:00
renovate[bot]
ac75d8f6ac Update dependency react-native-safe-area-context to v4.5.0 (#7744) 2023-02-08 14:13:28 +00:00
github-actions[bot]
200ff617dc @rakeshhotker has signed the CLA from Pull Request #7745 2023-02-08 06:07:30 +00:00
Joplin Bot
bbdc18f371 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-02-07 18:18:46 +00:00
Joplin Bot
0d35b64f9a Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-02-07 12:21:36 +00:00
renovate[bot]
765c4482d6 Update dependency react-native-webview to v11.26.1 (#7735)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-07 06:18:23 +00:00
renovate[bot]
0a0e31a37c Update dependency madge to v5.0.2 (#7734)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-07 02:34:11 +00:00
Laurent Cozic
0c1f4031b4 Server v2.10.6 2023-02-06 19:01:57 +00:00
Laurent Cozic
9ed022458b Chore: Server: Clean up 2023-02-06 18:59:36 +00:00
Laurent Cozic
ba5f0bc6e3 Server: Fixed issue when an item is associated with a share that no longer exists 2023-02-06 18:59:36 +00:00
renovate[bot]
793e8f6c0f Update dependency jsdom to v21 (#7732) 2023-02-06 17:29:47 +00:00
renovate[bot]
6182ce521d Update dependency nodemailer to v6.9.1 (#7726) 2023-02-06 16:17:15 +00:00
Joplin Bot
544c50663a Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-02-06 10:17:57 +00:00
Laurent Cozic
53aa9e2b42 Chore: Restore stats 2023-02-06 10:07:25 +00:00
renovate[bot]
884260189c Update dependency punycode to v2.2.2 (#7724)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-05 20:28:43 +00:00
Laurent Cozic
2f9464f21f Tools: Revert CI issue 2023-02-05 19:10:31 +00:00
github-actions[bot]
c6e993b04a @TaoK has signed the CLA from Pull Request #7729 2023-02-05 17:06:32 +00:00
Laurent Cozic
89eb012b25 Tools: Add repeat mechanism when electron-builder randomly fails to build 2023-02-05 16:51:47 +00:00
Laurent Cozic
1e2aa4e2b5 Tools: Fixed Renovate patterns 2023-02-05 12:27:09 +00:00
Laurent Cozic
0019bb8d6b Tools: Add eslint rule "@typescript-eslint/no-inferrable-types" 2023-02-05 12:27:09 +00:00
renovate[bot]
e629a4d325 Update dependency nodemailer to v6.9.0 (#7722) 2023-02-05 11:43:37 +00:00
renovate[bot]
049c769d37 Update dependency eslint-plugin-react to v7.32.0 (#7698) 2023-02-05 11:41:13 +00:00
renovate[bot]
47aed8742a Update dependency punycode to v2.2.0 (#7695) 2023-02-05 11:40:58 +00:00
Adarsh Singh
8aad67ccfe Desktop: Fixes #7521: Mermaid images are incorrectly sized when exported as PNG (#7546) 2023-02-05 11:39:26 +00:00
renovate[bot]
af7cbcbca7 Update dependency eslint-plugin-import to v2.27.4 (#7717) 2023-02-05 11:06:20 +00:00
Laurent Cozic
88a91314af Tools: Reduce noise with Renovate updates 2023-02-05 11:06:10 +00:00
renovate[bot]
9873c2d756 Update dependency glob to v8.1.0 (#7718) 2023-02-04 16:12:16 +00:00
renovate[bot]
46b68cf461 Update typescript-eslint monorepo to v5.48.2 (#7705)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-04 07:58:54 +00:00
renovate[bot]
6b96b1f355 Update dependency react-native-paper to v5.1.4 (#7714)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-04 05:37:03 +00:00
renovate[bot]
dc819700bb Update dependency knex to v2.4.2 (#7713)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-04 01:11:49 +00:00
renovate[bot]
1d1d5fea06 Update dependency @react-native-community/datetimepicker to v6.7.3 (#7712)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-03 21:02:58 +00:00
renovate[bot]
c3afc0ede7 Update dependency prettier to v2.8.3 (#7704)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-03 17:08:36 +00:00
github-actions[bot]
2092110a6e @julien-me has signed the CLA from Pull Request #7711 2023-02-03 12:51:14 +00:00
github-actions[bot]
fc940e9a7c @abhiippili has signed the CLA from Pull Request #7709 2023-02-01 17:12:16 +00:00
github-actions[bot]
8718310dd0 @deepampriyadarshi has signed the CLA from Pull Request #7708 2023-02-01 15:00:52 +00:00
renovate[bot]
1b527f2bbe Update dependency @react-native-community/slider to v4.4.1 (#7702)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-01 00:38:41 +00:00
Joplin Bot
4da217bc2f Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-31 00:43:35 +00:00
github-actions[bot]
d3abd4ebf2 @tessus has signed the CLA from Pull Request #7697 2023-01-31 00:13:17 +00:00
Mr-Kanister
38851edf86 All: Translation: Update de_DE.po (#7696) 2023-01-30 18:15:05 -05:00
Joplin Bot
05efb765d6 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-30 18:16:44 +00:00
majsterkovic
28dc4a6abd All: Translation: Update pl_PL.po (#7690) 2023-01-29 22:54:17 -05:00
renovate[bot]
2f7b56f96f Update dependency @react-native-community/datetimepicker to v6.7.2 (#7689)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-30 02:26:11 +00:00
renovate[bot]
fdaa3735fb Update dependency @types/yargs to v17.0.20 (#7685)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-29 17:03:51 +00:00
Laurent Cozic
7dfaea12f7 Chore: Fixed build following conversion from JSX to TSX 2023-01-29 13:11:53 +00:00
renovate[bot]
18199b27d9 Update dependency @types/react to v17.0.53 (#7684)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-29 06:18:39 +00:00
renovate[bot]
a7c52082bb Update dependency @types/react to v16.14.35 (#7683)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-29 02:18:29 +00:00
renovate[bot]
3b5357e0c1 Update dependency @types/jest to v29.2.6 (#7682)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-28 22:41:15 +00:00
Self Not Found
10dd4e45ed Desktop: Fixes #7678: Fix open files with non-ASCII characters in path (#7679) 2023-01-28 12:28:01 +00:00
github-actions[bot]
1963835309 @carlosngo has signed the CLA from Pull Request #7681 2023-01-28 10:07:12 +00:00
renovate[bot]
46ec0c1381 Update dependency knex to v2.4.1 (#7676)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-28 03:43:16 +00:00
Laurent Cozic
bb84ae4d68 Tools: Disable tests that randomly fail onn CI 2023-01-27 18:55:39 +00:00
Laurent Cozic
b3ff53c0da Tools: Added hack to try to fix issue with broken GitHub API 2023-01-27 17:16:23 +00:00
Self Not Found
acd7bfd9f5 Desktop: Remove auto-matching for greater than character (#7669) 2023-01-27 16:50:07 +00:00
renovate[bot]
1dff50d080 Update dependency knex to v2.4.0 (#7674) 2023-01-27 16:47:20 +00:00
Laurent Cozic
af40970d09 Ignore package 2023-01-27 16:46:37 +00:00
Joplin Bot
07535a494e Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-27 06:17:16 +00:00
Joplin Bot
907422cefa Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-27 00:45:49 +00:00
renovate[bot]
f643baea25 Update dependency tap to v16.3.4 (#7671)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-26 08:50:49 +00:00
github-actions[bot]
55a4f33982 @majsterkovic has signed the CLA from Pull Request #7668 2023-01-25 21:26:20 +00:00
Dmitriy Q
df6700959a All: Translation: Update ru_RU.po (#7665) 2023-01-25 16:10:50 -05:00
github-actions[bot]
fde8235f3e @krote5k has signed the CLA from Pull Request #7665 2023-01-25 12:59:46 +00:00
Laurent Cozic
f6ba56d966 Doc: Added GSoC idea 2023-01-24 15:56:22 +00:00
Laurent Cozic
4a5312823b Doc: Add info for GSoC 2023 2023-01-24 15:18:51 +00:00
Light
31a27b0e1c Desktop: Fixes #7565: Fix text editor text highlighting when used with special IME methods (#7630) 2023-01-24 14:46:40 +00:00
github-actions[bot]
984ad868e8 @trevor-james-nangosha has signed the CLA from Pull Request #7663 2023-01-24 12:56:39 +00:00
Betty Alagwu
9b657eeda2 Desktop: Resolves #7602: Fix copy text with no selection (#7641) 2023-01-23 18:50:24 +00:00
Laurent Cozic
6f3ad4b3b0 Doc: Allow setting period from parameter 2023-01-23 17:49:16 +00:00
renovate[bot]
56f06fae3c Update dependency ts-jest to v29.0.5 (#7659)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-23 15:52:54 +00:00
ThetaDev
c22d884357 Doc: Update rscss link (#7653) 2023-01-23 10:11:34 +00:00
github-actions[bot]
35dc22197d @Theta-Dev has signed the CLA from Pull Request #7653 2023-01-22 22:43:08 +00:00
renovate[bot]
70d56ca0be Update dependency ts-jest to v29.0.4 (#7651)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-22 02:05:55 +00:00
Laurent Cozic
bca09b9476 Android 2.10.5 2023-01-21 14:28:32 +00:00
javad mnjd
b82bf16505 Android: Resolves #6942: Improve filesystem sync performance (#7637) 2023-01-21 14:11:37 +00:00
Laurent Cozic
2f254d81cd Ignore some dependencies 2023-01-21 12:20:22 +00:00
Self Not Found
b14ce03e5b All: Translation: Update zh_CN.po (#7643) 2023-01-20 20:38:45 -05:00
Laurent Cozic
90b04cbd37 Doc: Fixes #7642: Fixed menu padding in narrower view 2023-01-20 18:07:50 +00:00
Laurent Cozic
5ae866ea85 iOS 12.10.2 2023-01-20 17:42:14 +00:00
Laurent Cozic
b450ab9f5a lock file 2023-01-20 17:41:03 +00:00
Laurent Cozic
138bc8144b Android: Fixes non-working alarms
Also imported react-native-alarm-notificatio into the project
2023-01-20 17:33:19 +00:00
Laurent Cozic
c9831833c4 Desktop: Fixes #7617: Note editor scrolls back to top when editing certain notes 2023-01-20 15:05:57 +00:00
Laurent Cozic
2813f93c18 Desktop: Fixes #7617: Note editor scrolls back to top when editing certain notes 2023-01-20 15:03:22 +00:00
Laurent Cozic
27bec674a0 Chore: Desktop: Convert last JSX files to TSX 2023-01-20 14:35:22 +00:00
renovate[bot]
ff79ca8781 Update dependency react-native-paper to v5.1.3 (#7638)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-20 01:12:04 +00:00
github-actions[bot]
34a1342db6 @jd1378 has signed the CLA from Pull Request #7637 2023-01-19 20:42:18 +00:00
renovate[bot]
e252986b98 Update dependency tap to v16.3.3 (#7631)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-19 17:25:42 +00:00
Helmut K. C. Tessarek
3537c3e5f9 All: Translation: Update da_DK.po (thanks ERYpTION) 2023-01-19 08:19:19 -05:00
github-actions[bot]
fdc86f94c4 @LightAPIs has signed the CLA from Pull Request #7630 2023-01-18 17:05:59 +00:00
Laurent Cozic
dc5dc94ed5 Desktop: Fixes #7621: Certain plugins could create invalid settings, which could result in a crash 2023-01-17 15:34:04 +00:00
Laurent Cozic
f7682d3da3 Desktop: Resolves #7506: Disable custom PDF viewer by default 2023-01-17 13:35:08 +00:00
Joplin Bot
8e2975d23d Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-16 17:48:37 +00:00
Laurent Cozic
ce85489166 Docs: Added news about "GitHub Action Raw Log Viewer" 2023-01-16 17:28:30 +00:00
Mike Sheldon
13f5738090 All: Resolves #7627: Improve dialogue spacing in Fountain renderer (#7628) 2023-01-16 15:46:17 +00:00
github-actions[bot]
cce2ae7401 @Elleo has signed the CLA from Pull Request #7628 2023-01-16 14:00:37 +00:00
Laurent Cozic
c9b49a50c8 Desktop release v2.10.5 2023-01-16 13:41:31 +00:00
github-actions[bot]
c419c43622 @JackGruber has signed the CLA from Pull Request #7622 2023-01-15 15:44:53 +00:00
Joplin Bot
cc5ecfba2b Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-15 06:17:01 +00:00
Joplin Bot
a98d5feff6 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-15 00:44:15 +00:00
Laurent Cozic
7aa4feffd4 Update translations 2023-01-14 20:56:46 +00:00
Joplin Bot
0b46a744f1 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-14 18:17:51 +00:00
Laurent Cozic
4d5efff2af Android 2.10.4 2023-01-14 17:31:24 +00:00
Laurent Cozic
4b2aaa6836 lock file 2023-01-14 17:31:03 +00:00
Laurent Cozic
4e27600f9c fix build 2023-01-14 17:24:50 +00:00
Laurent Cozic
6d4394a88d Merge branch 'dev' into release-2.10 2023-01-14 16:57:14 +00:00
Joplin Bot
aad9c803ba Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-14 00:41:30 +00:00
Joplin Bot
5418cc82ca Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-13 18:16:59 +00:00
Joplin Bot
79eb33a7f4 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-12 18:18:15 +00:00
Andris Strazdiņš
cdef433f38 Chore: Correct language labels for Latvian language. (#7615) 2023-01-12 17:11:01 +00:00
github-actions[bot]
b29b50df0b @andzs has signed the CLA from Pull Request #7615 2023-01-12 14:38:42 +00:00
Laurent Cozic
91c3986f88 Tools: Remove .d.ts and .map files from ignored files (not needed anymore) 2023-01-12 13:33:39 +00:00
Joplin Bot
29e4a335fb Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-12 12:22:35 +00:00
Wartijn
4e942afba6 API: Fixes #6862 set todo related fields when adding or changing a todo (#7395) 2023-01-11 19:14:19 +00:00
Self Not Found
3bee0a142b Desktop: Fixes #6211: Try to replace the external link with internal link when attachment file is pasted in Markdown editor (#6865) 2023-01-11 19:12:34 +00:00
Henry Heino
9a9fdef512 Mobile: Confirm closing settings with unsaved changes (#7566) 2023-01-11 18:45:00 +00:00
Laurent Cozic
4888b4bd14 Tools: Enable eslint rule "comma-spacing" 2023-01-11 18:40:14 +00:00
Joplin Bot
bba3af17b7 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-11 18:20:46 +00:00
Henry Heino
b695acf4ed Mobile: Fixes #6682: Fixed issue when floating keyboard is visible (#7593) 2023-01-11 17:17:55 +00:00
Laurent Cozic
3367b52b53 Desktop: Fixes #7605: Hyperlink insertion no longer works in Markdown editor 2023-01-11 14:01:10 +00:00
github-actions[bot]
c31622f286 @matthijskooijman has signed the CLA from Pull Request #7611 2023-01-11 12:48:29 +00:00
Laurent Cozic
488e469e33 Desktop: Fixes #7610: Optimise sidebar rendering speed 2023-01-10 18:32:06 +00:00
Laurent Cozic
fa7d48a3bd Chore: Desktop: Add more ways to automatically populate the database 2023-01-10 18:14:48 +00:00
Henry Heino
0cd2fd660d iOS: Fixes #7553: Fix Dropdown accessibility (#7564) 2023-01-10 17:13:32 +00:00
Laurent Cozic
6bb52d5ad6 Mobile: Add support for multiple profiles 2023-01-10 12:08:13 +00:00
Laurent Cozic
c2d5fc13d7 Tools: Create an Android pre-release by default 2023-01-08 17:40:02 +00:00
Laurent Cozic
b1e5896d4c lock file 2023-01-08 17:38:25 +00:00
renovate[bot]
cc42b7bc38 Update dependency react-native-paper to v5.1.2 (#7600) 2023-01-08 17:29:37 +00:00
Laurent Cozic
4bdb3d0b7e Mobile: Upgrade to React Native 0.70 2023-01-08 17:23:53 +00:00
renovate[bot]
6601547b81 Update dependency react-native-paper to v5.1.0 (#7599) 2023-01-08 15:10:03 +00:00
Laurent Cozic
7e29804e68 Mobile: Upgrade to React Native 0.69 2023-01-08 13:39:27 +00:00
Henry Heino
257a24166e Chore: Mobile: Migrate action button to react-native-paper (#7477) 2023-01-08 12:22:41 +00:00
Laurent Cozic
8b3c9e81a7 Desktop: Fixes #7598: Fixed crash when loading certain plugins 2023-01-08 11:26:36 +00:00
Joplin Bot
c65e051e1f Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-07 18:18:23 +00:00
Henry Heino
a91c8ffbf3 Mobile: Fixes #7594: Remove gray line around text editor (#7595) 2023-01-07 17:49:14 +00:00
Henry Heino
0530c74924 Mobile: Configurable editor font size (#7596) 2023-01-07 17:47:52 +00:00
Henry Heino
2feed88c51 Tools: Ignore autogenerated .bundle.js.md5 file (#7590) 2023-01-07 17:45:43 +00:00
Laurent Cozic
2017e9d7e9 Doc: Add new sponsor 2023-01-07 16:08:14 +00:00
github-actions[bot]
afe6cb9454 @andy1631 has signed the CLA from Pull Request #7592 2023-01-07 15:21:19 +00:00
github-actions[bot]
690e22b39a @Mighil31 has signed the CLA from Pull Request #7591 2023-01-07 15:16:53 +00:00
Joplin Bot
8a0aa40707 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-07 12:18:35 +00:00
renovate[bot]
1f40a14084 Update dependency aws-sdk to v2.1290.0 (#7585) 2023-01-07 09:39:17 +00:00
Laurent Cozic
6b9a270225 Desktop: Fixes crash when changing note time from properties dialog 2023-01-06 20:50:11 +00:00
Laurent Cozic
0bc55bff7f Tools: Add delay before creating Renovate PR 2023-01-05 21:33:41 +00:00
Laurent Cozic
d9215b044f Tools: Add delay before creating Renovate PR 2023-01-05 21:31:12 +00:00
Laurent Cozic
2f9384f891 lock file 2023-01-05 21:13:08 +00:00
Joplin Bot
a172b1380e Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-05 18:17:06 +00:00
Laurent Cozic
0d4c074e84 Tools: Refactor Discourse code 2023-01-05 17:05:40 +00:00
Laurent Cozic
9eff7e6060 Mobile: Fixed biometics prompt on new devices 2023-01-05 13:30:09 +00:00
renovate[bot]
1edb345e85 Update dependency react-native-share to v8.1.0 (#7582) 2023-01-05 13:10:18 +00:00
Laurent Cozic
54ed374af6 Android 2.10.3 2023-01-05 13:08:48 +00:00
Laurent Cozic
9866e5912c Desktop release v2.10.4 2023-01-05 11:19:35 +00:00
Laurent Cozic
4058f624f4 lock file 2023-01-05 11:19:23 +00:00
Laurent Cozic
0bc15f40b3 Merge branch 'dev' into release-2.10 2023-01-05 11:12:09 +00:00
Laurent Cozic
7a55a08fec Android 2.10.2 2023-01-05 11:11:52 +00:00
Laurent Cozic
4efb6003dc Desktop: Fixes #7018: Plugin API DirectoryPath edit problems when path contain spaces 2023-01-05 11:05:23 +00:00
Laurent Cozic
f4f96cfe89 Update plugin types 2023-01-05 10:41:17 +00:00
Laurent Cozic
a43ce33adf Desktop: Fixed certain plugins that were using the sqlite3 database 2023-01-05 10:21:26 +00:00
renovate[bot]
f95ccd6700 Update dependency aws-sdk to v2.1288.0 (#7581)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-05 06:28:14 +00:00
Joplin Bot
07184301d1 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-05 00:43:41 +00:00
Laurent Cozic
0678dad2d6 Tools: Speed up building mobile CodeMirror when nothing has changed 2023-01-04 20:39:33 +00:00
Laurent Cozic
b2d59002bb Fix build 2023-01-04 20:25:09 +00:00
Laurent Cozic
7557791230 Remove debug code 2023-01-04 20:19:51 +00:00
Laurent Cozic
f10d9f75b0 Mobile: Add support for locking the app using biometrics 2023-01-04 20:18:51 +00:00
Laurent Cozic
5a05cc5797 Chore: Mobile: Suppress useless Icon.loadFont() warning 2023-01-04 20:18:24 +00:00
Joplin Bot
488394ff47 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-04 18:17:18 +00:00
renovate[bot]
b2ba0ee849 Update dependency @types/yargs to v17.0.19 (#7577)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-04 04:32:14 +00:00
renovate[bot]
6c108bbf6c Update dependency aws-sdk to v2.1287.0 (#7575)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-04 02:05:55 +00:00
Laurent Cozic
275c80ade5 Mobile: Fixed proxy timeout setting UI 2023-01-03 20:22:44 +00:00
Laurent Cozic
00bc25ed5c Revert "Mobile: Fixed proxy timeout setting UI"
Will cause unnecessary backward compatibility issues with plugins.

This reverts commit ff355b9f4d.
2023-01-03 20:19:27 +00:00
Laurent Cozic
f5ef318f70 Mobile: Make the new text editor the default one 2023-01-03 19:49:08 +00:00
Laurent Cozic
ff355b9f4d Mobile: Fixed proxy timeout setting UI 2023-01-03 19:49:05 +00:00
renovate[bot]
9a9d51caaf Update dependency eslint-config-prettier to v8.6.0 (#7570) 2023-01-03 12:41:01 +00:00
Laurent Cozic
3e6e75c27b Update renovate.json5 2023-01-03 10:27:01 +00:00
renovate[bot]
a8689816bf Update typescript-eslint monorepo to v5.48.0 (#7571)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-03 00:01:20 +00:00
Laurent Cozic
27d1a0ee7c Mobile: Fixes #7503: Settings save button visible even when no settings have been changed 2023-01-02 18:36:39 +00:00
Laurent Cozic
8e12ace3ed Android 2.10.2 2023-01-02 17:49:12 +00:00
Joplin Bot
d5c6690606 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-01 12:19:30 +00:00
Joplin Bot
f6741cf342 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-01-01 00:46:00 +00:00
renovate[bot]
44fad32ee5 Update dependency gettext-extractor to v3.6.1 (#7563)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 23:42:28 +00:00
Joplin Bot
bae7ff0ca5 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-12-31 18:15:31 +00:00
renovate[bot]
074d02da56 Update dependency eslint to v8.31.0 (#7562)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 14:18:12 +00:00
renovate[bot]
70b01b70c6 Update dependency aws-sdk to v2.1286.0 (#7557)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 11:48:11 +00:00
renovate[bot]
d29e4c434c Update dependency @types/react-redux to v7.1.25 (#7561)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 08:42:54 +00:00
renovate[bot]
423191bda9 Update dependency @types/jest to v29.2.5 (#7560)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 05:22:59 +00:00
Laurent Cozic
7a0af66c63 Desktop release v2.10.3 2022-12-31 00:39:20 +00:00
Laurent Cozic
49e444e73b Desktop: Fixes #7528: Fixed crash when closing PDF 2022-12-31 00:36:16 +00:00
Laurent Cozic
0db0a565b7 Desktop: Fixes #7499: Random crash when searching 2022-12-30 23:54:20 +00:00
Betty Alagwu
5fb01b5c7a Desktop: Fixes #7520: Search field doesn't get focus when pressing Ctrl+F (#7529) 2022-12-30 23:54:04 +00:00
Laurent Cozic
854f1163cd Desktop: Fixes #7493: Press Enter to select a tag 2022-12-30 23:39:45 +00:00
Roman Musin
d55f6aeb2a Linux: Revert "Linux: Fix AppImage icon when installing using Joplin_install_and_update.sh (#7346)" (#7559)
This reverts commit cb563f7e60.
2022-12-30 23:21:29 +00:00
Henry Heino
ea30a6bd38 Mobile: Fixes #6175: Enable autocorrect with spellcheck (#7532) 2022-12-30 23:20:56 +00:00
github-actions[bot]
e09b26b99b @roman-r-m has signed the CLA from Pull Request #7559 2022-12-30 21:35:38 +00:00
Henry Heino
e7386e6fe3 Chore: Mobile: Fix CodeMirror test failures (#7522) 2022-12-30 17:25:31 +00:00
Laurent Cozic
767213cdc1 Mobile: Add support for realtime search 2022-12-30 14:12:07 +00:00
Laurent Cozic
a189b2eff0 lock file 2022-12-30 13:36:19 +00:00
github-actions[bot]
655ea6945d @k33pn3xtlvl has signed the CLA from Pull Request #6722 2022-12-30 13:34:52 +00:00
renovate[bot]
5106ccee91 Update dependency aws-sdk to v2.1285.0 (#7556)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-30 06:12:21 +00:00
renovate[bot]
1ee515454a Update aws-sdk-js-v3 monorepo to v3.241.0 (#7555)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-30 03:53:44 +00:00
renovate[bot]
fc46c87ef7 Update dependency @types/yargs to v17.0.18 (#7554)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-30 01:02:53 +00:00
Laurent Cozic
422b81ae24 Android 2.10.1 2022-12-29 14:11:12 +00:00
renovate[bot]
17124e86d1 Update dependency aws-sdk to v2.1284.0 (#7549)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-28 22:04:12 +00:00
Laurent Cozic
d2aab6536c Fixed linter error 2022-12-28 16:12:36 +00:00
Laurent Cozic
ed71f68e1d iOS 12.10.1 2022-12-28 15:09:21 +00:00
Gavin Mogan
01d451f72a Server: Add in ability to use Postgres connection string in configuration (#6836) 2022-12-28 14:38:30 +00:00
renovate[bot]
5b3f07f3c5 Update dependency aws-sdk to v2.1283.0 (#7543)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-28 14:31:37 +00:00
renovate[bot]
edf7cab1ef Update dependency joplin-rn-alarm-notification to v1.0.7 (#7545)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-28 11:25:49 +00:00
github-actions[bot]
caaac5c1a2 @adarsh-sgh has signed the CLA from Pull Request #7546 2022-12-28 08:38:37 +00:00
Laurent Cozic
5a28a6bc90 Ignore package 2022-12-27 20:38:28 +00:00
Laurent Cozic
f9f7c86915 Chore: Remove obsolete patch 2022-12-27 19:38:41 +00:00
Laurent Cozic
e2d59ee1fa Mobile: Upgrade to react-native 0.68.5 2022-12-27 19:37:15 +00:00
Laurent Cozic
d81802e7d2 Mobile: Upgrade to react-native 0.67.5 2022-12-27 17:59:16 +00:00
Laurent Cozic
73bb79b558 Tools: Add suport for npm-package-json-lint 2022-12-27 17:39:48 +00:00
github-actions[bot]
c41ebe8d9d @asrient has signed the CLA from Pull Request #6845 2022-12-27 17:34:17 +00:00
Hitarth Thummar
8e2e7eccd9 Desktop: Resolve #6254: <details> elements remain closed when exporting to PDF (#7515) 2022-12-27 16:57:00 +00:00
Wartijn
527a7da2ff Desktop: Fixes #7329: Fixes import of tasklists from enex files (#7344) 2022-12-27 15:17:42 +00:00
github-actions[bot]
40399cf3e1 @ManavSarkar has signed the CLA from Pull Request #7541 2022-12-27 10:48:33 +00:00
renovate[bot]
873808a66a Update typescript-eslint monorepo to v5.47.1 (#7539)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-27 00:23:59 +00:00
renovate[bot]
cf300bc842 Update dependency @types/node to v18.11.18 (#7538)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-26 21:57:47 +00:00
Laurent Cozic
9a06824fde Server v2.10.5 2022-12-26 12:09:27 +00:00
Laurent Cozic
186316bb8b lock file 2022-12-26 11:56:47 +00:00
Laurent Cozic
5c8861cbd1 Server: Fixes #7525: Fixed regression that would prevent styles from being loaded in published notes 2022-12-26 11:56:34 +00:00
github-actions[bot]
c710cfd273 @ken1kob has signed the CLA from Pull Request #6469 2022-12-26 11:02:08 +00:00
Mr-Kanister
3ef41016b5 All: Translation: Update de_DE.po (#7531) 2022-12-24 21:19:15 -05:00
github-actions[bot]
85423fd835 @Mr-Kanister has signed the CLA from Pull Request #7531 2022-12-24 18:40:34 +00:00
Laurent Cozic
d690146f9f Chore: Make it easier to test publishing notes 2022-12-24 12:30:52 +00:00
renovate[bot]
944e0ef304 Update dependency aws-sdk to v2.1282.0 (#7527)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-24 06:36:12 +00:00
github-actions[bot]
409dcea0c6 @betty-alagwu has signed the CLA from Pull Request #7529 2022-12-24 03:09:03 +00:00
renovate[bot]
6c20cdefd4 Update aws-sdk-js-v3 monorepo to v3.238.0 (#7526)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-24 01:47:48 +00:00
renovate[bot]
300f1590ba Update dependency @types/react-dom to v18.0.10 (#7524)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-23 19:18:31 +00:00
github-actions[bot]
f6c2013df8 @Wartijn has signed the CLA from Pull Request #6886 2022-12-23 16:13:36 +00:00
renovate[bot]
e3dc77357c Update dependency aws-sdk to v2.1281.0 (#7514)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-22 22:37:33 +00:00
github-actions[bot]
a739636ce6 @halkeye has signed the CLA from Pull Request #6836 2022-12-22 17:52:40 +00:00
Laurent Cozic
7620c2b0b7 Tools: Disable CodeMirror flaky test 2022-12-22 14:30:04 +00:00
Laurent Cozic
60c4045000 Merge branch 'dev' of github.com:laurent22/joplin into dev 2022-12-22 13:19:35 +00:00
Laurent Cozic
39fb40dc37 Merge branch 'release-2.9' into dev 2022-12-22 13:18:10 +00:00
Laurent Cozic
145cb6c41e iOS 12.9.2 2022-12-22 12:42:38 +00:00
Laurent Cozic
de9f9985d1 Merge branch 'release-2.9' into dev 2022-12-22 12:40:57 +00:00
Laurent Cozic
23277aaf85 Mobile: Fixes #7471: Could not attach images to notes anymore 2022-12-22 12:38:11 +00:00
Henry Heino
e9e7a1d0df iOS: Fixes #7469: Note viewer inertial scroll is slower than native inertial scrolling (#7470) 2022-12-22 12:15:20 +00:00
github-actions[bot]
3453240833 @gtlsgamr has signed the CLA from Pull Request #7515 2022-12-22 09:35:15 +00:00
renovate[bot]
1882aac628 Update aws-sdk-js-v3 monorepo to v3.236.0 (#7513)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-22 08:59:20 +00:00
renovate[bot]
6868e7086b Update dependency sharp to v0.31.3 (#7512)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-22 06:31:50 +00:00
renovate[bot]
b35eeb6626 Update dependency react-native-image-picker to v4.10.3 (#7508)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-22 03:45:32 +00:00
renovate[bot]
98c56818bb Update contributor-assistant/github-action action to v2.2.1 (#7511)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-22 00:20:50 +00:00
github-actions[bot]
722a0df681 @personalizedrefrigerator has signed the CLA from Pull Request #7470 2022-12-21 21:22:46 +00:00
github-actions[bot]
115cf116a2 @wh201906 has signed the CLA from Pull Request #6865 2022-12-21 17:40:11 +00:00
Laurent Cozic
f34e048fad Update cla.md 2022-12-21 17:10:54 +00:00
github-actions[bot]
a754659ab9 @laurent22 has signed the CLA from Pull Request #7510 2022-12-21 16:54:28 +00:00
github-actions[bot]
0517d1e5d6 Creating file for storing CLA Signatures 2022-12-21 16:44:53 +00:00
Laurent Cozic
31795f6c78 Tools: Setup CLA Assistant Lite 2022-12-21 16:41:49 +00:00
Joplin Bot
5ac9178f79 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-12-21 12:20:02 +00:00
Laurent Cozic
faf0a4ec8d All: Switch license to AGPL-3.0 2022-12-21 10:00:31 +00:00
Manuel Tassi
be70cdf75b All: Translation: Update it_IT.po (#7492) 2022-12-21 01:47:43 -05:00
renovate[bot]
5284989a08 Update dependency aws-sdk to v2.1279.0 (#7495)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-21 06:10:40 +00:00
renovate[bot]
739449bde4 Update dependency jquery to v3.6.3 (#7504)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-21 03:20:22 +00:00
renovate[bot]
1e9cbc9606 Update aws-sdk-js-v3 monorepo to v3.235.0 (#7502)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-21 00:49:37 +00:00
renovate[bot]
0527dbbdc2 Update Yarn to v3.3.1 (#7501)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-20 21:20:04 +00:00
renovate[bot]
80f061a2ca Update dependency react-native-modal-datetime-picker to v14.0.1 (#7500)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-20 17:56:28 +00:00
Laurent Cozic
d687abd7ef Doc: Update Chinese page 2022-12-20 12:58:03 +00:00
renovate[bot]
c16a92081d Update typescript-eslint monorepo to v5.47.0 (#7490)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-20 10:19:43 +00:00
renovate[bot]
1289be1d90 Update dependency sass to v1.57.1 (#7498)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-20 07:30:56 +00:00
renovate[bot]
fdfabe8f92 Update dependency node-gyp to v9.3.1 (#7497)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-20 04:40:22 +00:00
renovate[bot]
db4e45ba61 Update aws-sdk-js-v3 monorepo to v3.234.0 (#7494)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-20 01:37:30 +00:00
Caleb John
28621f7e89 Linux: Use XDG_DATA_HOME for the .desktop file on linux (#7456) 2022-12-19 20:32:28 +00:00
Joplin Bot
ad2b6ef2fa Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-12-18 18:15:06 +00:00
Laurent Cozic
f6ca396e6e Chore: Server: Improve types to better detect dependency changes 2022-12-18 17:07:04 +00:00
Laurent Cozic
2f46a175ab Fixed tests 2022-12-18 16:39:02 +00:00
Laurent Cozic
79c84150a0 Server v2.10.4 2022-12-18 16:02:28 +00:00
Laurent Cozic
318a61e7c5 Merge branch 'dev' into release-2.10 2022-12-18 16:01:40 +00:00
Laurent Cozic
31c66ae3cd Server: Fixes #7463: Fixed regression introduced by form-parse lib update 2022-12-18 16:00:34 +00:00
Laurent Cozic
c50fdde5da lock file 2022-12-18 15:29:09 +00:00
renovate[bot]
a7f5a2089d Update dependency @react-native-community/slider to v4.4.0 (#7475) 2022-12-18 12:48:35 +00:00
Wartijn
10252228ae Desktop: Fixes #7434: Profile paths that contain special characters can break note rendering (#7449) 2022-12-18 12:41:36 +00:00
renovate[bot]
573222762a Update dependency @types/node to v18.11.17 (#7476)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-18 02:07:16 +00:00
klxiang
a2be4fc535 All: Translation: Update zh_CN.po (#7461)
translate
2022-12-17 17:42:09 -05:00
Jonatan
e555eafb33 All: Translation: Update sv.po (#7474) 2022-12-17 17:41:27 -05:00
renovate[bot]
fa7eb0ff9d Update dependency sass to v1.57.0 (#7468) 2022-12-17 10:16:24 +00:00
renovate[bot]
733b38250b Update dependency @types/nodemailer to v6.4.7 (#7473)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-17 06:59:08 +00:00
renovate[bot]
50177bd997 Update dependency eslint to v8.30.0 (#7467)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-17 04:26:27 +00:00
renovate[bot]
37ad911659 Update dependency @types/node to v18.11.16 (#7466)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-17 01:53:43 +00:00
renovate[bot]
538d6f3d47 Update dependency aws-sdk to v2.1277.0 (#7465)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-16 22:16:32 +00:00
Laurent Cozic
1c7ad612a7 Renamed file 2022-12-16 12:29:14 +00:00
Laurent Cozic
789b2005b8 Desktop release v2.10.2 2022-12-16 12:28:43 +00:00
Laurent Cozic
83038de321 Desktop release v2.10.1 2022-12-16 12:28:42 +00:00
Joplin Bot
871190b7ee Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-12-16 12:19:05 +00:00
Laurent Cozic
0a65d538c5 Desktop release v2.10.2 2022-12-16 12:15:47 +00:00
Laurent Cozic
5edf10c398 Merge branch 'dev' into release-2.10 2022-12-16 12:15:16 +00:00
Laurent Cozic
60db566c2d Desktop release v2.10.1 2022-12-16 12:14:53 +00:00
Laurent Cozic
36381a098f Tools: Fixing CI 2022-12-16 12:14:02 +00:00
Laurent Cozic
e6b54efe1b Desktop release v2.10.1 2022-12-16 11:08:03 +00:00
Laurent Cozic
ecde67c25f Doc: Version 2.9 release post 2022-12-16 11:06:33 +00:00
renovate[bot]
46d0100bb7 Update dependency aws-sdk to v2.1276.0 (#7459)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-16 04:59:30 +00:00
Joplin Bot
957b311872 Doc: Auto-update documentation
Auto-updated using release-website.sh
2022-12-16 00:42:14 +00:00
Laurent Cozic
7051459c47 Server v2.10.3 2022-12-15 23:32:34 +00:00
Laurent Cozic
69038e2d84 Tools: Fixing logic 2022-12-15 23:31:47 +00:00
Laurent Cozic
652a72aba7 Server v2.10.2 2022-12-15 23:26:45 +00:00
Laurent Cozic
9a1adff5fe Tools: Trying to fix server release 2022-12-15 23:25:23 +00:00
1054 changed files with 50672 additions and 37396 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -77,6 +77,7 @@ module.exports = {
'no-array-constructor': ['error'],
'radix': ['error'],
'eqeqeq': ['error', 'always'],
'no-console': ['error', { 'allow': ['warn', 'error'] }],
// Warn only for now because fixing everything would take too much
// refactoring, but new code should try to stick to it.
@@ -90,7 +91,12 @@ module.exports = {
// Disable because of this: https://github.com/facebook/react/issues/16265
// "react-hooks/exhaustive-deps": "warn",
'jest/require-top-level-describe': ['error', { 'maxNumberOfTopLevelDescribes': 1 }],
'jest/no-identical-title': ['error'],
'jest/prefer-lowercase-title': ['error', { 'ignoreTopLevelDescribe': true }],
'promise/prefer-await-to-then': 'error',
'no-unneeded-ternary': 'error',
// -------------------------------
// Formatting
@@ -109,6 +115,7 @@ module.exports = {
'exports': 'always-multiline',
'functions': 'never',
}],
'comma-spacing': ['error', { 'before': false, 'after': true }],
'no-trailing-spaces': 'error',
'linebreak-style': ['error', 'unix'],
'prefer-template': ['error'],
@@ -134,6 +141,14 @@ module.exports = {
'spaced-comment': ['error', 'always'],
'keyword-spacing': ['error', { 'before': true, 'after': true }],
'no-multi-spaces': ['error'],
// Regarding the keyword blacklist:
// - err: We generally avoid using too many abbreviations, so it should
// be "error", not "err"
// - notebook: In code, it should always be "folder" (not "notebook").
// In user-facing text, it should be "notebook".
'id-denylist': ['error', 'err', 'notebook', 'notebooks'],
'prefer-arrow-callback': ['error'],
},
'plugins': [
'react',
@@ -144,8 +159,19 @@ module.exports = {
// 'react-hooks',
'import',
'promise',
'jest',
],
'overrides': [
{
'files': [
'packages/tools/**',
'packages/app-mobile/tools/**',
'packages/app-desktop/tools/**',
],
'rules': {
'no-console': 'off',
},
},
{
// enable the rule specifically for TypeScript files
'files': ['*.ts', '*.tsx'],
@@ -154,10 +180,9 @@ module.exports = {
'project': './tsconfig.eslint.json',
},
'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'],
'@typescript-eslint/explicit-member-accessibility': ['error'],
'@typescript-eslint/type-annotation-spacing': ['error', { 'before': false, 'after': true }],
'@typescript-eslint/no-inferrable-types': ['error', { 'ignoreParameters': true, 'ignoreProperties': true }],
'@typescript-eslint/comma-dangle': ['error', {
'arrays': 'always-multiline',
'objects': 'always-multiline',
@@ -168,6 +193,7 @@ module.exports = {
'tuples': 'always-multiline',
'functions': 'never',
}],
'@typescript-eslint/object-curly-spacing': ['error', 'always'],
'@typescript-eslint/semi': ['error', 'always'],
'@typescript-eslint/member-delimiter-style': ['error', {
'multiline': {

View File

@@ -107,6 +107,12 @@ if [ "$IS_PULL_REQUEST" == "1" ] || [ "$IS_DEV_BRANCH" = "1" ]; then
if [ $testResult -ne 0 ]; then
exit $testResult
fi
yarn run packageJsonLint
testResult=$?
if [ $testResult -ne 0 ]; then
exit $testResult
fi
fi
# =============================================================================

View File

@@ -6,6 +6,7 @@ on: [push, pull_request]
jobs:
pre_job:
if: github.repository == 'laurent22/joplin'
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
@@ -16,6 +17,7 @@ jobs:
concurrent_skipping: 'same_content_newer'
BuildAndroidDebug:
if: github.repository == 'laurent22/joplin'
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
runs-on: ubuntu-latest

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

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

View File

@@ -6,6 +6,7 @@ permissions:
issues: write
jobs:
ProcessStaleIssues:
if: github.repository == 'laurent22/joplin'
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v4

View File

@@ -2,6 +2,7 @@ name: Joplin Continuous Integration
on: [push, pull_request]
jobs:
pre_job:
if: github.repository == 'laurent22/joplin'
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
@@ -13,7 +14,8 @@ jobs:
Main:
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
# We always process server or desktop release tags, because they also publish the release
if: github.repository == 'laurent22/joplin' && (needs.pre_job.outputs.should_skip != 'true' || startsWith(github.ref, 'refs/tags/server-v') || startsWith(github.ref, 'refs/tags/v'))
runs-on: ${{ matrix.os }}
strategy:
matrix:
@@ -69,7 +71,9 @@ jobs:
- uses: olegtarasov/get-tag@v2.1
- uses: actions/setup-node@v2
with:
node-version: '18'
# We need to pin the version to 18.15, because 18.16+ fails with this error:
# https://github.com/facebook/react-native/issues/36440
node-version: '18.15.0'
- name: Install Yarn
run: |
@@ -91,6 +95,7 @@ jobs:
APPLE_ASC_PROVIDER: ${{ secrets.APPLE_ASC_PROVIDER }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
CSC_KEY_PASSWORD: ${{ secrets.APPLE_CSC_KEY_PASSWORD }}
CSC_LINK: ${{ secrets.APPLE_CSC_LINK }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
@@ -128,7 +133,7 @@ jobs:
ServerDockerImage:
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
if: github.repository == 'laurent22/joplin' && needs.pre_job.outputs.should_skip != 'true'
runs-on: ${{ matrix.os }}
strategy:
matrix:

1576
.gitignore vendored

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

@@ -1,33 +0,0 @@
diff --git a/android/build.gradle b/android/build.gradle
index 1ae415331855895ed6c65d72e155ff91d02b4b39..a7548535a7fb08800fb4731c1d8e36efa8afa1ae 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -22,7 +22,7 @@ def safeExtGet(prop, fallback) {
}
apply plugin: 'com.android.library'
-apply plugin: 'maven'
+apply plugin: 'maven-publish'
buildscript {
// The Android Gradle plugin is only required when opening the android folder stand-alone.
@@ -41,7 +41,7 @@ buildscript {
}
apply plugin: 'com.android.library'
-apply plugin: 'maven'
+apply plugin: 'maven-publish'
android {
compileSdkVersion safeExtGet('compileSdkVersion', DEFAULT_COMPILE_SDK_VERSION)
@@ -140,10 +140,5 @@ afterEvaluate { project ->
task installArchives(type: Upload) {
configuration = configurations.archives
- repositories.mavenDeployer {
- // Deploy to react-native-event-bridge/maven, ready to publish to npm
- repository url: "file://${projectDir}/../android/maven"
- configureReactNativePom pom
- }
}
}

View File

@@ -0,0 +1,20 @@
diff --git a/src/RNCamera.js b/src/RNCamera.js
index b7a271ad64771c0f654dbd5fe3c0d9e0d2e2c4ef..1182a40ace081a32fbaefe2bc4a499b79c2e7dac 100644
--- a/src/RNCamera.js
+++ b/src/RNCamera.js
@@ -5,7 +5,6 @@ import {
findNodeHandle,
Platform,
NativeModules,
- ViewPropTypes,
requireNativeComponent,
View,
ActivityIndicator,
@@ -14,6 +13,7 @@ import {
PermissionsAndroid,
} from 'react-native';
+import ViewPropTypes from 'deprecated-react-native-prop-types';
import type { FaceFeature } from './FaceDetector';
const Rationale = PropTypes.shape({

View File

@@ -0,0 +1,30 @@
diff --git a/android/src/main/java/com/RNFetchBlob/RNFetchBlobReq.java b/android/src/main/java/com/RNFetchBlob/RNFetchBlobReq.java
index a8abd71833879201e3438b2fa51d712a311c4551..ffe9c2c6dfa5c703ba76b65d94d5dd6784102c19 100644
--- a/android/src/main/java/com/RNFetchBlob/RNFetchBlobReq.java
+++ b/android/src/main/java/com/RNFetchBlob/RNFetchBlobReq.java
@@ -591,7 +591,7 @@ public class RNFetchBlobReq extends BroadcastReceiver implements Runnable {
// ignored.printStackTrace();
}
- RNFetchBlobFileResp rnFetchBlobFileResp = (RNFetchBlobFileResp) responseBody;
+ RNFetchBlobFileResp rnFetchBlobFileResp = new RNFetchBlobFileResp(responseBody);
if(rnFetchBlobFileResp != null && !rnFetchBlobFileResp.isDownloadComplete()){
callback.invoke("Download interrupted.", null);
diff --git a/android/src/main/java/com/RNFetchBlob/Response/RNFetchBlobFileResp.java b/android/src/main/java/com/RNFetchBlob/Response/RNFetchBlobFileResp.java
index 2470eef612308c15a89dfea5a1f16937469be29f..965f8becc195965907699182c764ec9e51811450 100644
--- a/android/src/main/java/com/RNFetchBlob/Response/RNFetchBlobFileResp.java
+++ b/android/src/main/java/com/RNFetchBlob/Response/RNFetchBlobFileResp.java
@@ -35,6 +35,12 @@ public class RNFetchBlobFileResp extends ResponseBody {
FileOutputStream ofStream;
boolean isEndMarkerReceived;
+ // ref: https://github.com/joltup/rn-fetch-blob/issues/490#issuecomment-990899440
+ public RNFetchBlobFileResp(ResponseBody body) {
+ super();
+ this.originalBody = body;
+ }
+
public RNFetchBlobFileResp(ReactApplicationContext ctx, String taskId, ResponseBody body, String path, boolean overwrite) throws IOException {
super();
this.rctContext = ctx;

File diff suppressed because one or more lines are too long

View File

@@ -6,7 +6,7 @@ plugins:
- path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs
spec: "@yarnpkg/plugin-workspace-tools"
yarnPath: .yarn/releases/yarn-3.3.0.cjs
yarnPath: .yarn/releases/yarn-3.3.1.cjs
logFilters:

View File

@@ -657,6 +657,16 @@ footer .bottom-links-row p {
font-size: 1.1em;
}
.language-switcher {
display: inline;
}
.language-switcher > button {
border: none;
background-color: transparent;
color: #0557ba;
}
/*****************************************************************
WHAT'S NEW PAGE
*****************************************************************/
@@ -728,6 +738,16 @@ footer .bottom-links-row p {
}
}
/*****************************************************************
LARGE VIEW
*****************************************************************/
@media (max-width: 1200px) {
#nav-section a {
margin-left: 10px;
}
}
/*****************************************************************
MEDIUM VIEW
- Make menu bar elements smaller and closer to each others
@@ -770,6 +790,7 @@ footer .bottom-links-row p {
#menu-mobile .social-links .social-link-mastodon,
#menu-mobile .social-links .social-link-reddit,
#menu-mobile .social-links .social-link-linkedin,
#menu-mobile .social-links .social-link-patreon {
display: none;
}
@@ -937,6 +958,41 @@ footer .bottom-links-row p {
}
}
/*****************************************************************
MORE NARROW VIEW
eg for Galaxy S9
*****************************************************************/
@media (max-width: 580px) {
#nav-section .plans-button {
display: none;
}
}
/*****************************************************************
MORE NARROW VIEW
eg for Galaxy S9
*****************************************************************/
@media (max-width: 400px) {
#nav-section .navbar-mobile-content a.sponsor-button .sponsor-button-label {
font-size: 12px;
}
#nav-section .navbar-mobile-content a.sponsor-button {
padding: 2px 6px;
margin-right: 0.2em;
}
#nav-section a {
margin-left: 5px;
}
}
/*****************************************************************
VERY NARROW VIEW
eg for Galaxy Fold
@@ -954,6 +1010,19 @@ footer .bottom-links-row p {
display: none;
}
#nav-section a {
margin-left: 4px;
}
div.navbar-mobile-content a.sponsor-button {
margin-right: 10px;
}
#nav-section .button-link {
padding-left: 0;
padding-right: 0;
}
}
/*****************************************************************

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 963 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -39,7 +39,7 @@ msgstr "<span class=\"frame-bg frame-bg-yellow\">多媒体</span>说明"
msgid "100% <span class=\"frame-bg frame-bg-yellow-lg\">your data</span>"
msgstr "百分之百<span class=\"frame-bg frame-bg-yellow-lg\">你的数据</span>"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:284
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:298
msgid "A <span class=\"frame-bg frame-bg-yellow-lg\">French</span> Alternative"
msgstr "一个<span class=\"frame-bg frame-bg-yellow-lg\">法国</span>的替代方案"
@@ -80,7 +80,7 @@ msgstr "下载该应用程序"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:213
msgid "Find out more"
msgstr ""
msgstr "了解更多"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:54
msgid "Free your <span class=\"frame-bg frame-bg-blue\">notes</span>"
@@ -99,7 +99,7 @@ msgstr ""
"Joplin,由于其起源和设计,适应并尊重中国的标准和规则。这保证了您的使用不受限"
"制,以及您的使用数据的完全透明和安全。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:301
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:327
msgid "In the <span class=\"frame-bg frame-bg-yellow\">Press</span>"
msgstr ""
@@ -107,6 +107,15 @@ msgstr ""
msgid "Joplin Cloud <span class=\"frame-bg frame-bg-yellow\">plans</span>"
msgstr "乔普林云<span class=\"frame-bg frame-bg-yellow\">计划</span>"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:301
msgid ""
"Joplin Cloud is based in France. This means your data is protected by strict "
"European Union privacy laws. In addition, Joplin Cloud implements strong end-"
"to-end encryption so that not even us can have access to your data."
msgstr ""
"Joplin Cloud 位于法国。 这意味着您的数据受到严格的欧盟隐私法的保护。 此外,"
"Joplin Cloud 实施了强大的端到端加密,因此即使是我们也无法访问您的数据。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:57
msgid ""
"Joplin is an open source note-taking app. Capture your thoughts and securely "
@@ -114,20 +123,11 @@ msgid ""
msgstr ""
"Joplin是一个开源的记事本应用程序。捕捉你的想法并从任何设备上安全地访问它们。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:287
msgid ""
"Joplin, due to its origin and design, adapts and respects Chinese standards "
"and rules. This guarantees your unrestricted use and complete transparency "
"and security of your usage data."
msgstr ""
"Joplin,由于其起源和设计,适应并尊重中国的标准和规则。这保证了您的使用不受限"
"制,以及您的使用数据的完全透明和安全。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:262
msgid "More about E2EE"
msgstr ""
msgstr "关于E2EE的更多信息"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:365
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:391
msgid "Our <span class=\"frame-bg frame-bg-blue-lg\">sponsors</span>"
msgstr ""
@@ -148,7 +148,7 @@ msgstr "保存<span class=\"frame-bg frame-bg-blue\">网页</span> <br>作为笔
msgid "Sign up with Joplin Cloud"
msgstr "与乔布林云签约"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:368
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:394
msgid "Thank you for your support!"
msgstr ""
@@ -184,7 +184,7 @@ msgstr "<span class=\"frame-bg frame-bg-yellow\">一起</span>工作"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:141
msgid ""
"You can also publish a note to the internet and share the URL with others."
msgstr ""
msgstr "您还可以将笔记发布到 Internet 并与其他人共享 URL。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:233
msgid ""
@@ -192,3 +192,11 @@ msgid ""
"are"
msgstr ""
"你的笔记<span class=\"frame-bg frame-bg-blue-lg\">你在哪里都可以</span>"
#~ msgid ""
#~ "Joplin, due to its origin and design, adapts and respects Chinese "
#~ "standards and rules. This guarantees your unrestricted use and complete "
#~ "transparency and security of your usage data."
#~ msgstr ""
#~ "Joplin,由于其起源和设计,适应并尊重中国的标准和规则。这保证了您的使用不受"
#~ "限制,以及您的使用数据的完全透明和安全。"

View File

@@ -1,4 +1,75 @@
<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Joplin]]></title><description><![CDATA[Joplin, the open source note-taking application]]></description><link>https://joplinapp.org</link><generator>RSS for Node</generator><lastBuildDate>Fri, 09 Dec 2022 00:00:00 GMT</lastBuildDate><atom:link href="https://joplinapp.org/rss.xml" rel="self" type="application/rss+xml"/><pubDate>Fri, 09 Dec 2022 00:00:00 GMT</pubDate><item><title><![CDATA[Joplin is hiring!]]></title><description><![CDATA[<p>Joplin is an open source note-taking app. Capture your thoughts and securely access them from any device.</p>
<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Joplin]]></title><description><![CDATA[Joplin, the open source note-taking application]]></description><link>https://joplinapp.org</link><generator>RSS for Node</generator><lastBuildDate>Thu, 02 Mar 2023 00:00:00 GMT</lastBuildDate><atom:link href="https://joplinapp.org/rss.xml" rel="self" type="application/rss+xml"/><pubDate>Thu, 02 Mar 2023 00:00:00 GMT</pubDate><item><title><![CDATA[Joplin will participate in JdLL 2023!]]></title><description><![CDATA[<p>On 1 and 2 April 2023, we will have a stand for Joplin at the <a href="https://www.jdll.org/">Journées du Logiciel Libre</a> in Lyon, France. The JdLL has been taking place in Lyon for 24 years and is a popular open source conference in France. We had a stand in 2020 and 2021 but that was cancelled due to Covid, so this year is a first for Joplin!</p>
<p>Admission is free, so don't hesitate to come and meet us, exchange ideas and learn more about Joplin!</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20230202-jdll.jpg" alt="Joplin at JdLL 2023"></p>
]]></description><link>https://joplinapp.org/news/20230302-jdll-2023/</link><guid isPermaLink="false">20230302-jdll-2023</guid><pubDate>Thu, 02 Mar 2023 00:00:00 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[Introducing the "GitHub Actions Raw Log Viewer" extension for Chrome]]></title><description><![CDATA[<p>If you've ever used GitHub Actions, you will find that they provide by default a nice coloured output for the log. It looks good and it's even interactive! (You can click to collapse/expand blocks of text) But unfortunately it doesn't scale to large workflows, like we have for Joplin - the log can freeze and it will take forever to search for something. Indeed searching is done in &quot;real time&quot;... which mostly means it will freeze for a minute or two for each letter you type in the search box. Not great.</p>
<p>Thankfully GitHub provides an alternative access: the raw logs. This is much better because they will open as plain text, without any styling or JS magic, which means you can use the browser native search and it will be fast.</p>
<p>But now the problem is that raw logs look like this:</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20230116-ga-raw-log.png" alt="Raw log without extension"></p>
<p>While it's not impossible to read, all colours that would display nicely in a terminal are gone and replaced by <a href="https://en.wikipedia.org/wiki/ANSI_escape_code">ANSI codes</a>. You can find what you need in there but it's not particularly easy.</p>
<p>This is where the new <strong>GitHub Action Raw Log Viewer</strong> extension for Chrome can help. It will parse your raw log and convert the ANSI codes to proper colours. This results in a much more readable rendering:</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20230116-ga-raw-log-colored.png" alt="Raw log with extension"></p>
<p>The extension is fast even for very large logs and it's of course easy to search for text since it simply works with your browser built-in search.</p>
<p>The extension is open source, with the code available here: <a href="https://github.com/laurent22/github-actions-logs-extension">https://github.com/laurent22/github-actions-logs-extension</a></p>
<p>And to install it, follow this link:</p>
<p><a href="https://chrome.google.com/webstore/detail/github-action-raw-log-vie/lgejlnoopmcdglhfjblaeldbcfnmjddf"><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20230116-extension-get-it-now.png" alt="Download GitHub Action Raw Log Viewer extension"></a></p>
]]></description><link>https://joplinapp.org/news/20230116-github-actions-log-viewer/</link><guid isPermaLink="false">20230116-github-actions-log-viewer</guid><pubDate>Mon, 16 Jan 2023 00:00:00 GMT</pubDate><twitter-text>Introducing the &quot;GitHub Action Raw Log Viewer&quot; extension for Chrome</twitter-text></item><item><title><![CDATA[Joplin is switching to the GNU Affero General Public License v3 (AGPL-3.0)]]></title><description><![CDATA[<p>As was <a href="https://discourse.joplinapp.org/t/rfc-switch-to-agpl-license-for-joplin-server/16529">discussed last year</a>, Joplin is switching to the GNU Affero General Public License v3 (AGPL-3.0) for the desktop, mobile and CLI applications, as well as the web clipper.</p>
<p>Any open source or commercial fork of Joplin will have to license any changes they make under AGPL, and share these changes back with the community. This is the main reason we switch to this license. It allows us to continue releasing the project as open source while ensuring that those who benefit commercially (or not) from it share back their changes.</p>
<h2>What is the GPL license?<a name="what-is-the-gpl-license" href="#what-is-the-gpl-license" class="heading-anchor">🔗</a></h2>
<p>The AGPL license is based on the GPL license. This is what tldr;Legal has to say about the GPL license:</p>
<blockquote>
<p>You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build &amp; install instructions. (<a href="https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3)">source</a>)</p>
</blockquote>
<h2>What is the AGPL license?<a name="what-is-the-agpl-license" href="#what-is-the-agpl-license" class="heading-anchor">🔗</a></h2>
<p>This is the license we'll use for Joplin from now on:</p>
<blockquote>
<p>The AGPL license differs from the other GNU licenses in that it was built for network software. You can distribute modified versions if you keep track of the changes and the date you made them. As per usual with GNU licenses, you must license derivatives under AGPL. It provides the same restrictions and freedoms as the GPLv3 but with an additional clause which makes it so that source code must be distributed along with web publication. Since web sites and services are never distributed in the traditional sense, the AGPL is the GPL of the web. (<a href="https://tldrlegal.com/license/gnu-affero-general-public-license-v3-(agpl-3.0)">source</a>)</p>
</blockquote>
<h2>What does it change for users?<a name="what-does-it-change-for-users" href="#what-does-it-change-for-users" class="heading-anchor">🔗</a></h2>
<p>There is no changes for users of Joplin - the apps remain open sources and you can still use them freely.</p>
<h2>What does it change for developers?<a name="what-does-it-change-for-developers" href="#what-does-it-change-for-developers" class="heading-anchor">🔗</a></h2>
<p>Any code you develop for Joplin will also remain open source. The only difference is that we'll ask to sign an Individual Contributor License Agreement (CLA) to ensure that the copyright of the entire codebase remains with the Joplin organisation. This is necessary so that if we ever want to change the license again we are able to do so without having to get the agreement of each individual contributor afterwards (which would be nearly impossible).</p>
<p>This is a bit of an extra constraint but it is hard to avoid. Contributor License Agreements are very common for GPL or AGPL projects. For example Apache, Canonical or Python all require their contributors to sign a CLA.</p>
<h2>Questions?<a name="questions" href="#questions" class="heading-anchor">🔗</a></h2>
<p>If you have any questions please let us know. Overall we believe this is a positive improvements for Joplin as it means any work derives from it will also benefit the project.</p>
]]></description><link>https://joplinapp.org/news/20221221-agpl/</link><guid isPermaLink="false">20221221-agpl</guid><pubDate>Wed, 21 Dec 2022 00:00:00 GMT</pubDate><twitter-text>Joplin is switching to the GNU Affero General Public License v3 (AGPL-3.0)</twitter-text></item><item><title><![CDATA[What's new in Joplin 2.9]]></title><description><![CDATA[<h2>Proxy support<a name="proxy-support" href="#proxy-support" class="heading-anchor">🔗</a></h2>
<p>Both the desktop and mobile application now support proxies thanks to the work of Jason Williams. This will allow you to use the apps in particular when you are behind a company proxy.</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20221216-proxy-support.png" alt=""></p>
<h2>New PDF viewer<a name="new-pdf-viewer" href="#new-pdf-viewer" class="heading-anchor">🔗</a></h2>
<p>The desktop application now features a new PDF viewer thanks to the work of Asrient during GSoC.</p>
<p>The main advantage for now is that this viewer preserves the last PDF page that was read. In the next version, the viewer will also include a way to annotate PDF files.</p>
<h2>Multi-language spell checking<a name="multi-language-spell-checking" href="#multi-language-spell-checking" class="heading-anchor">🔗</a></h2>
<p>The desktop app include a multi-language spell checking features, which allows you, for example, to spell-check notes in your native language and in English.</p>
<h2>New mobile text editor<a name="new-mobile-text-editor" href="#new-mobile-text-editor" class="heading-anchor">🔗</a></h2>
<p>Writing formatted notes on mobile has always been cumbersome due to the need to enter special format characters like <code>*</code> or <code>[</code>, etc.</p>
<p>Thanks to the work of Henry Heino during GSoC, writing notes on the go is now easier thanks to an improved Markdown editor.</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20221216-mobile-beta-editor.png" alt=""></p>
<p>The most visible feature is the addition of a toolbar, which helps input those special characters, like on desktop.</p>
<p>Moreover Henry made a lot of subtle but useful improvements to the editor, for example to improve the note appearance, to improve list continuation, etc. Search within a note is now also supported as well as spell-checking.</p>
<p>At a more technical level, Henry also added many test units to ensure that the editor remains robust and reliable.</p>
<p>To enable the feature, go to the configuration screen and selected &quot;Opt-in to the editor beta&quot;. It is already very stable so we will probably promote it to be the main editor from the next version.</p>
<h2>Improved alignment of notebook icons<a name="improved-alignment-of-notebook-icons" href="#improved-alignment-of-notebook-icons" class="heading-anchor">🔗</a></h2>
<p>Previously, when you would assign an icon to a notebook, it would shift the title to the right, but notebook without an icon would not. It means that notebooks with and without an icon would not be vertically aligned.</p>
<p>To tidy things up, this new version adds a default icons to notebooks without an explicitly assigned icon. This result in the notebook titles being correctly vertically aligned.</p>
<p>Note that this feature is only enabled if you use custom icons - otherwise it will simply display the notebook titles without any default icons, as before.</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20221216-notebook-icons.png" alt=""></p>
<h2>Improved handling of file attachments<a name="improved-handling-of-file-attachments" href="#improved-handling-of-file-attachments" class="heading-anchor">🔗</a></h2>
<p>Self Not Found made a number of small but useful improvements to attachment handling, including increasing the maximum size to 200MB, adding support for attaching multiple files, and fixing issues with synchronising attachments via proxy.</p>
<h2>Fixed filesystem sync on mobile<a name="fixed-filesystem-sync-on-mobile" href="#fixed-filesystem-sync-on-mobile" class="heading-anchor">🔗</a></h2>
<p>This was a long and complex change due to the need to support new Android APIs but hopefully that should now be working again, thanks to the work of jd1378.</p>
<p>So you can now sync again your notes with Syncthing and other file-based synchronisation systems.</p>
<h2>And more...<a name="and-more" href="#and-more" class="heading-anchor">🔗</a></h2>
<p>In total this new desktop version includes 36 improvements, bug fixes, and security fixes.</p>
<p>As always, a lot of work went into the Android and iOS app too, which include 37 improvements, bug fixes, and security fixes.</p>
<p>See here for the changelogs:</p>
<ul>
<li><a href="https://joplinapp.org/changelog/">Desktop app changelog</a></li>
<li><a href="https://joplinapp.org/changelog_android/">Android app changelog</a></li>
</ul>
<h2>About the Android version<a name="about-the-android-version" href="#about-the-android-version" class="heading-anchor">🔗</a></h2>
<p>Unfortunately we cannot publish the Android version because it is based on a framework version that Google does not accept. To upgrade the app a lot of changes are needed and another round of pre-releases, and therefore there will not be a 2.9 version for Google Play. You may however download the official APK directly from there: <a href="https://github.com/laurent22/joplin-android/releases/tag/android-v2.9.8">Android 2.9 Official Release</a></p>
<p>This is the reality of app stores in general - small developers being imposed never ending new requirements by all-powerful companies, and by the time a version is finally ready we can't even publish it because yet more requirements are in place.</p>
<p>For the record the current 2.9 app works perfectly fine. It targets Android 11, which is only 2 years old and is still supported (and installed on millions of phones). Google requires us to target Android 12 which only came out last year.</p>
]]></description><link>https://joplinapp.org/news/20221216-release-2-9/</link><guid isPermaLink="false">20221216-release-2-9</guid><pubDate>Fri, 16 Dec 2022 00:00:00 GMT</pubDate><twitter-text>What&apos;s new in Joplin 2.9</twitter-text></item><item><title><![CDATA[Joplin is hiring!]]></title><description><![CDATA[<p>Joplin is an open source note-taking app. Capture your thoughts and securely access them from any device.</p>
<p>We are looking to hire two JavaScript software developers to work on the desktop, mobile, and server applications. All those are built using modern technologies, including React, React Native and Electron with a strong focus on test units.</p>
<p>You need to demonstrate some experience with at least some of these technologies, and willing to learn more and touch various different projects.</p>
<p>You will be part of a small team, so you will have an opportunity for a high-impact role, targeting hundreds of thousands of users.</p>
@@ -226,27 +297,4 @@
<p>This release also includes about 30 various bug fixes and improvements.</p>
<p>A notable one is a fix for GotoAnything, which recently wasn't working on first try.</p>
<p>The plugin screen has also been improved so that search works even when GitHub is down or blocked, as it is in China in particular.</p>
]]></description><link>https://joplinapp.org/news/20210929-144036/</link><guid isPermaLink="false">20210929-144036</guid><pubDate>Wed, 29 Sep 2021 14:40:36 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[Introducing recommended plugins in the next Joplin version]]></title><description><![CDATA[<p>A common request from new users is how to know which plugin is safe to install or not. In fact probably all of them are safe but as a new user that's not necessarily easy to know. So to help with this, the next version of Joplin will support recommended plugins - those will be plugins that meet our standards of quality and performance, and they will be indicated by a small crown tag inside the plugin box. Recommended plugins will also appear on top when searching.</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20210901-113415_0.png" alt=""></p>
<p>For now, since we don't have a review process, the recommended plugins are those developed by the Joplin team and frequent contributors, because we know those are safe to use.</p>
<p>Later we might have a review process and add more recommended plugins. That being said, in the meantime even if a plugin is not marked as recommended, there's a good chance it is still safe and have good performance too. Often you can search for it on the forum and if it's active with many users commenting, you're most likely good to go.</p>
<p>But if there's any doubt, the recommended tag is a good way to be sure.</p>
]]></description><link>https://joplinapp.org/news/20210901-113415/</link><guid isPermaLink="false">20210901-113415</guid><pubDate>Wed, 01 Sep 2021 11:34:15 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[Joplin Cloud is officially production ready!]]></title><description><![CDATA[<p><a href="https://joplinapp.org/plans/">Joplin Cloud</a> has been out of beta for a few weeks now and since then it has been quietly running without any troubles. There is no known bugs and the service is running smoothly so it's now safe to say that it is production ready!</p>
<p>As a reminder, Joplin Cloud is meant to provide a more seamless Joplin experience - if you want to quickly get started, it's as easy as downloading the app and getting a Joplin Cloud account. Besides improved sync performance, that will give you the ability to collaborate on notebooks with others, as well as publishing and sharing notes.</p>
<p>Of course Joplin still supports other sync options such as Nextcloud, Dropbox and OneDrive or AWS S3. You can also self host using Joplin Server. The advantage of Joplin Cloud being that you don't need to maintain a server yourself - for a small fee you'll get that taken care of.</p>
<p>Additionally, subscribing to Joplin Cloud is a great way to support the project as a whole, including the open source applications. Such support is needed in the long term to provide bug and security fixes, add new features, and provide support.</p>
<p>At some level it is also an experiment, to see if such a service is financially viable and can allow me to work full time on the project. This is certainly something I would like, and perhaps Joplin Cloud combined with your donations will allow that.</p>
]]></description><link>https://joplinapp.org/news/20210831-154354/</link><guid isPermaLink="false">20210831-154354</guid><pubDate>Tue, 31 Aug 2021 15:43:54 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[How to start your subscription if you have a free Joplin Cloud Beta account]]></title><description><![CDATA[<p>For anyone with a beta account, if you would like to keep using it after the end of the trial period, there is now a button to do this from the Joplin Cloud home page:</p>
<img height="222" src="https://aws1.discourse-cdn.com/standard14/uploads/cozic/optimized/2X/e/e2b54352d0e401e692a75817f6faa0432322c405_2_517x222.png" width="517">
<p>If you click on it you will be sent to the Plans page via a special link. Then once you click on &quot;Buy now&quot; you will be sent to the Stripe page where you can start the subscription.</p>
<p>As mentioned in the message, the process takes into account your remaining beta trial days. So for example, if your beta account expires in 60 days, the subscription will have a free 60 days trial period. This is so you don't lose any of the beta trial days no matter when you start the subscription.</p>
<p>If you have any question about it, please let me know.</p>
]]></description><link>https://joplinapp.org/news/20210804-085003/</link><guid isPermaLink="false">20210804-085003</guid><pubDate>Wed, 04 Aug 2021 08:50:03 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[New beta editor for the mobile app]]></title><description><![CDATA[<p>The <a href="https://github.com/laurent22/joplin-android/releases">latest Android pre-release 24</a> features an improved beta editor, which I hope could become a replacement for the very basic editor we have at the moment.</p>
<p>It's still experimental because it's based on the equally experimental CodeMirror 6, however for simple editing tasks it seems to work fine. At the moment the improvements are:</p>
<p>- Syntax highlighting for various tags such as bold, italic and headings.</p>
<p>- List continuation for ordered and unordered lists (I didn't try checklists but I assume it doesn't work)</p>
<p>- Improved undo/redo</p>
<p>- Maybe better handling of large documents? CodeMirror 6 has a demo that loads a document with millions of lines, so maybe that will solve the performance issues that some users were having</p>
<p>If everything works well, later on we should be able to add things like a toolbar, spellchecking and other features that are impossible with the current editor.</p>
<p>If you find any bug, feel free to report here. Also make sure you backup your notes regularly in case there's an issue!</p>
]]></description><link>https://joplinapp.org/news/20210729-103234/</link><guid isPermaLink="false">20210729-103234</guid><pubDate>Thu, 29 Jul 2021 10:32:34 GMT</pubDate><twitter-text></twitter-text></item></channel></rss>
]]></description><link>https://joplinapp.org/news/20210929-144036/</link><guid isPermaLink="false">20210929-144036</guid><pubDate>Wed, 29 Sep 2021 14:40:36 GMT</pubDate><twitter-text></twitter-text></item></channel></rss>

View File

@@ -421,7 +421,7 @@
</div>
<script
src="{{jsBaseUrl}}/bootstrap5.0.2.min.js"
src="{{jsBaseUrl}}/bootstrap5.0.2.bundle.min.js"
rel="preload"
as="script"
></script>

View File

@@ -85,6 +85,11 @@ https://github.com/laurent22/joplin/blob/dev/{{{sourceMarkdownFile}}}
{{> footer}}
</div>
<script
src="{{jsBaseUrl}}/bootstrap5.0.2.bundle.min.js"
rel="preload"
as="script"
></script>
<script src="{{{assetUrls.js.script}}}"></script>
{{> analytics}}

View File

@@ -16,6 +16,22 @@
<a href="{{baseUrl}}/news/" class="fw500">News</a>
<a href="{{baseUrl}}/help/" class="fw500">Help</a>
<a href="{{forumUrl}}" class="fw500">Forum</a>
<a href="{{baseUrl}}/cn/" class="fw500">中文</a>
<!--
<div class="dropdown language-switcher">
<button class="fw500" type="button" id="dropdownMenuButton1" data-bs-toggle="dropdown" aria-expanded="false">
Language
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</div>
-->
{{#showJoplinCloudLinks}}
{{> joplinCloudButton}}
{{/showJoplinCloudLinks}}
@@ -23,6 +39,8 @@
</div>
<div class="col-9 text-right d-block d-md-none navbar-mobile-content">
{{> twitterLink}}
<a href="{{baseUrl}}/cn/" class="fw500 chinese-page-link">中文</a>
{{> joplinCloudButton}}
{{> supportButton}}
<span class="pointer"

View File

@@ -4,6 +4,7 @@
<a class="social-link-mastodon" href="https://mastodon.social/@joplinapp" title="Joplin Mastodon feed"><i class="fab fa-mastodon"></i></a>
<a class="social-link-patreon" href="https://www.patreon.com/joplin" title="Joplin Patreon"><i class="fab fa-patreon"></i></a>
<a class="social-link-discord" href="https://discord.gg/VSj7AFHvpq" title="Joplin Discord chat"><i class="fab fa-discord"></i></a>
<a class="social-link-linkedin" href="https://www.linkedin.com/company/joplin" title="Joplin LinkedIn Feed"><i class="fab fa-linkedin"></i></a>
<a class="social-link-reddit" href="https://www.reddit.com/r/joplinapp/" title="Joplin Subreddit"><i class="fab fa-reddit"></i></a>
<a class="social-link-github" href="https://github.com/laurent22/joplin/" title="Joplin GitHub repository"><i class="fab fa-github"></i></a>
</div>

View File

@@ -1 +1 @@
<a href="https://twitter.com/joplinapp" title="Joplin Twitter feed" class="fw500"><i class="fab fa-twitter"></i></a>
<a href="https://twitter.com/joplinapp" title="Joplin Twitter feed" class="fw500 twitter-link"><i class="fab fa-twitter"></i></a>

View File

@@ -130,7 +130,11 @@
});
setupBetaHandling(urlQuery);
applyPeriod('yearly');
if (urlQuery.get('period') === 'monthly') {
// Nothing - this is the default
} else {
applyPeriod('yearly');
}
});
</script>
</div>

View File

@@ -27,7 +27,7 @@ msgstr ""
msgid "100% <span class=\"frame-bg frame-bg-yellow-lg\">your data</span>"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:284
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:298
msgid "A <span class=\"frame-bg frame-bg-yellow-lg\">French</span> Alternative"
msgstr ""
@@ -68,7 +68,7 @@ msgstr ""
msgid "Images, videos, PDFs and audio files are supported. Create math expressions and diagrams directly from the app. Take photos with the mobile app and save them to a note."
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:301
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:327
msgid "In the <span class=\"frame-bg frame-bg-yellow\">Press</span>"
msgstr ""
@@ -76,19 +76,19 @@ msgstr ""
msgid "Joplin Cloud <span class=\"frame-bg frame-bg-yellow\">plans</span>"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:57
msgid "Joplin is an open source note-taking app. Capture your thoughts and securely access them from any device."
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:301
msgid "Joplin Cloud is based in France. This means your data is protected by strict European Union privacy laws. In addition, Joplin Cloud implements strong end-to-end encryption so that not even us can have access to your data."
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:287
msgid "Joplin, due to its origin and design, adapts and respects Chinese standards and rules. This guarantees your unrestricted use and complete transparency and security of your usage data."
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:57
msgid "Joplin is an open source note-taking app. Capture your thoughts and securely access them from any device."
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:262
msgid "More about E2EE"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:365
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:391
msgid "Our <span class=\"frame-bg frame-bg-blue-lg\">sponsors</span>"
msgstr ""
@@ -108,7 +108,7 @@ msgstr ""
msgid "Sign up with Joplin Cloud"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:368
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:394
msgid "Thank you for your support!"
msgstr ""

View File

@@ -43,6 +43,10 @@ If you want to start contributing to the project's code, please follow these gui
Building the apps is relatively easy - please [see the build instructions](https://github.com/laurent22/joplin/blob/dev/BUILD.md) for more details.
## Signing the Individual Contributor License Agreement
All contributors to the project must sign our [Individual Contributor License Agreement](https://github.com/laurent22/joplin/blob/dev/readme/cla.md).
## Coding style
Please see [readme/coding_style.md](readme/coding_style.md).

View File

@@ -30,6 +30,7 @@ COPY packages/fork-uslug ./packages/fork-uslug
COPY packages/htmlpack ./packages/htmlpack
COPY packages/renderer ./packages/renderer
COPY packages/tools ./packages/tools
COPY packages/utils ./packages/utils
COPY packages/lib ./packages/lib
COPY packages/server ./packages/server

View File

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

28
LICENSE
View File

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

103
README.md
View File

@@ -22,11 +22,11 @@ Three types of applications are available: for **desktop** (Windows, macOS and L
Operating System | Download
---|---
Windows (32 and 64-bit) | <a href='https://github.com/laurent22/joplin/releases/download/v2.8.8/Joplin-Setup-2.8.8.exe'><img alt='Get it on Windows' width="134px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeWindows.png'/></a>
macOS | <a href='https://github.com/laurent22/joplin/releases/download/v2.8.8/Joplin-2.8.8.dmg'><img alt='Get it on macOS' width="134px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeMacOS.png'/></a>
Linux | <a href='https://github.com/laurent22/joplin/releases/download/v2.8.8/Joplin-2.8.8.AppImage'><img alt='Get it on Linux' width="134px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeLinux.png'/></a>
Windows (32 and 64-bit) | <a href='https://github.com/laurent22/joplin/releases/download/v2.9.17/Joplin-Setup-2.9.17.exe'><img alt='Get it on Windows' width="134px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeWindows.png'/></a>
macOS | <a href='https://github.com/laurent22/joplin/releases/download/v2.9.17/Joplin-2.9.17.dmg'><img alt='Get it on macOS' width="134px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeMacOS.png'/></a>
Linux | <a href='https://github.com/laurent22/joplin/releases/download/v2.9.17/Joplin-2.9.17.AppImage'><img alt='Get it on Linux' width="134px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeLinux.png'/></a>
**On Windows**, you may also use the <a href='https://github.com/laurent22/joplin/releases/download/v2.8.8/JoplinPortable.exe'>Portable version</a>. The [portable application](https://en.wikipedia.org/wiki/Portable_application) allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called "JoplinProfile" next to the executable file.
**On Windows**, you may also use the <a href='https://github.com/laurent22/joplin/releases/download/v2.9.17/JoplinPortable.exe'>Portable version</a>. The [portable application](https://en.wikipedia.org/wiki/Portable_application) allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called "JoplinProfile" next to the executable file.
**On Linux**, the recommended way is to use the following installation script as it will handle the desktop icon too:
@@ -36,7 +36,7 @@ Linux | <a href='https://github.com/laurent22/joplin/releases/download/v2.8.8/Jo
Operating System | Download | Alt. Download
---|---|---
Android | <a href='https://play.google.com/store/apps/details?id=net.cozic.joplin&utm_source=GitHub&utm_campaign=README&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><img alt='Get it on Google Play' height="40px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeAndroid.png'/></a> | or download the APK file: [64-bit](https://github.com/laurent22/joplin-android/releases/download/android-v2.8.1/joplin-v2.8.1.apk) [32-bit](https://github.com/laurent22/joplin-android/releases/download/android-v2.8.1/joplin-v2.8.1-32bit.apk)
Android | <a href='https://play.google.com/store/apps/details?id=net.cozic.joplin&utm_source=GitHub&utm_campaign=README&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><img alt='Get it on Google Play' height="40px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeAndroid.png'/></a> | or download the APK file: [64-bit](https://github.com/laurent22/joplin-android/releases/download/android-v2.9.8/joplin-v2.9.8.apk) [32-bit](https://github.com/laurent22/joplin-android/releases/download/android-v2.9.8/joplin-v2.9.8-32bit.apk)
iOS | <a href='https://itunes.apple.com/us/app/joplin/id1315599797'><img alt='Get it on the App Store' height="40px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeIOS.png'/></a> | -
## Terminal application
@@ -64,7 +64,7 @@ A community maintained list of these distributions can be found here: [Unofficia
# Sponsors
<!-- SPONSORS-ORG -->
<a href="https://seirei.ne.jp"><img title="Serei Network" width="256" src="https://joplinapp.org/images/sponsors/SeireiNetwork.png"/></a> <a href="https://usrigging.com/"><img title="U.S. Ringing Supply" width="256" src="https://joplinapp.org/images/sponsors/RingingSupply.svg"/></a> <a href="https://www.hosting.de/nextcloud/?mtm_campaign=managed-nextcloud&amp;mtm_kwd=joplinapp&amp;mtm_source=joplinapp-github&amp;mtm_medium=banner"><img title="Hosting.de" width="256" src="https://joplinapp.org/images/sponsors/HostingDe.png"/></a> <a href="https://residence-greece.com/"><img title="Greece Golden Visa" width="256" src="https://joplinapp.org/images/sponsors/ResidenceGreece.jpg"/></a>
<a href="https://seirei.ne.jp"><img title="Serei Network" width="256" src="https://joplinapp.org/images/sponsors/SeireiNetwork.png"/></a> <a href="https://www.hosting.de/nextcloud/?mtm_campaign=managed-nextcloud&amp;mtm_kwd=joplinapp&amp;mtm_source=joplinapp-webseite&amp;mtm_medium=banner"><img title="Hosting.de" width="256" src="https://joplinapp.org/images/sponsors/HostingDe.png"/></a> <a href="https://residence-greece.com/"><img title="Greece Golden Visa" width="256" src="https://joplinapp.org/images/sponsors/ResidenceGreece.jpg"/></a> <a href="https://grundstueckspreise.info/"><img title="SP Software GmbH" width="256" src="https://joplinapp.org/images/sponsors/Grundstueckspreise.png"/></a>
<!-- SPONSORS-ORG -->
* * *
@@ -72,14 +72,11 @@ A community maintained list of these distributions can be found here: [Unofficia
<!-- SPONSORS-GITHUB -->
| | | | |
| :---: | :---: | :---: | :---: |
| <img width="50" src="https://avatars2.githubusercontent.com/u/215668?s=96&v=4"/></br>[avanderberg](https://github.com/avanderberg) | <img width="50" src="https://avatars2.githubusercontent.com/u/3061769?s=96&v=4"/></br>[c-nagy](https://github.com/c-nagy) | <img width="50" src="https://avatars2.githubusercontent.com/u/70780798?s=96&v=4"/></br>[cabottech](https://github.com/cabottech) | <img width="50" src="https://avatars2.githubusercontent.com/u/67130?s=96&v=4"/></br>[chr15m](https://github.com/chr15m) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/4862947?s=96&v=4"/></br>[chrootlogin](https://github.com/chrootlogin) | <img width="50" src="https://avatars2.githubusercontent.com/u/82579431?s=96&v=4"/></br>[clmntsl](https://github.com/clmntsl) | <img width="50" src="https://avatars2.githubusercontent.com/u/808091?s=96&v=4"/></br>[cuongtransc](https://github.com/cuongtransc) | <img width="50" src="https://avatars2.githubusercontent.com/u/1307332?s=96&v=4"/></br>[dbrandonjohnson](https://github.com/dbrandonjohnson) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/1439535?s=96&v=4"/></br>[fbloise](https://github.com/fbloise) | <img width="50" src="https://avatars2.githubusercontent.com/u/49439044?s=96&v=4"/></br>[fourstepper](https://github.com/fourstepper) | <img width="50" src="https://avatars2.githubusercontent.com/u/38898566?s=96&v=4"/></br>[h4sh5](https://github.com/h4sh5) | <img width="50" src="https://avatars2.githubusercontent.com/u/3266447?s=96&v=4"/></br>[iamwillbar](https://github.com/iamwillbar) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/37297218?s=96&v=4"/></br>[Jesssullivan](https://github.com/Jesssullivan) | <img width="50" src="https://avatars2.githubusercontent.com/u/1310474?s=96&v=4"/></br>[jknowles](https://github.com/jknowles) | <img width="50" src="https://avatars2.githubusercontent.com/u/1248504?s=96&v=4"/></br>[joesfer](https://github.com/joesfer) | <img width="50" src="https://avatars2.githubusercontent.com/u/5588131?s=96&v=4"/></br>[kianenigma](https://github.com/kianenigma) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/24908652?s=96&v=4"/></br>[konishi-t](https://github.com/konishi-t) | <img width="50" src="https://avatars2.githubusercontent.com/u/42319182?s=96&v=4"/></br>[marcdw1289](https://github.com/marcdw1289) | <img width="50" src="https://avatars2.githubusercontent.com/u/1788010?s=96&v=4"/></br>[maxtruxa](https://github.com/maxtruxa) | <img width="50" src="https://avatars2.githubusercontent.com/u/29300939?s=96&v=4"/></br>[mcejp](https://github.com/mcejp) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/1168659?s=96&v=4"/></br>[nicholashead](https://github.com/nicholashead) | <img width="50" src="https://avatars2.githubusercontent.com/u/5782817?s=96&v=4"/></br>[piccobit](https://github.com/piccobit) | <img width="50" src="https://avatars2.githubusercontent.com/u/77214738?s=96&v=4"/></br>[Polymathic-Company](https://github.com/Polymathic-Company) | <img width="50" src="https://avatars2.githubusercontent.com/u/47742?s=96&v=4"/></br>[ravenscroftj](https://github.com/ravenscroftj) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/327998?s=96&v=4"/></br>[sif](https://github.com/sif) | <img width="50" src="https://avatars2.githubusercontent.com/u/54626606?s=96&v=4"/></br>[skyrunner15](https://github.com/skyrunner15) | <img width="50" src="https://avatars2.githubusercontent.com/u/765564?s=96&v=4"/></br>[taskcruncher](https://github.com/taskcruncher) | <img width="50" src="https://avatars2.githubusercontent.com/u/73081837?s=96&v=4"/></br>[thismarty](https://github.com/thismarty) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/15859362?s=96&v=4"/></br>[thomasbroussard](https://github.com/thomasbroussard) | | | |
| <img width="50" src="https://avatars2.githubusercontent.com/u/215668?s=96&v=4"/></br>[avanderberg](https://github.com/avanderberg) | <img width="50" src="https://avatars2.githubusercontent.com/u/67130?s=96&v=4"/></br>[chr15m](https://github.com/chr15m) | <img width="50" src="https://avatars2.githubusercontent.com/u/2793530?s=96&v=4"/></br>[CyberXZT](https://github.com/CyberXZT) | <img width="50" src="https://avatars2.githubusercontent.com/u/1307332?s=96&v=4"/></br>[dbrandonjohnson](https://github.com/dbrandonjohnson) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/49439044?s=96&v=4"/></br>[fourstepper](https://github.com/fourstepper) | <img width="50" src="https://avatars2.githubusercontent.com/u/64712218?s=96&v=4"/></br>[Hegghammer](https://github.com/Hegghammer) | <img width="50" src="https://avatars2.githubusercontent.com/u/3266447?s=96&v=4"/></br>[iamwillbar](https://github.com/iamwillbar) | <img width="50" src="https://avatars2.githubusercontent.com/u/1310474?s=96&v=4"/></br>[jknowles](https://github.com/jknowles) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/11947658?s=96&v=4"/></br>[KentBrockman](https://github.com/KentBrockman) | <img width="50" src="https://avatars2.githubusercontent.com/u/5588131?s=96&v=4"/></br>[kianenigma](https://github.com/kianenigma) | <img width="50" src="https://avatars2.githubusercontent.com/u/24908652?s=96&v=4"/></br>[konishi-t](https://github.com/konishi-t) | <img width="50" src="https://avatars2.githubusercontent.com/u/42319182?s=96&v=4"/></br>[marcdw1289](https://github.com/marcdw1289) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/126279083?s=96&v=4"/></br>[matmoly](https://github.com/matmoly) | <img width="50" src="https://avatars2.githubusercontent.com/u/1788010?s=96&v=4"/></br>[maxtruxa](https://github.com/maxtruxa) | <img width="50" src="https://avatars2.githubusercontent.com/u/29300939?s=96&v=4"/></br>[mcejp](https://github.com/mcejp) | <img width="50" src="https://avatars2.githubusercontent.com/u/31054972?s=96&v=4"/></br>[saarantras](https://github.com/saarantras) |
| <img width="50" src="https://avatars2.githubusercontent.com/u/327998?s=96&v=4"/></br>[sif](https://github.com/sif) | <img width="50" src="https://avatars2.githubusercontent.com/u/765564?s=96&v=4"/></br>[taskcruncher](https://github.com/taskcruncher) | <img width="50" src="https://avatars2.githubusercontent.com/u/333944?s=96&v=4"/></br>[tateisu](https://github.com/tateisu) | |
<!-- SPONSORS-GITHUB -->
<!-- TOC -->
@@ -129,6 +126,7 @@ A community maintained list of these distributions can be found here: [Unofficia
- [Writing a technical spec](https://github.com/laurent22/joplin/blob/dev/readme/technical_spec.md)
- [Desktop application styling](https://github.com/laurent22/joplin/blob/dev/readme/spec/desktop_styling.md)
- [Note History spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/history.md)
- [Synchronisation spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/sync.md)
- [Sync Lock spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/sync_lock.md)
- [Synchronous Scroll spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/sync_scroll.md)
- [Plugin Architecture spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/plugins.md)
@@ -505,6 +503,7 @@ Name | Description
[Mastodon feed](https://mastodon.social/@joplinapp) | Follow us on Mastodon
[Patreon page](https://www.patreon.com/joplin) |The latest news are often posted there
[Discord server](https://discord.gg/VSj7AFHvpq) | Our chat server
[LinkedIn](https://www.linkedin.com/company/joplin) | Our LinkedIn page
[Sub-reddit](https://www.reddit.com/r/joplinapp/) | Also a good place to get help
# Contributing
@@ -530,47 +529,47 @@ Current translations:
<!-- LOCALE-TABLE-AUTO-GENERATED -->
&nbsp; | Language | Po File | Last translator | Percent done
---|---|---|---|---
<img src="https://joplinapp.org/images/flags/country-4x3/arableague.png" width="16px"/> | Arabic | [ar](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ar.po) | [Whaell O](mailto:Whaell@protonmail.com) | 82%
<img src="https://joplinapp.org/images/flags/country-4x3/arableague.png" width="16px"/> | Arabic | [ar](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ar.po) | [Whaell O](mailto:Whaell@protonmail.com) | 80%
<img src="https://joplinapp.org/images/flags/es/basque_country.png" width="16px"/> | Basque | [eu](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eu.po) | juan.abasolo@ehu.eus | 23%
<img src="https://joplinapp.org/images/flags/country-4x3/ba.png" width="16px"/> | Bosnian (Bosna i Hercegovina) | [bs_BA](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bs_BA.po) | [Derviš T.](mailto:dervis.t@pm.me) | 59%
<img src="https://joplinapp.org/images/flags/country-4x3/bg.png" width="16px"/> | Bulgarian (България) | [bg_BG](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bg_BG.po) | | 46%
<img src="https://joplinapp.org/images/flags/es/catalonia.png" width="16px"/> | Catalan | [ca](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ca.po) | [Xavi Ivars](mailto:xavi.ivars@gmail.com) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/hr.png" width="16px"/> | Croatian (Hrvatska) | [hr_HR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hr_HR.po) | [Milo Ivir](mailto:mail@milotype.de) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/cz.png" width="16px"/> | Czech (Česká republika) | [cs_CZ](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/cs_CZ.po) | [Michal Stanke](mailto:michal@stanke.cz) | 79%
<img src="https://joplinapp.org/images/flags/country-4x3/dk.png" width="16px"/> | Dansk (Danmark) | [da_DK](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/da_DK.po) | ERYpTION | 98%
<img src="https://joplinapp.org/images/flags/country-4x3/de.png" width="16px"/> | Deutsch (Deutschland) | [de_DE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/de_DE.po) | [MrKanister](mailto:pueblos_spatulas@aleeas.com) | 98%
<img src="https://joplinapp.org/images/flags/country-4x3/ee.png" width="16px"/> | Eesti Keel (Eesti) | [et_EE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/et_EE.po) | | 46%
<img src="https://joplinapp.org/images/flags/country-4x3/ba.png" width="16px"/> | Bosnian (Bosna i Hercegovina) | [bs_BA](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bs_BA.po) | [Derviš T.](mailto:dervis.t@pm.me) | 58%
<img src="https://joplinapp.org/images/flags/country-4x3/bg.png" width="16px"/> | Bulgarian (България) | [bg_BG](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bg_BG.po) | | 45%
<img src="https://joplinapp.org/images/flags/es/catalonia.png" width="16px"/> | Catalan | [ca](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ca.po) | [Xavi Ivars](mailto:xavi.ivars@gmail.com) | 89%
<img src="https://joplinapp.org/images/flags/country-4x3/hr.png" width="16px"/> | Croatian (Hrvatska) | [hr_HR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hr_HR.po) | [Milo Ivir](mailto:mail@milotype.de) | 89%
<img src="https://joplinapp.org/images/flags/country-4x3/cz.png" width="16px"/> | Czech (Česká republika) | [cs_CZ](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/cs_CZ.po) | [Michal Stanke](mailto:michal@stanke.cz) | 77%
<img src="https://joplinapp.org/images/flags/country-4x3/dk.png" width="16px"/> | Dansk (Danmark) | [da_DK](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/da_DK.po) | ERYpTION | 99%
<img src="https://joplinapp.org/images/flags/country-4x3/de.png" width="16px"/> | Deutsch (Deutschland) | [de_DE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/de_DE.po) | [MrKanister](mailto:pueblos_spatulas@aleeas.com) | 99%
<img src="https://joplinapp.org/images/flags/country-4x3/ee.png" width="16px"/> | Eesti Keel (Eesti) | [et_EE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/et_EE.po) | | 44%
<img src="https://joplinapp.org/images/flags/country-4x3/gb.png" width="16px"/> | English (United Kingdom) | [en_GB](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/en_GB.po) | | 100%
<img src="https://joplinapp.org/images/flags/country-4x3/us.png" width="16px"/> | English (United States of America) | [en_US](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/en_US.po) | | 100%
<img src="https://joplinapp.org/images/flags/country-4x3/es.png" width="16px"/> | Español (España) | [es_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/es_ES.po) | [Francisco Mora](mailto:francisco.m.collao@gmail.com) | 91%
<img src="https://joplinapp.org/images/flags/esperanto.png" width="16px"/> | Esperanto | [eo](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eo.po) | Marton Paulo | 26%
<img src="https://joplinapp.org/images/flags/country-4x3/fi.png" width="16px"/> | Finnish (Suomi) | [fi_FI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fi_FI.po) | mrkaato0 | 98%
<img src="https://joplinapp.org/images/flags/country-4x3/fr.png" width="16px"/> | Français (France) | [fr_FR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fr_FR.po) | Laurent Cozic | 98%
<img src="https://joplinapp.org/images/flags/es/galicia.png" width="16px"/> | Galician (España) | [gl_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/gl_ES.po) | [Marcos Lans](mailto:marcoslansgarza@gmail.com) | 30%
<img src="https://joplinapp.org/images/flags/country-4x3/id.png" width="16px"/> | Indonesian (Indonesia) | [id_ID](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/id_ID.po) | [Wisnu Adi Santoso](mailto:waditos@gmail.com) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/it.png" width="16px"/> | Italiano (Italia) | [it_IT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/it_IT.po) | [Albano Battistella](mailto:albano_battistella@hotmail.com) | 80%
<img src="https://joplinapp.org/images/flags/country-4x3/hu.png" width="16px"/> | Magyar (Magyarország) | [hu_HU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hu_HU.po) | [Magyari Balázs](mailto:balmag@gmail.com) | 80%
<img src="https://joplinapp.org/images/flags/country-4x3/be.png" width="16px"/> | Nederlands (België, Belgique, Belgien) | [nl_BE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_BE.po) | | 81%
<img src="https://joplinapp.org/images/flags/country-4x3/nl.png" width="16px"/> | Nederlands (Nederland) | [nl_NL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_NL.po) | [MHolkamp](mailto:mholkamp@users.noreply.github.com) | 91%
<img src="https://joplinapp.org/images/flags/country-4x3/no.png" width="16px"/> | Norwegian (Norge, Noreg) | [nb_NO](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nb_NO.po) | [Mats Estensen](mailto:code@mxe.no) | 91%
<img src="https://joplinapp.org/images/flags/country-4x3/ir.png" width="16px"/> | Persian | [fa](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fa.po) | [Kourosh Firoozbakht](mailto:kourox@protonmail.com) | 57%
<img src="https://joplinapp.org/images/flags/country-4x3/pl.png" width="16px"/> | Polski (Polska) | [pl_PL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pl_PL.po) | [X3NO](mailto:X3NO@disroot.org) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/br.png" width="16px"/> | Português (Brasil) | [pt_BR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_BR.po) | [Renato Nunes Bastos](mailto:rnbastos@gmail.com) | 91%
<img src="https://joplinapp.org/images/flags/country-4x3/pt.png" width="16px"/> | Português (Portugal) | [pt_PT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_PT.po) | [Diogo Caveiro](mailto:dcaveiro@yahoo.com) | 75%
<img src="https://joplinapp.org/images/flags/country-4x3/ro.png" width="16px"/> | Română | [ro](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ro.po) | [Cristi Duluta](mailto:cristi.duluta@gmail.com) | 52%
<img src="https://joplinapp.org/images/flags/country-4x3/si.png" width="16px"/> | Slovenian (Slovenija) | [sl_SI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sl_SI.po) | [Martin Korelič](mailto:martin.korelic@protonmail.com) | 83%
<img src="https://joplinapp.org/images/flags/country-4x3/se.png" width="16px"/> | Svenska | [sv](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sv.po) | [Jonatan Nyberg](mailto:jonatan@autistici.org) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/th.png" width="16px"/> | Thai (ประเทศไทย) | [th_TH](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/th_TH.po) | | 38%
<img src="https://joplinapp.org/images/flags/country-4x3/vn.png" width="16px"/> | Tiếng Việt | [vi](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/vi.po) | | 80%
<img src="https://joplinapp.org/images/flags/country-4x3/tr.png" width="16px"/> | Türkçe (Türkiye) | [tr_TR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/tr_TR.po) | [Arda Kılıçdağı](mailto:arda@kilicdagi.com) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/ua.png" width="16px"/> | Ukrainian (Україна) | [uk_UA](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/uk_UA.po) | [Vyacheslav Andreykiv](mailto:vandreykiv@gmail.com) | 75%
<img src="https://joplinapp.org/images/flags/country-4x3/gr.png" width="16px"/> | Ελληνικά (Ελλάδα) | [el_GR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/el_GR.po) | [Harris Arvanitis](mailto:xaris@tuta.io) | 91%
<img src="https://joplinapp.org/images/flags/country-4x3/ru.png" width="16px"/> | Русский (Россия) | [ru_RU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ru_RU.po) | [Sergey Segeda](mailto:thesermanarm@gmail.com) | 83%
<img src="https://joplinapp.org/images/flags/country-4x3/rs.png" width="16px"/> | српски језик (Србија) | [sr_RS](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sr_RS.po) | | 67%
<img src="https://joplinapp.org/images/flags/country-4x3/cn.png" width="16px"/> | 中文 (简体) | [zh_CN](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_CN.po) | [KaneGreen](mailto:737445366KG@Gmail.com) | 96%
<img src="https://joplinapp.org/images/flags/country-4x3/tw.png" width="16px"/> | 中文 (繁體) | [zh_TW](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_TW.po) | [Kevin Hsu](mailto:kevin.hsu.hws@gmail.com) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/jp.png" width="16px"/> | 日本語 (日本) | [ja_JP](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ja_JP.po) | [genneko](mailto:genneko217@gmail.com) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/kr.png" width="16px"/> | 한국어 | [ko](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ko.po) | [Ji-Hyeon Gim](mailto:potatogim@potatogim.net) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/es.png" width="16px"/> | Español (España) | [es_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/es_ES.po) | [Francisco Villaverde](mailto:teko.gr@gmail.com) | 99%
<img src="https://joplinapp.org/images/flags/esperanto.png" width="16px"/> | Esperanto | [eo](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eo.po) | Marton Paulo | 25%
<img src="https://joplinapp.org/images/flags/country-4x3/fi.png" width="16px"/> | Finnish (Suomi) | [fi_FI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fi_FI.po) | mrkaato0 | 95%
<img src="https://joplinapp.org/images/flags/country-4x3/fr.png" width="16px"/> | Français (France) | [fr_FR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fr_FR.po) | Laurent Cozic | 99%
<img src="https://joplinapp.org/images/flags/es/galicia.png" width="16px"/> | Galician (España) | [gl_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/gl_ES.po) | [Marcos Lans](mailto:marcoslansgarza@gmail.com) | 29%
<img src="https://joplinapp.org/images/flags/country-4x3/id.png" width="16px"/> | Indonesian (Indonesia) | [id_ID](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/id_ID.po) | [Wisnu Adi Santoso](mailto:waditos@gmail.com) | 89%
<img src="https://joplinapp.org/images/flags/country-4x3/it.png" width="16px"/> | Italiano (Italia) | [it_IT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/it_IT.po) | [Manuel Tassi](mailto:mannivuwiki@gmail.com) | 81%
<img src="https://joplinapp.org/images/flags/country-4x3/hu.png" width="16px"/> | Magyar (Magyarország) | [hu_HU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hu_HU.po) | [Magyari Balázs](mailto:balmag@gmail.com) | 78%
<img src="https://joplinapp.org/images/flags/country-4x3/be.png" width="16px"/> | Nederlands (België, Belgique, Belgien) | [nl_BE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_BE.po) | | 79%
<img src="https://joplinapp.org/images/flags/country-4x3/nl.png" width="16px"/> | Nederlands (Nederland) | [nl_NL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_NL.po) | [MHolkamp](mailto:mholkamp@users.noreply.github.com) | 88%
<img src="https://joplinapp.org/images/flags/country-4x3/no.png" width="16px"/> | Norwegian (Norge, Noreg) | [nb_NO](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nb_NO.po) | [Mats Estensen](mailto:code@mxe.no) | 88%
<img src="https://joplinapp.org/images/flags/country-4x3/ir.png" width="16px"/> | Persian | [fa](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fa.po) | [Kourosh Firoozbakht](mailto:kourox@protonmail.com) | 55%
<img src="https://joplinapp.org/images/flags/country-4x3/pl.png" width="16px"/> | Polski (Polska) | [pl_PL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pl_PL.po) | [X3NO](mailto:X3NO@disroot.org) | 91%
<img src="https://joplinapp.org/images/flags/country-4x3/br.png" width="16px"/> | Português (Brasil) | [pt_BR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_BR.po) | [Renato Nunes Bastos](mailto:rnbastos@gmail.com) | 88%
<img src="https://joplinapp.org/images/flags/country-4x3/pt.png" width="16px"/> | Português (Portugal) | [pt_PT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_PT.po) | [Diogo Caveiro](mailto:dcaveiro@yahoo.com) | 73%
<img src="https://joplinapp.org/images/flags/country-4x3/ro.png" width="16px"/> | Română | [ro](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ro.po) | [Cristi Duluta](mailto:cristi.duluta@gmail.com) | 51%
<img src="https://joplinapp.org/images/flags/country-4x3/si.png" width="16px"/> | Slovenian (Slovenija) | [sl_SI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sl_SI.po) | [Martin Korelič](mailto:martin.korelic@protonmail.com) | 80%
<img src="https://joplinapp.org/images/flags/country-4x3/se.png" width="16px"/> | Svenska | [sv](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sv.po) | [Jonatan Nyberg](mailto:jonatan@autistici.org) | 96%
<img src="https://joplinapp.org/images/flags/country-4x3/th.png" width="16px"/> | Thai (ประเทศไทย) | [th_TH](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/th_TH.po) | | 36%
<img src="https://joplinapp.org/images/flags/country-4x3/vn.png" width="16px"/> | Tiếng Việt | [vi](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/vi.po) | | 78%
<img src="https://joplinapp.org/images/flags/country-4x3/tr.png" width="16px"/> | Türkçe (Türkiye) | [tr_TR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/tr_TR.po) | [Arda Kılıçdağı](mailto:arda@kilicdagi.com) | 89%
<img src="https://joplinapp.org/images/flags/country-4x3/ua.png" width="16px"/> | Ukrainian (Україна) | [uk_UA](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/uk_UA.po) | [Vyacheslav Andreykiv](mailto:vandreykiv@gmail.com) | 72%
<img src="https://joplinapp.org/images/flags/country-4x3/gr.png" width="16px"/> | Ελληνικά (Ελλάδα) | [el_GR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/el_GR.po) | [Harris Arvanitis](mailto:xaris@tuta.io) | 88%
<img src="https://joplinapp.org/images/flags/country-4x3/ru.png" width="16px"/> | Русский (Россия) | [ru_RU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ru_RU.po) | [Dmitriy Q](mailto:krotesk@mail.ru) | 99%
<img src="https://joplinapp.org/images/flags/country-4x3/rs.png" width="16px"/> | српски језик (Србија) | [sr_RS](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sr_RS.po) | | 65%
<img src="https://joplinapp.org/images/flags/country-4x3/cn.png" width="16px"/> | 中文 (简体) | [zh_CN](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_CN.po) | [wh201906](mailto:wh201906@yandex.com) | 97%
<img src="https://joplinapp.org/images/flags/country-4x3/tw.png" width="16px"/> | 中文 (繁體) | [zh_TW](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_TW.po) | [Kevin Hsu](mailto:kevin.hsu.hws@gmail.com) | 89%
<img src="https://joplinapp.org/images/flags/country-4x3/jp.png" width="16px"/> | 日本語 (日本) | [ja_JP](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ja_JP.po) | [genneko](mailto:genneko217@gmail.com) | 89%
<img src="https://joplinapp.org/images/flags/country-4x3/kr.png" width="16px"/> | 한국어 | [ko](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ko.po) | [Ji-Hyeon Gim](mailto:potatogim@potatogim.net) | 89%
<!-- LOCALE-TABLE-AUTO-GENERATED -->
# Contributors

7
bootstrap.bundle.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,23 +1,52 @@
const gulp = require('gulp');
const utils = require('./packages/tools/gulp/utils');
const execa = require('execa');
const { stdout } = require('process');
const execCommand = async (executableName, args, options = null) => {
options = {
showInput: true,
showStdout: true,
showStderr: true,
quiet: false,
...options,
};
if (options.quiet) {
options.showInput = false;
options.showStdout = false;
options.showStderr = false;
}
if (options.showInput) {
stdout.write(`> ${executableName} ${args.join(' ')}\n`);
}
const promise = execa(executableName, args);
if (options.showStdout && promise.stdout) promise.stdout.pipe(process.stdout);
if (options.showStderr && promise.stderr) promise.stderr.pipe(process.stderr);
const result = await promise;
return result.stdout.trim();
};
const tasks = {
updateIgnoredTypeScriptBuild: require('./packages/tools/gulp/tasks/updateIgnoredTypeScriptBuild'),
buildCommandIndex: require('./packages/tools/gulp/tasks/buildCommandIndex'),
completePublishAll: {
fn: async () => {
await utils.execCommandVerbose('git', ['add', '-A']);
await utils.execCommandVerbose('git', ['commit', '-m', 'Releasing sub-packages']);
await execCommand('git', ['add', '-A']);
await execCommand('git', ['commit', '-m', 'Releasing sub-packages']);
// Lerna does some unnecessary auth check that doesn't work with
// automation tokens, thus the --no-verify-access. Automation token
// is still used for access when publishing even with this flag
// (publishing would fail otherwise).
// https://github.com/lerna/lerna/issues/2788
await utils.execCommandVerbose('lerna', ['publish', 'from-package', '-y', '--no-verify-access']);
await execCommand('lerna', ['publish', 'from-package', '-y', '--no-verify-access']);
await utils.execCommandVerbose('git', ['push']);
await execCommand('yarn', ['install']);
await execCommand('git', ['add', '-A']);
await execCommand('git', ['commit', '-m', 'Lock file']);
await execCommand('git', ['push']);
},
},
build: {
@@ -30,12 +59,14 @@ const tasks = {
// faster, especially when having to rebuild after adding a
// dependency.
if (process.env.BUILD_SEQUENCIAL === '1') {
await utils.execCommandVerbose('yarn', ['run', 'buildSequential']);
await execCommand('yarn', ['run', 'buildSequential']);
} else {
await utils.execCommandVerbose('yarn', ['run', 'buildParallel']);
await execCommand('yarn', ['run', 'buildParallel']);
}
},
},
};
utils.registerGulpTasks(gulp, tasks);
for (const taskName in tasks) {
gulp.task(taskName, tasks[taskName].fn);
}

View File

@@ -317,6 +317,9 @@
"packages/app-tools/github_oauth_token.txt": true,
"packages/generator-joplin/generators/app/templates/api/": true,
"packages/htmlpack/dist/": true,
"packages/react-native-alarm-notification/android/build": true,
"packages/react-native-saf-x/android/build": true,
"packages/react-native-saf-x/android/wrapper": true,
"packages/renderer/**/.vscode/": true,
"packages/renderer/**/copyLib.bat": true,
"packages/renderer/**/node_modules/": true,
@@ -326,6 +329,7 @@
"packages/renderer/MdToHtml/rules/sanitize_html.js": true,
"packages/server/db-*.sqlite": true,
"packages/server/dist/": true,
"packages/utils/dist/": true,
"packages/server/temp": true,
"packages/server/test.pid": true,
"phpunit.xml": true,

View File

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

View File

@@ -15,7 +15,7 @@
"buildParallel": "yarn workspaces foreach --verbose --interlaced --parallel --jobs 2 --topological run build && yarn run tsc",
"buildSequential": "yarn workspaces foreach --verbose --interlaced --topological run build && yarn run tsc",
"buildApiDoc": "yarn workspace joplin start apidoc ../../readme/api/references/rest_api.md",
"buildCommandIndex": "gulp buildCommandIndex",
"buildCommandIndex": "node packages/tools/gulp/tasks/buildCommandIndexRun.js",
"buildPluginDoc": "typedoc --name 'Joplin Plugin API Documentation' --mode file -theme './Assets/PluginDocTheme/' --readme './Assets/PluginDocTheme/index.md' --excludeNotExported --excludeExternals --excludePrivate --excludeProtected --out ../joplin-website/docs/api/references/plugin_api packages/lib/services/plugins/api/",
"updateMarkdownDoc": "node ./packages/tools/updateMarkdownDoc",
"updateNews": "node ./packages/tools/website/updateNews",
@@ -33,6 +33,7 @@
"linter-precommit": "eslint --resolve-plugins-relative-to . --fix --ext .js --ext .jsx --ext .ts --ext .tsx",
"linter": "eslint --resolve-plugins-relative-to . --fix --quiet --ext .js --ext .jsx --ext .ts --ext .tsx",
"linter-interactive": "eslint-interactive --resolve-plugins-relative-to . --fix --quiet --ext .js --ext .jsx --ext .ts --ext .tsx",
"packageJsonLint": "npmPkgJsonLint --configFile .npmpackagejsonlintrc.json --quiet .",
"postinstall": "gulp build",
"publishAll": "git pull && yarn run buildParallel && lerna version --yes --no-private --no-git-tag-version && gulp completePublishAll",
"releaseAndroid": "PATH=\"/usr/local/opt/openjdk@11/bin:$PATH\" node packages/tools/release-android.js",
@@ -52,44 +53,49 @@
"test-ci": "yarn workspaces foreach --parallel --verbose --interlaced --jobs 2 run test-ci",
"test": "yarn workspaces foreach --parallel --verbose --interlaced --jobs 2 run test",
"tsc": "yarn workspaces foreach --parallel --verbose --interlaced run tsc",
"updateIgnored": "gulp updateIgnoredTypeScriptBuild",
"updateIgnored": "node packages/tools/gulp/tasks/updateIgnoredTypeScriptBuildRun.js",
"updatePluginTypes": "./packages/generator-joplin/updateTypes.sh",
"watch": "yarn workspaces foreach --parallel --verbose --interlaced --jobs 999 run watch",
"watchWebsite": "nodemon --verbose --watch Assets/WebsiteAssets --watch packages/tools/website --watch packages/tools/website/utils --ext md,ts,js,mustache,css,tsx,gif,png,svg --exec \"node packages/tools/website/build.js && http-server --port 8077 ../joplin-website/docs -a localhost\""
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
"pre-commit": "lint-staged && yarn run packageJsonLint"
}
},
"devDependencies": {
"@joplin/utils": "~2.11",
"@seiyab/eslint-plugin-react-hooks": "4.5.1-beta.0",
"@typescript-eslint/eslint-plugin": "5.46.1",
"@typescript-eslint/parser": "5.46.1",
"@typescript-eslint/eslint-plugin": "5.48.2",
"@typescript-eslint/parser": "5.48.2",
"cspell": "5.21.2",
"eslint": "8.29.0",
"eslint": "8.31.0",
"eslint-interactive": "10.3.0",
"eslint-plugin-import": "2.26.0",
"eslint-plugin-import": "2.27.4",
"eslint-plugin-jest": "27.2.1",
"eslint-plugin-promise": "6.1.1",
"eslint-plugin-react": "7.31.11",
"fs-extra": "11.1.0",
"glob": "8.0.3",
"eslint-plugin-react": "7.32.0",
"execa": "5.1.1",
"fs-extra": "11.1.1",
"glob": "8.1.0",
"gulp": "4.0.2",
"husky": "3.1.0",
"lerna": "3.22.1",
"lint-staged": "13.1.0",
"madge": "5.0.1",
"lint-staged": "13.2.0",
"madge": "6.0.0",
"npm-package-json-lint": "6.4.0",
"typedoc": "0.17.8",
"typescript": "4.9.4"
},
"dependencies": {
"@types/fs-extra": "9.0.13",
"http-server": "14.1.1",
"node-gyp": "9.3.0",
"nodemon": "2.0.20"
"node-gyp": "9.3.1",
"nodemon": "2.0.22"
},
"packageManager": "yarn@3.3.0",
"packageManager": "yarn@3.3.1",
"resolutions": {
"joplin-rn-alarm-notification@1.0.5": "patch:joplin-rn-alarm-notification@npm:1.0.5#.yarn/patches/joplin-rn-alarm-notification-npm-1.0.5-662e871c03"
"react-native-camera@4.2.1": "patch:react-native-camera@npm%3A4.2.1#./.yarn/patches/react-native-camera-npm-4.2.1-24b2600a7e.patch",
"rn-fetch-blob@0.12.0": "patch:rn-fetch-blob@npm%3A0.12.0#./.yarn/patches/rn-fetch-blob-npm-0.12.0-cf02e3c544.patch"
}
}

View File

@@ -6,14 +6,14 @@ interface LinkStoreEntry {
}
class LinkSelector {
noteId_: string;
scrollTop_: number;
renderedText_: string;
currentLinkIndex_: number;
linkStore_: LinkStoreEntry[];
linkRegex_: RegExp;
private noteId_: string;
private scrollTop_: number;
private renderedText_: string;
private currentLinkIndex_: number;
private linkStore_: LinkStoreEntry[];
private linkRegex_: RegExp;
constructor() {
public constructor() {
this.noteId_ = null;
this.scrollTop_ = null; // used so 'o' won't open unhighlighted link after scrolling
this.renderedText_ = null;
@@ -22,22 +22,22 @@ class LinkSelector {
this.linkRegex_ = /http:\/\/[0-9.]+:[0-9]+\/[0-9]+/g;
}
get link(): string | null {
public get link(): string | null {
if (this.currentLinkIndex_ === null) return null;
return this.linkStore_[this.currentLinkIndex_].link;
}
get noteX(): number | null {
public get noteX(): number | null {
if (this.currentLinkIndex_ === null) return null;
return this.linkStore_[this.currentLinkIndex_].noteX;
}
get noteY(): number | null {
public get noteY(): number | null {
if (this.currentLinkIndex_ === null) return null;
return this.linkStore_[this.currentLinkIndex_].noteY;
}
findLinks(renderedText: string): LinkStoreEntry[] {
public findLinks(renderedText: string): LinkStoreEntry[] {
const newLinkStore: LinkStoreEntry[] = [];
const lines: string[] = renderedText.split('\n');
for (let i = 0; i < lines.length; i++) {
@@ -56,19 +56,19 @@ class LinkSelector {
return newLinkStore;
}
updateText(renderedText: string): void {
public updateText(renderedText: string): void {
this.currentLinkIndex_ = null;
this.renderedText_ = renderedText;
this.linkStore_ = this.findLinks(this.renderedText_);
}
updateNote(textWidget: any): void {
public updateNote(textWidget: any): void {
this.noteId_ = textWidget.noteId;
this.scrollTop_ = textWidget.scrollTop_;
this.updateText(textWidget.renderedText_);
}
scrollWidget(textWidget: any): void {
public scrollWidget(textWidget: any): void {
if (this.currentLinkIndex_ === null) return;
const noteY = this.linkStore_[this.currentLinkIndex_].noteY;
@@ -93,7 +93,7 @@ class LinkSelector {
return;
}
changeLink(textWidget: any, offset: number): void | null {
public changeLink(textWidget: any, offset: number): void | null {
if (textWidget.noteId !== this.noteId_) {
this.updateNote(textWidget);
this.changeLink(textWidget, offset);
@@ -123,7 +123,7 @@ class LinkSelector {
return;
}
openLink(textWidget: any): void {
public openLink(textWidget: any): void {
if (textWidget.noteId !== this.noteId_) return;
if (textWidget.renderedText_ !== this.renderedText_) return;
if (textWidget.scrollTop_ !== this.scrollTop_) return;

View File

@@ -8,7 +8,7 @@ const Resource = require('@joplin/lib/models/Resource').default;
const Setting = require('@joplin/lib/models/Setting').default;
const reducer = require('@joplin/lib/reducer').default;
const { defaultState } = require('@joplin/lib/reducer');
const { splitCommandString } = require('@joplin/lib/string-utils.js');
const { splitCommandString } = require('@joplin/utils');
const { reg } = require('@joplin/lib/registry.js');
const { _ } = require('@joplin/lib/locale');
const shim = require('@joplin/lib/shim').default;

View File

@@ -9,7 +9,8 @@ const Tag = require('@joplin/lib/models/Tag').default;
const Setting = require('@joplin/lib/models/Setting').default;
const { reg } = require('@joplin/lib/registry.js');
const { fileExtension } = require('@joplin/lib/path-utils');
const { splitCommandString, splitCommandBatch } = require('@joplin/lib/string-utils');
const { splitCommandString } = require('@joplin/utils');
const { splitCommandBatch } = require('@joplin/lib/string-utils');
const { _ } = require('@joplin/lib/locale');
const fs = require('fs-extra');
const { cliUtils } = require('./cli-utils.js');
@@ -246,6 +247,7 @@ class Application extends BaseApplication {
showConsole: () => {},
maximizeConsole: () => {},
stdout: text => {
// eslint-disable-next-line no-console
console.info(text);
},
fullScreen: () => {},
@@ -407,6 +409,7 @@ class Application extends BaseApplication {
if (this.showStackTraces_) {
console.error(error);
} else {
// eslint-disable-next-line no-console
console.info(error.message);
}
process.exit(1);

View File

@@ -125,14 +125,14 @@ async function handleAutocompletionPromise(line) {
}
function handleAutocompletion(str, callback) {
// eslint-disable-next-line promise/prefer-await-to-then -- Old code before rule was applied
handleAutocompletionPromise(str).then(function(res) {
handleAutocompletionPromise(str).then((res) => {
callback(undefined, res);
});
}
function toCommandLine(args) {
if (Array.isArray(args)) {
return args
.map(function(a) {
.map((a) => {
if (a.indexOf('"') !== -1 || a.indexOf(' ') !== -1) {
return `'${a}'`;
} else if (a.indexOf('\'') !== -1) {

View File

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

View File

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

View File

@@ -131,6 +131,7 @@ async function main() {
const commandsText = commandBlocks.join('\n\n');
const footerText = getFooter();
// eslint-disable-next-line no-console
console.info(`${headerText}\n\n` + 'USAGE' + `\n\n${commandsText}\n\n${footerText}`);
}

View File

@@ -1,5 +1,7 @@
'use strict';
/* eslint-disable no-console */
const fs = require('fs-extra');
const Logger = require('@joplin/lib/Logger').default;
const { dirname } = require('@joplin/lib/path-utils');

View File

@@ -82,6 +82,7 @@ cliUtils.makeCommandArgs = function(cmd, argv) {
const options = cmd.options();
const booleanFlags = [];
const aliases = {};
const flagSpecs = [];
for (let i = 0; i < options.length; i++) {
if (options[i].length !== 2) throw new Error(`Invalid options: ${options[i]}`);
let flags = options[i][0];
@@ -96,6 +97,8 @@ cliUtils.makeCommandArgs = function(cmd, argv) {
if (flags.short && flags.long) {
aliases[flags.long] = [flags.short];
}
flagSpecs.push(flags);
}
const args = yargParser(argv, {
@@ -121,6 +124,19 @@ cliUtils.makeCommandArgs = function(cmd, argv) {
argOptions[key] = args[key];
}
for (const [key, value] of Object.entries(argOptions)) {
const flagSpec = flagSpecs.find(s => {
return s.short === key || s.long === key;
});
if (flagSpec?.arg?.required) {
// If a flag is required, and no value is provided for it, Yargs
// sets the value to `true`.
if (value === true) {
throw new Error(_('Missing required flag value: %s', `-${flagSpec.short} <${flagSpec.arg.name}>`));
}
}
}
output.options = argOptions;
return output;

View File

@@ -39,9 +39,9 @@ class Command extends BaseCommand {
let settingsObj;
try {
settingsObj = JSON.parse(json);
} catch (err) {
} catch (error) {
isSettled = true;
return reject(new Error(`Invalid JSON passed to config --import: \n${err.message}.`));
return reject(new Error(`Invalid JSON passed to config --import: \n${error.message}.`));
}
if (settingsObj) {
Object.entries(settingsObj)

View File

@@ -12,15 +12,15 @@ const imageType = require('image-type');
const readChunk = require('read-chunk');
class Command extends BaseCommand {
usage() {
public usage() {
return 'e2ee <command> [path]';
}
description() {
public description() {
return _('Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.'); // `generate-ppk`
}
options() {
public options() {
return [
// This is here mostly for testing - shouldn't be used
['-p, --password <password>', 'Use this password as master password (For security reasons, it is not recommended to use this option).'],
@@ -30,7 +30,7 @@ class Command extends BaseCommand {
];
}
async action(args: any) {
public async action(args: any) {
const options = args.options;
const askForMasterKey = async (error: any) => {

View File

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

View File

@@ -1,21 +0,0 @@
const BaseCommand = require('./base-command').default;
const { app } = require('./app.js');
const { _ } = require('@joplin/lib/locale');
const Folder = require('@joplin/lib/models/Folder').default;
class Command extends BaseCommand {
usage() {
return 'mkbook <new-notebook>';
}
description() {
return _('Creates a new notebook.');
}
async action(args) {
const folder = await Folder.save({ title: args['new-notebook'] }, { userSideValidation: true });
app().switchCurrentFolder(folder);
}
}
module.exports = Command;

View File

@@ -0,0 +1,50 @@
import { setupDatabaseAndSynchronizer, switchClient } from '@joplin/lib/testing/test-utils';
import { setupCommandForTesting, setupApplication } from './utils/testUtils';
import Folder from '@joplin/lib/models/Folder';
const Command = require('./command-mkbook');
describe('command-mkbook', () => {
beforeEach(async () => {
await setupDatabaseAndSynchronizer(1);
await switchClient(1);
await setupApplication();
});
it('should create a subfolder in first folder', async () => {
const command = setupCommandForTesting(Command);
await command.action({ 'new-notebook': 'folder1', options: {} });
await command.action({ 'new-notebook': 'folder1_1', options: { parent: 'folder1' } });
const folder1 = await Folder.loadByTitle('folder1');
const folder1_1 = await Folder.loadByTitle('folder1_1');
expect(folder1.title).toBe('folder1');
expect(folder1_1.parent_id).toBe(folder1.id);
});
it('should not be possible to create a subfolder without an argument.', async () => {
const command = setupCommandForTesting(Command);
await command.action({ 'new-notebook': 'folder2', options: {} });
await expect(command.action({ 'new-notebook': 'folder2_1', options: { parent: true } })).rejects.toThrowError();
});
it('should not be possible to create subfolder in ambiguous destination folder', async () => {
const command = setupCommandForTesting(Command);
await command.action({ 'new-notebook': 'folder3', options: {} });
await command.action({ 'new-notebook': 'folder3', options: {} }); // ambiguous folder
await expect(command.action({ 'new-notebook': 'folder3_1', options: { parent: 'folder3' } })).rejects.toThrowError();
// check if duplicate entries have been created.
const folderAll = await Folder.all();
const folders3 = folderAll.filter(x => x.title === 'folder3');
expect(folders3.length).toBe(2);
// check if something has been created in one of the duplicate entries.
expect(await Folder.childrenIds(folders3[0].id)).toEqual([]);
expect(await Folder.childrenIds(folders3[1].id)).toEqual([]);
});
});

View File

@@ -0,0 +1,65 @@
const BaseCommand = require('./base-command').default;
const { app } = require('./app.js');
import { _ } from '@joplin/lib/locale';
import BaseModel from '@joplin/lib/BaseModel';
import Folder from '@joplin/lib/models/Folder';
import { FolderEntity } from '@joplin/lib/services/database/types';
class Command extends BaseCommand {
public usage() {
return 'mkbook <new-notebook>';
}
public description() {
return _('Creates a new notebook.');
}
public options() {
return [
['-p, --parent <parent-notebook>', _('Create a new notebook under a parent notebook.')],
];
}
// validDestinationFolder check for presents and ambiguous folders
public async validDestinationFolder(targetFolder: string) {
const destinationFolder = await app().loadItem(BaseModel.TYPE_FOLDER, targetFolder);
if (!destinationFolder) {
throw new Error(_('Cannot find: "%s"', targetFolder));
}
const destinationDups = await Folder.search({ titlePattern: targetFolder, limit: 2 });
if (destinationDups.length > 1) {
throw new Error(_('Ambiguous notebook "%s". Please use short notebook id instead - press "ti" to see the short notebook id', targetFolder));
}
return destinationFolder;
}
public async saveAndSwitchFolder(newFolder: FolderEntity) {
const folder = await Folder.save(newFolder, { userSideValidation: true });
app().switchCurrentFolder(folder);
}
public async action(args: any) {
const targetFolder = args.options.parent;
const newFolder: FolderEntity = {
title: args['new-notebook'],
};
if (targetFolder) {
const destinationFolder = await this.validDestinationFolder(targetFolder);
newFolder.parent_id = destinationFolder.id;
await this.saveAndSwitchFolder(newFolder);
} else {
await this.saveAndSwitchFolder(newFolder);
}
}
}
module.exports = Command;

View File

@@ -26,7 +26,7 @@ class Command extends BaseCommand {
const destinationDuplicates = await Folder.search({ titlePattern: destination, limit: 2 });
if (destinationDuplicates.length > 1) {
throw new Error(_('Ambiguous notebook "%s". Please use short notebook id instead - press "ti" to see the short notebook id' , destination));
throw new Error(_('Ambiguous notebook "%s". Please use short notebook id instead - press "ti" to see the short notebook id', destination));
}
const itemFolder = await app().loadItem(BaseModel.TYPE_FOLDER, pattern);

View File

@@ -23,19 +23,19 @@ function settingTypeToSchemaType(type: SettingItemType): string {
}
class Command extends BaseCommand {
usage() {
public usage() {
return 'settingschema <file>';
}
description() {
public description() {
return 'Build the setting schema file';
}
enabled() {
public enabled() {
return false;
}
async action(args: any) {
public async action(args: any) {
const schema: Record<string, any> = {
title: 'JSON schema for Joplin setting files',
'$id': Setting.schemaUrl,

View File

@@ -9,11 +9,11 @@ import { appTypeToLockType } from '@joplin/lib/services/synchronizer/LockHandler
const BaseCommand = require('./base-command').default;
const { app } = require('./app.js');
const { OneDriveApiNodeUtils } = require('@joplin/lib/onedrive-api-node-utils.js');
const { reg } = require('@joplin/lib/registry.js');
import { reg } from '@joplin/lib/registry';
const { cliUtils } = require('./cli-utils.js');
const md5 = require('md5');
const locker = require('proper-lockfile');
const fs = require('fs-extra');
import * as locker from 'proper-lockfile';
import { pathExists, writeFile } from 'fs-extra';
class Command extends BaseCommand {
@@ -21,15 +21,15 @@ class Command extends BaseCommand {
private releaseLockFn_: Function = null;
private oneDriveApiUtils_: any = null;
usage() {
public usage() {
return 'sync';
}
description() {
public description() {
return _('Synchronises with remote storage.');
}
options() {
public options() {
return [
['--target <target>', _('Sync to provided target (defaults to sync.target config value)')],
['--upgrade', _('Upgrade the sync target to the latest version.')],
@@ -37,24 +37,15 @@ class Command extends BaseCommand {
];
}
static async lockFile(filePath: string): Promise<Function> {
private static async lockFile(filePath: string) {
return locker.lock(filePath, { stale: 1000 * 60 * 5 });
}
static isLocked(filePath: string) {
return new Promise((resolve, reject) => {
locker.check(filePath, (error: any, isLocked: boolean) => {
if (error) {
reject(error);
return;
}
resolve(isLocked);
});
});
private static async isLocked(filePath: string) {
return locker.check(filePath);
}
async doAuth() {
public async doAuth() {
const syncTarget = reg.syncTarget(this.syncTargetId_);
const syncTargetMd = SyncTargetRegistry.idToMetadata(this.syncTargetId_);
@@ -98,23 +89,23 @@ class Command extends BaseCommand {
return false;
}
cancelAuth() {
public cancelAuth() {
if (this.oneDriveApiUtils_) {
this.oneDriveApiUtils_.cancelOAuthDance();
return;
}
}
doingAuth() {
public doingAuth() {
return !!this.oneDriveApiUtils_;
}
async action(args: any) {
public async action(args: any) {
this.releaseLockFn_ = null;
// Lock is unique per profile/database
const lockFilePath = `${require('os').tmpdir()}/synclock_${md5(escape(Setting.value('profileDir')))}`; // https://github.com/pvorb/node-md5/issues/41
if (!(await fs.pathExists(lockFilePath))) await fs.writeFile(lockFilePath, 'synclock');
if (!(await pathExists(lockFilePath))) await writeFile(lockFilePath, 'synclock');
const useLock = args.options.useLock !== 0;
@@ -247,7 +238,7 @@ class Command extends BaseCommand {
cleanUp();
}
async cancel() {
public async cancel() {
if (this.doingAuth()) {
this.cancelAuth();
return;
@@ -272,7 +263,7 @@ class Command extends BaseCommand {
this.syncTargetId_ = null;
}
cancellable() {
public cancellable() {
return true;
}
}

View File

@@ -18,19 +18,19 @@ function itemCount(args: any) {
}
class Command extends BaseCommand {
usage() {
public usage() {
return 'testing <command> [arg0]';
}
description() {
public description() {
return 'testing';
}
enabled() {
public enabled() {
return false;
}
options(): any[] {
public options(): any[] {
return [
['--folder-count <count>', 'Folders to create'],
['--note-count <count>', 'Notes to create'],
@@ -40,7 +40,7 @@ class Command extends BaseCommand {
];
}
async action(args: any) {
public async action(args: any) {
const { command, options } = args;
if (command === 'populate') {
@@ -118,6 +118,7 @@ class Command extends BaseCommand {
}
await Promise.all(promises);
// eslint-disable-next-line no-console
console.info(await api.exec('GET', 'api/items/root:/testing:'));
}

View File

@@ -12,7 +12,7 @@ class Command extends BaseCommand {
}
async action() {
this.stdout(versionInfo(require('./package.json')).message);
this.stdout(versionInfo(require('./package.json'), {}).message);
}
}

View File

@@ -36,7 +36,7 @@ class FolderListWidget extends ListWidget {
if (Setting.value('showNoteCounts')) {
let noteCount = item.note_count;
// Subtract children note_count from parent folder.
if (this.folderHasChildren_(this.folders,item.id)) {
if (this.folderHasChildren_(this.folders, item.id)) {
for (let i = 0; i < this.folders.length; i++) {
if (this.folders[i].parent_id === item.id) {
noteCount -= this.folders[i].note_count;

View File

@@ -5,7 +5,7 @@ const stripAnsi = require('strip-ansi');
const { handleAutocompletion } = require('../autocompletion.js');
export default class StatusBarWidget extends BaseWidget {
constructor() {
public constructor() {
super();
this.promptState_ = null;
@@ -14,20 +14,20 @@ export default class StatusBarWidget extends BaseWidget {
this.items_ = [];
}
get name() {
public get name() {
return 'statusBar';
}
get canHaveFocus() {
public get canHaveFocus() {
return false;
}
setItemAt(index: number, text: string) {
public setItemAt(index: number, text: string) {
this.items_[index] = stripAnsi(text).trim();
this.invalidate();
}
async prompt(initialText = '', promptString: any = null, options: any = null) {
public async prompt(initialText = '', promptString: any = null, options: any = null) {
if (this.promptState_) throw new Error('Another prompt already active');
if (promptString === null) promptString = ':';
if (options === null) options = {};
@@ -53,15 +53,15 @@ export default class StatusBarWidget extends BaseWidget {
return this.promptState_.promise;
}
get promptActive() {
public get promptActive() {
return !!this.promptState_;
}
get history() {
public get history() {
return this.history_;
}
resetCursor() {
public resetCursor() {
if (!this.promptActive) return;
if (!this.inputEventEmitter_) return;
@@ -70,7 +70,7 @@ export default class StatusBarWidget extends BaseWidget {
this.term.moveTo(this.absoluteInnerX + termutils.textLength(this.promptState_.promptString) + this.inputEventEmitter_.getInput().length, this.absoluteInnerY);
}
render() {
public render() {
super.render();
const doSaveCursor = !this.promptActive;

View File

@@ -75,14 +75,14 @@ if (process.platform === 'win32') {
output: process.stdout,
});
rl.on('SIGINT', function() {
rl.on('SIGINT', () => {
process.emit('SIGINT');
});
}
process.stdout.on('error', function(err) {
process.stdout.on('error', (error) => {
// https://stackoverflow.com/questions/12329816/error-write-epipe-when-piping-node-output-to-head#15884508
if (err.code === 'EPIPE') {
if (error.code === 'EPIPE') {
process.exit(0);
}
});

View File

@@ -11,6 +11,7 @@ function createConsoleWrapper(pluginId: string) {
const wrapper: any = {};
for (const n in console) {
// eslint-disable-next-line no-console
if (!console.hasOwnProperty(n)) continue;
wrapper[n] = (...args: any[]) => {
const newArgs = args.slice();
@@ -34,7 +35,7 @@ export default class PluginRunner extends BasePluginRunner {
private eventHandlers_: EventHandlers = {};
private activeSandboxCalls_: any = {};
constructor() {
public constructor() {
super();
this.eventHandler = this.eventHandler.bind(this);
@@ -63,7 +64,7 @@ export default class PluginRunner extends BasePluginRunner {
};
}
async run(plugin: Plugin, sandbox: Global): Promise<void> {
public async run(plugin: Plugin, sandbox: Global): Promise<void> {
return new Promise((resolve: Function, reject: Function) => {
const onStarted = () => {
plugin.off('started', onStarted);

View File

@@ -1,7 +1,7 @@
{
"name": "joplin",
"description": "Joplin CLI Client",
"license": "MIT",
"license": "AGPL-3.0-or-later",
"author": "Laurent Cozic",
"private": true,
"scripts": {
@@ -30,34 +30,36 @@
2019,
2020,
2021,
2022
2022,
2023
],
"owner": "Laurent Cozic"
},
"version": "2.10.0",
"version": "2.11.0",
"bin": "./main.js",
"engines": {
"node": ">=10.0.0"
},
"dependencies": {
"@joplin/lib": "~2.10",
"@joplin/renderer": "~2.10",
"aws-sdk": "2.1275.0",
"@joplin/lib": "~2.11",
"@joplin/renderer": "~2.11",
"@joplin/utils": "~2.11",
"aws-sdk": "2.1290.0",
"chalk": "4.1.2",
"compare-version": "0.1.2",
"fs-extra": "11.1.0",
"fs-extra": "11.1.1",
"html-entities": "1.4.0",
"image-type": "3.1.0",
"keytar": "7.9.0",
"md5": "2.3.0",
"node-rsa": "1.1.1",
"open": "8.4.0",
"open": "8.4.2",
"proper-lockfile": "4.1.2",
"read-chunk": "2.1.0",
"server-destroy": "1.0.1",
"sharp": "0.31.2",
"sharp": "0.31.3",
"sprintf-js": "1.1.2",
"sqlite3": "5.1.4",
"sqlite3": "5.1.6",
"string-padding": "1.0.2",
"strip-ansi": "6.0.1",
"tcp-port-used": "1.0.2",
@@ -68,12 +70,13 @@
"yargs-parser": "21.1.1"
},
"devDependencies": {
"@joplin/tools": "~2.10",
"@joplin/tools": "~2.11",
"@types/fs-extra": "9.0.13",
"@types/jest": "29.2.4",
"@types/node": "18.11.15",
"@types/jest": "29.2.6",
"@types/node": "18.11.18",
"@types/proper-lockfile": "^4.1.2",
"gulp": "4.0.2",
"jest": "29.3.1",
"jest": "29.4.3",
"temp": "0.9.4",
"typescript": "4.9.4"
}

View File

@@ -12,7 +12,7 @@ const shim = require('@joplin/lib/shim').default;
const HtmlToHtml = require('@joplin/renderer/HtmlToHtml').default;
const { enexXmlToMd } = require('@joplin/lib/import-enex-md-gen.js');
describe('HtmlToHtml', function() {
describe('HtmlToHtml', () => {
beforeEach(async () => {
await setupDatabaseAndSynchronizer(1);
@@ -49,6 +49,7 @@ describe('HtmlToHtml', function() {
}
if (actualHtml !== expectedHtml) {
/* eslint-disable no-console */
console.info('');
console.info(`Error converting file: ${htmlSourceFilename}`);
console.info('--------------------------------- Got:');
@@ -59,6 +60,7 @@ describe('HtmlToHtml', function() {
console.info(expectedHtml.split('\n'));
console.info('--------------------------------------------');
console.info('');
/* eslint-enable */
expect(false).toBe(true);
// return;

View File

@@ -3,7 +3,7 @@ const os = require('os');
const { filename } = require('@joplin/lib/path-utils');
import HtmlToMd from '@joplin/lib/HtmlToMd';
describe('HtmlToMd', function() {
describe('HtmlToMd', () => {
it('should convert from Html to Markdown', (async () => {
const basePath = `${__dirname}/html_to_md`;
@@ -57,6 +57,7 @@ describe('HtmlToMd', function() {
result.push('--------------------------------------------');
result.push('');
// eslint-disable-next-line no-console
console.info(result.join('\n'));
// console.info('');

View File

@@ -1,7 +1,7 @@
const MarkupToHtml = require('@joplin/renderer/MarkupToHtml').default;
describe('MarkupToHtml', function() {
describe('MarkupToHtml', () => {
it('should strip markup', (async () => {
const service = new MarkupToHtml();

View File

@@ -16,7 +16,7 @@ function newTestMdToHtml(options: any = null) {
return new MdToHtml(options);
}
describe('MdToHtml', function() {
describe('MdToHtml', () => {
beforeEach(async () => {
await setupDatabaseAndSynchronizer(1);
@@ -72,6 +72,7 @@ describe('MdToHtml', function() {
'',
];
// eslint-disable-next-line no-console
console.info(msg.join('\n'));
expect(false).toBe(true);

View File

@@ -0,0 +1,11 @@
<en-note>
<div>
<p>In Evernote a checklist is not the same as a list with checkboxes.</p>
<ul style="--en-todo:true;">
<li style="--en-checked:false;"><div>One</div></li>
<li style="--en-checked:true;"><div>Two</div>
</li><li style="--en-checked:false;"><div>Three</div></li>
</ul>
</div>
</en-note>

View File

@@ -0,0 +1,19 @@
<en-note>
<div>
<p>In Evernote a checklist is not the same as a list with checkboxes.</p>
<ul style="--en-todo:true;">
<li style="--en-checked:false;">
<input type="checkbox" onclick="return false;">
<div>One</div>
</li>
<li style="--en-checked:true;">
<input checked="checked" type="checkbox" onclick="return false;">
<div>Two</div>
</li>
<li style="--en-checked:false;">
<input type="checkbox" onclick="return false;">
<div>Three</div>
</li>
</ul>
</div>
</en-note>

View File

@@ -0,0 +1,7 @@
<ul style="--en-todo:true;">
<li style="--en-checked:false;"><div>One</div></li>
<li style="--en-checked:true;"><div>Two</div>
</li><li style="--en-checked:false;"><div>Three</div></li>
</ul>
<p>More text</p>

View File

@@ -0,0 +1,7 @@
- [ ] One
- [X] Two
- [ ] Three
More text

View File

@@ -22,7 +22,7 @@ const goToNote = (testApp, note) => {
testApp.dispatch({ type: 'NOTE_SELECT', id: note.id });
};
describe('feature_NoteHistory', function() {
describe('feature_NoteHistory', () => {
beforeEach(async () => {
testApp = new TestApp();
await testApp.start(['--no-welcome']);

View File

@@ -8,7 +8,7 @@ const time = require('@joplin/lib/time').default;
let testApp = null;
describe('integration_NoteList', function() {
describe('integration_NoteList', () => {
beforeEach(async () => {
testApp = new TestApp();

View File

@@ -22,7 +22,7 @@ const { ALL_NOTES_FILTER_ID } = require('@joplin/lib/reserved-ids.js');
let testApp = null;
describe('integration_ShowAllNotes', function() {
describe('integration_ShowAllNotes', () => {
beforeEach(async () => {
testApp = new TestApp();

View File

@@ -8,7 +8,7 @@ const time = require('@joplin/lib/time').default;
let testApp = null;
describe('integration_TagList', function() {
describe('integration_TagList', () => {
beforeEach(async () => {
testApp = new TestApp();

View File

@@ -1,3 +1,5 @@
/* eslint-disable jest/require-top-level-describe */
import KeychainService from '@joplin/lib/services/keychain/KeychainService';
import shim from '@joplin/lib/shim';
import Setting from '@joplin/lib/models/Setting';
@@ -11,7 +13,7 @@ function describeIfCompatible(name: string, fn: any, elseFn: any) {
}
}
describeIfCompatible('services_KeychainService', function() {
describeIfCompatible('services_KeychainService', () => {
beforeEach(async () => {
await setupDatabaseAndSynchronizer(1, { keychainEnabled: true });

View File

@@ -29,7 +29,7 @@ function newPluginService(appVersion: string = '1.4') {
return service;
}
describe('services_PluginService', function() {
describe('services_PluginService', () => {
beforeEach(async () => {
await setupDatabaseAndSynchronizer(1);

View File

@@ -8,7 +8,7 @@ async function newRepoApi(): Promise<RepositoryApi> {
return repo;
}
describe('services_plugins_RepositoryApi', function() {
describe('services_plugins_RepositoryApi', () => {
beforeEach(async () => {
await setupDatabaseAndSynchronizer(1);
@@ -47,9 +47,11 @@ describe('services_plugins_RepositoryApi', function() {
it('should tell if a plugin can be updated', (async () => {
const api = await newRepoApi();
expect(await api.pluginCanBeUpdated('org.joplinapp.plugins.ToggleSidebars', '1.0.0')).toBe(true);
expect(await api.pluginCanBeUpdated('org.joplinapp.plugins.ToggleSidebars', '1.0.2')).toBe(false);
expect(await api.pluginCanBeUpdated('does.not.exist', '1.0.0')).toBe(false);
expect(await api.pluginCanBeUpdated('org.joplinapp.plugins.ToggleSidebars', '1.0.0', '3.0.0')).toBe(true);
expect(await api.pluginCanBeUpdated('org.joplinapp.plugins.ToggleSidebars', '1.0.0', '1.0.0')).toBe(false);
expect(await api.pluginCanBeUpdated('org.joplinapp.plugins.ToggleSidebars', '1.0.2', '3.0.0')).toBe(false);
expect(await api.pluginCanBeUpdated('does.not.exist', '1.0.0', '3.0.0')).toBe(false);
}));
});

View File

@@ -24,7 +24,7 @@ function newPluginService(appVersion: string = '1.4') {
return service;
}
describe('defaultPluginsUtils', function() {
describe('defaultPluginsUtils', () => {
const pluginsId = ['joplin.plugin.ambrt.backlinksToNote', 'org.joplinapp.plugins.ToggleSidebars'];

View File

@@ -1,7 +1,7 @@
const sandboxProxy = require('@joplin/lib/services/plugins/sandboxProxy');
import { setupDatabaseAndSynchronizer, switchClient } from '@joplin/lib/testing/test-utils';
describe('services_plugins_sandboxProxy', function() {
describe('services_plugins_sandboxProxy', () => {
beforeEach(async () => {
await setupDatabaseAndSynchronizer(1);

View File

@@ -13,17 +13,14 @@ import JoplinWindow from './JoplinWindow';
/**
* This is the main entry point to the Joplin API. You can access various services using the provided accessors.
*
* **This is a beta API**
* The API is now relatively stable and in general maintaining backward compatibility is a top priority, so you shouldn't except much breakages.
*
* Please note that the plugin API is relatively new and should be considered Beta state. Besides possible bugs, what it means is that there might be necessary breaking changes from one version to the next. Whenever such change is needed, best effort will be done to:
* If a breaking change ever becomes needed, best effort will be done to:
*
* - Maintain backward compatibility;
* - When possible, deprecate features instead of removing them;
* - Deprecate features instead of removing them, so as to give you time to fix the issue;
* - Document breaking changes in the changelog;
*
* So if you are developing a plugin, please keep an eye on the changelog as everything will be in there with information about how to update your code. There won't be any major API rewrite or architecture changes, but possibly small tweaks like function signature change, type change, etc.
*
* Eventually, the plugin API will be versioned to make this process smoother.
* So if you are developing a plugin, please keep an eye on the changelog as everything will be in there with information about how to update your code.
*/
export default class Joplin {
private data_;

View File

@@ -15,7 +15,7 @@ import { Command } from './types';
*
* * [Main screen commands](https://github.com/laurent22/joplin/tree/dev/packages/app-desktop/gui/MainScreen/commands)
* * [Global commands](https://github.com/laurent22/joplin/tree/dev/packages/app-desktop/commands)
* * [Editor commands](https://github.com/laurent22/joplin/tree/dev/packages/app-desktop/gui/NoteEditor/commands/editorCommandDeclarations.ts)
* * [Editor commands](https://github.com/laurent22/joplin/tree/dev/packages/app-desktop/gui/NoteEditor/editorCommandDeclarations.ts)
*
* To view what arguments are supported, you can open any of these files
* and look at the `execute()` command.
@@ -49,7 +49,7 @@ import { Command } from './types';
*
*/
export default class JoplinCommands {
/**
/**
* <span class="platform-desktop">desktop</span> Executes the given
* command.
*
@@ -68,8 +68,8 @@ export default class JoplinCommands {
* await joplin.commands.execute('newFolder', "SOME_FOLDER_ID");
* ```
*/
execute(commandName: string, ...args: any[]): Promise<any | void>;
/**
execute(commandName: string, ...args: any[]): Promise<any | void>;
/**
* <span class="platform-desktop">desktop</span> Registers a new command.
*
* ```typescript
@@ -85,5 +85,5 @@ export default class JoplinCommands {
* });
* ```
*/
register(command: Command): Promise<void>;
register(command: Command): Promise<void>;
}

View File

@@ -1,3 +1,4 @@
import { ModelType } from '../../../BaseModel';
import { Path } from './types';
/**
* This module provides access to the Joplin data API: https://joplinapp.org/api/references/rest_api/
@@ -44,4 +45,6 @@ export default class JoplinData {
post(path: Path, query?: any, body?: any, files?: any[]): Promise<any>;
put(path: Path, query?: any, body?: any, files?: any[]): Promise<any>;
delete(path: Path, query?: any): Promise<any>;
itemType(itemId: string): Promise<ModelType>;
resourcePath(resourceId: string): Promise<string>;
}

View File

@@ -5,6 +5,6 @@
* so for now disable filters.
*/
export default class JoplinFilters {
on(name: string, callback: Function): Promise<void>;
off(name: string, callback: Function): Promise<void>;
on(name: string, callback: Function): Promise<void>;
off(name: string, callback: Function): Promise<void>;
}

View File

@@ -12,6 +12,6 @@ import { ExportModule, ImportModule } from './types';
* You may also want to refer to the Joplin API documentation to see the list of properties for each item (note, notebook, etc.) - https://joplinapp.org/api/references/rest_api/
*/
export default class JoplinInterop {
registerExportModule(module: ExportModule): Promise<void>;
registerImportModule(module: ImportModule): Promise<void>;
registerExportModule(module: ExportModule): Promise<void>;
registerImportModule(module: ImportModule): Promise<void>;
}

View File

@@ -6,7 +6,7 @@ export interface ChangeEvent {
*/
keys: string[];
}
export declare type ChangeHandler = (event: ChangeEvent)=> void;
export declare type ChangeHandler = (event: ChangeEvent) => void;
/**
* This API allows registering new settings and setting sections, as well as getting and setting settings. Once a setting has been registered it will appear in the config screen and be editable by the user.
*

View File

@@ -61,8 +61,7 @@ export default class JoplinViewsDialogs {
open(handle: ViewHandle): Promise<DialogResult>;
/**
* Toggle on whether to fit the dialog size to the content or not.
* When set to false, the dialog stretches to fill the application
* window.
* When set to false, the dialog is set to 90vw and 80vh
* @default true
*/
setFitToContent(handle: ViewHandle, status: boolean): Promise<boolean>;

View File

@@ -46,6 +46,23 @@ export default class JoplinViewsPanels {
*
*/
onMessage(handle: ViewHandle, callback: Function): Promise<void>;
/**
* Sends a message to the webview.
*
* The webview must have registered a message handler prior, otherwise the message is ignored. Use;
*
* ```javascript
* webviewApi.onMessage((message) => { ... });
* ```
*
* - `message` can be any JavaScript object, string or number
*
* The view API may have only one onMessage handler defined.
* This method is fire and forget so no response is returned.
*
* It is particularly useful when the webview needs to react to events emitted by the plugin or the joplin api.
*/
postMessage(handle: ViewHandle, message: any): void;
/**
* Shows the panel
*/

View File

@@ -1,9 +1,13 @@
import { FolderEntity } from '../../database/types';
import { Disposable } from './types';
import { Disposable, MenuItem } from './types';
export interface EditContextMenuFilterObject {
items: MenuItem[];
}
declare type FilterHandler<T> = (object: T) => Promise<void>;
declare enum ItemChangeEventType {
Create = 1,
Update = 2,
Delete = 3,
Delete = 3
}
interface ItemChangeEvent {
id: string;
@@ -12,8 +16,12 @@ interface ItemChangeEvent {
interface SyncStartEvent {
withErrors: boolean;
}
declare type ItemChangeHandler = (event: ItemChangeEvent)=> void;
declare type SyncStartHandler = (event: SyncStartEvent)=> void;
interface ResourceChangeEvent {
id: string;
}
declare type ItemChangeHandler = (event: ItemChangeEvent) => void;
declare type SyncStartHandler = (event: SyncStartEvent) => void;
declare type ResourceChangeHandler = (event: ResourceChangeEvent) => void;
/**
* The workspace service provides access to all the parts of Joplin that
* are being worked on - i.e. the currently selected notes or notebooks as
@@ -38,6 +46,11 @@ export default class JoplinWorkspace {
* Called when the content of the current note changes.
*/
onNoteChange(handler: ItemChangeHandler): Promise<Disposable>;
/**
* Called when a resource is changed. Currently this handled will not be
* called when a resource is added or deleted.
*/
onResourceChange(handler: ResourceChangeHandler): Promise<void>;
/**
* Called when an alarm associated with a to-do is triggered.
*/
@@ -50,6 +63,11 @@ export default class JoplinWorkspace {
* Called when the synchronisation process has finished.
*/
onSyncComplete(callback: Function): Promise<Disposable>;
/**
* Called just before the editor context menu is about to open. Allows
* adding items to it.
*/
filterEditorContextMenu(handler: FilterHandler<EditContextMenuFilterObject>): void;
/**
* Gets the currently selected note
*/

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