Compare commits

...

2353 Commits

Author SHA1 Message Date
Ammar Ahmed
17023d949f mobile: disable template when pin note to notifications 2024-05-11 12:46:12 +05:00
Ammar Ahmed
e09b1a556a mobile: fix exporting note to text for share/copy 2024-05-11 12:38:03 +05:00
Ammar Ahmed
ff379a52db mobile: fix update notification not showing on mobile app 2024-05-11 12:12:50 +05:00
Ammar Ahmed
a2e7190a4a mobile: fix colors of error popup in editor 2024-05-11 11:26:15 +05:00
Ammar Ahmed
503f2b5876 mobile: fix cannot read property 'groupBy' of undefined 2024-05-11 11:22:59 +05:00
Abdullah Atta
68d57e2b27 web: bump version to 3.0.4 2024-05-11 10:48:48 +05:00
Abdullah Atta
400aa574cd core: fix 2fa codes not being sent 2024-05-11 10:29:02 +05:00
Abdullah Atta
5028bb1275 web: update snapshots 2024-05-10 15:30:35 +05:00
Abdullah Atta
27ae5bb5a2 desktop: use npx prebuildify instead of yarn 2024-05-10 15:24:39 +05:00
Abdullah Atta
83316fe299 web: update snapshots for linux 2024-05-10 15:20:57 +05:00
Ammar Ahmed
8869224de2 mobile: fix image preview not rendered on iOS 2024-05-10 15:04:28 +05:00
Ammar Ahmed
c4152f0fc0 mobile: set editor reset time to 10 minutes 2024-05-10 14:53:10 +05:00
Ammar Ahmed
d803005637 mobile: release v3.0.3 2024-05-10 14:47:27 +05:00
Ammar Ahmed
53d896be2b mobile: fix opening exported files after export 2024-05-10 14:44:12 +05:00
Abdullah Atta
8c37c6409a ci: use actions/upload-artifact@v4 2024-05-10 12:36:56 +05:00
Abdullah Atta
9195244890 web: fix tests 2024-05-10 12:31:55 +05:00
Ammar Ahmed
152794ccd0 mobile: fix image filename in picker 2024-05-10 12:24:40 +05:00
Ammar Ahmed
2e8b234b63 mobile: fix editor content update on realtime sync 2024-05-10 12:24:40 +05:00
Abdullah Atta
055c647698 web: add Audios tab in attachments dialog 2024-05-10 12:08:38 +05:00
Abdullah Atta
2b7bcfe7c6 web: bump version to 3.0.3 2024-05-10 12:00:06 +05:00
Abdullah Atta
3c8b8a7bc9 web: fix real time sync test 2024-05-10 11:58:56 +05:00
Abdullah Atta
fde45fb6de web: saving timeout notice shown every time 2024-05-10 11:58:44 +05:00
Abdullah Atta
4a616a3e67 web: fix tab not updating when note is locked/unlocked 2024-05-10 11:27:26 +05:00
Abdullah Atta
bd0a338dd6 core: fix dateEdited not updating on saving locked content 2024-05-10 10:46:11 +05:00
Abdullah Atta
5ab721e3e2 core: fix async iterator on sql collection only returning dateCreated & id 2024-05-10 10:22:03 +05:00
Ammar Ahmed
cb70bb9429 mobile: fix errors 2024-05-10 09:22:23 +05:00
Abdullah Atta
82cadd473c web: show error if saving takes more than 30 seconds 2024-05-10 09:22:23 +05:00
Ammar Ahmed
0e8ea3ddeb mobile: fix editor loading 2024-05-10 09:22:23 +05:00
Ammar Ahmed
511acc5fca mobile: handle editor not responding 2024-05-10 09:22:23 +05:00
Ammar Ahmed
001cf8ee92 mobile: add editor lock safety 2024-05-10 09:22:23 +05:00
Muhammad Ali
a965cd694b web: fix color not updating on note (#5573) 2024-05-10 09:16:59 +05:00
Ammar Ahmed
d3c1c1959b mobile: fix wording of push/pull sync 2024-05-09 17:39:35 +05:00
Abdullah Atta
9a866a552a web: replace force sync with force push/pull 2024-05-09 17:39:35 +05:00
Ammar Ahmed
837c296821 mobile: push/pull force sync 2024-05-09 17:39:35 +05:00
Abdullah Atta
9aed6faed8 common: fix locked notes not getting exported 2024-05-09 17:39:16 +05:00
Abdullah Atta
734f491e8d editor: fix crash due to undefined is not an object (evaluating 'a.nodeSize') (#5553) 2024-05-09 17:38:18 +05:00
Ammar Ahmed
0ea13024e9 mobile: fix editor crash due to position (#5519)
Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com>
2024-05-09 15:55:33 +05:00
Abdullah Atta
cb27039245 web: close shared service on window close 2024-05-09 10:30:46 +05:00
Abdullah Atta
714ac2deac core: do not use auth access tokens as normal access tokens 2024-05-09 10:30:25 +05:00
Abdullah Atta
d605bc29bf desktop: fix crash on toggling custom dns (#5538) 2024-05-09 10:15:14 +05:00
Abdullah Atta
080101bc45 core: fix database disk image malformed error (#5525) 2024-05-09 10:08:44 +05:00
Abdullah Atta
4819e17da3 core: rerun sync if there are unsynced changes after sync complete 2024-05-08 16:48:59 +05:00
Ammar Ahmed
69a5d5a1b6 global: update .gitignore 2024-05-08 10:43:35 +05:00
Ammar Ahmed
68a6d6c313 mobile: fix crash when taking camera picture 2024-05-08 09:48:28 +05:00
Ammar Ahmed
c51ef4d5f6 mobile: fix camera permission 2024-05-08 09:48:28 +05:00
Ammar Ahmed
d9c5c1f893 mobile: remove margin in editor 2024-05-08 09:47:56 +05:00
Ammar Ahmed
5a75ca73a9 mobile: fix editor scrolling on update 2024-05-08 09:47:56 +05:00
Abdullah Atta
626d393376 desktop: use yarn instead of npx for build scripts 2024-05-08 09:14:55 +05:00
Abdullah Atta
68d06ff3f8 core: fix legacy backup restoration 2024-05-07 15:57:22 +05:00
Abdullah Atta
79f20d100c core: fix File already exists error on duplicate downloads 2024-05-07 12:57:51 +05:00
Ammar Ahmed
9d5bec3bfb ci: upload sourcemaps 2024-05-07 11:49:58 +05:00
Abdullah Atta
ac96354b4c core: handle case when updating item while a push is ongoing 2024-05-06 22:04:04 +05:00
Abdullah Atta
63f44d6fbc core: set synced to false on removing content by note id 2024-05-06 15:45:45 +05:00
Abdullah Atta
f9bfa88c83 core: set synced to false on unlinking relations 2024-05-06 15:45:45 +05:00
Ammar Ahmed
ef192f3d22 mobile: release v3.0.2 2024-05-05 01:14:20 +05:00
Abdullah Atta
c9a8134265 core: fix notes & notebooks sorting 2024-05-05 00:00:49 +05:00
Ammar Ahmed
cd7a5d2ec0 mobile: fix error not rendered correctly 2024-05-04 23:52:47 +05:00
Abdullah Atta
b92bc03fa9 web: handle errors when saving attachment 2024-05-04 23:51:42 +05:00
Abdullah Atta
5f5e472800 web: bump version to 3.0.2 2024-05-04 23:35:49 +05:00
Ammar Ahmed
0951906cac mobile: do not check for .nnbackup file in zip 2024-05-04 23:29:59 +05:00
Abdullah Atta
6f0fe03760 core: do not throw if user not found during legacy backup 2024-05-04 23:28:37 +05:00
Muhammad Ali
159ce97e42 core: fix crash due to unsanitized sort options (#5324)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2024-05-04 23:26:58 +05:00
Ammar Ahmed
8a9848634c mobile: fix note not opening from notifications 2024-05-04 23:26:07 +05:00
Ammar Ahmed
282705a683 mobile: add logging 2024-05-04 23:11:30 +05:00
Ammar Ahmed
c91b706ed0 mobile: correctly show mime type 2024-05-04 23:11:30 +05:00
Ammar Ahmed
16afc07b2f mobile: fix all attachments show in audios 2024-05-04 23:11:30 +05:00
Ammar Ahmed
04f8be5a62 core: add missing audios attachments filter 2024-05-04 23:11:30 +05:00
Ammar Ahmed
0e8a5ca1fa editor: fix n.startsWith is not a function 2024-05-04 23:03:54 +05:00
Ammar Ahmed
1491bf771e Fix image and file uploads on mobile (#5304)
* mobile: fix image file formats support

* mobile: fix image and file uploads

---------

Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com>
2024-05-04 23:02:07 +05:00
Abdullah Atta
0f5ce465c3 web: add logging related to attachments 2024-05-04 22:51:01 +05:00
Abdullah Atta
647ff7ae0e web: prevent overwriting uploaded attachments 2024-05-04 22:51:01 +05:00
Abdullah Atta
45a552adef web: handle errors during uploaded file size check 2024-05-04 22:51:01 +05:00
Abdullah Atta
8e207d787d web: delete file before reuploading 2024-05-04 22:51:01 +05:00
Abdullah Atta
00754593ac web: fix attachment not getting marked as failed on error 2024-05-04 22:51:01 +05:00
Abdullah Atta
b22770f1ae core: do not reset attachment dateUploaded when marking as failed 2024-05-04 22:51:01 +05:00
Abdullah Atta
523da4e91f core: only delete attachment file (not the metadata) on sync conflict 2024-05-04 22:51:01 +05:00
Abdullah Atta
de6c8154a3 web: fix password recovery not working 2024-05-04 22:50:44 +05:00
Abdullah Atta
9ef32e8081 web: do not hide attachment manager for logged out user 2024-05-01 20:14:20 +05:00
Abdullah Atta
5f53593a26 web: do not throw if backup doesn't contain .nnbackup file 2024-05-01 20:12:23 +05:00
Abdullah Atta
1f404944d9 web: re-enable service worker 2024-05-01 16:38:09 +05:00
Ammar Ahmed
23dca36475 mobile: release v3.0.1 2024-05-01 16:34:01 +05:00
Ammar Ahmed
3dd8e20e9a mobile: add logging when loading attachments 2024-05-01 16:29:37 +05:00
Abdullah Atta
8f412f9487 editor: fix padding of react node views on mobile 2024-05-01 16:29:12 +05:00
Abdullah Atta
bf790219db web: bump version to 3.0.1 2024-05-01 16:16:08 +05:00
Ammar Ahmed
c6af310b2d mobile: add notebook search 2024-05-01 16:10:26 +05:00
Abdullah Atta
8d89b5dca9 web: bring back notebook search in move note dialog 2024-05-01 16:10:26 +05:00
Abdullah Atta
fa35244607 editor: update test snapshosts 2024-05-01 16:09:06 +05:00
Abdullah Atta
d96815fa36 ci: remove beta publish workflows 2024-05-01 15:23:43 +05:00
Abdullah Atta
4a9f5b1d8b core: remove .only from trash tests 2024-05-01 15:19:57 +05:00
Ammar Ahmed
43fac79011 mobile: fix moving notebook on ios 2024-05-01 15:18:55 +05:00
Ammar Ahmed
f2c62c8d8b mobile: fix moving notebook on ios 2024-05-01 15:18:55 +05:00
Ammar Ahmed
70c9dd0083 mobile: reduce font size in notebook header 2024-05-01 15:15:37 +05:00
Ammar Ahmed
ae6d8c5f2b mobile: hide breadcrumbs in top level notebooks 2024-05-01 15:15:37 +05:00
Abdullah Atta
38e2250fd1 web: log attachment on failure 2024-05-01 14:55:49 +05:00
Ammar Ahmed
17e2c5a8a2 desktop: fix app icon size for macos 2024-05-01 14:53:32 +05:00
Ammar Ahmed
2e226f0f72 mobile: fix cannot read property 'sortDirection' of undefined 2024-05-01 13:34:48 +05:00
Ammar Ahmed
167c54578b mobile: fix scrolling broken in reminder -> repeat -> month 2024-05-01 13:34:37 +05:00
Abdullah Atta
fb656af5ca web: sort tags by title in editor header 2024-05-01 13:34:20 +05:00
Ammar Ahmed
ddfab272d2 common: sort tags by title in resolved items 2024-05-01 13:34:20 +05:00
Ammar Ahmed
28958311c1 mobile: fix share extention crash on sharing from some apps 2024-05-01 13:34:06 +05:00
Ammar Ahmed
f1b8275b4b mobile: add support for setting note title form quick note widget 2024-05-01 13:34:06 +05:00
Ammar Ahmed
c8c75d40dd mobile: fix theme search returns empty results 2024-05-01 13:33:50 +05:00
Ammar Ahmed
bace90808d mobile: fix footer size for notebook screen 2024-05-01 13:33:31 +05:00
Ammar Ahmed
fe7c7e8db4 mobile: fix notebook-sheet position 2024-05-01 13:32:02 +05:00
Ammar Ahmed
519a569366 mobile: fix notebook sheet flicker 2024-05-01 13:32:02 +05:00
Ammar Ahmed
89d602a40f mobile: do not lock app when requesting permission 2024-05-01 13:31:38 +05:00
Abdullah Atta
a8db65b5af editor: fix performance issues due to using portals for react node views 2024-05-01 13:29:55 +05:00
Ammar Ahmed
716239abfd mobile: fix selection header 2024-05-01 13:21:31 +05:00
Ammar Ahmed
62dd5a5416 mobile: fix vault unlock with biometrics 2024-05-01 13:19:00 +05:00
Ammar Ahmed
96558c5df5 mobile: fix search bar position on ios 2024-05-01 13:18:21 +05:00
Ammar Ahmed
45997dd2e4 editor: fix scroll into view should bring heading to top 2024-05-01 13:16:54 +05:00
Ammar Ahmed
bde190f01c mobile: render settings icon if no profile pic is set 2024-05-01 13:15:24 +05:00
Ammar Ahmed
042c97688f mobile: add quick theme switch button 2024-05-01 13:15:24 +05:00
Ammar Ahmed
95b5114070 mobile: fix confusing settings/sync button 2024-05-01 13:15:24 +05:00
Ammar Ahmed
20742e2a1c mobile: fix back navigation from editor (#4867)
Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com>
2024-05-01 13:13:44 +05:00
Ammar Ahmed
1e3149284e mobile: report error when migration fails due to backup error 2024-05-01 13:01:41 +05:00
Ammar Ahmed
d77c09f1fd mobile: fix opening internal link in readonly mode 2024-05-01 13:00:58 +05:00
Ammar Ahmed
aa602ea8e9 mobile: fix position of context menu 2024-05-01 12:59:50 +05:00
Ammar Ahmed
8ab6b6dc31 mobile: skip checking encrypted backup if user is logged out 2024-05-01 12:57:42 +05:00
Ammar Ahmed
404d136a73 mobile: fix sidebar order not loading on app launch 2024-05-01 12:50:13 +05:00
Abdullah Atta
cf9aeecd7e editor: fix placeholder showing always in first line of editor 2024-05-01 12:37:48 +05:00
Abdullah Atta
1adda96ce2 editor: fix many papercut ux issues in search replace 2024-05-01 12:36:00 +05:00
Abdullah Atta
6dd6d818c9 editor: add support for multi line search/replace 2024-05-01 12:36:00 +05:00
Abdullah Atta
c7e83961d4 web: show all notes if query is empty in note linking dialog 2024-05-01 12:35:38 +05:00
Abdullah Atta
03428e5848 core: allow full FTS5 search syntax 2024-05-01 12:35:38 +05:00
Abdullah Atta
d0fceed56d web: improve app performance by reducing react rerenders 2024-05-01 12:34:43 +05:00
Abdullah Atta
b8c68b5163 web: fix middle pane size increasing on exiting focus mode 2024-04-30 21:52:25 +05:00
Abdullah Atta
2496004896 web: fix position of image preview toolbar 2024-04-30 21:51:57 +05:00
Abdullah Atta
16ec35de25 web: do not change properties top on web app 2024-04-30 21:51:57 +05:00
Abdullah Atta
d248b8e2b8 web: properties & toc side bars must be below the titlebar 2024-04-30 21:51:57 +05:00
Abdullah Atta
641e7484e3 desktop: add custom dns toggle in settings 2024-04-30 21:51:35 +05:00
Abdullah Atta
a46409ff44 core: add more fts trigger tests 2024-04-30 21:51:17 +05:00
Abdullah Atta
5dbabc2706 core: fix database disk image is malformed error on updating deleted content 2024-04-30 21:51:17 +05:00
Abdullah Atta
2d4d656dd9 web: canceling backup on password change should abort 2024-04-30 21:50:48 +05:00
Abdullah Atta
ab51b22e4a web: do not ask for password when downloading backup during recovery 2024-04-30 21:50:32 +05:00
Abdullah Atta
781d09daca web: fix navigation menu resize issues 2024-04-30 21:50:21 +05:00
Abdullah Atta
f21533e5e4 core: fix sql collection only getting first batch on iteration 2024-04-30 21:50:00 +05:00
Abdullah Atta
2ea9b04863 web: fix toggles in properties not working 2024-04-30 21:49:37 +05:00
Abdullah Atta
675d517cbc web: reduce zoom factor step to 0.1 2024-04-30 21:49:13 +05:00
Abdullah Atta
c336c57bda web: disable pwa 2024-04-30 21:48:28 +05:00
Abdullah Atta
7b5fa09c71 web: fix all users are premium 2024-04-30 13:15:54 +05:00
Ammar Ahmed
d85974ed7a mobile: fix editor crash in v3 2024-04-30 12:09:15 +05:00
Ammar Ahmed
9598ea7542 mobile: fix wrong version in update sheet 2024-04-30 10:10:17 +05:00
Ammar Ahmed
42048ad53a mobile: fix multi-selection ux 2024-04-30 00:42:27 +05:00
Ammar Ahmed
1fbd2efb92 mobile: fix crash during backup 2024-04-30 00:17:25 +05:00
Ammar Ahmed
fe91ef79a0 global: update logo 2024-04-29 13:24:54 +05:00
Abdullah Atta
583d585b2f desktop: re-enable arm64 builds 2024-04-29 11:53:09 +05:00
Abdullah Atta
94b28f86ca desktop: remove channel when publishing 2024-04-29 11:38:31 +05:00
Abdullah Atta
f927f05f86 desktop: fix spawn EINVAL error on build 2024-04-29 11:15:43 +05:00
Abdullah Atta
bde8dea048 global: update package lockfiles 2024-04-29 11:15:21 +05:00
Abdullah Atta
511bea9b23 editor: update snapshots 2024-04-28 10:54:10 +05:00
Abdullah Atta
eda95530de desktop: set generateUpdatesFilesForAllChannels to false 2024-04-26 15:59:42 +05:00
Abdullah Atta
5173decaa5 crypto: upgrade sodium-native to 4.1.1 2024-04-26 15:48:42 +05:00
Abdullah Atta
00dcb55f6e ci: migrate to TrustedSigning from AzureCodeSigning 2024-04-26 15:44:29 +05:00
Abdullah Atta
6dbe1073cd ci: use AzureCodeSigning version 0.3.4 2024-04-26 15:30:53 +05:00
Abdullah Atta
9be3e4fcfa desktop: install node-gyp-build 2024-04-26 15:30:03 +05:00
Abdullah Atta
f9f0a866bd setup: fix infinite loop in postinstall 2024-04-26 15:18:49 +05:00
Abdullah Atta
daafeb2fa8 setup: retry postinstall commands 3 times 2024-04-26 15:17:49 +05:00
Abdullah Atta
a92b34b81c ci: back to node@20.x 2024-04-26 15:14:25 +05:00
Abdullah Atta
e29b6838b3 ci: use node@18.x 2024-04-26 14:53:23 +05:00
Ammar Ahmed
16ff7c92e4 mobile: update android version 2024-04-26 14:46:56 +05:00
Abdullah Atta
07e1ea6edf ci: use yarn instead of npx when executing electron-builder 2024-04-26 14:41:28 +05:00
Abdullah Atta
b26ede95fb desktop: use prebuilds on linux-arm 2024-04-26 14:01:32 +05:00
Abdullah Atta
971793a3ad desktop: use net.fetch for handling protocol requests 2024-04-26 14:01:32 +05:00
Abdullah Atta
6a2b5e1499 desktop: upgrade electron to 29 2024-04-26 14:01:32 +05:00
Abdullah Atta
d18b775d06 web: use same logic for uploading attachment on desktop & web 2024-04-26 14:01:32 +05:00
Abdullah Atta
d6cc899d95 web: close note after removing attachment permanently 2024-04-26 14:01:32 +05:00
Abdullah Atta
ea10058276 web: fix linked notes not showing in attachment context menu 2024-04-26 14:01:32 +05:00
Abdullah Atta
568c88be3e fs: fix out of bounds error when reading chunks 2024-04-26 14:01:32 +05:00
Abdullah Atta
f047552f18 core: fix attachment not getting detached from note's content 2024-04-26 14:01:32 +05:00
Ammar Ahmed
9a58430b5d mobile: release v3.0.0 2024-04-26 11:29:59 +05:00
Ammar Ahmed
205885edf5 mobile: disable app lock when picking file to restore backup 2024-04-26 11:29:59 +05:00
Abdullah Atta
8ffb49b700 desktop: fix Unexpected token 'with' on build 2024-04-26 10:30:44 +05:00
Abdullah Atta
25b18a2edd ci: pin node version to 20.2.0 2024-04-26 10:24:54 +05:00
Abdullah Atta
cfea85c8fb web: add v3 feature highlights 2024-04-26 09:35:06 +05:00
Abdullah Atta
82fc6d31c3 web: fix new notes not getting assigned to default notebook 2024-04-26 09:15:35 +05:00
Abdullah Atta
fb2de1753e web: fix full screen test 2024-04-26 09:06:00 +05:00
Ammar Ahmed
ceb5ce5cdd mobile: add quick settings tile on android 2024-04-26 08:49:38 +05:00
Ammar Ahmed
98d443001c mobile: fix no placeholder text on share widget 2024-04-26 08:49:38 +05:00
Abdullah Atta
5115dee069 core: fix crash when converting html to text 2024-04-26 08:28:32 +05:00
Abdullah Atta
0dc29c7026 core: refactor reminder upcoming time sql 2024-04-26 07:49:47 +05:00
Muhammad Ali
a5eb5e9df3 core: fix incorrect upcoming time in weekly/monthly reminders (#4464) 2024-04-25 16:22:34 +05:00
Ammar Ahmed
b680575328 mobile: fix padding of internal editors on mobile 2024-04-25 15:50:17 +05:00
Ammar Ahmed
c94ef616a5 mobile: improve ui of side menu user section 2024-04-25 15:31:10 +05:00
Ammar Ahmed
3ae40c09fc mobile: fix db init in background failing 2024-04-25 15:31:10 +05:00
Ammar Ahmed
5de4e00ce2 mobile: enable background sync by default 2024-04-25 15:31:10 +05:00
Ammar Ahmed
99e4e61a55 mobile: fix notebook sheet does not remember last position 2024-04-25 15:31:10 +05:00
Abdullah Atta
1ad7bfb82f web: fix settings dialog side bar transparent from bottom 2024-04-25 14:43:21 +05:00
Abdullah Atta
30ef679432 web: fix empty editor after unlocking app 2024-04-25 13:40:11 +05:00
Abdullah Atta
bb97f5e757 clipper(web): update app logo 2024-04-25 13:00:29 +05:00
Abdullah Atta
6cd5a04470 desktop: update app logo 2024-04-25 13:00:17 +05:00
Abdullah Atta
0c32ebf163 web: update app logo 2024-04-25 13:00:07 +05:00
Abdullah Atta
e150e08f29 editor: fix crash on dragging a react node 2024-04-25 10:38:40 +05:00
Ammar Ahmed
bbd603f10c docs: update logo 2024-04-25 10:23:05 +05:00
Ammar Ahmed
677944cba9 docs: remove mentions of topic 2024-04-25 10:23:05 +05:00
Ammar Ahmed
dd2cee53d3 mobile: update app logo 2024-04-25 10:23:05 +05:00
Ammar Ahmed
60c8d5ac89 mobile: fix notes in notifications not launch on app start 2024-04-25 10:23:05 +05:00
Ammar Ahmed
59276de406 mobile: fix background sync 2024-04-25 10:23:05 +05:00
Abdullah Atta
67981be516 desktop: clonableCryptoKey is always true on desktop 2024-04-25 10:17:37 +05:00
Abdullah Atta
77dfcec08c web: fix attachments ui in properties 2024-04-24 11:45:15 +05:00
Abdullah Atta
c4360ab95f common: fix exports 2024-04-24 11:45:00 +05:00
Abdullah Atta
17c4b72381 web: minor ui fix 2024-04-23 09:35:01 +05:00
Ammar Ahmed
e91cc2bdca mobile: support pinned editor tabs 2024-04-22 15:55:10 +05:00
Abdullah Atta
811f2305ec core: disable transactions for now 2024-04-22 12:23:43 +05:00
Abdullah Atta
98a707b5f5 setup: remove --prefer-offline 2024-04-22 09:52:26 +05:00
Abdullah Atta
aa9b24fa10 core: do not run auto sync on changes in notehistory & sessioncontent collections 2024-04-22 09:37:54 +05:00
Abdullah Atta
0b3060e4c0 web: improve error reporting if a query fails 2024-04-22 09:14:10 +05:00
Ammar Ahmed
d523db84cc mobile: fix back gesture handler broken in editor 2024-04-22 08:38:32 +05:00
Abdullah Atta
6a6a9ae6b3 ci: install @zip.js/zip.js before running web tests 2024-04-20 19:48:18 +05:00
Abdullah Atta
b1bc28e069 ci: install dayjs before running web tests 2024-04-20 19:41:47 +05:00
Abdullah Atta
f95c068bc1 web: fix all tests 2024-04-20 16:42:11 +05:00
Abdullah Atta
0e4cd087d4 core: add tests for virtualized grouping 2024-04-20 16:42:11 +05:00
Ammar Ahmed
f217b8cfec mobile: add borders to dialogs & sheet 2024-04-19 12:26:25 +05:00
Ammar Ahmed
d3787efbf0 web: fix wording of trash interval 2024-04-19 12:26:09 +05:00
Ammar Ahmed
e279878b12 mobile: improve move note sheet ux 2024-04-19 12:00:13 +05:00
Ammar Ahmed
154a227be0 mobile: fix placeholder item height in compact mode 2024-04-19 10:32:53 +05:00
Ammar Ahmed
756259c907 mobile: minor improvement in list 2024-04-19 10:23:12 +05:00
Ammar Ahmed
453ed4820a mobile: remove beta tag from reminders 2024-04-19 10:23:12 +05:00
Ammar Ahmed
10ab612366 mobile: fix section header title for rtl lang 2024-04-19 10:23:12 +05:00
Ammar Ahmed
8dc4f7ed3d mobile: remove v3 beta notice on login page 2024-04-19 10:23:12 +05:00
Ammar Ahmed
a73538bafc mobile: use border color for borders 2024-04-19 10:23:12 +05:00
Abdullah Atta
014887c7dc core: fix virtualized grouping showing duplicate groups 2024-04-19 10:14:22 +05:00
Abdullah Atta
246e49bd8c web: remove beta tag 2024-04-18 15:48:47 +05:00
Ammar Ahmed
146ac12935 mobile: fix search not update on changing item property 2024-04-18 14:48:37 +05:00
Abdullah Atta
4f5245adcf web: fix changing readonly doesn't update editor 2024-04-18 13:26:59 +05:00
Abdullah Atta
0bc0cc5729 Merge branch 'v3-beta' 2024-04-18 13:19:33 +05:00
Ammar Ahmed
1136072eff mobile: improve search experience 2024-04-18 13:11:43 +05:00
Ammar Ahmed
4cc8a538a4 mobile: make side bar order stateful 2024-04-18 13:11:43 +05:00
Abdullah Atta
271913ba20 core: fix migrate to sqlite progress reporting 2024-04-18 12:53:16 +05:00
Abdullah Atta
3efe541869 web: fix nav menu items order not respected 2024-04-18 12:17:31 +05:00
Abdullah Atta
b3bcdd4f9c web: fix status bar hidden 2024-04-18 12:06:01 +05:00
Abdullah Atta
13f739763c desktop: use secure dns by default 2024-04-18 11:26:22 +05:00
Abdullah Atta
bde2b26133 web: bring back publish button in top action bar 2024-04-18 11:26:01 +05:00
Abdullah Atta
6eef65952d editor: fix simple checklist not working in firefox 2024-04-18 10:23:23 +05:00
Abdullah Atta
3d85795216 common: add toolbar migration for addInternalLink tool 2024-04-18 10:00:55 +05:00
Ammar Ahmed
f1a1989990 misc: update deps 2024-04-18 09:49:56 +05:00
Ammar Ahmed
76ff5eddd0 mobile: fix tests 2024-04-18 09:49:56 +05:00
Ammar Ahmed
068ee8dc68 mobile: support drag & drop images on iOS 2024-04-18 09:49:56 +05:00
Ammar Ahmed
bbf0fb641b mobile: fix attachment upload from base64 2024-04-18 09:49:56 +05:00
Ammar Ahmed
3cae22faf1 core: fix upload attachment from content 2024-04-18 09:49:56 +05:00
Abdullah Atta
34a4a27ba0 web: reduce batch size to 100 2024-04-18 09:43:18 +05:00
Abdullah Atta
d96a78c741 web: middle click should close tab even if there is scroll 2024-04-18 09:40:41 +05:00
Abdullah Atta
c9e5ee9ddb core: use database logger instead of console.error 2024-04-18 09:37:21 +05:00
Abdullah Atta
f43c2a40f5 web: do not jump to focus the same item again 2024-04-18 08:52:12 +05:00
Abdullah Atta
b12a0e979c web: send contentId when saving a note's content 2024-04-17 16:14:20 +05:00
Abdullah Atta
d0372b82db core: add content noteId to sqlite index 2024-04-17 16:14:00 +05:00
Abdullah Atta
dac1441add web: fix various crashes 2024-04-17 14:53:05 +05:00
Abdullah Atta
a65ebec7ae web: replace allotment with react-resizable-panels 2024-04-17 14:23:19 +05:00
Abdullah Atta
d5cf65e568 web: fix potential crash when saving note 2024-04-16 23:36:38 +05:00
Ammar Ahmed
424073298e mobile: fix quick note widget not working 2024-04-16 23:24:50 +05:00
Abdullah Atta
580c83687e desktop: fix build on windows 2024-04-16 22:27:20 +05:00
Abdullah Atta
de226a8ab6 web: bump version to 3.0.14 2024-04-16 12:48:45 +05:00
Abdullah Atta
8b94b08066 web: handle error when scheduling a cron task 2024-04-16 12:08:22 +05:00
Abdullah Atta
18c460a8b2 web: fix padding at bottom on opening a nested notebook 2024-04-15 22:11:24 +05:00
Abdullah Atta
fbb3a56c0c core: fix too many SQL variables error on trash cleanup 2024-04-15 22:01:32 +05:00
Ammar Ahmed
48f602d4fe mobile: fix help links 2024-04-15 22:01:12 +05:00
Abdullah Atta
ad2b68c8ed editor: fix notes with task lists taking too long to load 2024-04-15 20:55:07 +05:00
Abdullah Atta
c2eafccf2a editor: fix note with task list saving on open 2024-04-15 20:35:50 +05:00
Ammar Ahmed
5ca74b6127 mobile: handle native error 2024-04-09 17:00:32 +05:00
Ammar Ahmed
143a38ade6 mobile: set privacy screen when app lock settings change 2024-04-09 16:36:30 +05:00
Ammar Ahmed
40cff39713 mobile: bump version 2024-04-09 16:28:52 +05:00
Ammar Ahmed
3efa1140b2 mobile: fix editor padding 2024-04-09 16:28:15 +05:00
Ammar Ahmed
64f28aedbf mobile: revert timer change 2024-04-09 16:03:27 +05:00
Ammar Ahmed
74e3a28e2a mobile: fix app state 2024-04-09 16:02:45 +05:00
Ammar Ahmed
58c324b2ac mobile: minor fixes 2024-04-09 15:35:17 +05:00
Abdullah Atta
25fa2dc406 clipper: publish v0.3.2 2024-04-09 14:59:07 +05:00
Abdullah Atta
3e76f3b8c6 clipper: allow web clipper to connect with v3 web app 2024-04-09 14:58:55 +05:00
Abdullah Atta
a12a3fbdc8 clipper: publish v0.3.1 2024-04-09 14:07:49 +05:00
Abdullah Atta
46c492c92a web: fix no column notes.id on opening web clipper 2024-04-09 13:58:29 +05:00
Abdullah Atta
dbace71754 web: bump version to 3.0.13 2024-04-09 13:41:31 +05:00
Abdullah Atta
ece5b56bdd web: add tracing to debug empty content on save issue 2024-04-09 13:37:58 +05:00
Abdullah Atta
c35dd826dc core: fix too many SQL variables error on bulk deletion 2024-04-09 13:17:12 +05:00
Abdullah Atta
675324f6af web: fix color check status not updating in properties 2024-04-09 12:33:27 +05:00
Abdullah Atta
8788a14229 web: send error as is instead of copying it in shared service 2024-04-09 12:19:23 +05:00
Abdullah Atta
c8f697c5b1 web: fix context menu not opening on attachments 2024-04-09 11:57:32 +05:00
Abdullah Atta
48a4d67c13 web: handle errors during attachments download 2024-04-09 11:50:16 +05:00
Abdullah Atta
e4289bb69e web: fix gradients not rendering in app logo 2024-04-09 03:12:53 +05:00
Abdullah Atta
7000c67535 core: fix no such column: dateEdited on sorting tags 2024-04-09 02:56:13 +05:00
Abdullah Atta
0eb61c80fa web: improve loading of really long notes 2024-04-09 02:46:27 +05:00
Abdullah Atta
4bbd43e54b editor: speed up note loading significantly 2024-04-09 01:37:30 +05:00
Abdullah Atta
ce949d94f2 editor: use css containment for editor 2024-04-09 01:37:30 +05:00
Abdullah Atta
bdbf205745 editor: simplify link node detection 2024-04-09 01:37:30 +05:00
Abdullah Atta
899ab2ddb1 editor: use schema from editor directly 2024-04-09 01:37:30 +05:00
Abdullah Atta
a302276af9 editor: speed up setting block id on edit 2024-04-09 01:37:30 +05:00
Abdullah Atta
ee14a292ab editor: use alfaaz for word counting 2024-04-09 01:37:30 +05:00
Ammar Ahmed
646949c96c mobile: bump version 2024-04-04 17:28:46 +05:00
Ammar Ahmed
ebfb5c29dd editor: minor fixes 2024-04-04 13:35:45 +05:00
Ammar Ahmed
3932ae62b0 mobile: minor fixes in editor 2024-04-04 13:00:40 +05:00
Ammar Ahmed
f671d2dec0 editor: fix position out of range error 2024-04-04 11:47:18 +05:00
Ammar Ahmed
6261f3f2c6 mobile: accept shared title in extension 2024-04-04 08:10:26 +05:00
Ammar Ahmed
1b9802b8e0 mobile: make add notebook button floating 2024-04-04 06:24:25 +05:00
Ammar Ahmed
ca95af7043 core: add missing settings keys 2024-04-04 06:23:53 +05:00
Abdullah Atta
0aac2eb1e0 web: set max editor session duration to 5 minutes 2024-04-04 00:40:40 +05:00
Abdullah Atta
c10d083dab web: fix flickering in footer during save indicator update 2024-04-04 00:19:09 +05:00
Abdullah Atta
27c6cdec47 editor: fix typo 2024-04-03 23:59:58 +05:00
Abdullah Atta
8fd0f97dfe core: fix search queries with 3 characters not allowed 2024-04-03 17:34:24 +05:00
Abdullah Atta
59d65a2cbb editor: fix crash if code block language contains space 2024-04-03 16:51:17 +05:00
Abdullah Atta
9bd978b8c6 web: fix notebook title not updating on edit 2024-04-03 16:44:43 +05:00
Abdullah Atta
d6e22f2e3e web: fix task list header overlapping toolbar 2024-04-03 16:34:47 +05:00
Abdullah Atta
a9a1290530 web: fix text not selectable from bottom of editor 2024-04-03 16:11:42 +05:00
Abdullah Atta
b8eab5bddc web: fix crash on showing announcement 2024-04-03 16:05:20 +05:00
Abdullah Atta
6836d6551f editor: fix image size resetting on opening new tab 2024-04-03 16:05:03 +05:00
Abdullah Atta
8e07ae8b26 web: press escape to exit search 2024-04-03 15:35:50 +05:00
Abdullah Atta
b013a1cfa7 editor: fix collapsed callouts not rendering correctly 2024-04-03 15:33:28 +05:00
Abdullah Atta
0650d00ca1 web: close tab on moving note to trash 2024-04-03 15:24:10 +05:00
Abdullah Atta
c048f789e7 desktop: fix toggles in properties not working 2024-04-03 15:01:58 +05:00
Abdullah Atta
9c158dfa53 setup: exclude better-sqlite3 & sodium-native from rebuild 2024-04-02 15:19:00 +05:00
Abdullah Atta
168be74277 global: update lockfiles 2024-04-02 14:38:22 +05:00
Abdullah Atta
016532ef42 ci: use brew to install setuptools 2024-04-02 12:33:11 +05:00
Abdullah Atta
7368796a72 ci: fix No module named 'distutils' 2024-04-02 12:14:40 +05:00
Abdullah Atta
b3e10de0a1 desktop: get rid of @elctron/rebuild 2024-04-02 12:13:06 +05:00
Abdullah Atta
dd674d38df desktop: ignore errors during update check 2024-04-02 11:58:33 +05:00
Abdullah Atta
a427e32796 web: bump version to 3.0.12 2024-04-02 11:52:27 +05:00
Abdullah Atta
b44d2e5c9b web: fix tests 2024-04-02 11:51:33 +05:00
Abdullah Atta
c42d046188 desktop: fix left margin in titlebar 2024-04-01 17:26:23 +05:00
Abdullah Atta
ae5f9f0f4a desktop: add @electron/rebuild 2024-04-01 17:20:41 +05:00
Abdullah Atta
1681a587b9 web: add margins before tabs in web app 2024-04-01 17:20:12 +05:00
Abdullah Atta
b43d51aa72 desktop: fix custom title bar on linux 2024-04-01 17:17:28 +05:00
Abdullah Atta
f99d4bc013 web: fix pressing Fix it resulted in database error 2024-04-01 12:50:11 +05:00
Abdullah Atta
430c2f51f6 web: fix create vault dialog cannot be closed 2024-04-01 11:54:14 +05:00
Abdullah Atta
b55b521def core: fix Cannot read property 'sortBy' of undefined 2024-04-01 11:43:51 +05:00
Abdullah Atta
c26e2d800d editor: add Shift+Mod+L shortcut for adding internal links 2024-04-01 11:38:59 +05:00
Ammar Ahmed
310de9f950 mobile: export notes 2024-04-01 11:27:10 +05:00
Abdullah Atta
9109c5180a editor: remove display: inline for floating images 2024-04-01 11:27:10 +05:00
Abdullah Atta
db57c125d6 web: use new export utility from @notesnook/common 2024-04-01 11:27:10 +05:00
Abdullah Atta
3ec177c631 web: expose streaming file decryption 2024-04-01 11:27:10 +05:00
Abdullah Atta
fa561df14f web: allow reading data from stream when writing zip 2024-04-01 11:27:10 +05:00
Abdullah Atta
b0abf56f20 common: add export notes utility
this utility resolves attachments & internal links
2024-04-01 11:27:09 +05:00
Abdullah Atta
a4ac051af0 core: minor changes 2024-04-01 11:27:09 +05:00
Abdullah Atta
7a2db59516 core: fix export of floating images 2024-04-01 11:27:09 +05:00
Abdullah Atta
76c33e3cbc core: add support for resolving attachments & internal links 2024-04-01 11:27:09 +05:00
Abdullah Atta
fd295b226a core: remove unused methods 2024-04-01 11:27:09 +05:00
Abdullah Atta
9bb82aebfe core: improve export performance 2024-04-01 11:27:09 +05:00
Abdullah Atta
38c6dd3953 web: integrate the tab bar like before 2024-04-01 11:23:56 +05:00
Abdullah Atta
0517f61164 web: enable custom title bar in the web app 2024-04-01 11:23:56 +05:00
Ammar Ahmed
17289f2df6 desktop: fix output binary path 2024-04-01 11:23:56 +05:00
Abdullah Atta
44a7f057ac desktop: fix titlebar alignment 2024-04-01 11:23:56 +05:00
Ammar Ahmed
be5d0820d5 desktop: fix title bar for macos 2024-04-01 11:23:56 +05:00
Abdullah Atta
23bd4a564f desktop: add custom titlebar 2024-04-01 11:23:56 +05:00
Ammar Ahmed
be41cf1252 mobile: show readonly icon on note item 2024-03-30 12:06:56 +05:00
Ammar Ahmed
cf643fe0b0 mobile: fix link notebooks sheet 2024-03-30 11:51:07 +05:00
Ammar Ahmed
988efa4577 mobile: show sync disabled icon on note 2024-03-30 11:50:24 +05:00
Ammar Ahmed
631160c2c9 mobile: fix colors on color page 2024-03-30 09:47:13 +05:00
Abdullah Atta
ebe3f2b771 web: make shared sqlite more robust 2024-03-29 15:49:25 +05:00
Abdullah Atta
3e300d98c4 web: handle more errors in error boundary 2024-03-29 15:49:08 +05:00
Abdullah Atta
1a1e673a6c web: fix double app refresh on logout 2024-03-29 15:48:41 +05:00
Abdullah Atta
6ce08b5aa3 web: do not destroy db on tab/window close 2024-03-29 15:48:26 +05:00
Abdullah Atta
2ef0d5b5cd web: fix profile settings not updating on logout 2024-03-29 15:39:00 +05:00
Abdullah Atta
a15978bf6a core: separate db setup & init 2024-03-29 15:38:36 +05:00
Abdullah Atta
8fb8c54157 core: do not close db connection on reset 2024-03-29 15:38:17 +05:00
Abdullah Atta
9f4647be47 core: add support for dropping triggers 2024-03-29 15:37:59 +05:00
Abdullah Atta
1a38da30f4 web: reduce provider port retry delay to 50ms 2024-03-28 10:00:27 +05:00
Abdullah Atta
c3d244b3b6 web: always keep one tab open 2024-03-28 09:56:23 +05:00
Abdullah Atta
751af3c2d1 web: add support for multiple browser tabs & windows 2024-03-28 09:50:37 +05:00
Abdullah Atta
ec00779062 core: only create triggers if they do not exist 2024-03-28 09:50:37 +05:00
Abdullah Atta
165ba064a9 core: add support for skipping database initialization 2024-03-28 09:50:37 +05:00
Ammar Ahmed
2763068e21 mobile: release v3.0.15 2024-03-27 12:39:59 +05:00
Ammar Ahmed
210bdeaed0 mobile: fix vault unlocking 2024-03-27 11:48:56 +05:00
Ammar Ahmed
3037a153dd mobile: fix app lock key decryption error 2024-03-27 11:48:56 +05:00
Abdullah Atta
474fb597c6 web: respect tag casing 2024-03-27 11:28:05 +05:00
Abdullah Atta
6c19968ef6 desktop: fix ENOENT error when saving backup 2024-03-27 11:26:35 +05:00
Abdullah Atta
38dedcbc3c web: change backup filename format 2024-03-27 11:26:35 +05:00
Abdullah Atta
0e066d5d63 desktop: handle error during update check 2024-03-27 11:26:35 +05:00
Ammar Ahmed
d45a65edea mobile: fix applock unlocks app on entering any pin 2024-03-27 09:40:45 +05:00
Abdullah Atta
98e3c2955b core: fix groups returning only 1 group 2024-03-26 12:29:41 +05:00
Abdullah Atta
9c0eca0891 web: bump version to 3.0.11 2024-03-26 11:53:15 +05:00
Abdullah Atta
32c377a0ea web: add v3 beta notice on login screen 2024-03-26 11:53:15 +05:00
Ammar Ahmed
02145ec17e mobile: release v3.0.14 2024-03-26 11:50:44 +05:00
Abdullah Atta
9e1a864f54 web: fix tests 2024-03-26 11:45:09 +05:00
Abdullah Atta
4989dc4301 web: focus item in list when switching tabs 2024-03-26 11:45:08 +05:00
Abdullah Atta
4f43e4eab5 web: fix reminder cannot be edited 2024-03-26 11:45:08 +05:00
Ammar Ahmed
d59219e62b mobile: fix applock toggles working without verification 2024-03-26 11:44:46 +05:00
Ammar Ahmed
5f5209af8c mobile: fix sidemenu ui 2024-03-26 11:40:11 +05:00
Ammar Ahmed
6a9e6065d1 mobile: fix typo 2024-03-26 11:36:32 +05:00
Ammar Ahmed
00119dbefe mobile: add notice on login page 2024-03-26 11:26:57 +05:00
Ammar Ahmed
c466af60a6 mobile: resize textarea after delay in title 2024-03-26 11:05:41 +05:00
Ammar Ahmed
e5512974d5 mobile: no need to check editor ready state 2024-03-26 11:05:23 +05:00
Ammar Ahmed
7861fa0b11 mobile: fix title of preview tab 2024-03-26 11:05:08 +05:00
Ammar Ahmed
c20dbf1158 mobile: fix recyclerlistview crash 2024-03-26 09:32:43 +05:00
Ammar Ahmed
9e7c302693 mobile: minor bug fixes 2024-03-26 08:57:23 +05:00
Abdullah Atta
e007f2592c core: add extensive grouping/sorting tests 2024-03-26 07:55:23 +05:00
Abdullah Atta
3a5ea3e8ef web: fix sidebar items are not reorderable 2024-03-25 15:11:03 +05:00
Abdullah Atta
0a0edd4814 web: middle click on note to open it in new tab 2024-03-25 13:37:26 +05:00
Abdullah Atta
62bbea01e6 web: middle click on tab to close it 2024-03-25 13:16:42 +05:00
Abdullah Atta
3730596030 editor: fix random crash Cannot read properties of null (reading 'domFromPos') 2024-03-25 13:06:06 +05:00
Abdullah Atta
7f176942ba editor: cancel image download on switching notes 2024-03-25 13:02:11 +05:00
Abdullah Atta
72a09f48e0 desktop: prevent downloading multiple updates 2024-03-25 12:38:30 +05:00
Abdullah Atta
632291e901 web: crash on assigning a tag from editor 2024-03-25 12:17:15 +05:00
Abdullah Atta
17352e783b web: navigate to root notebook or notebooks on deletion 2024-03-25 12:05:44 +05:00
Abdullah Atta
d8729f8171 core: ignore trash when checking notebook existence 2024-03-25 12:05:25 +05:00
Abdullah Atta
8ac8f8f56a desktop: fix crash on showing reminder notification with no description 2024-03-25 11:11:49 +05:00
Abdullah Atta
a2cfa8873f core: fix sync tests 2024-03-23 07:23:02 +05:00
Abdullah Atta
13a7f39d27 mobile: bump version to 3.0.13 2024-03-23 06:32:18 +05:00
Abdullah Atta
4e22a5605b web: bump version to 3.0.10 2024-03-23 06:29:24 +05:00
Abdullah Atta
0afcf8cbab core: fix The item must contain the id field. error on migration 2024-03-23 06:27:59 +05:00
Licaon_Kter
c54759e766 Remove gradle property unused in Java 17
Signed-off-by: Licaon_Kter <licaon-kter@users.noreply.github.com>
2024-03-22 23:17:45 +05:00
Ammar Ahmed
b1d13c125f mobile: bump version code on ios 2024-03-22 11:29:07 +05:00
Ammar Ahmed
85aab9506c mobile: release v3.0.12 2024-03-22 11:17:43 +05:00
Abdullah Atta
728b63b001 setup: revert "disable esbuild rebuild" 2024-03-22 11:13:31 +05:00
Abdullah Atta
b91567e2cf setup: disable esbuild rebuild 2024-03-22 11:09:22 +05:00
Abdullah Atta
c3179542a6 web: bump version to 3.0.9 2024-03-22 11:04:45 +05:00
Abdullah Atta
7ea575a1b8 web: fix locked note immediately getting locked on edit 2024-03-22 11:01:35 +05:00
Abdullah Atta
d2eeb93339 core: make tag title matching case sensitive 2024-03-22 10:51:56 +05:00
Abdullah Atta
ca59670b68 web: show errors during tag edit/create 2024-03-22 10:45:48 +05:00
Abdullah Atta
a1117d77f3 core: prevent tags with duplicate names 2024-03-22 10:45:48 +05:00
Ammar Ahmed
e7ee455ee3 mobile: throw error when renaming tag to existing tag title 2024-03-22 10:30:34 +05:00
Abdullah Atta
9ad9c0c633 core: fix duplicate tags created during migration 2024-03-22 10:16:00 +05:00
Abdullah Atta
ec2a6f26e6 core: add date created in tag/color during migration 2024-03-22 10:16:00 +05:00
Abdullah Atta
ead4f59ba7 web: use plain divs for rendering item skeleton 2024-03-22 10:15:59 +05:00
Abdullah Atta
c4f0cd18ad core: generate setting key ids once
this greatly improves performance because md5 id generation is slow
2024-03-22 10:15:59 +05:00
Ammar Ahmed
77d5bd71f9 mobile: minor ui fixes 2024-03-22 09:33:40 +05:00
Ammar Ahmed
eb0aff2fc3 mobile: fix tags not rendered in note properties 2024-03-22 09:24:14 +05:00
Ammar Ahmed
e4e1eb0ced mobile: fix tag delete in bulk 2024-03-22 09:24:14 +05:00
Ammar Ahmed
116a017938 mobile: add try/catch to check item loading issues 2024-03-22 09:24:14 +05:00
Ammar Ahmed
6dfbb27c33 core: fix user profile cleared on clearing an profile data 2024-03-22 09:24:14 +05:00
Ammar Ahmed
097c6915fb mobile: migrate user profile to settings 2024-03-22 09:24:14 +05:00
Abdullah Atta
97490a5e37 web: make app work in offline mode 2024-03-22 08:19:28 +05:00
Abdullah Atta
799678efca common: fix type error 2024-03-22 07:23:53 +05:00
Abdullah Atta
e3afb1d068 web: use user profile from settings 2024-03-21 13:17:03 +05:00
Abdullah Atta
d32db74ccc core: move user profile to settings collection 2024-03-21 13:16:21 +05:00
Abdullah Atta
e24452c386 editor: remove not an image error thrown when downloading images 2024-03-21 12:42:23 +05:00
Abdullah Atta
68e97f17d0 editor: fix clicking on internal link opens a new tab 2024-03-21 12:28:26 +05:00
Abdullah Atta
9040a4561d editor: fix Cannot read properties of null (reading 'posFromDOM') error 2024-03-21 12:28:07 +05:00
Abdullah Atta
1ed8205f45 web: show reload app button in error overlay 2024-03-21 12:07:25 +05:00
Abdullah Atta
feaa207f68 common: do not render undefined items 2024-03-21 12:06:56 +05:00
Abdullah Atta
76e766583c core: filter out ids that have no note against them on lookup 2024-03-21 12:04:07 +05:00
Ammar Ahmed
f15446b1d6 mobile: bump version code 2024-03-21 11:45:03 +05:00
Ammar Ahmed
18be9fda41 mobile: bump android version code to 3000 2024-03-21 11:22:49 +05:00
Abdullah Atta
9b3430b5d9 web: fix editor tags not updated when creating note in a tag 2024-03-21 11:22:49 +05:00
Abdullah Atta
5b79fbd7b5 web: highlight changes in diff viewer 2024-03-21 11:22:49 +05:00
Abdullah Atta
cc0be4565d editor: refactor diff highlighter extension 2024-03-21 11:22:49 +05:00
Abdullah Atta
41865fb286 web: bump version to 3.0.8 2024-03-21 11:22:49 +05:00
Ammar Ahmed
37507d4f0a mobile: release v3.0.11 2024-03-21 11:22:49 +05:00
Ammar Ahmed
755a8d45e9 mobile: update Pods 2024-03-21 11:22:49 +05:00
Abdullah Atta
357d872362 web: fix assigning a color removes that color from all other notes 2024-03-21 11:22:49 +05:00
Abdullah Atta
63be4088a5 web: fix changes in callout heading not causing toc update 2024-03-21 11:22:49 +05:00
Abdullah Atta
7e4d123a51 web: fix toc items not indented 2024-03-21 11:22:49 +05:00
Abdullah Atta
1a2ce6ba72 editor: add block-id on nodes inside callout 2024-03-21 11:22:49 +05:00
Abdullah Atta
adb3805ec7 editor: disable conflicting simple checklist input rule 2024-03-21 11:22:49 +05:00
Ammar Ahmed
328f324d9e mobile: fix tab title 2024-03-21 11:22:49 +05:00
Abdullah Atta
108c9e2944 web: fix image picker shown when there are 0 images 2024-03-21 11:22:49 +05:00
Abdullah Atta
f2a5ed6642 editor: add support for copy/pasting code blocks with highlighting 2024-03-21 11:22:49 +05:00
Abdullah Atta
e1339617b5 web: fix crash on copying from codeblock 2024-03-21 11:22:48 +05:00
Abdullah Atta
4f22010c56 web: only show content blocks with direct links in referenced in tab 2024-03-21 11:22:48 +05:00
Abdullah Atta
831b8497b2 core: fix extraction of blocks with links 2024-03-21 11:22:48 +05:00
Abdullah Atta
37dd691270 editor: fix hover popup appearing in wrong position 2024-03-21 11:22:48 +05:00
Abdullah Atta
4349445910 editor: fix outline list has no data-block-id attribute 2024-03-21 11:22:48 +05:00
Abdullah Atta
669849018a editor: fix DOMException when removing react node views 2024-03-21 11:22:48 +05:00
Abdullah Atta
71ad15b4b6 editor: minor refactors 2024-03-21 11:22:48 +05:00
Abdullah Atta
732185a69d editor: fix crash on select all + backspace with lists 2024-03-21 11:22:48 +05:00
Abdullah Atta
479dec6998 editor: fix crash on removing task list 2024-03-21 11:22:48 +05:00
Ammar Ahmed
ff6b65c55c editor: enable block id on checklist and callout 2024-03-21 11:22:48 +05:00
Abdullah Atta
6e5493f149 editor: fix react node views for react 18 2024-03-21 11:22:48 +05:00
Ammar Ahmed
b185338be2 editor: always show note internal link button in toolbar 2024-03-21 11:22:48 +05:00
Abdullah Atta
b4161644d0 editor: handle link open on click 2024-03-21 11:22:48 +05:00
Abdullah Atta
61e0fdea50 ui: fix weird zIndex animation on popups 2024-03-21 11:22:48 +05:00
Abdullah Atta
cb124c7445 editor: update tiptap & other packages 2024-03-21 11:22:48 +05:00
Abdullah Atta
fce0d50061 editor: fix newline added in callout on typing anything 2024-03-21 11:22:48 +05:00
Abdullah Atta
dac2a22824 editor: fix => turning into a callout 2024-03-21 11:22:48 +05:00
Abdullah Atta
655bdf3798 editor: fix image size resetting on resize 2024-03-21 11:22:48 +05:00
Abdullah Atta
907bfd04ed web: fix images not getting attached 2024-03-21 11:22:48 +05:00
Abdullah Atta
38ca451d7e web: fix attachment delete dialog not rendering any buttons 2024-03-21 11:22:48 +05:00
Abdullah Atta
52800b39e4 core: fix attachment deletion 2024-03-21 11:22:47 +05:00
Ammar Ahmed
9d700f6fd1 mobile: use contentBlocksWithLinks 2024-03-21 11:22:47 +05:00
Ammar Ahmed
0a5f0d407e core: fix duplicate backlinks shown on note 2024-03-21 11:22:47 +05:00
Ammar Ahmed
a84f3a4434 mobile: cleanup 2024-03-21 11:22:47 +05:00
Ammar Ahmed
1dbd2d8f5f mobile: show error if attachment download fails 2024-03-21 11:22:47 +05:00
Ammar Ahmed
ec1001067d core: support video,audio,document filter in attachments 2024-03-21 11:22:47 +05:00
Ammar Ahmed
0374aa17c4 mobile: fix all attachments showin in note attachments 2024-03-21 11:22:47 +05:00
Abdullah Atta
78cbce5ca0 editor: #dialogContainer > .dialogContainer 2024-03-21 11:22:47 +05:00
Abdullah Atta
65c988cf36 web: fix editor dom structure 2024-03-21 11:22:47 +05:00
Abdullah Atta
1487bf027a web: fix editor toolbar is not sticky 2024-03-21 11:22:47 +05:00
Ammar Ahmed
c5ec5f127d editor: fix collapsing a callout collapses all parent callouts 2024-03-21 11:22:47 +05:00
Ammar Ahmed
2627c83e79 mobile: fix webpack config 2024-03-21 11:22:47 +05:00
Ammar Ahmed
d54f2351f6 mobile: release v3.0.10 2024-03-21 11:22:47 +05:00
Ammar Ahmed
460c2b4662 mobile: open note in new tab 2024-03-21 11:22:47 +05:00
Ammar Ahmed
cf5fac7d41 mobile: fix incorrect tab content by default 2024-03-21 11:22:47 +05:00
Ammar Ahmed
8d4ae8e970 mobile: fix incorrect button type in dialog 2024-03-21 11:22:47 +05:00
Ammar Ahmed
f9db4d49b1 mobile: fix publish button hidden on tablet 2024-03-21 11:22:46 +05:00
Ammar Ahmed
728b22f337 mobile: cleanup 2024-03-21 11:22:46 +05:00
Ammar Ahmed
de42a895dd mobile: update deps 2024-03-21 11:22:46 +05:00
Ammar Ahmed
0b813b3fa1 mobile: fix app lock shows on session expired sheet 2024-03-21 11:22:46 +05:00
Ammar Ahmed
d13ff079a4 mobile: support showing diff of conflicted note 2024-03-21 11:22:46 +05:00
Ammar Ahmed
eca9f221ac editor: add highlight diff extension 2024-03-21 11:22:46 +05:00
Ammar Ahmed
48a3f11215 mobile: remove redundant code 2024-03-21 11:22:46 +05:00
Ammar Ahmed
dc7fcb67f0 mobile: render title after loaded 2024-03-21 11:22:46 +05:00
Ammar Ahmed
78e8f932c2 mobile: bump android version 2024-03-21 11:22:46 +05:00
Ammar Ahmed
65678a0995 mobile: fix button action 2024-03-21 11:22:46 +05:00
Ammar Ahmed
2b9381d40e mobile: check if editorController.current is undefined 2024-03-21 11:22:46 +05:00
Ammar Ahmed
0f795ff913 mobile: cleanup 2024-03-21 11:22:46 +05:00
Ammar Ahmed
43cb5d278c mobile: add readonly editor 2024-03-21 11:22:46 +05:00
Abdullah Atta
c7142e409b web: fix more tests 2024-03-21 11:22:11 +05:00
Abdullah Atta
3876cb5ec3 editor: fix some images not loading 2024-03-21 11:22:11 +05:00
Abdullah Atta
47862c3182 web: fix lock/unlock from properties not working 2024-03-21 11:22:11 +05:00
Abdullah Atta
533bef014d web: fix title of locked note not saving 2024-03-21 11:22:11 +05:00
Abdullah Atta
f5ac0b93f6 web: update url on switching between sessions 2024-03-21 11:22:11 +05:00
Abdullah Atta
d5a27b052c web: hide tags input in new session 2024-03-21 11:22:11 +05:00
Abdullah Atta
4a36606121 web: bring back edited date in footer 2024-03-21 11:22:11 +05:00
Abdullah Atta
b69933444c web: fix typing fast in title input caused some characters to miss 2024-03-21 11:22:11 +05:00
Ammar Ahmed
48866efa57 mobile: fix webpack config 2024-03-21 11:22:11 +05:00
Abdullah Atta
c56445f817 global: update lockfiles 2024-03-21 11:22:11 +05:00
Abdullah Atta
18afc0a49c editor: fix type errors 2024-03-21 11:22:11 +05:00
Ammar Ahmed
f38c4bbbac mobile: release v3.0.9 2024-03-21 11:22:11 +05:00
Abdullah Atta
de125a33d1 web: show error if backup import fails 2024-03-21 11:22:11 +05:00
Ammar Ahmed
81b7e34b0d mobile: readd editor overlay 2024-03-21 11:22:11 +05:00
Ammar Ahmed
5d2853d002 mobile: fix tab bugs 2024-03-21 11:22:11 +05:00
Abdullah Atta
ad41544403 web: bump version to 3.0.7 2024-03-21 11:22:10 +05:00
Abdullah Atta
c8bf1fc2cd editor: do not add data-block-id attribute if no blockid 2024-03-21 11:22:10 +05:00
Abdullah Atta
3d25a1d5c2 editor: highlight active block for 5 seconds 2024-03-21 11:22:10 +05:00
Abdullah Atta
a8896b847f core: fix imports 2024-03-21 11:22:10 +05:00
Abdullah Atta
a1b3327aa8 web: improve internal links ui 2024-03-21 11:22:10 +05:00
Abdullah Atta
e9431af138 core: do not wrap text in content blocks 2024-03-21 11:22:10 +05:00
Abdullah Atta
8b07508204 web: ignore realtime sync if it doesn't update content or note title 2024-03-21 11:22:10 +05:00
Abdullah Atta
3e0d9f92af web: fix behavior of editor action bar 2024-03-21 11:22:10 +05:00
Abdullah Atta
0e4a2c7593 web: always show note statistics of active editor 2024-03-21 11:22:10 +05:00
Abdullah Atta
a7a2dcf791 web: fix diff viewer not showing images 2024-03-21 11:22:10 +05:00
Abdullah Atta
47221dc81b web: fix concurrent opfs reads throwing errors 2024-03-21 11:22:10 +05:00
Abdullah Atta
6fb8f11d2f web: await promises 2024-03-21 11:21:08 +05:00
Abdullah Atta
0cfd607806 web: use database updated event to add editor reactivity 2024-03-21 11:21:08 +05:00
Abdullah Atta
a86565a8ec core: fix attachment not unlinked from notes on removal 2024-03-21 11:21:08 +05:00
Abdullah Atta
3ee231e459 core: publish database updated events on content remove/update 2024-03-21 11:21:08 +05:00
Abdullah Atta
335021090d core: refactor database update event logic 2024-03-21 11:21:08 +05:00
Abdullah Atta
b001107135 core: add method to rebuild trash cache 2024-03-21 11:21:08 +05:00
Abdullah Atta
dba1d8645d core: simplify remove from all notebooks logic 2024-03-21 11:21:08 +05:00
Abdullah Atta
9dff23bdd5 core: publish database updated event on relations unlink 2024-03-21 11:21:08 +05:00
Abdullah Atta
90e48cbc16 core: fix note not unlinked from vault on unlock 2024-03-21 11:21:08 +05:00
Abdullah Atta
4a1a912d0f core: rebuild trash cache on sync complete 2024-03-21 11:21:08 +05:00
Abdullah Atta
8a6328ef07 web: reopen notes after permanently deleting an attachment 2024-03-21 11:21:08 +05:00
Abdullah Atta
a66c72e099 web: fix content is not updated for new notes in realtime sync 2024-03-21 11:21:07 +05:00
Abdullah Atta
652cbcda52 web: update editor sessions in realtime 2024-03-21 11:21:07 +05:00
Abdullah Atta
199c5d3e64 web: do not show internal links, notebooks etc in properties for trash preview 2024-03-21 11:21:07 +05:00
Abdullah Atta
8b1b569fee web: fix editor title not changing on realtime sync 2024-03-21 11:21:07 +05:00
Abdullah Atta
d869a69477 web: special icons for readonly and trash preview tabs 2024-03-21 11:21:07 +05:00
Abdullah Atta
00995431f4 web: fix trash note preview is not readonly 2024-03-21 11:21:07 +05:00
Abdullah Atta
cec7c5f3b1 core: standarize database updated event 2024-03-21 11:21:07 +05:00
Abdullah Atta
47ae03ba8a global: upgrade typescript to 5.4.2 2024-03-21 11:21:07 +05:00
Abdullah Atta
3aa3858981 web: fix type errors 2024-03-21 11:21:06 +05:00
Abdullah Atta
67fa1d6bb4 core: sort & group reminders in sqlite 2024-03-21 11:21:06 +05:00
Ammar Ahmed
00ecb149df mobile: minor cleanup 2024-03-21 11:21:06 +05:00
Ammar Ahmed
d931d20006 mobile: fix search in share extension 2024-03-21 11:21:06 +05:00
Ammar Ahmed
b4a0e97e3f editor: do not focus editor on end search 2024-03-21 11:21:06 +05:00
Ammar Ahmed
8edcfcf2f1 mobile: fix editor tab bugs 2024-03-21 11:21:06 +05:00
Ammar Ahmed
6a8ccf9401 mobile: fix use-db-item hook not working 2024-03-21 11:21:06 +05:00
Ammar Ahmed
e2eab24574 mobile: fix attachment exists check when uploading file 2024-03-21 11:21:06 +05:00
Ammar Ahmed
6a4e31e972 mobile: fix attachment progress not working 2024-03-21 11:21:06 +05:00
Ammar Ahmed
04f54f79fa mobile: fix note with attachments not saved from share extension 2024-03-21 11:21:05 +05:00
Ammar Ahmed
c148c6b9cf mobile: fix share extension append to exisitng note not working 2024-03-21 11:21:05 +05:00
Ammar Ahmed
030cbefe3f common: up version when migrating toolbar 2024-03-21 11:21:05 +05:00
Abdullah Atta
85342e5f74 core: fix table x has no column y errors 2024-03-21 11:21:05 +05:00
Ammar Ahmed
46565aa45c mobile: blur editor on back 2024-03-21 11:21:05 +05:00
Abdullah Atta
8496423b50 web: use dnd-kit for smoother drag/drop in tabs 2024-03-21 11:21:05 +05:00
Abdullah Atta
e39be83f70 web: always sort pinned tabs first 2024-03-21 11:21:05 +05:00
Abdullah Atta
3a6d1e7a76 web: fix pinned tabs getting unpinned after app refresh 2024-03-21 11:21:05 +05:00
Ammar Ahmed
15fc1d0cca mobile: add useNoteLocked hook 2024-03-21 11:21:05 +05:00
Ammar Ahmed
685322f02a mobile: fix ui of linked blocks 2024-03-21 11:21:05 +05:00
Ammar Ahmed
b849861146 mobile: fix jump to block 2024-03-21 11:21:05 +05:00
Ammar Ahmed
91e041108c mobile: fix content block ui 2024-03-21 11:21:05 +05:00
Ammar Ahmed
76f2ac2c1d mobile: fix loading placeholder position 2024-03-21 11:21:05 +05:00
Ammar Ahmed
bc11999201 mobile: fix colors and size of icons in editor header 2024-03-21 11:21:05 +05:00
Ammar Ahmed
103b1b88f5 mobile: use flatlist for rendering tabs 2024-03-21 11:21:05 +05:00
Ammar Ahmed
5b703fe53a mobile: show keyboard when opening new tab or empty tab 2024-03-21 11:21:05 +05:00
Ammar Ahmed
ab33aa7ebd mobile: make tab active on focus 2024-03-21 11:21:04 +05:00
Ammar Ahmed
4db043b111 mobile: fix tabs 2024-03-21 11:21:04 +05:00
Ammar Ahmed
3efe977c49 mobile: fix minor bugs in tabs 2024-03-21 11:21:04 +05:00
Ammar Ahmed
08c03bc3a4 mobile: fix duplicate imports 2024-03-21 11:21:04 +05:00
Abdullah Atta
5cb373f730 web: bring back editor margins toggle in action bar 2024-03-21 11:21:04 +05:00
Abdullah Atta
123f1a2658 web: minor ui fixes 2024-03-21 11:21:04 +05:00
Abdullah Atta
72645ce0ad web: fix section subtitle horizontal margin 2024-03-21 11:21:04 +05:00
Abdullah Atta
3f375065fc web: add placeholder in table of contents 2024-03-21 11:21:04 +05:00
Abdullah Atta
3d816751f6 web: update diff content on tab switch 2024-03-21 11:21:04 +05:00
Abdullah Atta
f44c553749 web: minor refactor 2024-03-21 11:21:04 +05:00
Abdullah Atta
9c0ee7e63c web: fix properties section horizontal margin 2024-03-21 11:21:04 +05:00
Abdullah Atta
ae3a73c334 core: remove note from vault if its content is not locked 2024-03-21 11:21:04 +05:00
Abdullah Atta
fe0129e1a4 web: fix locked notes getting overwritten with unencrypted content 2024-03-21 11:21:04 +05:00
Abdullah Atta
274395d01b web: fix diff session not opening after app refresh 2024-03-21 11:21:04 +05:00
Abdullah Atta
5deb5253c1 editor: fix search decorations not cleared on search end 2024-03-21 11:21:04 +05:00
Abdullah Atta
55e3213e5c web: add all missing functionality in note linking dialog 2024-03-21 11:21:04 +05:00
Abdullah Atta
bc9b5c39ee web: remove custom search state logic & use editor commands 2024-03-21 11:21:04 +05:00
Abdullah Atta
7a48c7c1e3 editor: fix text on selected search result not visible 2024-03-21 11:21:03 +05:00
Abdullah Atta
324256a499 editor: use global search store for managing search state 2024-03-21 11:21:03 +05:00
Abdullah Atta
eaea7bdd2a editor: minor refactor 2024-03-21 11:21:03 +05:00
Abdullah Atta
5985e22777 web: remove locked session type guard (switch to simple boolean)
the type guard was incorrect
2024-03-21 11:21:03 +05:00
Abdullah Atta
5de7fc5bd7 web: add content to new session type 2024-03-21 11:21:03 +05:00
Abdullah Atta
b54457f522 web: fix editor title not updating on creating a note 2024-03-21 11:21:03 +05:00
Abdullah Atta
f94341facc web: remove preview session type 2024-03-21 11:21:03 +05:00
Abdullah Atta
90a19e7152 web: ${id}_editorScroll > editorScroll_${id} 2024-03-21 11:21:03 +05:00
Abdullah Atta
32998b9c8c web: set session content before saving 2024-03-21 11:21:03 +05:00
Abdullah Atta
88532ae13b web: add dialog container inside tab 2024-03-21 11:21:03 +05:00
Abdullah Atta
64a138fa80 web: handle locked notes properly in real time editor sync 2024-03-21 11:21:03 +05:00
Abdullah Atta
8fe2774d8f web: freeze unhydrated sessions 2024-03-21 11:21:03 +05:00
Abdullah Atta
8ef42dd605 web: remove unused & commented out code 2024-03-21 11:21:03 +05:00
Abdullah Atta
5b44206931 web: focus editor on switching tab and toggle active class 2024-03-21 11:21:03 +05:00
Abdullah Atta
29f92a0806 web: define editor & session once and pass it everywhere 2024-03-21 11:21:03 +05:00
Abdullah Atta
03f8332c67 web: remove unlocked session type 2024-03-21 11:21:03 +05:00
Abdullah Atta
144d362527 web: set session id on saving note 2024-03-21 11:21:03 +05:00
Abdullah Atta
7a6ccb932d core: add block ids before returning content 2024-03-21 11:21:03 +05:00
Abdullah Atta
94c1556a5c editor: fix range error crash 2024-03-21 11:21:03 +05:00
Abdullah Atta
5974ffc0d4 editor: do not add block id on list items
(because they already contain paragraphs and we don't want duplicates)
2024-03-21 11:21:03 +05:00
Abdullah Atta
6184281694 editor: do not touch editor when its view is destroyed 2024-03-21 11:21:02 +05:00
Abdullah Atta
c51406ca04 editor: fix selection/focus is lost when editor state is updated 2024-03-21 11:21:02 +05:00
Abdullah Atta
07db957f67 editor: fix list type thumbnails in toolbar 2024-03-21 11:21:02 +05:00
Abdullah Atta
d31194bb39 editor: hide hover popup on editor destroy 2024-03-21 11:21:02 +05:00
Abdullah Atta
44827d13fe editor: render interactive popups in popup instead of menu 2024-03-21 11:21:02 +05:00
Abdullah Atta
c847ca0817 editor: scroll blocks into view only for active editor 2024-03-21 11:21:02 +05:00
Abdullah Atta
bd102ea346 editor: query editor dom based on active editor class 2024-03-21 11:21:02 +05:00
Abdullah Atta
688dde9890 editor: render all popups in popup container 2024-03-21 11:21:02 +05:00
Abdullah Atta
adfef8faef editor: close all popups and dropdowns on switching tabs 2024-03-21 11:21:02 +05:00
Abdullah Atta
7785bcd5a8 editor: fix placeholder is not visible 2024-03-21 11:21:02 +05:00
Abdullah Atta
569f4537e7 ui: allow setting popup container 2024-03-21 11:21:02 +05:00
Abdullah Atta
43a03079a1 web: disable properties button in action bar when diff is open 2024-03-21 11:21:02 +05:00
Abdullah Atta
852802da4b web: allow session item size to grow 2024-03-21 11:21:02 +05:00
Abdullah Atta
ce4e0a1916 web: add support for /notes/:noteId/edit hash route 2024-03-21 11:21:02 +05:00
Abdullah Atta
ce53495b76 core: do not change date modified on items when bulk adding 2024-03-21 11:21:02 +05:00
Abdullah Atta
42571b0794 editor: make image size clamping responsive 2024-03-21 11:21:02 +05:00
Abdullah Atta
3a2eba3242 web: fix race condition where editor context would be destroyed and updated at the same time 2024-03-21 11:21:02 +05:00
Abdullah Atta
2d9f41e114 web: create error from ErrorEvent if none found 2024-03-21 11:21:02 +05:00
Abdullah Atta
8dada6d936 editor: fix crash on loading web clip 2024-03-21 11:21:02 +05:00
Abdullah Atta
2c4170bacc web: reenable tags refreshing in editor 2024-03-21 11:21:02 +05:00
Abdullah Atta
86ff1890f1 editor: fix position of loading placeholder for floating image 2024-03-21 11:21:01 +05:00
Abdullah Atta
2ef17b800c editor: fix react node views not rendering on editor load 2024-03-21 11:21:01 +05:00
Abdullah Atta
0c0d91f8fd web: fix crash on refreshing editor store 2024-03-21 11:21:01 +05:00
Ammar Ahmed
ba7b88f5d8 mobile: fix randId function duplicate 2024-03-21 11:21:01 +05:00
Abdullah Atta
47a396ffaf editor: fix crash when resizing window due to a memory leak 2024-03-21 11:21:01 +05:00
Abdullah Atta
f60fcefd1c web: fix temporary tabs cannot be made permanent 2024-03-21 11:21:01 +05:00
Abdullah Atta
57e1629b0c web: fix jumping tabs when pinning/unpinning tabs 2024-03-21 11:21:01 +05:00
Abdullah Atta
5988640d3f web: fix crashes when moving tabs 2024-03-21 11:21:01 +05:00
Abdullah Atta
6512ace33b web: fix new sessions can't be opened after app refresh 2024-03-21 11:21:01 +05:00
Abdullah Atta
0a36b5ba5b web: fix type errors 2024-03-21 11:21:01 +05:00
Ammar Ahmed
832652730a editor: remove editor.current usage 2024-03-21 11:21:01 +05:00
Ammar Ahmed
ae7908e000 mobile: fix editor loading multiple times 2024-03-21 11:21:01 +05:00
Abdullah Atta
b40fe805e7 web: use createInternalLink everywhere 2024-03-21 11:21:01 +05:00
Ammar Ahmed
09f37ae872 mobile: finalize note linking 2024-03-21 11:21:00 +05:00
Ammar Ahmed
ef6c4bb6fb core: parse internal link from href 2024-03-21 11:20:27 +05:00
Ammar Ahmed
4fc5ec00ae core: fix extracting internal links 2024-03-21 11:20:27 +05:00
Abdullah Atta
9267433d74 web: show references & linked notes in properties 2024-03-21 11:20:26 +05:00
Abdullah Atta
dbda1eff82 web: reset active block after scroll 2024-03-21 11:20:26 +05:00
Abdullah Atta
c8f9925973 core: add internal links extraction 2024-03-21 11:20:26 +05:00
Abdullah Atta
ff87bebe8f web: add full support for adding internal links 2024-03-21 11:20:26 +05:00
Abdullah Atta
54f1945a58 editor: add support for adding/removing internal links 2024-03-21 11:20:26 +05:00
Abdullah Atta
2a547c879b core: add support for processing internal links in note content 2024-03-21 11:20:26 +05:00
Ammar Ahmed
cfa98578ea mobile: note linking 2024-03-21 11:20:26 +05:00
Ammar Ahmed
270cb16d30 mobile: update deps 2024-03-21 11:20:26 +05:00
Abdullah Atta
06113db2ff web: fix type errors and broken imports 2024-03-21 11:20:26 +05:00
Abdullah Atta
3efb79308a editor: reset editor on options update 2024-03-21 11:20:26 +05:00
Abdullah Atta
b0b5bd235f web: add support for table of contents 2024-03-21 11:20:25 +05:00
Abdullah Atta
4a2fcf950e web: add support for tabs 2024-03-21 11:20:25 +05:00
Abdullah Atta
e166a634f2 common: add utility for formatting history session time 2024-03-21 11:20:00 +05:00
Abdullah Atta
b97ec3948b mobile: simplify unencrypted content check 2024-03-21 11:20:00 +05:00
Abdullah Atta
e14bb065dc core: simplify encryption content checks 2024-03-21 11:20:00 +05:00
Abdullah Atta
80a77871a0 core: restoring a history session should create a new version 2024-03-21 11:20:00 +05:00
Abdullah Atta
51963f799c editor: create editor only once 2024-03-21 11:20:00 +05:00
Ammar Ahmed
71d94853ba mobile: implement toc 2024-03-21 11:20:00 +05:00
Ammar Ahmed
c33c365b62 mobile: support vault notes in tabs 2024-03-21 11:20:00 +05:00
Ammar Ahmed
2ce31fc81c mobile: fix tab bugs 2024-03-21 11:19:59 +05:00
Ammar Ahmed
d9521b5058 mobile: add tab history 2024-03-21 11:19:59 +05:00
Ammar Ahmed
366948cd28 mobile: some more fixes 2024-03-21 11:19:59 +05:00
Ammar Ahmed
ad338aeefc mobile: fix numerous issues with tabs 2024-03-21 11:19:59 +05:00
Ammar Ahmed
6b6ee76c39 mobile: push changes 2024-03-21 11:19:59 +05:00
Ammar Ahmed
3f23507a74 mobile: add editor tabs 2024-03-21 11:19:59 +05:00
Abdullah Atta
815c9eb7de core: remove unnecessary notes collection init before migration 2024-03-21 11:19:59 +05:00
Abdullah Atta
aab2b0307e web: bump version to 3.0.6 2024-03-21 11:19:59 +05:00
Abdullah Atta
b9e7cbd608 setup: only disable esbuild rebuild on mobile 2024-03-21 11:19:59 +05:00
Abdullah Atta
0cf0b00c58 setup: ignore esbuild rebuild script 2024-03-21 11:19:58 +05:00
Abdullah Atta
29e07036b1 mobile: update package lockfile 2024-03-21 11:19:58 +05:00
Abdullah Atta
61b1aa919a editor: fix task items not showing correctly 2024-03-21 11:19:58 +05:00
Abdullah Atta
90b7b5f87b ui: fix menu is not scrollable on small screens 2024-03-21 11:19:58 +05:00
Abdullah Atta
7103167693 web: fix loading skeleton for compact items in list 2024-03-21 11:19:58 +05:00
Ammar Ahmed
77e0f5af17 mobile: bump version code 2024-03-21 11:19:58 +05:00
Ammar Ahmed
0618341cf8 mobile: release v3.0.8 2024-03-21 11:19:58 +05:00
Ammar Ahmed
42a4acb688 mobile: improve notebook sheet wording 2024-03-21 11:19:58 +05:00
Ammar Ahmed
131b1a0aa6 mobile: change sheet button positions 2024-03-21 11:19:58 +05:00
Ammar Ahmed
e327c92e1a mobile: cleanup 2024-03-21 11:19:58 +05:00
Ammar Ahmed
d22301ccf9 mobile: reminder notification shows even after removing reminders 2024-03-21 11:19:58 +05:00
Ammar Ahmed
5d2c615a30 mobile: simplify reminder sheet ui 2024-03-21 11:19:58 +05:00
Ammar Ahmed
4a2088ec1e mobile: remove usage of customStyle prop 2024-03-21 11:19:58 +05:00
Abdullah Atta
238510132f core: fix settings are not migrated 2024-03-21 11:19:58 +05:00
Ammar Ahmed
b7a8277749 mobile: update deps 2024-03-21 11:19:57 +05:00
Ammar Ahmed
0251363d65 mobile: fix tags not showing properly 2024-03-21 11:19:57 +05:00
Ammar Ahmed
a784f47430 mobile: cleanup 2024-03-21 11:19:57 +05:00
Ammar Ahmed
cf28b27da6 mobile: update Pods 2024-03-21 11:19:57 +05:00
Ammar Ahmed
1fa020c569 mobile: release v3.0.7 beta 2024-03-21 11:19:57 +05:00
Ammar Ahmed
ead87f7068 mobile: fix sorting attachments 2024-03-21 11:19:57 +05:00
Abdullah Atta
e35f3c5a96 web: fix height of attachments table 2024-03-21 11:19:57 +05:00
Abdullah Atta
c5282c9ddd core: do not include deleted attachments in filters 2024-03-21 11:19:57 +05:00
Abdullah Atta
fc21a8be97 web: bump version to 3.0.5 2024-03-21 11:19:57 +05:00
Ammar Ahmed
c3e315a2ae mobile: fix mobile sheet ui 2024-03-21 11:19:57 +05:00
Abdullah Atta
ca30433fd5 web: show error if there's no internet on updating profile 2024-03-21 11:19:57 +05:00
Abdullah Atta
03240345eb web: allow clearing database on database disk image is malformed 2024-03-21 11:19:56 +05:00
Abdullah Atta
156b844fd9 web: fix error due to changed file picker return 2024-03-21 11:19:56 +05:00
Abdullah Atta
f1a6662f01 web: fix attachFile- when saving web clip 2024-03-21 11:19:56 +05:00
Ammar Ahmed
4e5b5e6e3f mobile: enable auto sync 2024-03-21 11:19:56 +05:00
Ammar Ahmed
b80dd8c81e mobile: finalize image upload 2024-03-21 11:19:56 +05:00
Abdullah Atta
2cee5020dd web: add image compression 2024-03-21 11:19:56 +05:00
Abdullah Atta
1a00fc6e30 web: add support for multiselecting attachments 2024-03-21 11:19:56 +05:00
ammarahm-ed
64697a7771 mobile: handle uploading multiple files 2024-03-21 11:19:56 +05:00
ammarahm-ed
d97be2d4fb mobile: add optional image compression on upload 2024-03-21 11:19:56 +05:00
Abdullah Atta
6504beda78 web: fix sync icon spin direction 2024-03-21 11:19:56 +05:00
Abdullah Atta
3795c69a7b core: fix migration for db version > 6 2024-03-21 11:19:56 +05:00
Abdullah Atta
77b6ad5408 core: only get attachment id when processing content 2024-03-21 11:19:56 +05:00
Abdullah Atta
480b4398da web: enable auto sync 2024-03-21 11:19:56 +05:00
Abdullah Atta
7ed7d26d6f web: edit profile directly 2024-03-21 11:19:56 +05:00
Ammar Ahmed
2463ad2820 mobile: add user profile 2024-03-21 11:19:56 +05:00
Ammar Ahmed
85c50bf0fa core: fetch user profile before updating profile 2024-03-21 11:19:56 +05:00
Abdullah Atta
54ba654b97 web: add support for setting user profile 2024-03-21 11:19:55 +05:00
Abdullah Atta
e58fc38a6d core: add support for setting user profile 2024-03-21 11:19:33 +05:00
Ammar Ahmed
f0ef9e072e mobile: cleanup 2024-03-21 11:19:33 +05:00
Ammar Ahmed
cd62069b9b mobile: fix note assigned to multiple colors 2024-03-21 11:19:33 +05:00
Ammar Ahmed
8089f7e181 mobile: small ui fixes 2024-03-21 11:19:33 +05:00
Ammar Ahmed
c1ec580fdc mobile: ui bug fixes 2024-03-21 11:19:33 +05:00
Ammar Ahmed
ae43d58a38 mobile: user profile 2024-03-21 11:19:33 +05:00
Abdullah Atta
2713f26f90 core: fix migration errors & compact deleted items 2024-03-21 11:19:32 +05:00
Ammar Ahmed
783a97e340 mobile: release v3.0.6 2024-03-21 11:19:32 +05:00
Ammar Ahmed
dcea1544b9 mobile: fix toolbar migration 2024-03-21 11:19:32 +05:00
Ammar Ahmed
9e0286052f core: check for deleted attachments in pending attachments 2024-03-21 11:19:32 +05:00
Ammar Ahmed
a41b7d8fd8 mobile: fix backup sheet never closes on manual backups 2024-03-21 11:19:32 +05:00
Ammar Ahmed
9473c30426 mobile: allow sort by title in all groupings 2024-03-21 11:19:32 +05:00
Abdullah Atta
8bf7609d2f desktop: disable os encryption of keystore in portable app 2024-03-21 11:19:32 +05:00
Abdullah Atta
c63572abd5 web: migrate toolbar on first use 2024-03-21 11:19:32 +05:00
Abdullah Atta
a003e396b8 common: add toolbar migration 2024-03-21 11:19:32 +05:00
Abdullah Atta
c4323b7814 global: update lockfiles 2024-03-21 11:19:32 +05:00
Abdullah Atta
f27c7e9cf4 web: bump version to 3.0.4-beta 2024-03-21 11:19:03 +05:00
Abdullah Atta
613c1ca30f common: get note's locked status from its content 2024-03-21 11:19:03 +05:00
Abdullah Atta
b4542a532b core: always delete vault references on vault deletion 2024-03-21 11:19:03 +05:00
Abdullah Atta
6d8e5a1d1d web: fix note not selected after switching from locked note 2024-03-21 11:19:03 +05:00
Abdullah Atta
951f628351 core: fix sync tests 2024-03-21 11:19:03 +05:00
Abdullah Atta
3ff6b5afd1 core: fix database image is malformed error when deleting vault 2024-03-21 11:19:03 +05:00
Abdullah Atta
5aef851eb0 core: fix database image is malformed error on unlocking a note 2024-03-21 11:19:03 +05:00
Abdullah Atta
f14a72ec1c web: fix sync not running after login 2024-03-21 11:19:03 +05:00
Abdullah Atta
484fc4f5a4 web: refresh nav items on deleting a tag 2024-03-21 11:19:02 +05:00
Abdullah Atta
6b9567a0be core: fix database image is malformed error 2024-03-21 11:19:02 +05:00
Abdullah Atta
0f2a88124b core: speed up backup restore 2024-03-21 11:19:02 +05:00
Ammar Ahmed
740a7b4918 mobile: fix color of + button on hidden items
in side menu
2024-03-21 11:19:02 +05:00
Abdullah Atta
6fd3c77348 core: fix deleted items getting imported during backup restore 2024-03-21 11:19:02 +05:00
Abdullah Atta
70818c24cd core: fix duplicate colors created during backup restore 2024-03-21 11:19:02 +05:00
Ammar Ahmed
69c20045c2 mobile: fix readonly mode 2024-03-21 11:19:02 +05:00
Ammar Ahmed
c65a6e5e62 editor: fix keyboard opens on drag in editor 2024-03-21 11:19:02 +05:00
Ammar Ahmed
4a2da72fa3 mobile: clear selection after deleting items 2024-03-21 11:19:02 +05:00
Ammar Ahmed
2d83fde2c5 mobile: fix reminder ui in selection mode 2024-03-21 11:19:02 +05:00
Ammar Ahmed
3898cc7752 mobile: remove pass min limit on vault 2024-03-21 11:19:02 +05:00
Abdullah Atta
c633864073 web: clear editor if opened note is unlocked 2024-03-21 11:19:02 +05:00
Abdullah Atta
77ee56dd14 core: remove note's vault relation regardless of vault 2024-03-21 11:19:02 +05:00
Abdullah Atta
6c47a485f0 core: don't unlink vault notes on vault remove 2024-03-21 11:19:02 +05:00
Abdullah Atta
9f241959cf web: fix vault settings not updating on deleting vault 2024-03-21 11:19:02 +05:00
Abdullah Atta
da20e7977a core: fix sqlite crash on calling delete with empty array 2024-03-21 11:19:02 +05:00
Abdullah Atta
0931c0d5f2 web: fix unnecessary rerendering of notebook header 2024-03-21 11:19:02 +05:00
Abdullah Atta
cdebfdd7c0 web: disable auto sync 2024-03-21 11:19:02 +05:00
Abdullah Atta
ef6ff34ec6 core: enable sync push 2024-03-21 11:19:02 +05:00
Abdullah Atta
9a42273a50 web: add drag/drop tests 2024-03-21 11:19:02 +05:00
Abdullah Atta
75a358a4ce web: fix cannot navigate into nested notebook by hovering on it 2024-03-21 11:19:02 +05:00
Abdullah Atta
6c122c6498 editor: fix react error 409 2024-03-21 11:19:01 +05:00
Abdullah Atta
963f331290 web: expand parent when a child notebook is added 2024-03-21 11:19:01 +05:00
Muhammad Ali
9798ada335 web: add support for item drag/droping (#3230)
* web: basic drag drop function for single note

* web: added check for noteId

* web: add support for item drag drop

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2024-03-21 11:19:01 +05:00
Ammar Ahmed
2f17ad69a1 mobile: disable auto sync 2024-03-21 11:19:01 +05:00
Ammar Ahmed
505d71f1c7 editor: fix callout margins 2024-03-21 11:19:01 +05:00
Ammar Ahmed
4ed6bdd668 mobile: fix keyboard jump on tap in dropdown 2024-03-21 11:19:01 +05:00
Abdullah Atta
b87dce6a51 editor: fix rtl for outline list 2024-03-21 11:19:01 +05:00
Abdullah Atta
295eb8ffec editor: add callout component 2024-03-21 11:19:01 +05:00
Ammar Ahmed
c7b2046e46 mobile: release v3.0.5 beta 2024-03-21 11:19:01 +05:00
Ammar Ahmed
254c2acede mobile: update toolbar 2024-03-21 11:19:01 +05:00
Abdullah Atta
4ea4bbd782 editor: add support for simple checklists 2024-03-21 11:19:00 +05:00
Ammar Ahmed
e3f08668ed editor: implement simple checklists 2024-03-21 11:18:14 +05:00
Abdullah Atta
d6113f75ca web: show error if saving a note fails 2024-03-21 11:18:13 +05:00
Abdullah Atta
1dcd227014 core: fix database image is malformed error on updating locked note 2024-03-21 11:18:13 +05:00
Abdullah Atta
8af190e83d web: bump version to 3.0.3-beta 2024-03-21 11:18:13 +05:00
Abdullah Atta
dd06e5fd52 desktop: include preload script when comparing bundles 2024-03-21 11:18:13 +05:00
Abdullah Atta
cd55f443d9 core: add more lookup tests 2024-03-21 11:18:13 +05:00
Abdullah Atta
974221d938 core: allow testing with persisted database 2024-03-21 11:18:13 +05:00
Abdullah Atta
02c084ed6d core: return items in same order when using .records 2024-03-21 11:18:13 +05:00
Abdullah Atta
456927548a core: improve notes lookup performance 2024-03-21 11:18:13 +05:00
Abdullah Atta
53490cc28b core: refactor test setup & use better-sqlite-multiple-cipher 2024-03-21 11:18:13 +05:00
Abdullah Atta
15014d2d49 web: destroy sql database on app close 2024-03-21 11:18:13 +05:00
Abdullah Atta
3ee14b9463 core: fix database image is malformed error 2024-03-21 11:18:13 +05:00
Abdullah Atta
9e46f1ec06 core: fix note headling getting removed 2024-03-21 11:18:13 +05:00
Abdullah Atta
47c433b2c9 web: fix notebook indentation 2024-03-21 11:18:13 +05:00
Abdullah Atta
72d5072cac core: fix sorting of newly created notes 2024-03-21 11:18:13 +05:00
Abdullah Atta
6b14b29103 web: allow sorting by title everywhere 2024-03-21 11:18:13 +05:00
Abdullah Atta
e3ef25714a core: add support for sorting by title & date together 2024-03-21 11:18:13 +05:00
Abdullah Atta
ac1bf9e84e web: add child notebook under opened notebook 2024-03-21 11:18:13 +05:00
Abdullah Atta
54abea488f web: rerender subnotebooks on root notebook change 2024-03-21 11:18:13 +05:00
Abdullah Atta
9d1ff3231a web: hide sort button in notebook view 2024-03-21 11:18:13 +05:00
Abdullah Atta
eef8b98b62 web: await notes context refreshing 2024-03-21 11:18:12 +05:00
Abdullah Atta
a4e0fecfe9 web: clear keystore when clearing database 2024-03-21 11:18:12 +05:00
Abdullah Atta
370837278b web: allow clearing keystore 2024-03-21 11:18:12 +05:00
Abdullah Atta
c03d25ece6 web: fix empty root notebook indentation 2024-03-21 11:18:12 +05:00
Abdullah Atta
34be765ac5 web: fix monograph publish status not updating 2024-03-21 11:18:12 +05:00
Abdullah Atta
bf208921ad web: fix nested notebook navigation from shortcuts 2024-03-21 11:18:12 +05:00
Abdullah Atta
14b469d8b6 web: fix color cannot be renamed 2024-03-21 11:18:12 +05:00
Abdullah Atta
cc239d927c web: allow non-pro users to customize sidebar 2024-03-21 11:18:12 +05:00
Abdullah Atta
1c7e619b55 web: reimplement app lock & web key store 2024-03-21 11:18:12 +05:00
Ammar Ahmed
3205dae30c mobile: fix app lock on ios 2024-03-21 11:18:12 +05:00
Ammar Ahmed
57da24821f mobile: v3.0.4 2024-03-21 11:18:12 +05:00
Ammar Ahmed
16f4184e25 editor: fix color picker missing prop 2024-03-21 11:18:12 +05:00
Ammar Ahmed
4c51fbf816 mobile: improve verification flow before changing app lock 2024-03-21 11:18:12 +05:00
Ammar Ahmed
f7835f43f6 mobile: fix reordering in side menu 2024-03-21 11:18:12 +05:00
Ammar Ahmed
aeabd9929c editor: fix keyboard focus issues on mobile 2024-03-21 11:18:12 +05:00
Ammar Ahmed
94a0d841ac mobile: fix bugs 2024-03-21 11:18:12 +05:00
Ammar Ahmed
3172d5a552 mobile: fix sidemenu shortcuts 2024-03-21 11:18:11 +05:00
Abdullah Atta
a042f6d418 web: remove security key config on app lock disable 2024-03-21 11:18:11 +05:00
Abdullah Atta
d9ff5e0053 core: fix object id date parsing 2024-03-21 11:18:11 +05:00
Abdullah Atta
7ce9121f8e web: fix cr.isIndexedDBSupported is not a function 2024-03-21 11:18:11 +05:00
Ammar Ahmed
e0c1d6344d mobile: v3.0.3 beta 2024-03-21 11:18:11 +05:00
Ammar Ahmed
6c378a0122 mobile: fix backup failed on iOS 2024-03-21 11:18:11 +05:00
Ammar Ahmed
1371b14005 mobile: bump version 2024-03-21 11:18:11 +05:00
Ammar Ahmed
bf7f3eb86f mobile: fix issue reporting 2024-03-21 11:18:11 +05:00
Ammar Ahmed
c8716df6a6 mobile: fix rendering slow in list 2024-03-21 11:18:11 +05:00
Abdullah Atta
fd12d4bd00 ui: fix right clicking when menu is open doesn't close it 2024-03-21 11:18:11 +05:00
Abdullah Atta
29d0f40c1a ui: fix hover highlighting 2 items in menu 2024-03-21 11:18:11 +05:00
Abdullah Atta
63fd526db8 web: fix color renaming and add color remove support 2024-03-21 11:18:10 +05:00
Abdullah Atta
0fbfc709da web: add readonly indicator on notes 2024-03-21 11:18:10 +05:00
Abdullah Atta
19f0488745 web: fix compact view not affecting notes 2024-03-21 11:18:10 +05:00
Abdullah Atta
f81c30222a editor: fix Position -1 is outside of fragment error 2024-03-21 11:18:10 +05:00
Ammar Ahmed
26ae76d644 mobile: fix migration bugs 2024-03-21 11:18:10 +05:00
Abdullah Atta
f370118498 core: minor refactoring 2024-03-21 11:18:10 +05:00
Abdullah Atta
d3a32421ee core: migrate deleted items as well 2024-03-21 11:18:10 +05:00
Abdullah Atta
af9a83117b web: refresh app on sync completed 2024-03-21 11:18:10 +05:00
Abdullah Atta
ce418487ad core: fix continuous invalid_grant error if login fails 2024-03-21 11:18:10 +05:00
Abdullah Atta
9bd7dbc940 web: bump to v3.0.2-beta 2024-03-21 11:18:10 +05:00
Abdullah Atta
bc91a41bbe web: hide window/tab title on app lock 2024-03-21 11:18:10 +05:00
Abdullah Atta
7efbc666a0 core: add support for creating backups of legacy collections 2024-03-21 11:18:10 +05:00
Abdullah Atta
5ecd70e121 web: fix P.item is undefined error 2024-03-21 11:18:10 +05:00
Abdullah Atta
e4d165edb7 core: remove deleteReason property 2024-03-21 11:18:10 +05:00
Ammar Ahmed
d24f29e98f Update ios.publish.yml
Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com>
2024-03-21 11:18:09 +05:00
Ammar Ahmed
5559738654 mobile: cleanup gradle.properties 2024-03-21 11:18:09 +05:00
Ammar Ahmed
54a321cb4c mobile: fix share extension 2024-03-21 11:18:09 +05:00
Ammar Ahmed
b2f0e74ade mobile: beta release 2024-03-21 11:18:09 +05:00
Ammar Ahmed
a105c09841 mobile: fix notebook move to trash 2024-03-21 11:18:09 +05:00
Ammar Ahmed
6ad8d7ba1b mobile: cleanup 2024-03-21 11:18:09 +05:00
Abdullah Atta
c58bb57de0 desktop: disable downgrades 2024-03-21 11:18:09 +05:00
Ammar Ahmed
aec183bd78 mobile: stop app updates check in beta 2024-03-21 11:18:09 +05:00
Ammar Ahmed
75ed6de07f mobile: minor fixes 2024-03-21 11:18:09 +05:00
Abdullah Atta
8f56953915 web: improve database deletion 2024-03-21 11:18:09 +05:00
Abdullah Atta
7d98f93dd6 web: reload page on reset from error boundary 2024-03-21 11:18:09 +05:00
Abdullah Atta
e74123bc9c web: locked status not updating on note 2024-03-21 11:18:09 +05:00
Abdullah Atta
d21b4c021d web: only save note's content through vault 2024-03-21 11:18:09 +05:00
Abdullah Atta
ca05865021 core: fix adding note to vault should return its id 2024-03-21 11:18:09 +05:00
Abdullah Atta
b30ed83f78 core: fix database resetting 2024-03-21 11:18:09 +05:00
Abdullah Atta
a4d0b2d0dc theme: fix error input variant 2024-03-21 11:18:08 +05:00
Abdullah Atta
fa1c48be41 web: allow typing custom date when adding reminder 2024-03-21 11:18:08 +05:00
Abdullah Atta
ec29cc0801 common: use upcoming reminder when resolving reminders on note 2024-03-21 11:18:08 +05:00
Ammar Ahmed
44e9a69faa mobile: fix reminders 2024-03-21 11:18:08 +05:00
Ammar Ahmed
920598f943 mobile: fix notebooks & colors 2024-03-21 11:18:08 +05:00
Abdullah Atta
5afdd88eb7 core: set mode to "sync" for migrations during sync 2024-03-21 11:18:08 +05:00
Abdullah Atta
81ebc3906f desktop: patch better-sqlite3-multiple-ciphers to get prebuilt binaries 2024-03-21 11:18:08 +05:00
Abdullah Atta
ec7d581c3d web: bump to 3.0.1-beta 2024-03-21 11:18:08 +05:00
Abdullah Atta
60e1da412c core: enable sync during tests 2024-03-21 11:18:08 +05:00
Abdullah Atta
27cf0a3c6b core: improve backup importing 2024-03-21 11:18:08 +05:00
Abdullah Atta
e24beebd43 core: add support for nested transactions 2024-03-21 11:18:08 +05:00
Abdullah Atta
9bea47e358 web: use single transaction for importing a backup 2024-03-21 11:18:08 +05:00
Abdullah Atta
779f000f3e web: make sqlite slightly faster 2024-03-21 11:18:08 +05:00
Ammar Ahmed
37eeeb1d64 mobile: fix release build 2024-03-21 11:18:07 +05:00
Abdullah Atta
c231c07633 core: fix type errors 2024-03-21 11:18:07 +05:00
Ammar Ahmed
4ee82b4fd6 mobile: minor fixes 2024-03-21 11:18:07 +05:00
Ammar Ahmed
d0f0c32ffa core: fix migration bugs 2024-03-21 11:18:07 +05:00
Ammar Ahmed
2c931d72f9 mobile: fix saving user key 2024-03-21 11:18:07 +05:00
Abdullah Atta
1cf832f0fe web: fix monograph publishing popup 2024-03-21 11:18:07 +05:00
Abdullah Atta
1e49fd8145 web: ui fixes 2024-03-21 11:18:07 +05:00
Abdullah Atta
bd93048aaa web: fix app lock not getting disabled 2024-03-21 11:18:07 +05:00
Ammar Ahmed
1b5dc9eb14 mobile: minor fixes 2024-03-21 11:18:07 +05:00
Ammar Ahmed
e93490acfc mobile: locked notes 2024-03-21 11:18:07 +05:00
Abdullah Atta
487306b943 web: fix indexedDB not getting detected 2024-03-21 11:17:32 +05:00
Abdullah Atta
573a37f671 core: destroy kysely on error 2024-03-21 11:17:32 +05:00
Abdullah Atta
8bfee794c8 crypto: move libsodium & sodium-native to peer deps 2024-03-21 11:17:32 +05:00
Abdullah Atta
aea31102f6 global: pin node version to 20 2024-03-21 11:17:32 +05:00
Abdullah Atta
bfe9aa5330 web: various fixes 2024-03-21 11:17:32 +05:00
Abdullah Atta
a45c5db34e common: fix note resolution 2024-03-21 11:17:32 +05:00
Abdullah Atta
3e588e243c core: fix database migration 2024-03-21 11:17:31 +05:00
Abdullah Atta
03dba9f624 core: disable sync push 2024-03-21 11:17:31 +05:00
Abdullah Atta
b707690817 web: trigger error boundary on unhandled errors 2024-03-21 11:17:31 +05:00
Abdullah Atta
3b7660834d web: use safeStorage to encrypt secrets on desktop 2024-03-21 11:17:31 +05:00
Abdullah Atta
f4b14e37ae desktop: use better-sqlite3 on desktop for SQLite 2024-03-21 11:17:31 +05:00
Abdullah Atta
146223e2b6 desktop: fix autoupdater 2024-03-21 11:16:51 +05:00
Abdullah Atta
d6b037c178 desktop: add api to delete files 2024-03-21 11:16:51 +05:00
Abdullah Atta
3df8cc53e3 desktop: expose electron's safeStorage api via trpc 2024-03-21 11:16:51 +05:00
Abdullah Atta
63ab54cc42 desktop: enable native modules rebuild during build 2024-03-21 11:16:51 +05:00
Ammar Ahmed
569954b767 core: return decrypted content on unlock note 2024-03-21 11:16:51 +05:00
Ammar Ahmed
9722fab8f3 mobile: applock with pin and password 2024-03-21 11:16:51 +05:00
Ammar Ahmed
bad138d2fa mobile: minor fixes 2024-03-21 11:16:51 +05:00
Ammar Ahmed
a7e57354dd mobile: sqlite-multiple-ciphers patch 2024-03-21 11:16:51 +05:00
Ammar Ahmed
45fa486a6d mobile: refactor 2024-03-21 11:16:50 +05:00
Ammar Ahmed
a65d271cbd mobile: fix reorderable side menu 2024-03-21 11:16:50 +05:00
Ammar Ahmed
feba11626d mobile: yearly reminders 2024-03-21 11:16:50 +05:00
Abdullah Atta
a5afc47d82 web: add support for yearly reminders 2024-03-21 11:16:50 +05:00
Abdullah Atta
9edf6d165d core: add support for yearly reminders 2024-03-21 11:16:50 +05:00
Ammar Ahmed
12b8a9e487 mobile: stop bg fetch events when toggled off 2024-03-21 11:16:50 +05:00
Ammar Ahmed
9e8b5487b2 mobile: enable experimental background sync 2024-03-21 11:16:50 +05:00
Abdullah Atta
305a522a65 web: add support for hiding items from side bar 2024-03-21 11:16:49 +05:00
Abdullah Atta
2f77390a8e web: add support for reordering navigation menu items 2024-03-21 11:16:49 +05:00
Ammar Ahmed
0ab704b115 mobile: cleanup 2024-03-21 11:16:49 +05:00
Ammar Ahmed
c353f7a872 core: add sidebar order settings 2024-03-21 11:16:49 +05:00
Ammar Ahmed
9a242f63eb mobile: reorder sidebar items 2024-03-21 11:16:49 +05:00
Abdullah Atta
cc07cedd4a web: add support for custom colors 2024-03-21 11:16:49 +05:00
Ammar Ahmed
f1f4cd67f7 mobile: allow custom colors 2024-03-21 11:16:49 +05:00
Ammar Ahmed
ceb948bd1f mobile: migrate app lock 2024-03-21 11:16:49 +05:00
Abdullah Atta
90a0878600 web: remove cbor-x package 2024-03-21 11:16:49 +05:00
Abdullah Atta
26a63591bd web: add support for at rest encryption and app lock 2024-03-21 11:16:48 +05:00
Ammar Ahmed
87ee599da1 mobile: at rest encryption 2024-03-21 11:15:56 +05:00
Ammar Ahmed
7843a153a7 mobile: simplify tests 2024-03-21 11:15:56 +05:00
Abdullah Atta
72331faee7 core: remove dummy test files 2024-03-21 11:15:56 +05:00
Abdullah Atta
28470d60c6 core: migrate key value storage to sqlite 2024-03-21 11:15:56 +05:00
Ammar Ahmed
ab47c89ef7 mobile: update sheet component 2024-03-21 11:15:56 +05:00
Abdullah Atta
b086e652c3 core: fix moving nested notebooks to trash 2024-03-21 11:15:55 +05:00
Abdullah Atta
ef2d8bf5af global: move item resolution logic to @notesnook/common 2024-03-21 11:15:55 +05:00
Ammar Ahmed
d3221abd7e mobile: add theme switch animation 2024-03-21 11:15:55 +05:00
Abdullah Atta
448d19e9fd web: fix all type errors 2024-03-21 11:15:31 +05:00
Abdullah Atta
0a973cd83a web: fix duplicate imports 2024-03-21 11:15:31 +05:00
Abdullah Atta
4bff11bf12 core: fix type error 2024-03-21 11:15:31 +05:00
Abdullah Atta
f127203a5e core: add tests for sync merger 2024-03-21 11:15:31 +05:00
Abdullah Atta
dc3caa16d0 core: migrate vault to a database collection 2024-03-21 11:15:31 +05:00
Ammar Ahmed
1f33ea9db3 mobile: fix exporter and attachment download 2024-03-21 11:15:31 +05:00
Ammar Ahmed
4e157455c8 global: fix type errors during build 2024-03-21 11:15:30 +05:00
Abdullah Atta
2bb3652be2 web: use simple transform stream for export progress 2024-03-21 11:14:56 +05:00
Abdullah Atta
becc00d2ee web: fix exporting 2024-03-21 11:14:56 +05:00
Ammar Ahmed
e6186c0bbd mobile: add patches 2024-03-21 11:14:56 +05:00
Abdullah Atta
6538540f3b web: update export note snapshots for linux 2024-03-21 11:14:56 +05:00
Abdullah Atta
a437125730 web: fix reminder tests 2024-03-21 11:14:56 +05:00
Abdullah Atta
339e5965bb web: refresh notebooks after adding a new notebook 2024-03-21 11:14:56 +05:00
Abdullah Atta
e3eb3c8000 web: fix force redirect to home on navigating to a color 2024-03-21 11:14:56 +05:00
Abdullah Atta
2ef0f41612 web: fix crash when sorting tags 2024-03-21 11:14:56 +05:00
Abdullah Atta
0a38a734f5 web: fix crash when removing a notebook 2024-03-21 11:14:56 +05:00
Ammar Ahmed
c2d11cdc79 mobile: sync with latest core changes 2024-03-21 11:14:56 +05:00
Abdullah Atta
0fcab638a3 core: remove unnecessary console.log 2024-03-21 11:14:55 +05:00
Ammar Ahmed
b37853866f mobile: fix search to use filtered selector for notes 2024-03-21 11:14:55 +05:00
Abdullah Atta
e6642ac9ab core: prevent recursive sync after pushing items 2024-03-21 11:14:55 +05:00
Abdullah Atta
c294e80230 web: simplify sync status 2024-03-21 11:14:55 +05:00
Abdullah Atta
996f4d29be web: fix previewing trashed notes 2024-03-21 11:14:55 +05:00
Abdullah Atta
0c5a5c7438 core: fix trash 2024-03-21 11:14:55 +05:00
Abdullah Atta
9926c0b6da web: improve sync test reliability 2024-03-21 11:14:55 +05:00
Abdullah Atta
8e691769ae core: auto sync not triggered on note update 2024-03-21 11:14:55 +05:00
Abdullah Atta
add2d8af9b web: fix note history tests 2024-03-21 11:14:55 +05:00
Abdullah Atta
bc72c8b87c web: fix selection logic in list 2024-03-21 11:14:55 +05:00
Abdullah Atta
b73964afb9 web: set testId on auth input fields 2024-03-21 11:14:55 +05:00
Abdullah Atta
96b6115e7b core: fix note content is not saving 2024-03-21 11:14:55 +05:00
Abdullah Atta
ea46488d94 core: fix data is not iterable error on backup restore 2024-03-21 11:14:55 +05:00
Abdullah Atta
df0e8ed567 global: update lockfiles 2024-03-21 11:14:55 +05:00
Abdullah Atta
1e86b4d772 core: add retry if a test fails 2024-03-21 11:14:54 +05:00
Abdullah Atta
b1e1ed982a core: fix invalid object-id generation for some timestamps 2024-03-21 11:14:54 +05:00
Abdullah Atta
500388a634 core: fix sync & monographs tests 2024-03-21 11:14:54 +05:00
Abdullah Atta
7a60ac17ce core: fix auto sync starting even when auto sync is disabled 2024-03-21 11:14:54 +05:00
Abdullah Atta
a6a2f848d7 core: fix sync tests 2024-03-21 11:14:54 +05:00
Abdullah Atta
25e6350c04 core: remove unnecessary migration success log 2024-03-21 11:14:54 +05:00
Abdullah Atta
e0329c273f core: fix Crypto is not supported on this platform. error during tests 2024-03-21 11:14:54 +05:00
Abdullah Atta
fd7b33fe30 core: make all the core tests pass again 2024-03-21 11:14:54 +05:00
Abdullah Atta
6d70f8d2f9 web: fix crash when note has no title 2024-03-21 11:14:54 +05:00
Abdullah Atta
c6bb28c139 core: set default title if note has no title 2024-03-21 11:14:54 +05:00
Abdullah Atta
6796206099 web: update kysely patch 2024-03-21 11:14:54 +05:00
Abdullah Atta
ca40342978 web: run patch-package after npm i 2024-03-21 11:14:54 +05:00
Abdullah Atta
36150fb55b web: more fixes 2024-03-21 11:14:54 +05:00
Abdullah Atta
7b3f671159 web: fix many type errors 2024-03-21 11:14:53 +05:00
Abdullah Atta
0cd6191190 global: update lockfiles 2024-03-21 11:13:46 +05:00
Abdullah Atta
cbccb97d42 theme: fix tinycolor2 not found error 2024-03-21 11:13:46 +05:00
Abdullah Atta
2ce9386759 web: fix notes search in tags, favorites etc 2024-03-21 11:13:46 +05:00
Abdullah Atta
f5b85a82d0 web: update wa-sqlite 2024-03-21 11:13:46 +05:00
Abdullah Atta
0123da10f7 web: use memory tempStore for sqlite 2024-03-21 11:13:46 +05:00
Abdullah Atta
1228f1b6fa web: add support for exporting sql database 2024-03-21 11:13:46 +05:00
Abdullah Atta
3126c2d325 core: fix FTS5 SQLite search 2024-03-21 11:13:46 +05:00
Ammar Ahmed
a9c9ca29c8 mobile: cleanup 2024-03-21 11:13:46 +05:00
Ammar Ahmed
665f44bcee mobile: fix types 2024-03-21 11:13:45 +05:00
Ammar Ahmed
c444f7ddb8 mobile: refactor zustand stores 2024-03-21 11:13:45 +05:00
Ammar Ahmed
787c36c754 mobile: bug fixes 2024-03-21 11:13:45 +05:00
Ammar Ahmed
3502469c1d core: add fn to get cache item 2024-03-21 11:13:45 +05:00
Abdullah Atta
c58b16cba6 web: only auto align title & headline 2024-03-21 11:13:45 +05:00
Abdullah Atta
15ea57b692 web: getKey -> key 2024-03-21 11:13:45 +05:00
Abdullah Atta
655cf0617e web: fix resolved item data misaligned with items 2024-03-21 11:13:45 +05:00
Abdullah Atta
57311397e0 core: fix many issues with virtualized grouping 2024-03-21 11:13:45 +05:00
Ammar Ahmed
94db2387c8 core: early return when items are empty 2024-03-21 11:13:45 +05:00
Abdullah Atta
bd1cf0fadc web: fix random crashes when scrolling in list 2024-03-21 11:13:45 +05:00
Abdullah Atta
cfd53a8b2c web: replace react-virtual with react-virtuouso 2024-03-21 11:13:44 +05:00
Ammar Ahmed
baa2d1a389 mobile: fix build ang bugs 2024-03-21 11:13:15 +05:00
Abdullah Atta
8cd963a893 web: hide attachments access if user is logged out 2024-03-21 11:13:15 +05:00
Abdullah Atta
6e3ee9171b web: allow core to specify custom sql db name 2024-03-21 11:13:15 +05:00
Abdullah Atta
088ef2285f web: close idb connection on sqlite connection close 2024-03-21 11:13:15 +05:00
Abdullah Atta
e127b8f4ab core: clear database on logout 2024-03-21 11:13:15 +05:00
Ammar Ahmed
e218962c55 core: add tempStore option to DB 2024-03-21 11:13:15 +05:00
Abdullah Atta
fa080b5ce2 core: migrate items sequentially during sync 2024-03-21 11:13:15 +05:00
Abdullah Atta
d7d019f870 core: fix build error 2024-03-21 11:13:15 +05:00
Abdullah Atta
74b5c4d894 web: execute only 1 query at a time 2024-03-21 11:13:14 +05:00
Abdullah Atta
4ebc3af1e4 web: fix diff viewer crashing the app 2024-03-21 11:11:30 +05:00
Abdullah Atta
3188b33d19 core: do not stop sync if a conflict occurs 2024-03-21 11:11:29 +05:00
Abdullah Atta
c2c69c282e core: allow only 1 transaction at a time 2024-03-21 11:11:29 +05:00
Abdullah Atta
f57c7b5998 core: simplify item key derivation in virtualized grouping 2024-03-21 11:11:29 +05:00
Abdullah Atta
56faf3ed48 web: improve list item rendering performance 2024-03-21 11:11:29 +05:00
Abdullah Atta
2fe8c87caa core: always send realtime sync event 2024-03-21 11:11:29 +05:00
Abdullah Atta
b7ecb7b6fb core: fix content date edited not updating 2024-03-21 11:11:29 +05:00
Abdullah Atta
569b6c7939 core: put items in chunks of 200 2024-03-21 11:11:29 +05:00
Abdullah Atta
e2f9b9c58d web: set name prop on fields 2024-03-21 11:11:29 +05:00
Abdullah Atta
94150a92aa core: implement sync v2 2024-03-21 11:11:29 +05:00
Ammar Ahmed
f81814a426 mobile: use index based grouping 2024-03-21 11:11:29 +05:00
Abdullah Atta
443b6ad7e9 web: changes to use new grouping api 2024-03-21 11:11:29 +05:00
Abdullah Atta
2ceb68ec87 core: implement new high perf indexed based grouping 2024-03-21 11:11:28 +05:00
Ammar Ahmed
29f66d457d mobile: fix share extension in release 2024-03-21 11:11:02 +05:00
Abdullah Atta
304d69f8b5 web: fix router types 2024-03-21 11:11:02 +05:00
Abdullah Atta
900a5b69a5 web: enable vite hot reloading 2024-03-21 11:11:02 +05:00
Abdullah Atta
ebe1b641fd web: fix minor build issues 2024-03-21 11:11:01 +05:00
Abdullah Atta
f26ea526e8 web: migrate everything to react@18 2024-03-21 11:11:01 +05:00
Abdullah Atta
b36e6faac5 web: fix notebook tests 2024-03-21 11:09:05 +05:00
Ammar Ahmed
528fb3092b mobile: share extension cleanup 2024-03-21 11:09:05 +05:00
Ammar Ahmed
d5ee925c52 mobile: cleanup 2024-03-21 11:09:04 +05:00
Ammar Ahmed
208e32d7ea mobile: migrate share extension 2024-03-21 11:09:04 +05:00
Ammar Ahmed
5429161f91 mobile: fix navigation 2024-03-21 11:09:04 +05:00
Abdullah Atta
81cdfcf61a web: send noteId when decrypting real-time locked content 2024-03-21 11:09:04 +05:00
Abdullah Atta
6186e22006 web: fix tag tests 2024-03-21 11:09:04 +05:00
Ammar Ahmed
4ff051130b mobile: pass tests 2024-03-21 11:09:04 +05:00
Abdullah Atta
97ae36dcda web: fix html export snapshot 2024-03-21 11:09:04 +05:00
Abdullah Atta
800b5f9d9a core: fix md with frontmatter export 2024-03-21 11:09:04 +05:00
Ammar Ahmed
d4b1f32516 core: fix ts error 2024-03-21 11:09:04 +05:00
Ammar Ahmed
6626b856fb mobile: fix webpack build 2024-03-21 11:09:04 +05:00
Ammar Ahmed
44df437c4e mobile: push changes 2024-03-21 11:09:04 +05:00
Abdullah Atta
189a9da5b5 web: fix notes tests 2024-03-21 11:09:03 +05:00
Abdullah Atta
73def8a682 core: prevent duplicate colors based on color code 2024-03-21 11:09:03 +05:00
Abdullah Atta
7c97db74dc core: fix error on locking notes 2024-03-21 11:09:03 +05:00
Ammar Ahmed
ceb6e94d0c mobile: push changes 2024-03-21 11:09:03 +05:00
Abdullah Atta
1a61c4ee8f web: reset search results on navigation 2024-03-21 11:09:03 +05:00
Abdullah Atta
d4aa4fdb90 web: reset prepared sql stmt on error 2024-03-21 11:09:03 +05:00
Abdullah Atta
3e7db7051b web: reuse search query 2024-03-21 11:09:03 +05:00
Abdullah Atta
6b6e903322 core: use porter trigram tokenizer for fts 2024-03-21 11:09:03 +05:00
Abdullah Atta
2f62c72cfe core: properly escape fts query 2024-03-21 11:09:03 +05:00
Abdullah Atta
8951352f63 web: add support for assigning tags to notes 2024-03-21 11:09:03 +05:00
Abdullah Atta
6c9e265a11 core: fix "type" does not exist 2024-03-21 11:09:03 +05:00
Abdullah Atta
1a14d37c72 core: fix build error 2024-03-21 11:09:03 +05:00
Ammar Ahmed
5bfad0149b mobile: migrate to sqlite 2024-03-21 11:09:02 +05:00
Abdullah Atta
2168609577 web: fix note editor properties 2024-03-21 11:08:13 +05:00
Abdullah Atta
7e8e981145 common: type is now optional in getFormattedDate 2024-03-21 11:08:13 +05:00
Abdullah Atta
300e65f5c4 core: return FilteredSelector from attachments.ofNote 2024-03-21 11:08:13 +05:00
Abdullah Atta
69590f9547 web: show notebook & tag shortcuts when assigning notes 2024-03-21 11:08:13 +05:00
Abdullah Atta
ae023bdf5b web: implement virtualized search for all items 2024-03-21 11:08:13 +05:00
Abdullah Atta
4556e4d230 web: use lazy loading to load attachments 2024-03-21 11:08:12 +05:00
Abdullah Atta
a77c88bddd web: load tag & color title lazily 2024-03-21 11:07:18 +05:00
Abdullah Atta
8672f92942 web: show all nested notebooks as tree when moving notes 2024-03-21 11:07:18 +05:00
Abdullah Atta
a8e81a32bf web: add support for nested notebooks 2024-03-21 11:07:18 +05:00
Abdullah Atta
95b638a135 web: use new virtualized grouping for reminders 2024-03-21 11:07:18 +05:00
Abdullah Atta
4302cdf0ea web: use new virtualized grouping for trash 2024-03-21 11:07:18 +05:00
Abdullah Atta
36d097f86c web: use new virtualized grouping for monographs 2024-03-21 11:07:18 +05:00
Abdullah Atta
b364178fc0 core: add support for fetching trash as grouped 2024-03-21 11:07:18 +05:00
Abdullah Atta
2c7927bb08 web: install missing @hazae41/foras 2024-03-21 11:07:18 +05:00
Abdullah Atta
af6041128b core: fix attachment extraction for locked notes 2024-03-21 11:07:18 +05:00
Abdullah Atta
6ccee9f6eb global: update lockfiles 2024-03-21 11:07:17 +05:00
Abdullah Atta
404f2072a1 web: start initial migration to sqlite 2024-03-21 11:05:23 +05:00
Abdullah Atta
01e774bff5 ui: add support for lazily loading menu items 2024-03-21 11:04:44 +05:00
Abdullah Atta
df9fb59f40 common: remove total-notes utility 2024-03-21 11:04:44 +05:00
Abdullah Atta
9ac9e21645 core: changes according to client needs 2024-03-21 11:04:26 +05:00
Abdullah Atta
44846cc7b5 core: fix database migration 2024-03-21 11:04:26 +05:00
Abdullah Atta
96e36a6f73 core: add support for incremental grouping 2024-03-21 11:04:26 +05:00
Abdullah Atta
37ad3ea31a core: fix size of nanoid in benchmarks 2024-03-21 11:04:26 +05:00
Abdullah Atta
07d2a701c7 core: optimize bson objectid generation & add benchmarks 2024-03-21 11:04:26 +05:00
Abdullah Atta
94f7e8cd08 core: fix monographs 2024-03-21 11:04:26 +05:00
Abdullah Atta
51819e9d4a core: fix sync tests 2024-03-21 11:04:26 +05:00
Abdullah Atta
860ec7fea8 core: remove temporary sqlite db 2024-03-21 11:04:26 +05:00
Abdullah Atta
21b3866df4 core: migrate everything to sqlite 2024-03-21 11:04:25 +05:00
Abdullah Atta
a91717aca3 core: migrate all database writes to sqlite 2024-03-21 11:04:11 +05:00
Abdullah Atta
91a272ee3d global: update lockfiles 2024-03-21 11:03:43 +05:00
Abdullah Atta
d51079fc88 core: convert everything else to typescript 2024-03-21 11:03:14 +05:00
Abdullah Atta
37ae106713 core: remove unnecessary sync tests 2024-03-21 11:03:14 +05:00
Abdullah Atta
b93b5cc8d6 core: migrate monographs to typescript 2024-03-21 11:03:14 +05:00
Abdullah Atta
9d6733deff core: make migration tests less flaky 2024-03-21 11:03:14 +05:00
Abdullah Atta
86652230bc core: add tests for migrations 2024-03-21 11:03:14 +05:00
Abdullah Atta
588e37aa20 core: migrate settings to its own collection 2024-03-21 11:03:14 +05:00
Abdullah Atta
79b75c5ba7 core: get rid of topics; move to sub notebooks 2024-03-21 11:03:14 +05:00
Abdullah Atta
cc60558839 core: migrate attachments to use relations for linking to notes 2024-03-21 11:03:13 +05:00
Abdullah Atta
c7a6cd8964 core: minor updates and fixes 2024-03-21 11:02:47 +05:00
Abdullah Atta
5b537ab470 core: fix types & syncing issues 2024-03-21 11:02:47 +05:00
ammarahm-ed
48af6c460f mobile: pass all tests 2024-03-21 11:02:47 +05:00
ammarahm-ed
89c9c58631 mobile: fix filesystem not loaded 2024-03-21 11:02:47 +05:00
ammarahm-ed
c10f518e3a mobile: fix navigating to tags 2024-03-21 11:02:47 +05:00
ammarahm-ed
1f4cd6504a mobile: migrate to typescript 2024-03-21 11:02:46 +05:00
ammarahm-ed
9ef40c01ce common: fix ts errors 2024-03-21 11:00:00 +05:00
Abdullah Atta
843be2a62c mobile: use new types from core 2024-03-21 11:00:00 +05:00
Abdullah Atta
a881a6d51e web: use new types from core 2024-03-21 10:59:59 +05:00
Abdullah Atta
22221afb7a core: fix more typings 2024-03-21 10:58:39 +05:00
Abdullah Atta
21a7c64b0b core: fix typing errors 2024-03-21 10:58:39 +05:00
Abdullah Atta
41ea254301 core: convert almost everything to typescript 2024-03-21 10:58:39 +05:00
Ammar Ahmed
3b15717150 mobile: fix lint errors 2024-03-21 10:56:01 +05:00
Abdullah Atta
94f02cdb07 ci: update node version to 20 2024-03-21 10:56:00 +05:00
Abdullah Atta
061433d8cd config: update nx 2024-03-21 10:56:00 +05:00
Abdullah Atta
c8ba88bb99 desktop: set release channel to beta 2024-03-21 10:56:00 +05:00
Ammar Ahmed
3b181cd9b2 mobile: update ios version number 2024-03-21 10:56:00 +05:00
Ammar Ahmed
5384bed382 ci: update workflow name
Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com>
2024-03-21 10:55:49 +05:00
Ammar Ahmed
ac0d831f22 mobile: v3 beta release 2024-03-21 10:55:49 +05:00
Ammar Ahmed
8776058655 ci: update iOS workflow
Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com>
2024-03-21 10:55:15 +05:00
Ammar Ahmed
5c8c806228 Update android.publish.internal.yml
Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com>
2024-03-21 10:55:15 +05:00
Ammar Ahmed
aa2110b736 ci: android.publish.yml
Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com>
2024-03-21 10:55:15 +05:00
Abdullah Atta
cbfaf6ae18 desktop: do not set teamId for notarization 2024-03-21 10:55:15 +05:00
Abdullah Atta
d815608701 ci: APPLE_API_KEY_ISSUER > APPLE_API_ISSUER 2024-03-21 10:55:15 +05:00
Abdullah Atta
696c280eaf desktop: fix unknown property 'notarize' error 2024-03-21 10:55:15 +05:00
Abdullah Atta
b8c785fa3f desktop: use official electron builder notarization 2024-03-21 10:55:15 +05:00
Abdullah Atta
d80fdfbfc1 ci: update {upload,download}-artifact to v4 2024-03-21 10:55:15 +05:00
Abdullah Atta
f783dad211 ci: get rid of you may only define one of branches and branches-ignore for a single event 2024-03-21 10:55:15 +05:00
Abdullah Atta
c335d10167 ci: use m1 for building on mac 2024-03-21 10:55:15 +05:00
Abdullah Atta
bf7a02df5e ci: use wrangler directly to publish to cf 2024-03-21 10:55:15 +05:00
Abdullah Atta
bf12385099 desktop: use app version from autoUpdater 2024-03-21 10:55:15 +05:00
Abdullah Atta
f98b53e9b8 ci: update cloudflare action 2024-03-21 10:55:15 +05:00
Abdullah Atta
8f379d253e desktop: ready beta for deployment 2024-03-21 10:55:14 +05:00
Abdullah Atta
e1f07618d3 ci: deploy to correct cf pages project
Signed-off-by: Abdullah Atta <abdullahatta@streetwriters.co>
2024-03-21 10:54:56 +05:00
Abdullah Atta
9a0c129844 core: turn off sync push by default 2024-03-21 10:54:55 +05:00
Ammar Ahmed
aa2a8ab6f4 mobile: ignore beta updates on gh release 2024-03-21 10:17:34 +05:00
Ammar Ahmed
8e59ff1318 mobile: release v2.6.18 2024-03-21 10:11:37 +05:00
Abdullah Atta
ad99c87f72 web: bump version to 2.6.17 2024-03-21 10:07:11 +05:00
Abdullah Atta
ba776b5854 global: update lockfiles 2024-03-21 10:07:02 +05:00
Abdullah Atta
e526145e48 web: fix cannot read property integration of undefined 2024-03-21 10:02:08 +05:00
Abdullah Atta
45c5e65bf6 core: add more sanity checks 2024-03-21 09:42:38 +05:00
Abdullah Atta
87bec4e2ab core: add sanity checks to handle cannot read properties of undefined (reading 'hash') error 2024-03-21 09:37:18 +05:00
Abdullah Atta
433e67a6dc web: fix pull failed error on downloading attachments 2024-03-21 09:12:55 +05:00
Ammar Ahmed
6acba51b88 mobile: fix app lock shows on session expired dialog 2024-03-21 07:46:49 +05:00
Abdullah Atta
cf1322952d web: handle errors during attachment downloading 2024-03-15 09:25:10 +05:00
Abdullah Atta
b5ac9dd430 web: make opfs safer by allowing only 1 operation at a time 2024-03-15 09:01:35 +05:00
Abdullah Atta
a3b590bcb7 core: add more login tests 2024-03-12 07:19:59 +05:00
Ammar Ahmed
d4f7e3ef07 mobile: add changelog 2024-03-06 15:31:33 +05:00
Abdullah Atta
16119f6958 setup: optimize bootstrap script 2024-03-06 13:40:42 +05:00
Abdullah Atta
e39c2583a5 setup: only run npm rebuild if required 2024-03-06 13:40:41 +05:00
Abdullah Atta
eecff009dd setup: run npm rebuild after bootstrap 2024-03-06 13:40:41 +05:00
Abdullah Atta
d9ed61a7da setup: ignore scripts during bootstrap 2024-03-06 13:40:41 +05:00
Abdullah Atta
58db265702 setup: use 1 thread on CI 2024-03-06 13:40:41 +05:00
Abdullah Atta
bd39f0cbf8 core: fix e.metadata.hash is not defined 2024-03-06 13:29:59 +05:00
Abdullah Atta
255015108a core: update lockfile 2024-03-06 13:01:00 +05:00
Abdullah Atta
b80f366f8d core: run patch-package after install 2024-03-06 13:00:34 +05:00
Ammar Ahmed
c845c7fce6 mobile: release v2.6.17 2024-03-06 12:59:23 +05:00
Ammar Ahmed
6e7b7ce0e1 mobile: ask user to save recovery key after changing password 2024-03-06 12:33:38 +05:00
Abdullah Atta
9b728902d4 web: bump version to 2.6.16 2024-03-06 12:03:06 +05:00
Abdullah Atta
9a1f54c41a desktop: set proxy on startup 2024-03-06 11:43:50 +05:00
Abdullah Atta
b3251eb016 core: fix login gets stuck on error 2024-03-06 11:28:45 +05:00
Abdullah Atta
f4064b7939 core: patch signalr to exclude electron renderer process as node 2024-03-06 11:28:27 +05:00
Abdullah Atta
f014f08ff4 web: fix export to html test snapshot 2024-03-05 15:41:53 +05:00
Abdullah Atta
dee1cf4b5a web: fix locked note status not updating in list 2024-03-05 15:38:01 +05:00
Abdullah Atta
f35a3d8fa3 web: clear editor on unlocking the note 2024-03-05 15:37:45 +05:00
Abdullah Atta
ca9a8d14fa core: fix sync tests 2024-03-05 15:03:18 +05:00
Abdullah Atta
35c35fa9d7 core: update test snapshots 2024-03-05 14:51:41 +05:00
Abdullah Atta
09fff95d58 editor: fix marks.filter is not a function error on pressing Enter 2024-03-05 14:27:29 +05:00
Abdullah Atta
287307a1ba core: move to json protocol for signalr 2024-03-05 14:23:44 +05:00
Abdullah Atta
d628e62302 web: fix app hangs when downloading logs 2024-03-05 14:18:54 +05:00
Ammar Ahmed
a070bc46ad mobile: check backup was successful 2024-03-05 14:16:35 +05:00
Ammar Ahmed
9027c44511 mobile: request backup before changing password 2024-03-05 14:16:35 +05:00
Abdullah Atta
722aa7b9c6 mobile: update database sync api to use new sync options 2024-03-05 14:16:35 +05:00
Abdullah Atta
a4e777b24b web: update database sync api to use new sync options 2024-03-05 14:16:35 +05:00
Abdullah Atta
af7120e953 web: create backup before changing password 2024-03-05 14:16:35 +05:00
Abdullah Atta
d5adc3bbac web: refactor backup verification logic 2024-03-05 14:16:35 +05:00
Abdullah Atta
aa3d778ad1 core: reduce unnecessary syncing during password change 2024-03-05 14:16:35 +05:00
Abdullah Atta
3465a816c6 web: rename to markdown shortcuts 2024-03-05 13:42:39 +05:00
Ammar Ahmed
3d1726c5aa mobile: toggle markdown shortcuts 2024-03-05 13:42:39 +05:00
Muhammad Ali
488de2d583 web: add setting for toggling markdown in editor 2024-03-05 13:42:39 +05:00
Abdullah Atta
c415b114a6 web: template not disabling when copying as markdown 2024-03-05 13:32:54 +05:00
Abdullah Atta
da36784e9c core: fix content inside span not converting to markdown 2024-03-05 13:32:54 +05:00
Muhammad Ali
78fafdc272 editor: convert google docs checklists on paste 2024-03-05 13:32:54 +05:00
Muhammad Ali
7d57055f73 editor: fix new lines from google docs not being preserved on paste (#3988)
* editor: handle <br> directly under root element

* editor: fix pasting from google docs

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2024-03-05 12:14:19 +05:00
Ammar Ahmed
b84cc747cb mobile: restore backup with encryption key 2024-03-04 15:56:12 +05:00
Abdullah Atta
9a4f3ccbad web: allow using encryption key to restore backup 2024-03-04 15:56:12 +05:00
Abdullah Atta
68de3cc928 core: allow using encryption key to decrypt backup 2024-03-04 15:56:12 +05:00
Ammar Ahmed
6e135cdd36 mobile: sort reminders 2024-03-04 15:27:42 +05:00
Abdullah Atta
696116ac85 web: add support for sorting reminders 2024-03-04 15:27:42 +05:00
Abdullah Atta
08a13ff35a core: add support for group options for reminders 2024-03-04 15:27:42 +05:00
Abdullah Atta
af1cea81dc theme: use radio focus color from theme 2024-03-04 15:27:42 +05:00
Muhammad Ali
2c22a7ca90 core: add support for sorting reminders by due date 2024-03-04 15:27:42 +05:00
Muhammad Ali
6fd6bd0375 desktop: add proxy settings (#4196) 2024-03-04 15:16:59 +05:00
Muhammad Ali
1a96dc965a desktop: add support for viewing and removing custom dictionary words (#4362)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2024-03-04 13:47:24 +05:00
Muhammad Ali
9550350f25 desktop: add menu item to copy images in editor (#4373) 2024-03-04 13:27:46 +05:00
Muhammad Ali
0ed605a5b9 editor: fix column toolbar position when table is scrolled horizontally (#4366) 2024-03-04 13:25:46 +05:00
Abdullah Atta
18910d931c config: add .nx to .gitignore 2024-03-04 13:24:25 +05:00
Muhammad Ali
87648b7d8b editor: fix katex math not being rendered correctly (#4353)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2024-03-04 13:23:27 +05:00
Muhammad Ali
7e7a1aeecb editor: add support for toggling highlight/background color (#4330) 2024-03-04 13:22:25 +05:00
Muhammad Ali
cb353358b7 web: fix editor text not selectable from margins (#4292)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2024-03-04 13:20:40 +05:00
Muhammad Ali
ba1619711b desktop: fix app autostart in appimage (#4223) 2024-03-04 12:40:51 +05:00
Ammar Ahmed
b3cc9475ad mobile: fix attachment search 2024-03-01 08:22:14 +05:00
Abdullah Atta
ee5c4077fe docs: improve skiff pages import guide 2024-02-13 01:07:14 +05:00
Abdullah Atta
47bbfc618e docs: add guide for migrating from skiff pages 2024-02-12 10:49:40 +05:00
Abdullah Atta
b377329a8b core: fix attachment mime type on read 2024-02-02 16:02:20 +05:00
Abdullah Atta
ae8bcf3865 ci: fix you may only define one of branches and branches-ignore for a single event
Signed-off-by: Abdullah Atta <abdullahatta@streetwriters.co>
2024-01-31 12:46:32 +05:00
Abdullah Atta
2f67611829 ci: add workflows for v3 beta publishing 2024-01-31 12:41:08 +05:00
Ammar Ahmed
058c612f4f ci: update default build tools version android
Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com>
2024-01-30 11:41:20 +05:00
Ammar Ahmed
be8df90ccb iOS Publish Workflow (#4194)
Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com>
2024-01-30 11:32:48 +05:00
Abdullah Atta
aa730b5b93 web: fix title only txt exports 2024-01-30 00:29:46 +05:00
Abdullah Atta
34bbcf6387 web: add feature highlights for v2.6.15 2024-01-29 23:33:15 +05:00
Abdullah Atta
33c3c78e2f desktop: get rid of configuration.win.signingHashAlgorithms should be an array 2024-01-29 23:27:45 +05:00
Ammar Ahmed
bf144dcda4 mobile: add ExportOptions.plist 2024-01-29 23:23:48 +05:00
Ammar Ahmed
284ebdb86f ci: @notesnook/ios
Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com>
2024-01-29 23:23:01 +05:00
Abdullah Atta
9dac4cf7f4 desktop: set signing has to sha256 2024-01-29 23:22:29 +05:00
Abdullah Atta
fb973a5514 ci: run build job no matter what 2024-01-29 23:22:29 +05:00
Abdullah Atta
f9226510f9 desktop: use full path for FilesCatalog 2024-01-29 23:22:29 +05:00
Abdullah Atta
5c0a964699 ci: add inputs to disable build for specific platforms 2024-01-29 23:22:29 +05:00
Abdullah Atta
41ffaab3dc ci: install azurecodesigning module 2024-01-29 23:22:29 +05:00
Abdullah Atta
764c721f1d desktop: add windows code signing 2024-01-29 23:22:29 +05:00
Ammar Ahmed
3d267f91ef mobile: bump version code 2024-01-29 19:55:41 +05:00
Ammar Ahmed
f10f28a7f8 mobile: release v2.6.15 2024-01-29 19:32:14 +05:00
Ammar Ahmed
8d04f89a18 mobile: remove progress bar 2024-01-29 19:06:01 +05:00
Ammar Ahmed
9d1374dcd4 editor: fix progress not showing in image on mobile 2024-01-29 19:05:49 +05:00
Abdullah Atta
094a65e514 editor: hide progress on image if 0 2024-01-29 18:26:44 +05:00
Ammar Ahmed
372da979e1 mobile: support ignoring edits 2024-01-29 18:26:44 +05:00
Abdullah Atta
d3371326f2 editor: add progress indicator to image 2024-01-29 18:26:44 +05:00
Abdullah Atta
57452bd0e6 core: allow setting custom date edited 2024-01-29 18:26:44 +05:00
Abdullah Atta
993b8460bf web: do not update dateEdited if ignoring edits 2024-01-29 18:26:44 +05:00
Abdullah Atta
081201aa42 editor: add support for ignoring edits 2024-01-29 18:26:44 +05:00
Abdullah Atta
270e6778d1 editor: optimize image loading when fast scrolling 2024-01-29 16:23:59 +05:00
Abdullah Atta
2074320583 editor: revoke blob urls on image unmount 2024-01-29 16:09:05 +05:00
Abdullah Atta
cd90030616 web: fix note title in toolbar not changing 2024-01-29 15:45:13 +05:00
Abdullah Atta
807bd683b7 web: do not show success prompt on unlock cancel 2024-01-29 15:36:01 +05:00
Abdullah Atta
35929026a4 web: monograph.notesnook.com > monogr.ph 2024-01-29 15:22:22 +05:00
Ammar Ahmed
41eb94ee47 mobile: fix exporting locked notes 2024-01-29 11:02:32 +05:00
Ammar Ahmed
ba51e110ad mobile: fix opening webclips 2024-01-29 11:02:32 +05:00
Ammar Ahmed
ecad06d249 mobile: disable rtl mode 2024-01-29 11:02:32 +05:00
Abdullah Atta
19a151f637 editor: fix image query matching all images in editor 2024-01-28 17:17:45 +05:00
Ammar Ahmed
7c4a6f1e17 global: update deps 2024-01-27 23:06:24 +05:00
Ammar Ahmed
bc88e953d1 mobile: make sure tools render in toolbar 2024-01-27 23:05:30 +05:00
Ammar Ahmed
7d89ec676a mobile: fix attachments not loading when added from share ext 2024-01-27 22:50:41 +05:00
Ammar Ahmed
c8f8bcca93 mobile: organize bulk exports 2024-01-27 21:23:29 +05:00
Abdullah Atta
9fa904e849 web: fix exporting of single note 2024-01-27 21:23:29 +05:00
Abdullah Atta
05cc947cb4 web: fix pdf exports 2024-01-27 21:23:29 +05:00
alihamuh
a20a683b17 web: code refactoring 2024-01-27 21:23:29 +05:00
alihamuh
5fc43c931e web: added directory paths for exports 2024-01-27 21:23:29 +05:00
Abdullah Atta
0879c3b4d6 core: fix formatting of single spaced paragarphs in markdown exports (#4186)
* core: update showdown library to support single spaced paragraphs

* core: add tests

* core: update showdown library
2024-01-27 18:59:35 +05:00
Abdullah Atta
2eded71de3 core: fix restored attachments not syncing 2024-01-27 16:06:04 +05:00
Abdullah Atta
9e30ee50b8 core: add logs 2024-01-27 16:06:04 +05:00
Abdullah Atta
08621a5873 core: try to preserve mime type on backup restore 2024-01-27 16:06:04 +05:00
Abdullah Atta
17f5bd28ba web: do not overwrite filename & mimetype on attachment reupload 2024-01-27 16:06:04 +05:00
Ammar Ahmed
4558c0b2eb mobile: fix downloading attachments from editor 2024-01-27 16:06:04 +05:00
Abdullah Atta
a442677e91 editor: fix loading of images that have wrong mime type 2024-01-27 16:06:04 +05:00
Abdullah Atta
95666bee36 editor: remove attachment progress once it reaches 100 2024-01-27 16:06:04 +05:00
Abdullah Atta
c4232ac95a web: do not send hash when updating attachment 2024-01-27 16:06:04 +05:00
Abdullah Atta
0283037289 mobile: changes related to download cancellation 2024-01-27 16:06:04 +05:00
Abdullah Atta
b6fd0df715 web: get rid of all attachment loading logic 2024-01-27 16:06:04 +05:00
Abdullah Atta
f53fb58024 editor: eagerly load image/webclip instead of waiting on client 2024-01-27 16:06:04 +05:00
Abdullah Atta
21d452308d core: simplify download cancellation 2024-01-27 16:06:04 +05:00
Ammar Ahmed
823608cca1 mobile: daily trash cleanup 2024-01-27 16:05:28 +05:00
alihamuh
f3a0b998e4 web: added daily trash interval option 2024-01-27 16:05:28 +05:00
theProton
a47a38b16b web: fix incorrect title on scrolling note (#4137)
Signed-off-by: Parthiv-M <parthivmenon.dev@gmail.com>
2024-01-27 11:44:58 +05:00
Ammar Ahmed
a184c53dd5 mobile: fix loading empty conent in editor on tablets 2024-01-26 23:02:06 +05:00
Abdullah Atta
a3464255ec core: always use attachment mime type from backup if possible 2024-01-26 19:21:55 +05:00
Abdullah Atta
088c6670a9 core: fix crash if note title only contains whitespace 2024-01-26 19:12:41 +05:00
Abdullah Atta
27840b9bd6 editor: fix link pasting (#4178) 2024-01-26 18:57:59 +05:00
Muhammad Ali
ae819504f0 editor: fix input rules not working at the end of note (#4130)
* web: added condition in getDeletedNodes

* editor: some corrections

* editor: merge if conditions

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2024-01-26 16:43:19 +05:00
Muhammad Ali
af792e394c web: add support for moving locked notes to trash (#4134)
* web: added support for single/multi trash notes

* web: show error when trying to preview a locked note in trash

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2024-01-26 16:37:54 +05:00
Muhammad Ali
76a4d5c2a5 editor: fix subtasks getting unchecked on drag/drop reorder (#4135)
* editor: add a condition to check nested item state

* editor: force coerce value to boolean

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2024-01-26 16:31:23 +05:00
Muhammad Ali
4e23acd608 web: fix realtime editor sync cannot be disabled (#4140) 2024-01-26 16:22:56 +05:00
Ammar Ahmed
3c65dcdd8b ci: bump android build tools version 2024-01-15 12:31:37 +05:00
Ammar Ahmed
efea6e3972 theme: add missing alpha colors 2024-01-15 12:31:11 +05:00
Ammar Ahmed
185cca7880 mobile: release v2.6.15 2024-01-12 20:10:58 +05:00
Abdullah Atta
fbded93405 global: update lockfiles 2024-01-05 22:10:05 +05:00
Abdullah Atta
674881b873 web: add zip64 support for backups, export & imports (#4079)
* web: use @zip.js/zip.js for reading zip files

* web: always use zip streams for writing zips

* core: fix types

* theme: update lockfile
2024-01-05 22:05:04 +05:00
Abdullah Atta
248fb6dd2d web: bump version to 2.6.14 2024-01-05 21:55:18 +05:00
Abdullah Atta
3211e7a149 global: update lockfiles 2024-01-05 21:54:06 +05:00
Abdullah Atta
08496c699e editor: fix font size changes back after exiting list (fixes #3602) 2024-01-05 21:48:00 +05:00
Abdullah Atta
060fa25814 core: support underline when exporting as md (fix #3990) 2024-01-05 20:53:14 +05:00
Abdullah Atta
a6b1effc77 core: remove relations auto cleanup 2024-01-05 16:24:02 +05:00
Abdullah Atta
5cf9c4808e web: show resubscribe button if subscription is canceled 2024-01-05 15:55:36 +05:00
Muhammad Ali
d5a44067fd web: fix editor header title input not becoming readonly (#4064) 2024-01-05 11:08:16 +05:00
Muhammad Ali
0de463526f editor: add support for +/- font-size using shortcut keys (#4029) 2024-01-05 10:40:29 +05:00
Muhammad Ali
5fd79875ef editor: fix math/formula block getting cut off on mobile (#4023) 2024-01-05 10:39:20 +05:00
Muhammad Ali
bdb19ad325 web: add license to settings (#4020) 2024-01-05 10:38:13 +05:00
Ammar Ahmed
7a12efc823 mobile: release v2.6.14 2023-12-22 11:58:34 +05:00
Abdullah Atta
2f3bddf860 web: bump version to 2.6.13 2023-12-22 11:51:11 +05:00
Abdullah Atta
6127eb97af editor: do not mark task list as completed if there are no items 2023-12-22 11:49:10 +05:00
Abdullah Atta
86386e14f3 web: update test snapshots 2023-12-22 11:41:42 +05:00
Abdullah Atta
9cc17c29f6 web: use Cmd-a on macOS to select all items in list 2023-12-22 11:38:40 +05:00
Abdullah Atta
a31e863c7b global: update lockfiles 2023-12-22 11:16:26 +05:00
Muhammad Ali
15a32ac83a editor: fix pasting a word inside a list adds newlines around it (#3843)
* editor: added openstart, openEnd from old slice

* editor: removed extra import

* editor: update test snapshots

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-12-22 11:11:03 +05:00
Ammar Ahmed
fa5b84ec0d mobile: minor fixes 2023-12-22 11:10:19 +05:00
Muhammad Ali
7905584eac editor: disable invalid tools when inside a code block (#3997)
* editor: removed fontSize property from code-text style

* editor: TO BE CONTINUED

* editor: some comments for testing

* editor: comment removed

* editor: diabled font size and family in code-block

* editor: disable invalid tools when inside code block

* editor: remove unused console.log

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-12-22 10:26:25 +05:00
Abdullah Atta
afc9b96a11 web: make importer error resistant 2023-12-21 09:08:04 +05:00
Abdullah Atta
4e6466fc18 editor: handle md links with parentheses (#3996) 2023-12-19 14:54:22 +05:00
Abdullah Atta
233baf78ce web: handle file picker dialog cancelation 2023-12-19 14:39:45 +05:00
Abdullah Atta
42d0bee37f desktop: bump electron to 25.9.8 2023-12-19 13:07:34 +05:00
Abdullah Atta
ccadab6a10 web: add md + frontmatter to export all options 2023-12-19 12:44:23 +05:00
Muhammad Ali
bfe5a5cb96 editor: correctly style other types of lists in outline list (#3889) 2023-12-19 12:15:36 +05:00
Muhammad Ali
88fc24c4cf editor: fix code blocks pasting in a single line without formatting (#3910)
* editor: added code support for w3school

* editor: fixed newline issue in per tag code
2023-12-19 12:13:59 +05:00
Abdullah Atta
8be4fea7a3 ui: use symbols for shortcut keys on macOS 2023-12-19 11:12:20 +05:00
Muhammad Ali
a3d39d8b6d editor: add Ctrl/Cmd+\ keyboard shortcut for "Clear all formatting" (#3989)
* editor: added short-cut key in keyap

* editor: use Mod key instead of Ctrl

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-12-19 11:11:35 +05:00
Muhammad Ali
ff36f0259a editor: add support for converting md link syntax to link on paste (#3919) 2023-12-18 16:23:56 +05:00
Muhammad Ali
d13654088a editor: add support for checking/unchecking all items in a task list (#3975) 2023-12-18 16:21:44 +05:00
Muhammad Ali
8a6b97c757 editor: add special readonly mode for toolbar (#3913)
* editor: added a toolbar display on mobile in readonly mode

* editor: hide editable tools from readonly toolbar

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-12-18 16:04:02 +05:00
Muhammad Ali
d71e0c109b web: going back in search after editing a notebook opens notebook edit dialog again (#3979)
* web: changed afterAction()

* web: fix back navigation for dialogs that replace

* web: remove unused import

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-12-18 15:58:20 +05:00
Ammar Ahmed
7e345303fe mobile: fix app lock hides login page on enter background 2023-12-18 10:49:57 +05:00
Abdullah Atta
d881bdb77c web: fix attachment dialog not opening on error 2023-12-11 15:09:38 +05:00
Ammar Ahmed
4961102d8f mobile: fix subscriptions not verified on ios 2023-12-11 10:54:45 +05:00
Abdullah Atta
4f2ab4f1da docs: fix incorrect noun (fixes #3934)
Signed-off-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-12-07 09:56:55 +05:00
Ammar Ahmed
7540e34366 mobile: update provisioning profiles 2023-11-27 08:22:47 +05:00
Abdullah Atta
4d7a8b9ea0 web: bump version to 2.6.12 2023-11-25 22:20:39 +05:00
Abdullah Atta
812ecf93c8 web: fix tag tests 2023-11-25 22:18:05 +05:00
Ammar Ahmed
74d99d97bc mobile: release v2.6.12 2023-11-25 15:44:43 +05:00
Muhammad Ali
5bbc453268 web: fix new tags do not appear under "recent" tags (#3827) 2023-11-25 15:39:38 +05:00
Ammar Ahmed
d71b9edc7f mobile: add support for markdown + frontmatter 2023-11-25 15:32:31 +05:00
Abdullah Atta
134904b551 web: add md with frontmatter export 2023-11-25 15:32:31 +05:00
Abdullah Atta
3eeb292d70 core: add new md + frontmatter export format 2023-11-25 15:32:31 +05:00
Abdullah Atta
04125bbb98 web: minor ui fixes 2023-11-25 15:19:50 +05:00
Ammar Ahmed
cfc3a8341c mobile: update mmkv package 2023-11-25 15:19:27 +05:00
Abdullah Atta
cbb0a511a8 core: fix logs sorting 2023-11-25 15:19:27 +05:00
Abdullah Atta
dff1c7ed32 core: optimize logger 2023-11-25 15:19:27 +05:00
Abdullah Atta
7987ef81a6 web: use removeMulti to bulk remove old logs 2023-11-25 15:19:27 +05:00
Ammar Ahmed
8d8d4ee782 mobile: fix app freeze when deleting old logs 2023-11-25 15:19:27 +05:00
Ammar Ahmed
3a50c73cab core: add removeMulti to storage 2023-11-25 15:19:27 +05:00
Abdullah Atta
4ee0071eca core: stop localOnly items from always getting synced 2023-11-25 15:12:33 +05:00
Muhammad Ali
248192f404 editor: hide link popup in readonly mode on mobile (#3853) 2023-11-25 11:29:02 +05:00
Krishna Bharadwaj
e56b766c3a web: open testimonial source links in new tab (#3863)
Signed-off-by: Dharmavineta <krishnabharadwaj1995@gmail.com>
2023-11-25 11:27:24 +05:00
Abdullah Atta
170b2b24ab web: fix logged in status alignment 2023-11-25 11:26:19 +05:00
Ammar Ahmed
50137e0994 mobile: fix subscriptions not fulfilling on ios 2023-11-25 10:32:24 +05:00
Abdullah Atta
8b5babd5f8 desktop: use node.js fetch instead of net.fetch 2023-11-25 10:20:19 +05:00
Abdullah Atta
39e83200c8 web: fix attachment upload progress on desktop 2023-11-25 10:19:57 +05:00
Abdullah Atta
ead0e0107e core: allow deleting unuploaded attachments 2023-11-25 10:19:38 +05:00
Abdullah Atta
1c888bd4fd web: always open announcement link in browser on desktop app 2023-11-25 10:18:20 +05:00
Krishna Bharadwaj
ff92530339 web: hide email address from status bar (#3859) 2023-11-24 11:18:46 +05:00
Ammar Ahmed
ee38032403 mobile: release v2.6.11 2023-11-22 14:45:16 +05:00
Ammar Ahmed
2ce245659a mobile: fix pricing plans 2023-11-22 14:27:20 +05:00
Abdullah Atta
2c635eb4d7 web: bump version to 2.6.11 2023-11-22 10:44:39 +05:00
Abdullah Atta
d653223df0 editor: load images threadsafely 2023-11-22 10:36:48 +05:00
Muhammad Ali
290b0dfc78 web: close reminder dialog on setting snooze time (#3842) 2023-11-21 10:53:53 +05:00
Muhammad Ali
06bb9e654b web: fix weird janky animation when opening dialogs (#3826) 2023-11-21 08:20:26 +05:00
Muhammad Ali
576fe78e33 clipper: hide clip preview button when there's no clip data (#3772) 2023-11-21 08:18:28 +05:00
Abdullah Atta
0c16bfb5ff web: fix issue with service worker not getting registered 2023-11-20 12:34:07 +05:00
Abdullah Atta
a101dbdf31 web: use bloburl when previewing images 2023-11-20 11:12:02 +05:00
Abdullah Atta
682609044f editor: add support for previewing SVG images 2023-11-20 11:12:02 +05:00
Abdullah Atta
c0a7fb3a5c misc: remove unnecessary files 2023-11-20 10:01:08 +05:00
Abdullah Atta
a153aa791c web: bump version to 2.6.10 2023-11-20 09:49:31 +05:00
Abdullah Atta
76b3dd1f96 web: check if file exists before starting upload 2023-11-20 09:41:35 +05:00
Ammar Ahmed
8b9e2c8526 mobile: release v2.6.10 2023-11-20 08:44:42 +05:00
Ammar Ahmed
0dc2d14736 mobile: fix crash on pricing plans page on ios 2023-11-20 08:27:49 +05:00
Abdullah Atta
fc5dada701 editor: fix task items getting unchecked on sort 2023-11-20 08:25:27 +05:00
Abdullah Atta
f34060c4e0 editor: fix task list title getting reset 2023-11-20 08:25:27 +05:00
Abdullah Atta
006a239680 web: bump version to 2.6.9 2023-11-18 15:13:40 +05:00
Abdullah Atta
c6ed4bcab1 web: allow restoring backups when logged out 2023-11-18 15:13:05 +05:00
Abdullah Atta
b0fe967087 desktop: destroy system tray on toggle off setting 2023-11-18 14:53:14 +05:00
Abdullah Atta
3f32673b0a desktop: permanently disable menu bar 2023-11-18 14:45:17 +05:00
Ammar Ahmed
0525cecaee mobile: bump version code on android 2023-11-18 14:38:37 +05:00
Ammar Ahmed
7d84a9582b mobile: allow restoring backups when logged out 2023-11-18 14:38:37 +05:00
Abdullah Atta
289acd8ab6 web: add cross icon for removing tags 2023-11-18 14:35:57 +05:00
Abdullah Atta
bb6d9f604b web: wait 1s for math to render on pdf print 2023-11-18 14:23:57 +05:00
Abdullah Atta
c20a8232cd core: safe check for IS_DESKTOP_APP 2023-11-18 14:23:57 +05:00
Ammar Ahmed
c886212e89 core: add padding to math block in exports 2023-11-18 14:23:57 +05:00
Abdullah Atta
799ae111ae editor: disable resizing of floating images 2023-11-18 13:05:00 +05:00
Abdullah Atta
2a990979a0 editor: fix drag/drop of task items 2023-11-18 13:04:45 +05:00
Ammar Ahmed
2d1071117b mobile: release v2.6.9 2023-11-18 12:17:27 +05:00
Ammar Ahmed
aefce1ee67 mobile: add support /now /time in title 2023-11-18 12:17:27 +05:00
Ammar Ahmed
64d10f5050 mobile: reupload if file size is zero 2023-11-18 12:17:11 +05:00
Abdullah Atta
95b9edca62 web: check if attachment really exists on insertion 2023-11-18 12:17:11 +05:00
Abdullah Atta
06c8422cbe core: prevent duplicate attachments on backup restore 2023-11-18 12:17:11 +05:00
Abdullah Atta
177d8b5112 web: remove rogue console.log 2023-11-18 10:18:53 +05:00
Abdullah Atta
39afa98fce web: lazily load fs module 2023-11-18 10:17:23 +05:00
Abdullah Atta
5bc1ad4ba5 editor: fix url is undefined error in loading images 2023-11-18 10:16:59 +05:00
Abdullah Atta
0b1223976c web: fix builds 2023-11-18 10:03:14 +05:00
Muhammad Ali
3873758fe5 clipper(web): add fallback height & width for web clip(#3766) 2023-11-18 10:03:14 +05:00
Abdullah Atta
3c876cb1d8 global: update lockfiles 2023-11-18 10:03:13 +05:00
Abdullah Atta
0a1a16c197 editor: show placeholder when downloading image 2023-11-18 10:03:13 +05:00
Ammar Ahmed
3c56325fa6 mobile: fix image download 2023-11-18 10:03:13 +05:00
Abdullah Atta
e5db3353ae editor: improve image loading 2023-11-18 10:03:13 +05:00
Muhammad Ali
3416ba4eaa editor: removed a useState method 2023-11-18 10:03:13 +05:00
Muhammad Ali
cdb69bf553 editor: removed updateImage command from useEffect 2023-11-18 10:03:13 +05:00
Abdullah Atta
1aff6d0d55 editor: sync task list state at the very end 2023-11-18 10:03:13 +05:00
Ammar Ahmed
67b7bdcea3 mobile: update iap library to latest 2023-11-18 10:02:45 +05:00
Abdullah Atta
9b6a6de415 editor: update snapshots 2023-11-17 12:50:43 +05:00
Abdullah Atta
8325246a56 web: reduce network check retries to 3 2023-11-17 11:49:52 +05:00
Abdullah Atta
3d11fb5e3f web: specify if session has expired during login 2023-11-17 08:44:17 +05:00
Abdullah Atta
4627a58a52 web: show tags in readonly mode 2023-11-17 08:34:16 +05:00
Muhammad Ali
e557047af1 web: fix pressing enter to add a new tag from list of suggestion fails (#3548)
* web: added ref to control resturn key func

* web: click should open autosuggestions menu

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-11-17 08:30:13 +05:00
Muhammad Ali
8b4cea7339 editor: make table header row immovable (#3459) 2023-11-16 15:30:32 +05:00
Muhammad Ali
ba5e35ec5c editor: fix resize for floating images (#3643)
* editor: removed maxWidth to make image float resizeable

* editor: fix resize for floating images

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-11-16 15:26:25 +05:00
aryan katiyar
f53817e94d web: add link to source code in Settings (#3683) 2023-11-16 15:18:11 +05:00
Muhammad Ali
846efc5351 editor: use prosemirror plugin for managing task list state (#3252)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-11-16 15:12:19 +05:00
Abdullah Atta
0149d00d64 web: add support for storing attachments in opfs or cache storage 2023-11-16 15:01:48 +05:00
Abdullah Atta
275f9730f1 web: allow downloading unuploading attachments 2023-11-16 15:01:48 +05:00
Abdullah Atta
43bc954989 core: allow uploading attachments that are in 0 notes 2023-11-16 15:01:48 +05:00
Abdullah Atta
c88bc722e1 fs: get rid of localforage and use generic interface 2023-11-16 15:01:48 +05:00
Muhammad Ali
ec6fc6839e editor: support datetime shortcuts in task list title & note title (#3746)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-11-16 14:14:43 +05:00
Abdullah Atta
8383c93292 desktop: only set openAtLogin if not already set 2023-11-16 13:07:21 +05:00
Muhammad Ali
37d8d85935 clipper: delete import css rules after iteration (#3720)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-11-16 13:06:51 +05:00
Muhammad Ali
95db7c6329 desktop: fix minimize to system tray not working immediately after enabling (#3734)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-11-16 13:01:22 +05:00
Muhammad Ali
636783335f desktop: add setting to disable menu bar (#3728)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-11-16 09:51:01 +05:00
Abdullah Atta
f88431ded4 core: handle case where headline is undefined 2023-11-03 08:28:41 +05:00
Abdullah Atta
91b0de0580 web: bump version to 2.6.8 2023-11-02 13:23:00 +05:00
Abdullah Atta
a5704ad75c desktop: do not show auto update toggle for flatpak users 2023-11-02 13:20:51 +05:00
Abdullah Atta
ba8c09a7d9 desktop: update electron to 25.9.3 2023-11-02 13:07:15 +05:00
Abdullah Atta
dbe4015655 web: preserve note edited time when exporting 2023-11-02 12:59:47 +05:00
Abdullah Atta
76237ad7dd web: fix sync progress in account recovery 2023-11-02 10:35:06 +05:00
Abdullah Atta
dbfb1168fb core: fix restored notes not syncing (closes #3472) 2023-11-02 10:34:21 +05:00
Abdullah Atta
830d28fbe5 editor: fix pasting link replaces selected text
fixes #3520
2023-10-31 12:33:49 +05:00
Abdullah Atta
c6def2a8fe web: fix crash on opening editor properties
(fixes #3585)
2023-10-31 12:03:45 +05:00
Abdullah Atta
ebc95fcea7 web: make duplicate filenames in attachments unique on download (#3678)
* web: make duplicate filenames in attachments unique

* Update apps/web/src/utils/streams/attachment-stream.ts

Signed-off-by: Abdullah Atta <thecodrr@protonmail.com>

* web: make attachment filename case insensitive

---------

Signed-off-by: Abdullah Atta <thecodrr@protonmail.com>
2023-10-31 11:35:01 +05:00
Abdullah Atta
f78cfe59e8 web: hide note title immediately on setting change 2023-10-31 11:12:11 +05:00
Johnny Avila
a2cbc93d34 web: add setting to allow hiding note title from window title (#3480)
Signed-off-by: Johnny Avila <avila.johnny11@gmail.com>
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-10-31 11:08:14 +05:00
Muhammad Ali
4728f14e8c core: add year when grouping by month (#3630) 2023-10-31 10:57:52 +05:00
Abdullah Atta
e94b431d58 web: change pwa theme color according to current theme (#3621)
* web: change pwa theme color according to current theme

* web: use background color as pwa theme-color
2023-10-31 10:56:37 +05:00
Muhammad Ali
0ac5e2b995 web: hide unnecessary items from status bar in focus mode (#3577)
* web: used app-store to hide sync-status suring focus mode

* web: hide useless items from status bar in focus mode

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-10-31 10:54:57 +05:00
Muhammad Ali
365764e3e3 web: update vault setting immediately after vault creation (#3542)
* web: added onStateChange function to vault-settings.

* web: fix font style of checkbox in password dialog

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-10-31 10:50:38 +05:00
Ammar Ahmed
8d2b5aa3de mobile: release v2.6.8 2023-10-30 15:24:30 +05:00
Ammar Ahmed
9a031a4a43 mobile: fix selection state causing delete to fail 2023-10-30 14:25:14 +05:00
Ammar Ahmed
d412679fd7 mobile: fix relogin in session expired mode 2023-10-30 11:56:52 +05:00
Ammar Ahmed
22c52d4432 core: reset lastSynced if new login 2023-10-30 11:55:43 +05:00
Ammar Ahmed
9e5bdf9e33 core: fix access token not saved 2023-10-30 11:55:14 +05:00
Abdullah Atta
7253eca5c0 core: do not allow saving empty token response 2023-10-30 10:55:39 +05:00
Abdullah Atta
b1f3dc29c5 core: use single sse command for logging the user out 2023-10-30 10:55:39 +05:00
Abdullah Atta
8e3df8d41b editor: disallow links in inline code 2023-10-30 10:41:04 +05:00
Ammar Ahmed
efad22c00a mobile: fix 24 hour reminder time 2023-10-30 10:26:15 +05:00
Ammar Ahmed
b7690f13b1 mobile: hide pinned notification subtitle 2023-10-30 09:58:52 +05:00
Ammar Ahmed
6e1739da2e mobile: fix note not added to default notebook in widget 2023-10-24 17:35:53 +05:00
Ammar Ahmed
77ab423041 mobile: fix keep in view in editor (#3612) 2023-10-24 16:54:00 +05:00
Ammar Ahmed
96a8e885d3 Fix session expiry dialog not presented when user encryption key is not found (#3625)
* core: fix session expired dialog not shown when
user encryption key does not
exist

* core: add watch command
2023-10-24 15:58:26 +05:00
Ammar Ahmed
2b917c7eca mobile: fix pin input hide behind keyboard on session expiry sheet (#3624) 2023-10-24 15:57:20 +05:00
Ammar Ahmed
942d2f7a4e mobile: fix system bar colors (#3611) 2023-10-24 12:44:41 +05:00
Ammar Ahmed
75142ff1b2 mobile: fix session id mismatch causing editor to get stuck.(#3613) 2023-10-24 09:18:55 +05:00
Abdullah Atta
74172dc3fa docs: update organizing notes using notebooks doc 2023-10-03 14:42:54 +05:00
Abdullah Atta
848fdda8d7 docs: update outdated documentation 2023-10-03 13:44:21 +05:00
Abdullah Atta
3895569a0c setup: make flatpak source generation more robust 2023-10-03 12:02:27 +05:00
Abdullah Atta
0aac29ca76 web: bump version to 2.6.7 2023-10-02 21:06:08 +05:00
Abdullah Atta
25f9eece8d web: remove blur from dialogs 2023-10-02 21:06:08 +05:00
Ammar Ahmed
0e22b8ab2c mobile: release v2.6.7 2023-10-02 19:01:16 +05:00
Abdullah Atta
577c2ce6cd core: auto create vault if non exists & user opens a locked note 2023-10-02 18:00:36 +05:00
Abdullah Atta
5b9cb8ca4b desktop: fix close to system tray only works once 2023-10-02 17:56:41 +05:00
Ammar Ahmed
2eda93c0c2 mobile: fix add to notebook sheet hangs with many notebooks (#3505)
Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com>
2023-10-02 17:06:28 +05:00
Ammar Ahmed
d916adf2e3 mobile: fix dialog show above app lock 2023-10-02 17:05:41 +05:00
Abdullah Atta
1f065bcbb2 web: do not show save dialog when Ctrl+S is pressed 2023-10-02 16:37:09 +05:00
Abdullah Atta
3efdd9505e editor: do not open keyboard on task item drop 2023-10-02 16:22:20 +05:00
Abdullah Atta
ab3f5f6a6c editor: hide scrollbar in math nodes 2023-10-02 16:17:39 +05:00
Muhammad Ali
9027be7bbb web: add menu item to allow copying a note as text or markdown (#3193)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-10-02 16:09:35 +05:00
Abdullah Atta
7b08b5c035 core: fix vault key not getting synced 2023-10-02 16:07:52 +05:00
Abdullah Atta
4a557c67b7 core: fix require prismjs on desktop build 2023-10-02 15:28:47 +05:00
Abdullah Atta
a6ebe092e8 core: fix undefined is not an object when publishing empty note 2023-10-02 15:15:21 +05:00
Midhun Sudhir
9759e1b396 mobile: fix typo in pricing plans (#3477)
Signed-off-by: Midhun Sudhir <60651970+midhun3301@users.noreply.github.com>
2023-09-28 23:19:15 +05:00
Ammar Ahmed
b6147ca5a1 mobile: release v2.6.6 2023-09-25 13:26:40 +05:00
Ammar Ahmed
83887db77a mobile: pass e2e tests 2023-09-25 13:26:40 +05:00
Abdullah Atta
1facfbec0e web: bump version to 2.6.6 2023-09-25 12:38:49 +05:00
Abdullah Atta
d6608325b4 web: skip education plan in tests 2023-09-25 12:27:09 +05:00
Ammar Ahmed
439b090470 mobile: fix learn more button is empty 2023-09-25 12:23:37 +05:00
Ammar Ahmed
ed98319a21 mobile: fix topic sheet size 2023-09-25 12:23:37 +05:00
Ammar Ahmed
54f94f44c0 mobile: remove icon animation 2023-09-25 12:23:37 +05:00
Ammar Ahmed
57cf0e23cf core: fix sorting of debug logs 2023-09-25 12:23:37 +05:00
Abdullah Atta
9e66269aca core: fix core tests 2023-09-25 12:20:54 +05:00
Abdullah Atta
a4f50fa2c3 web: fix backup tests 2023-09-25 11:47:29 +05:00
Abdullah Atta
7a0bafb02c editor: improve drag/drop support in task lists 2023-09-25 11:06:05 +05:00
Abdullah Atta
a24658ac0e core: fix "Cannot read property type of undefined" 2023-09-25 10:43:54 +05:00
Abdullah Atta
bb77385b66 editor: update tiptap to 2.1.11 2023-09-25 10:36:36 +05:00
Ammar Ahmed
e8b1bb649c editor: focus editor on press enter on mobile 2023-09-22 17:32:01 +05:00
Ammar Ahmed
023347da3f editor: fix link color in tool 2023-09-22 17:31:36 +05:00
Ammar Ahmed
f10146be03 mobile: fix image preview not loading image 2023-09-22 17:17:25 +05:00
Ammar Ahmed
7bac3c1326 mobile: fix selection is not reset when switching topics 2023-09-22 16:35:40 +05:00
Ammar Ahmed
528c0a10de mobile: skip clipping images from webpage 2023-09-22 10:32:52 +05:00
Ammar Ahmed
c1e1a8d1a9 clipper: support full page clips without styles and images 2023-09-22 10:32:52 +05:00
Ammar Ahmed
21720a510d editor: cache src of image when loading from network 2023-09-22 10:32:52 +05:00
Ammar Ahmed
a2d5e7f32f editor: layout images as block on mobile 2023-09-22 10:32:52 +05:00
Ammar Ahmed
629fb7b9cd mobile: patch lib to support asset reading 2023-09-22 10:32:52 +05:00
Ammar Ahmed
f6a4af8c00 clipper: convert relative urls to absolute 2023-09-22 10:32:52 +05:00
Ammar Ahmed
837e60316a mobile: fix loading clip on android 2023-09-22 10:32:52 +05:00
Ammar Ahmed
2592a90853 mobile: fix clipper build output path 2023-09-22 10:32:52 +05:00
ammarahm-ed
788429efb7 mobile: clip dynamic websites 2023-09-22 10:32:52 +05:00
Ammar Ahmed
674d8672f0 mobile: set title max length to 500 chars 2023-09-21 15:29:47 +05:00
ammarahm-ed
8d371fce79 mobile: multi-line title 2023-09-21 15:29:47 +05:00
Muhammad Ali
f0f391ec73 editors: add support for write protecting a specific task list (#3285)
* editor: added readonly attr for tasklist

* Update packages/editor/src/extensions/task-list/task-list.ts

Signed-off-by: Abdullah Atta <thecodrr@protonmail.com>

* editor: fixed tasklist title input

* editor: allow write protecting nested task lists

---------

Signed-off-by: Abdullah Atta <thecodrr@protonmail.com>
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-09-21 14:52:55 +05:00
Muhammad Ali
abc3b5569c core: fix upcoming reminder time calculation (#3341)
* core: added missing equality sign

* core: added test
2023-09-21 14:04:20 +05:00
Muhammad Ali
c42dc0f12e editor: add drag/drop support for attachments (#3325)
* editor: added drag for attachments

* editor: refactor attachment dragging check

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-09-21 13:59:41 +05:00
luzpaz
7ec14f2eff mobile: fix typos in apps/mobile subdirectory
Found via `codespell -q 3 -S "*.patch"`
2023-09-21 13:51:28 +05:00
ammarahm-ed
31d4e88efd mobile: check if file exists based on file size 2023-09-21 13:43:16 +05:00
Abdullah Atta
da06184d51 core: increment progress even if file exists 2023-09-21 13:43:16 +05:00
Abdullah Atta
08296793f1 web: improve attachment progress events & ui 2023-09-21 13:43:16 +05:00
Abdullah Atta
3b6fde2ea6 web: check file size when checking for file existence 2023-09-21 13:43:16 +05:00
Abdullah Atta
1f2948c9a5 core: check for file existence before calling downloadFile 2023-09-21 13:43:16 +05:00
ammarahm-ed
e62267042e mobile: add support for progress 2023-09-21 13:43:16 +05:00
ammarahm-ed
883fe48946 core: add download start & canceled events 2023-09-21 13:43:16 +05:00
Abdullah Atta
6ba18c5bd1 web: use new file upload/download events 2023-09-21 13:43:16 +05:00
Abdullah Atta
207347190d core: fix download/upload cancellation 2023-09-21 13:43:16 +05:00
Ammar Ahmed
0cf76e1f11 mobile: fix sorting notes in topics (#3348)
* mobile: fix sorting notes in topics

* mobile: fix list is not updated
2023-09-21 13:30:10 +05:00
ammarahm-ed
9d76311f82 mobile: support font scaling 2023-09-21 13:29:44 +05:00
ammarahm-ed
c327a292c7 mobile: show +, # and export icon in selection header 2023-09-21 13:24:25 +05:00
ammarahm-ed
5a965f6d52 mobile: simplify deleting topic 2023-09-21 13:24:25 +05:00
ammarahm-ed
a81c621d49 mobile: migrate to persisted app cache
We now use app files directory on android
& LibraryPath on iOS to store cache files
such as images etc so they don't get deleted
by the system
2023-09-21 13:19:46 +05:00
ammarahm-ed
2e7b5d0d08 mobile: fix attachments fail to encrypt from share extension 2023-09-21 13:19:46 +05:00
ammarahm-ed
6d324fe8da mobile: improve editor content loading 2023-09-21 13:10:55 +05:00
ammarahm-ed
6d2be3a083 mobile: clear download/upload progress on cancel token 2023-09-21 13:10:55 +05:00
ammarahm-ed
d252c6fc5c mobile: fix editor not reset session id 2023-09-21 13:10:55 +05:00
ammarahm-ed
30c5e87c67 mobile: support running pending sync 2023-09-21 13:06:38 +05:00
Abdullah Atta
2db819de2b web: add support for running pending sync 2023-09-21 13:06:38 +05:00
Muhammad Ali
bff5e64484 editor: fix plain text pasting on windows (#3402)
* editor: added check for empty <p/> with <br/>

* editor: improve paragraph empty check

* editor: add tests

* editor: fix CRLF line breaks when pasting text

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-09-21 11:58:55 +05:00
Abdullah Atta
3492bef2c7 crypto: fix nodejs native encryption causing file corruption 2023-09-21 11:30:47 +05:00
Abdullah Atta
6d9aa56084 web: fix loading indicator in setting buttons 2023-09-21 11:30:23 +05:00
Abdullah Atta
94c40b3444 desktop: fix jumplist item activation when app is running 2023-09-21 11:30:23 +05:00
Abdullah Atta
278c8b1115 web: use update status in settings about screen 2023-09-21 11:30:23 +05:00
Abdullah Atta
8e8581cce5 desktop: auto check for updates every 12 hours 2023-09-21 11:30:23 +05:00
Abdullah Atta
bd29f4e9e2 web: hide "You are on latest version" notice 2023-09-21 11:30:23 +05:00
Abdullah Atta
eb2b92d85c web: only show loading indicator on button that was pressed 2023-09-21 11:30:23 +05:00
Abdullah Atta
042ac0d338 desktop: fix auto updater events not sent to app 2023-09-21 11:30:23 +05:00
Abdullah Atta
a7011f0d6b global: update @trpc/* to 10.38.3 2023-09-21 11:30:23 +05:00
Abdullah Atta
22144ee18d web: fix backup validation check 2023-09-19 22:28:16 +05:00
Abdullah Atta
b85484fceb desktop: update lockfile 2023-09-15 17:13:47 +05:00
Abdullah Atta
b58956371f desktop: bump electron to v25.8.1 fixing CVE-2023-4863 2023-09-15 17:10:54 +05:00
Abdullah Atta
f487e9f7e2 global: update lockfiles 2023-09-15 15:06:27 +05:00
Abdullah Atta
f14efd3b1e web: fallback to blob download if service worker not found 2023-09-15 11:29:40 +05:00
Abdullah Atta
3496a42c19 web: bump to version 2.6.5 2023-09-15 10:24:15 +05:00
Abdullah Atta
0882c3ecf5 web: use single service worker for everything 2023-09-15 10:23:56 +05:00
ammarahm-ed
1f6d76bac7 mobile: update versionCode 2023-09-15 00:06:42 +05:00
ammarahm-ed
db7c3f4321 mobile: release v2.6.5 2023-09-14 23:45:44 +05:00
ammarahm-ed
9ea4651fb0 core: fix backup fail if item in null/undefined 2023-09-14 23:45:13 +05:00
Abdullah Atta
ed5a75447f web: register stream saver service worker on app start 2023-09-14 19:03:15 +05:00
ammarahm-ed
d08994a314 mobile: bump version code 2023-09-13 18:51:36 +05:00
ammarahm-ed
2bf6e7073c core: fix migration not running on colors 2023-09-13 18:21:55 +05:00
ammarahm-ed
7990458cf3 core: call migrateItem with backup key 2023-09-13 18:15:44 +05:00
ammarahm-ed
f3b13735f3 mobile: fix color of button in sheet 2023-09-13 18:14:03 +05:00
ammarahm-ed
ae680a32bc core: fix migration 2023-09-13 17:32:17 +05:00
ammarahm-ed
cbd0f18c6e mobile: release 2.6.4 2023-09-13 14:25:24 +05:00
ammarahm-ed
fd62b1b631 mobile: fix backup not created before migration 2023-09-13 13:50:05 +05:00
ammarahm-ed
2159f6720e mobile: fix delete notebook in bulk 2023-09-13 13:46:08 +05:00
ammarahm-ed
67c3a36464 editor: fix code-block ui 2023-09-13 13:44:53 +05:00
Abdullah Atta
652efc8624 ci: only get app store version if publishing to app store 2023-09-13 13:07:14 +05:00
Abdullah Atta
30da041ea3 web: ask for password if backup encryption if off 2023-09-13 12:48:58 +05:00
Abdullah Atta
e90c401503 web: bump version to 2.6.4 2023-09-13 12:47:10 +05:00
Abdullah Atta
83d919f06e web: fix login form shown for split second before login 2023-09-13 12:42:54 +05:00
Abdullah Atta
74fef0d2d9 core: run all items migrator before other migrators 2023-09-13 12:42:02 +05:00
Abdullah Atta
5906b24da1 core: add support for localOnly migrations 2023-09-13 12:40:30 +05:00
Abdullah Atta
8dd36f7adf core: set last synced to 0 right after login 2023-09-13 12:39:15 +05:00
ammarahm-ed
f2dc26dbff mobile: add support for nnbackupz format 2023-09-13 11:42:59 +05:00
ammarahm-ed
87915ecd00 core: handle null/undefined keys in backup 2023-09-13 11:41:49 +05:00
Abdullah Atta
3cf4e55621 core: restore colors from backups correctly 2023-09-13 10:45:40 +05:00
Abdullah Atta
4c7cd840df core: fix indexes getting replaced on backup restore 2023-09-13 10:23:44 +05:00
Abdullah Atta
bd238a6fe4 core: remove unnecessary exist check slowing reads 2023-09-13 10:23:44 +05:00
Abdullah Atta
beaace9b54 web: add support for streaming backup creation & restore 2023-09-13 10:23:44 +05:00
Abdullah Atta
c5352c2a73 core: add support for restoring new nnbackupz format 2023-09-13 10:23:44 +05:00
Abdullah Atta
dd6410c33e core: add support for streaming backups 2023-09-13 10:23:44 +05:00
Abdullah Atta
ac9dca8098 core: migrate db in a streaming way 2023-09-13 10:23:44 +05:00
Abdullah Atta
74ade6fecc core: make sure items sync after migration 2023-09-13 10:23:44 +05:00
Abdullah Atta
e1cfbb155d core: fix Cannot read properties of null (reading 'clear') 2023-09-13 10:23:44 +05:00
Abdullah Atta
030aba2ac3 core: add migration to remove item.remote 2023-09-13 10:23:44 +05:00
Abdullah Atta
9ab7e722e0 core: port fixes for sync issues from typescript branch 2023-09-13 10:23:44 +05:00
ammarahm-ed
14d6714209 theme: confirm before downloading code-block css 2023-09-11 12:51:01 +05:00
ammarahm-ed
e8e50bebcf theme: support code-block css in builder 2023-09-11 12:33:14 +05:00
ammarahm-ed
fa0610e392 mobile: release v2.6.3 2023-09-09 11:54:56 +05:00
Abdullah Atta
124489a5a5 web: bump to version 2.6.3 2023-09-09 11:06:56 +05:00
Abdullah Atta
22fcdc0fb1 desktop: bump to version 2.6.3 2023-09-09 11:06:20 +05:00
Abdullah Atta
1375300a91 desktop: downgrade electron to v25.8.0 2023-09-09 11:05:25 +05:00
Abdullah Atta
e6f4aea4d7 desktop: handle unhandled errors 2023-09-08 14:49:02 +05:00
Abdullah Atta
d72c4057ff theme: support ARGB values in background 2023-09-08 09:45:54 +05:00
Abdullah Atta
02d80ee4fa web: add separate plan for education discount 2023-09-07 18:39:21 +05:00
ammarahm-ed
2da3e9e0be mobile: release v2.6.2 2023-09-06 21:38:20 +05:00
ammarahm-ed
8333e7bdb3 mobile: set NSExtensionActivationDictionaryVersion to v2 2023-09-06 20:07:15 +05:00
ammarahm-ed
cef2472aae mobile: handle state when app entered background
to take some action like pick a file/image etc.
2023-09-06 20:06:46 +05:00
ammarahm-ed
a4946f7e89 mobile: hide caret when input 2fa code 2023-09-06 20:05:06 +05:00
ammarahm-ed
3e95e0feae mobile: fix db logger not logging 2023-09-06 20:04:46 +05:00
Abdullah Atta
b81843cdf7 core: sync settings before everything else 2023-09-06 19:31:06 +05:00
Abdullah Atta
eedd50fc64 web: bump version to 2.6.2 2023-09-06 17:06:02 +05:00
Abdullah Atta
1cb00bca0d core: fix collector tests 2023-09-06 17:00:04 +05:00
Abdullah Atta
8c233570a7 core: return default values for unset settings 2023-09-06 16:42:51 +05:00
Muhammad Ali
8a3c8b85bb web: fix autocomplete hint in signup form password fields (#3272) 2023-09-06 16:09:54 +05:00
Abdullah Atta
2ee8a807dc core: fix settings getting replaced on login 2023-09-06 15:56:20 +05:00
Abdullah Atta
ec85f748fa core: use serverLastSynced time from client 2023-09-06 15:43:20 +05:00
Abdullah Atta
051b7fcb8c core: notify autosync before setting remote= false 2023-09-06 15:28:56 +05:00
Abdullah Atta
9af88811d8 core: remove remote: true from settings after sync 2023-09-06 15:09:31 +05:00
Abdullah Atta
6c4672037c web: do not run sync on file picker closed 2023-09-06 14:49:56 +05:00
Abdullah Atta
d59e0d9ee2 core: sync attachments before anything else 2023-09-06 14:48:43 +05:00
Abdullah Atta
5a001a1457 core: use bulk io operations for logger storage 2023-09-06 12:30:39 +05:00
Abdullah Atta
44d6474b36 core: fix attachments not syncing 2023-09-06 12:14:03 +05:00
Abdullah Atta
0607e005f5 core: only sync syncable attachments 2023-09-06 12:04:58 +05:00
Abdullah Atta
308eb4b55f core: merge remote attachment if local attachment doesn't exist 2023-09-06 11:40:44 +05:00
Abdullah Atta
6abb6207c5 core: always keep remote attachment if it is newer 2023-09-06 11:16:53 +05:00
Abdullah Atta
89189d52ae web: add log on when sync is ignored 2023-09-06 10:28:31 +05:00
Abdullah Atta
e653ce69f8 core: push items serially tcp style 2023-09-06 10:22:53 +05:00
Abdullah Atta
9b89b328f6 core: send sync progress event after merge 2023-09-06 09:58:07 +05:00
Abdullah Atta
77ae71fab1 web: fix sync status progress 2023-09-06 09:40:24 +05:00
Abdullah Atta
7f7c1e6b93 core: use linkedom and node-fetch for tests 2023-09-06 09:40:24 +05:00
ammarahm-ed
30341bea1c mobile: run sync based on lastSyncTime 2023-09-06 09:27:02 +05:00
Abdullah Atta
82d44ea890 web: show sync status in place of placeholder 2023-09-05 20:15:34 +05:00
Abdullah Atta
5f0907168f core: always send sync request to client 2023-09-05 18:01:44 +05:00
Abdullah Atta
48061962b1 web: fix backup/export tests 2023-09-05 17:47:28 +05:00
Abdullah Atta
24141b66cf core: add log to debug relations removal issue 2023-09-05 17:47:11 +05:00
Abdullah Atta
41beee45ba core: migrate in bulk for more performance 2023-09-05 16:08:10 +05:00
Abdullah Atta
cb7c70b0d6 web: fix navigation menu ui 2023-09-05 15:47:39 +05:00
ammarahm-ed
2aa5a57557 mobile: use accentForeground on accent background 2023-09-05 15:40:25 +05:00
Abdullah Atta
17582bcefb web: fix navigation menu not taking up full space 2023-09-05 15:40:25 +05:00
Abdullah Atta
1f5a5afb10 theme: do not throw error if deprecated color is found 2023-09-05 15:40:25 +05:00
Abdullah Atta
d1c724563f web: fix themes selection not showing themes 2023-09-05 15:40:25 +05:00
Abdullah Atta
72aa5eccb7 server: fix themes pagination 2023-09-05 15:40:25 +05:00
Abdullah Atta
95e0c4b0d6 editor: reduce task list header padding 2023-09-05 15:40:25 +05:00
Abdullah Atta
9ec6ca0ded web: fix various colors 2023-09-05 15:40:25 +05:00
Abdullah Atta
85b7611214 theme: increase opacity of shade color 2023-09-05 15:40:25 +05:00
Abdullah Atta
d256d435e4 theme: mark shade and textSelection colors as deprecated 2023-09-05 15:40:25 +05:00
Abdullah Atta
577a976e01 theme: derive shade color from accent color 2023-09-05 15:40:25 +05:00
Abdullah Atta
07453834b0 docs: update list of colors in theme-engine docs 2023-09-05 15:40:25 +05:00
Abdullah Atta
59f6b5e411 theme: get rid of shade & textSelection colors 2023-09-05 15:40:25 +05:00
Abdullah Atta
ac9be8360a web: list item title should use heading color 2023-09-05 15:40:25 +05:00
Abdullah Atta
32d0b07f09 web: use accentForeground color instead of white 2023-09-05 15:40:25 +05:00
Abdullah Atta
7b57639076 theme: add new accentForeground color 2023-09-05 15:40:25 +05:00
Abdullah Atta
1fa174bab7 theme: fix input placeholder color 2023-09-05 15:40:25 +05:00
Abdullah Atta
6c52b5a77d editor: editor toolbar separators should use separator color 2023-09-05 15:40:25 +05:00
Abdullah Atta
d4a6157ed3 web: navigation menu separators should use separator color 2023-09-05 15:40:25 +05:00
Abdullah Atta
a86358bbcd web: borders between panes should use scoped border color 2023-09-05 15:40:25 +05:00
Abdullah Atta
20d0e6d047 web: fix menu borders should use border color 2023-09-05 15:40:25 +05:00
Muhammad Ali
51fc4bf3e4 core: add support for aligning images in PDF/HTML exports (#3197)
* web: added function for aligning images

* web: removed regex and added replaceAll in loop

* Update apps/web/src/common/export.ts

Signed-off-by: Abdullah Atta <thecodrr@protonmail.com>

* core: add support for image alignment in html/pdf export

---------

Signed-off-by: Abdullah Atta <thecodrr@protonmail.com>
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-09-05 15:39:59 +05:00
Abdullah Atta
61d0dafd21 desktop: update app-builder-lib patch 2023-09-04 16:01:04 +05:00
Abdullah Atta
89398cb5e5 misc: remove all mention of crypto-worker 2023-09-04 15:58:38 +05:00
Abdullah Atta
72ec4063de global: update lockfiles 2023-09-04 15:58:23 +05:00
Abdullah Atta
f8423eeea8 editor: update test snapshots 2023-09-04 15:51:47 +05:00
Abdullah Atta
d91203990e editor: respect text direction when exiting node using arrow keys 2023-09-04 15:51:47 +05:00
Abdullah Atta
fc84c1af51 editor: add keyboard specific android editor tests 2023-09-04 15:51:47 +05:00
Abdullah Atta
58de07073d editor: improve escaping from & deleting of nodes 2023-09-04 15:51:47 +05:00
Abdullah Atta
cafa5ff821 editor: fix blockquote padding & margin on mobile 2023-09-04 15:51:47 +05:00
Abdullah Atta
1859799ca3 editor: fix crash on adding a task list 2023-09-04 15:51:47 +05:00
Abdullah Atta
271aa11f74 editor: use list-keymap extension instead of own workarounds 2023-09-04 15:51:47 +05:00
Abdullah Atta
e42f1a65f5 editor: update tiptap packages to v2.1.7 2023-09-04 15:51:47 +05:00
Abdullah Atta
73f3a31614 editor: fix sub outline lists not getting outdented 2023-09-04 15:51:47 +05:00
Abdullah Atta
4d7792d06a editor: fix alignment of outline list indicator 2023-09-04 15:51:47 +05:00
ammarahm-ed
1a0f17c059 mobile: update relations store on open notification 2023-09-04 15:46:37 +05:00
ammarahm-ed
89d941401a mobile: fix beta tags ui 2023-09-04 15:46:23 +05:00
ammarahm-ed
a076ee640d mobile: save report issue information if app gets
restarted or accidentally closed
2023-09-04 15:45:30 +05:00
Abdullah Atta
8c1629f7dd web: ask for password when doing sensitive actions 2023-09-04 15:10:18 +05:00
ammarahm-ed
9a31c07ac5 mobile: add verification prompts 2023-09-04 15:10:18 +05:00
ammarahm-ed
11f39316b5 mobile: fix color scheme 2023-09-04 15:09:03 +05:00
ammarahm-ed
f157229e00 mobile: fix theme gets reset on opening share extension 2023-09-04 15:09:03 +05:00
ammarahm-ed
a0f25c4e6f mobile: fix list not updating on change date sort 2023-09-04 15:07:33 +05:00
Ammar Ahmed
003b3d2a84 Remove hover effect on mobile in editor (#3163)
* editor: remove background on hover on mobile

* editor: fix task item alignment and size on mobile
2023-09-04 15:06:41 +05:00
ammarahm-ed
1775e0bda1 mobile: fix flash on launch on ios 2023-09-04 14:37:24 +05:00
Ammar Ahmed
d5038ac631 mobile: fix quick notes from notifications (#3165)
- Add note to default notebook
- Respect paragraph spacing

Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com>
2023-09-04 14:36:55 +05:00
ammarahm-ed
7eab77ba01 mobile: fix share sheet sorting 2023-09-04 14:34:53 +05:00
ammarahm-ed
89413c56e2 mobile: auto update pinned note in notif 2023-09-04 14:33:39 +05:00
Muhammad Ali
4d89643203 web: fix multi-select context menu for list items (#3159) 2023-09-04 14:31:00 +05:00
ammarahm-ed
e119590249 mobile: prevent login/signup request when loading 2023-09-04 14:27:35 +05:00
ammarahm-ed
ace2dfac30 core: increase server timeout 2023-09-04 14:27:35 +05:00
Abdullah Atta
5843df0ce8 web: allow encrypted backups for basic users 2023-09-04 14:24:46 +05:00
Abdullah Atta
403ed8adb6 web: do not clear attachment upload status on complete 2023-09-04 14:24:24 +05:00
Abdullah Atta
1eb5c8bc46 core: do not trigger auto sync on settings merge 2023-09-04 14:24:24 +05:00
Abdullah Atta
46f7ec5e00 core: do not trigger autosync on attachment upload 2023-09-04 14:24:24 +05:00
Abdullah Atta
52adece147 web: upload arraybuffer on desktop builds for attachments 2023-09-04 14:24:24 +05:00
Abdullah Atta
de50be9d1b desktop: use net.fetch instead when handling protocol 2023-09-04 14:24:24 +05:00
Abdullah Atta
0f9e32b49f desktop: update electron to 26.1.0 2023-09-04 14:24:24 +05:00
Muhammad Ali
b4c15adf5d editor: fix formatting issues when pasting from ChatGPT (#3217)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-09-04 14:22:45 +05:00
Abdullah Atta
a3d3886c51 editor: refactor clipboard extension 2023-09-04 14:22:45 +05:00
Abdullah Atta
0cfa7ce774 editor: paste single line of code as inline code 2023-09-04 14:22:45 +05:00
Abdullah Atta
8299ea909e editor: improve code block detection when pasting from vscode 2023-09-04 14:22:45 +05:00
Abdullah Atta
8b056fe610 editor: preserve formatting when pasting text 2023-09-04 14:22:45 +05:00
Abdullah Atta
511c40db5c editor: do not replace newlines with br when pasting 2023-09-04 14:22:45 +05:00
Muhammad Ali
42d0d42188 web: scroll to top when navigating within settings (#3223) 2023-09-04 13:43:07 +05:00
Abdullah Atta
c80a998444 editor: fix image shuffling on real-time editor sync 2023-09-04 13:41:32 +05:00
ammarahm-ed
0a10df75d1 mobile: add encryptMulti 2023-09-04 13:16:22 +05:00
Abdullah Atta
40d755d191 core: fix all tests 2023-09-04 13:16:22 +05:00
Abdullah Atta
0409a610ab core: improve sync status updates 2023-09-04 13:16:22 +05:00
Abdullah Atta
aa9cd23cf3 core: add fix for localOnly items getting deleted on sync 2023-09-04 13:16:22 +05:00
Abdullah Atta
12d89114a4 core: fix tags & colors not resolving on sync 2023-09-04 13:16:22 +05:00
Abdullah Atta
d5b679187a core: send sync completed event udp style 2023-09-04 13:16:22 +05:00
ammarahm-ed
463ba3754a mobile: add encryptMulti function 2023-09-04 13:16:22 +05:00
Abdullah Atta
2fa8fd14e7 core: migrate to sync v2 for data uploads 2023-09-04 13:16:22 +05:00
Abdullah Atta
fac788d2a9 crypto: remove crypto-worker & simplify crypto interface 2023-09-04 13:16:22 +05:00
ammarahm-ed
6554f900d7 mobile: do not start sync if sync is running 2023-09-04 13:16:22 +05:00
Abdullah Atta
81d3ec83d9 core: fix realtime sync 2023-09-04 13:16:22 +05:00
Abdullah Atta
339c5a357b core: update note-storage mock for tests 2023-09-04 13:16:22 +05:00
ammarahm-ed
b484992037 core: remove console.log 2023-09-04 13:16:22 +05:00
ammarahm-ed
87e42e98c6 mobile: fix logout page ui 2023-09-04 13:16:22 +05:00
ammarahm-ed
51bef01609 mobile: fix logout loading ui 2023-09-04 13:16:22 +05:00
ammarahm-ed
6a49244614 core: fix item not loaded on sync 2023-09-04 13:16:22 +05:00
ammarahm-ed
dad2b61a74 mobile: fix crash when logging out user 2023-09-04 13:16:22 +05:00
ammarahm-ed
fabc595f3d mobile: fix storage 2023-09-04 13:16:22 +05:00
Abdullah Atta
a700787cf3 core: make sure all tests are passing 2023-09-04 13:16:22 +05:00
ammarahm-ed
fb26229715 mobile: update libraries 2023-09-04 13:16:22 +05:00
ammarahm-ed
c4f894f8d0 mobile: add async storage & encryption 2023-09-04 13:16:22 +05:00
Abdullah Atta
ddd1c19c64 core: improve merging performance 2023-09-04 13:16:22 +05:00
Abdullah Atta
79cb3bdba4 core: merge vault key on sync 2023-09-04 13:16:22 +05:00
Abdullah Atta
8447c2150b core: improve sync fetch performance 2023-09-04 13:16:22 +05:00
Abdullah Atta
bc465971be web: add support for bulk writes 2023-09-04 13:16:22 +05:00
Abdullah Atta
f8ce23aa11 crypto: add support for bulk decryption 2023-09-04 13:16:22 +05:00
Abdullah Atta
84004c4d73 global: update lockfiles 2023-08-25 14:30:41 +05:00
Muhammad Ali
2b6aa9b89b ui: allow changing menu button icon color (#3170) 2023-08-21 16:38:21 +05:00
ammarahm-ed
54b8a3e789 mobile: refactor to typescript 2023-08-16 10:14:39 +05:00
Abdullah Atta
7ff5f0001c core: tagging an empty note should not create a content item 2023-08-14 13:41:19 +05:00
Abdullah Atta
d384aa9dcf core: use isolated storage for each test for more reliability 2023-08-14 09:54:57 +05:00
Abdullah Atta
1190da7c91 crypto: use buffer from node:buffer 2023-08-14 09:54:57 +05:00
Abdullah Atta
6561791530 setup: remove dist, build & out dirs during cleanup 2023-08-14 09:54:57 +05:00
Abdullah Atta
26e233d3eb global: update lockfiles 2023-08-14 09:54:57 +05:00
Abdullah Atta
0417981538 global: remove maxNodeModuleJsDepth from tsconfig 2023-08-14 09:54:57 +05:00
Abdullah Atta
81fc56937e web: fix syntax errors 2023-08-14 09:54:57 +05:00
Abdullah Atta
cb778d7e35 core: make dateFormat optional 2023-08-14 09:54:57 +05:00
Abdullah Atta
8442b43715 core: don't include tests & unnecessary files during build 2023-08-14 09:54:57 +05:00
Abdullah Atta
28b3306506 core: import isomorphic-fetch 2023-08-14 09:54:57 +05:00
Abdullah Atta
f51f45aeb2 editor: move isomorphic-fetch import 2023-08-14 09:54:57 +05:00
Abdullah Atta
7f1184736c core: use isomorphic-fetch 2023-08-14 09:54:57 +05:00
Abdullah Atta
e4c8e7a0c5 core: download prismjs languages before tests 2023-08-14 09:54:57 +05:00
Abdullah Atta
44e4722de2 global: fix @notesnook/core direct paths 2023-08-14 09:54:57 +05:00
Abdullah Atta
7c2b0c5947 core: start migrating core to typescript & vitest 2023-08-14 09:54:57 +05:00
Abdullah Atta
6ea912ad0e themebuilder: bump version to 1.1.1 2023-08-11 09:54:09 +05:00
Abdullah Atta
124bbb6ac1 web: do not show website link if there's no homepage 2023-08-11 09:53:01 +05:00
Abdullah Atta
30d6345152 theme: make homepage property in themes optional 2023-08-11 09:53:01 +05:00
Abdullah Atta
60ff7b2f97 themebuilder: update themes manually in themebuilder 2023-08-11 09:51:43 +05:00
Abdullah Atta
c6e90142bb themebuilder: bump version to 1.1.0 2023-08-10 07:20:07 +05:00
Abdullah Atta
1289a025a5 web: skip initiation for theme builder 2023-08-10 07:18:49 +05:00
Abdullah Atta
18d0b72785 themebuilder: fix various bugs 2023-08-10 07:18:18 +05:00
Abdullah Atta
0157cf496f themebuilder: add support for loading from pr, url & base64 2023-08-10 07:17:37 +05:00
Abdullah Atta
3450f2d19d setup: support generating flatpak sources from windows 2023-08-09 16:56:29 +05:00
Abdullah Atta
e509c82807 web: bump version to 2.6.1 2023-08-09 16:31:52 +05:00
Abdullah Atta
d5afd6f32e editor: fix recursive loop on loading a code lang that never registered 2023-08-09 16:26:31 +05:00
Abdullah Atta
fb34dd2864 core: do not throw if language grammar is not found on export 2023-08-09 16:26:31 +05:00
Abdullah Atta
0cd1ce3431 core: don't use require in desktop app 2023-08-09 16:26:31 +05:00
Abdullah Atta
a24447d569 web: fix unstyled "0" in theme details dialog 2023-08-09 16:25:43 +05:00
Abdullah Atta
0bf26afa33 web: fix error on installing theme from file 2023-08-09 16:25:43 +05:00
Abdullah Atta
49455e8054 docs: add documentation for custom themes (#3118)
* themebuilder: add docs

* themebuilder: update theme docs

* docs: finalize docs for custom themes

---------

Co-authored-by: ammarahm-ed <ammarahmed6506@gmail.com>
2023-08-09 15:49:33 +05:00
Abdullah Atta
1136e43115 themebuilder: fix layout 2023-08-08 13:54:56 +05:00
Abdullah Atta
4b74cba4e4 themebuilder: fix builder layout with app on the side 2023-08-08 13:42:28 +05:00
Abdullah Atta
c8a77934f2 ci: use themebuilder scope during bootstrap 2023-08-08 13:26:34 +05:00
Abdullah Atta
e1739e04d1 themebuilder: adjust app branding 2023-08-08 13:19:29 +05:00
Abdullah Atta
a5d39a18a7 web: allow custom app title 2023-08-08 13:19:29 +05:00
Abdullah Atta
77eb661b0e themebuilder: update theme builder on theme switch 2023-08-08 13:19:29 +05:00
Abdullah Atta
667d0d16ea themebuilder: finalize 2023-08-08 13:19:29 +05:00
Abdullah Atta
445ea660c3 web: make web app embeddable 2023-08-08 13:19:29 +05:00
ammarahm-ed
7a35640739 themebuilder: add basic search/replace 2023-08-08 13:19:29 +05:00
ammarahm-ed
f1650fd383 themebuilder: fix accordion 2023-08-08 13:19:29 +05:00
ammarahm-ed
5d67a554d6 themebuilder: fix screenshot 2023-08-08 13:19:29 +05:00
ammarahm-ed
380bfba776 theme: add theme builder app 2023-08-08 13:19:29 +05:00
Abdullah Atta
ed6d125391 clipper: publish v0.3.0 2023-08-08 11:07:22 +05:00
Abdullah Atta
adaa5fd56d clipper: bump version to 0.3.0 2023-08-08 10:29:13 +05:00
Abdullah Atta
0a8db237eb clipper: finalize integration with new theming system 2023-08-08 10:29:13 +05:00
ammarahm-ed
6d723e022b mobile: release v2.6.1 2023-08-08 00:49:29 +05:00
ammarahm-ed
dc3b739719 mobile: fix theme reset on app restart 2023-08-08 00:48:28 +05:00
Abdullah Atta
8d67599278 ci: deploy directly using wrangler 2023-08-07 20:11:11 +05:00
Abdullah Atta
c8da5770c8 web: add list of new features 2023-08-07 14:55:00 +05:00
ammarahm-ed
51c11d9d1a mobile: update release notes 2023-08-07 14:52:28 +05:00
ammarahm-ed
414c164100 mobile: enable remove console.log in release 2023-08-07 14:45:10 +05:00
ammarahm-ed
aa5fd6d946 mobile: release v2.6.0 2023-08-07 14:42:12 +05:00
ammarahm-ed
c89f74d35b mobile: fix ui and cleanup 2023-08-07 14:42:12 +05:00
ammarahm-ed
8c2fdf8554 mobile: fix share extension on ios 2023-08-07 14:42:12 +05:00
ammarahm-ed
f2438d9524 mobile: fix loading local theme 2023-08-07 14:42:12 +05:00
ammarahm-ed
54e7b29716 mobile: update fonts 2023-08-07 14:42:12 +05:00
Abdullah Atta
1d7f4036ec theme: do not send scopes when getting all themes 2023-08-07 12:39:36 +05:00
Abdullah Atta
a2d5eda538 web: fix applied theme status not showing on themes 2023-08-07 12:32:52 +05:00
Abdullah Atta
1b6a27376c web: fix editor & toolbar alignment 2023-08-07 12:00:15 +05:00
Abdullah Atta
8431150f0a web: always show currently applied themes in list 2023-08-07 12:00:02 +05:00
ammarahm-ed
ed5107afaa misc: remove notesnook-themes pulled repo 2023-08-07 09:51:10 +05:00
Abdullah Atta
e52bdd7ca5 web: disable sourcemaps even in testing 2023-08-07 09:18:13 +05:00
Abdullah Atta
26e50848da web: set root to src in vitejs for more focused builds 2023-08-07 09:17:04 +05:00
Abdullah Atta
41fa52c9d5 web: adapt dialog announcements to the new theme 2023-08-07 09:02:26 +05:00
Abdullah Atta
885aa3035e editor: show keyboard shortcuts for tools where possible 2023-08-07 08:47:11 +05:00
Abdullah Atta
b20c20983a ui: improve ui for modifiers in menu items 2023-08-07 08:46:45 +05:00
Abdullah Atta
42994847e9 editor: counter in toolbar should have 100% height 2023-08-07 08:46:13 +05:00
Abdullah Atta
b59a12e743 ui: simplify sub-menus markup 2023-08-07 08:45:18 +05:00
Abdullah Atta
f67792cd30 editor: use error color for errors in math blocks 2023-08-07 08:44:45 +05:00
Abdullah Atta
60ba345e6c editor: add font-display: swap to hack fontface 2023-08-07 08:44:27 +05:00
Abdullah Atta
0074548b84 web: fix broken colors in some places 2023-08-07 06:54:33 +05:00
Abdullah Atta
5af5549173 web: introduce "dangerous" variant for menu items 2023-08-07 06:54:11 +05:00
Abdullah Atta
f9f0235d7b editor: replace all old css colors with new ones 2023-08-07 06:03:25 +05:00
Abdullah Atta
cd51420931 web: replace all old css colors with new ones 2023-08-07 06:03:11 +05:00
Abdullah Atta
000d11976b web: update playwright to 1.36.2 2023-08-07 05:49:02 +05:00
Abdullah Atta
392261c208 web: add helper to imperitively match a media query 2023-08-07 05:49:02 +05:00
Abdullah Atta
71aee40f8d web: improve backups test reliability 2023-08-07 05:49:02 +05:00
Abdullah Atta
565ef2c321 web: don't check for notification permission in tests 2023-08-07 05:49:02 +05:00
Abdullah Atta
2d5c8c9e6d web: only allow changing title via event 2023-08-07 05:49:02 +05:00
Abdullah Atta
800f983688 web: show progress when restoring encrypted backups 2023-08-07 05:49:02 +05:00
ammarahm-ed
7291e54db7 mobile: update detox to latest 2023-08-05 16:46:26 +05:00
ammarahm-ed
794b1c70eb mobile: fix editor stuck in loading state 2023-08-05 16:46:26 +05:00
Abdullah Atta
330b227027 web: improve real time sync test reliability 2023-08-05 16:27:42 +05:00
Abdullah Atta
59a66a63c5 web: update all checkout snapshots 2023-08-05 13:52:19 +05:00
Abdullah Atta
ceb28f08c5 web: load paddle checkout in test mode during testing 2023-08-05 12:27:10 +05:00
Abdullah Atta
7287754218 web: bump version to 2.6.0 2023-08-05 12:19:43 +05:00
Abdullah Atta
80d2f64f10 desktop: bring app to front on start of 2nd instance 2023-08-05 12:10:47 +05:00
Abdullah Atta
9951b83539 web: fix navigation menu resizing on tablet mode 2023-08-05 12:01:06 +05:00
Abdullah Atta
66d50be35a theme: improve check for inheriting emotion theme 2023-08-05 11:27:56 +05:00
Abdullah Atta
9eb5a4cee4 web: update all test screenshot snapshots for linux 2023-08-05 11:20:08 +05:00
Abdullah Atta
3c575c01ad web: fix storage for Firefox & Tor private mode 2023-08-05 11:16:18 +05:00
ammarahm-ed
643028f5d8 mobile: update deps 2023-08-05 11:15:06 +05:00
ammarahm-ed
3831b9409e editor: load theme from local storage on init 2023-08-05 11:15:06 +05:00
ammarahm-ed
985ae848d3 mobile: fix tags wrapping in share extension 2023-08-05 11:15:06 +05:00
Abdullah Atta
0c8c8b6040 editor: fix sub toolbar not getting aligned correctly 2023-08-05 11:15:06 +05:00
ammarahm-ed
a01c084045 mobile: fix react-native-html-to-pdf-lite 2023-08-05 11:15:06 +05:00
ammarahm-ed
7577adf09d mobile: ensure that font size is always number 2023-08-05 11:15:06 +05:00
Abdullah Atta
394002eb4c editor(mobile): add theme to global styles 2023-08-05 11:15:06 +05:00
Abdullah Atta
5c386148a4 editor: fix action sheets not opening 2023-08-05 11:15:06 +05:00
Abdullah Atta
3558d3db93 editor: do not try to download image if src is invalid 2023-08-05 11:15:06 +05:00
ammarahm-ed
2bed812df1 mobile: fix editor 2023-08-05 11:15:06 +05:00
ammarahm-ed
c5db2e0ea9 mobile: fix content in share ext editor takes too long to load 2023-08-05 11:15:06 +05:00
ammarahm-ed
6cd1d7c41b mobile: fix webpack build 2023-08-05 11:15:06 +05:00
ammarahm-ed
36662d58da mobile: fix editor when app enter foreground from share ext 2023-08-05 11:15:06 +05:00
ammarahm-ed
e85cc6ac56 mobile: fix ext height behind keyboard on mobile 2023-08-05 11:15:06 +05:00
ammarahm-ed
a17d2d69ef mobile: fix opening search causes crash in share ext 2023-08-05 11:15:06 +05:00
Abdullah Atta
3ec615a6ec web: update export html snapshot for linux 2023-08-05 10:19:48 +05:00
Abdullah Atta
8eadc6aea1 web: do not redirect automatically on login session expire 2023-08-05 09:50:47 +05:00
Abdullah Atta
506678e72c web: format reminder time correctly (fixes #3085) 2023-08-04 20:05:53 +05:00
Abdullah Atta
aa3561555e desktop: fix desktop toggle settings 2023-08-04 19:34:46 +05:00
Abdullah Atta
405a8aaad0 editor: fix embeds in readonly mode are not visible 2023-08-04 19:33:57 +05:00
Abdullah Atta
7edd45419e editor: align outline bullet in the center of item 2023-08-04 19:00:54 +05:00
Abdullah Atta
5af028698c editor: only put bullet before 1st p tag in outline list 2023-08-04 18:27:04 +05:00
Abdullah Atta
ce822e7538 web: fix toggle colors 2023-08-04 16:09:29 +05:00
Abdullah Atta
9936bee8e0 editor: copying 1 nested list item shouldn't copy list meta 2023-08-04 16:07:31 +05:00
Abdullah Atta
b903e8461d web: make monograph password field hidden 2023-08-04 12:58:05 +05:00
ammarahm-ed
4d2c42330e mobile: fix crash on opening sheet with icon 2023-08-04 12:10:58 +05:00
Abdullah Atta
0ea37fdb31 web: improve checkout responsiveness 2023-08-04 10:23:36 +05:00
Abdullah Atta
22bf738d21 web: make sure all tests are passing 2023-08-03 18:48:51 +05:00
Abdullah Atta
922ba7d192 web: fix errored attachment icon color 2023-08-03 15:55:54 +05:00
Abdullah Atta
c38a98c239 web: upload files < 25mb in a single request 2023-08-03 15:55:54 +05:00
Abdullah Atta
0f9452f6ca web: improve handling of errors during upload 2023-08-03 15:55:54 +05:00
Abdullah Atta
5cc9c6e3e4 web: change themes api url to themes-api.notesnook.com 2023-08-03 15:48:42 +05:00
Abdullah Atta
5da30faf71 web: use settings scroller for themes 2023-08-03 15:46:15 +05:00
ammarahm-ed
99d984f516 core: flush once every 10 sec 2023-08-03 15:02:37 +05:00
ammarahm-ed
20f0760f13 core: fix logger performance 2023-08-03 15:02:37 +05:00
ammarahm-ed
20ffa9bee5 mobile: use themes-api server 2023-08-03 13:58:40 +05:00
Abdullah Atta
bdd003f177 web: fix colors in various places 2023-08-03 13:21:59 +05:00
Abdullah Atta
a45a960bfd editor(mobile): do not override background color 2023-08-03 13:21:59 +05:00
ammarahm-ed
fbf56f2663 mobile: fix incorrect colors uage 2023-08-03 12:01:11 +05:00
ammarahm-ed
0e7ac37b9d mobile: remove prism.css 2023-08-03 11:18:22 +05:00
Abdullah Atta
bcf0d86605 web: use new error icon color 2023-08-03 04:12:08 +05:00
Abdullah Atta
954f894738 web: fix crash when opening attachment menu 2023-08-03 01:44:21 +05:00
Abdullah Atta
908def1b69 editor: update lockfile 2023-08-02 19:50:41 +05:00
Abdullah Atta
f26f638ad4 editor: fix action sheet not closing via drag 2023-08-02 19:50:41 +05:00
Abdullah Atta
700f47fd49 web: disable overscroll behavior 2023-08-02 19:50:41 +05:00
Abdullah Atta
3d0eaacaac theme: allow passing ref to emotion theme provider 2023-08-02 19:50:40 +05:00
Abdullah Atta
c76118d9d6 web: load full framer-motion 2023-08-02 19:50:40 +05:00
Abdullah Atta
148c39158b editor: fix crash on action sheet opening 2023-08-02 19:50:40 +05:00
Ammar Ahmed
89c2d45a4b mobile: reduce app size (#3068)
* mobile: reduce app size

* editor: substitute all @mdi/js icons at build time

* mobile: add script to tree shake icon font file

* mobile: fix icon loading

* mobile: remove html-entities dep

* mobile: add missing icon fonts

* mobile: include plain editor

* mobile: add missing fonts

* mobile: use webpack-bundle

* mobile: keep generated fonts in repo

* mobile: update fonts

* mobile: fix duplicate key warning

* mobile: update fonts

* mobile: disable gesure on reminder sheet

* mobile: update fonts

* mobile: reset session correctly on logout

* mobile: update icon fonts

* mobile: set button action on reminder sheet

* mobile: add missing icons

* mobile: fix crash

* mobile: fix right menus

* mobile: remove console.log

* mobile: disable bounce effect

* mobile: update deps

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-08-02 15:35:15 +05:00
Muhammad Ali
c30c54ab97 web: fix cursor jumps on edit in sticky title (#3028)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-08-02 15:18:52 +05:00
Abdullah Atta
734cfba45d ci: publish preview on PR open 2023-08-02 15:04:27 +05:00
Abdullah Atta
3b363a1b20 web: prevent scroll jump when toggling focus mode 2023-08-02 15:04:27 +05:00
Abdullah Atta
a747bafa69 web: use new editorSidebar 2023-08-02 13:10:23 +05:00
Abdullah Atta
9d0c11b051 web: unlock view should use base theme scope 2023-08-02 13:09:56 +05:00
Abdullah Atta
bd9e997ef1 theme: add new editorSidebar scope 2023-08-02 13:09:30 +05:00
Abdullah Atta
f222327a89 theme: fix menu buttons have no hover 2023-08-02 13:09:09 +05:00
Abdullah Atta
4e5351134f global: update lockfiles 2023-08-02 12:26:35 +05:00
Abdullah Atta
ec1d5cc211 setup: only grab local deps during bootstrap 2023-08-02 12:26:22 +05:00
Abdullah Atta
8f41e25ac1 ci: ignore paths unrelated to web app 2023-08-02 12:12:32 +05:00
Abdullah Atta
2d90caafc6 ci: use unlike-ltd/github-actions-cloudflare-pages for deployment 2023-08-02 12:12:32 +05:00
Abdullah Atta
a9f36076b3 ci: deploy master branch to cloudflare as beta 2023-08-02 11:38:35 +05:00
Abdullah Atta
8365e557d5 editor: do not copy prism-theme during build 2023-08-02 11:37:15 +05:00
Abdullah Atta
080160ca70 vericrypt: use old @notesnook/theme version 2023-08-02 11:28:54 +05:00
Abdullah Atta
e6164b0b3e setup: use 4 threads at the minimum when bootstrapping 2023-08-01 20:45:08 +05:00
Abdullah Atta
26d786a368 editor: fix codeblock tests 2023-08-01 20:45:08 +05:00
Abdullah Atta
c6172644f0 editor: DOMSerializer2 -> ClipboardDOMSerializer 2023-08-01 20:45:08 +05:00
Abdullah Atta
5810947a5d editor: improve copy pasting 2023-08-01 20:45:08 +05:00
Abdullah Atta
708c2d373d editor: remove unnecessary console.logs 2023-08-01 20:45:08 +05:00
Abdullah Atta
d11a9b2219 editor: fix tests 2023-08-01 20:39:16 +05:00
Abdullah Atta
32b8b008f2 web: make export tests pass 2023-08-01 20:39:16 +05:00
Abdullah Atta
e066d1ce8d global: update lockfiles 2023-08-01 20:39:16 +05:00
Abdullah Atta
4f3f19a785 web: extract editor styles into a fixed css file during build 2023-08-01 20:39:16 +05:00
Abdullah Atta
6c3ea4517d core: inline codeblock styles into html template 2023-08-01 20:39:16 +05:00
Abdullah Atta
1e7e3b8c42 core: use explicit import/require for dynamic imports 2023-08-01 20:39:16 +05:00
Abdullah Atta
a54c18e89b web: remove require transform plugin 2023-08-01 20:39:16 +05:00
Abdullah Atta
ed4d5efea6 editor: generate code languages index during build 2023-08-01 20:39:16 +05:00
Abdullah Atta
4bab279345 global: fix conflicting package versions across subprojects 2023-08-01 20:39:16 +05:00
ammarahm-ed
ec32eeba0b mobile: fix pdf exports with codeblock & katex 2023-08-01 20:39:16 +05:00
Abdullah Atta
2b74e2afb2 web: fix Dynamic module import is disabled error 2023-08-01 20:33:37 +05:00
Abdullah Atta
c4a9d244a9 editor: bump katex version to 0.16.4 2023-08-01 18:35:31 +05:00
Abdullah Atta
6643fb0d63 web: fix old usage of hooks/useTheme 2023-08-01 18:32:58 +05:00
Abdullah Atta
b2a3949ad0 web: auto detect text direction where possible 2023-08-01 15:48:52 +05:00
Abdullah Atta
93c1a44285 editor: infer text direction from parent before insertion 2023-08-01 15:48:52 +05:00
Abdullah Atta
62c4fb328c editor: use single input rule for heading 2023-08-01 15:48:52 +05:00
Muhammad Ali
578fb72ddc editor: infer dir from parent when adding heading 2023-08-01 15:48:52 +05:00
Abdullah Atta
19faaea10e editor: do not save note with codeblock on open 2023-08-01 12:36:41 +05:00
Muhammad Ali
9951aae398 web: use current color scheme in all fields (#3039)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-08-01 12:32:36 +05:00
Abdullah Atta
0963559a5f global: update lockfiles 2023-08-01 12:09:10 +05:00
Ammar Ahmed
622294b807 global: implement the new theme engine (#2196)
* mobile: theme

* theme: add theme engine

* mobile: migrate app colors to new theme engine

* mobile: fixed some colors

* mobile: fix colors

* mobile: store theme info in store

* theme: `ColorsType` -> `Variants`

* theme: use explicit return type for `useThemeColors`

* theme: add `backdrop` color

* mobile: `const colors` -> `const {colors}

* theme: add default pitch-black theme

* mobile: manage theme state via theme-engine

* mobile: add theme scopes

* mobile: commit

* mobile: fix button width on applock screen

* mobile: fix typings

* mobile: fix theme definition

* web: add partial support for custom themes

only context menus & popups are left.

* theme: add dialog & sheet scopes

* global: sync with master branch and make everything work again

* mobile: fix theme-engine usage in editor & app

* mobile: fix colors

* mobile: fix colors

* mobile: cleanup

* mobile: fix status bar color incorrect on entering foreground

* mobile: fix dark color scheme

* web: move emotion theme provider to @notesnook/theme

* editor: add support for theme enging

* web: adjust hover & focus colors on list item

* mobile: migrate share ext to theme engine

* mobile: fix editor theme provider

* clipper: add support for the new theme engine

* mobile: fix statusbar color on switch from bg

* misc: fix build

* mobile: fix build

* misc: fix colors

* mobile: fix theme colors

* mobile: fix bottom padding

* server: add theme server

* theme: add previewColors

* server: support themes query pagination

* mobile: add client from theme server

* server: reset cache on sync repo

* server: fix types

* server: show ip & port on start server

* server: theme updates

* web: finalize new theme engine on web

* editor: fix build

* global: fix @emotion/react version to 11.11.1

* editor: update katex patch

* web: fix imports

* global: fix @trpc/* versions

* global: a huge set of changes

1. get rid of ThemeVariant. All variants can now be accessed anywhere.
2. remove unnecessary button variants
3. make buttons more responsive
4. implement themes server

* web: add support for theme search and theme switching

* global: update lockfiles

* mobile: fix error

* theme: use vite-plugin-react to start theme server

* web: add support for auto updating themes

* mobile: update theme selector

* mobile: update theme if new verison available

* theme: add `isomorphic-fetch` package

* global: update lockfiles

* web: add theme details dialog

* setup: add scope for themes server in bootstrap script

* web: add production server url

* web: update lockfile

* web: update lockfile

* mobile: remove `react-native-blob-util`

* web: add support for endless scrolling in themes

* web: bring back dark/light mode option in settings

* web: fix colors in places

* theme: add selected variant

* global: use single typescript version across the projects

* web: fix sort & group options not having submenus

* web: apply selected variant where appropriate

* ui: use unique id for all menu items

* config: add ui scope for commits

* theme: export button variant creation fn

* web: fix only 1 theme showing in theme selector

* web: fix navigation item hover & other colors

* mobile: update theme

* editor: fix toolbar group alignments

* editor: set theme provider at app level

* theme: use scope name to get current scope

* mobile: fix color usage in message card

* theme: remove caching

* editor: bring back icons in table menus

* theme: use zustand to manage theme engine state

* web: fix login/signup theming

* mobile: fix webpack build

* misc: remove ThemeProvider usage

* editor: adjust theming and styling of editor toolbar

* mobile: refactor

* editor: fix toolbar group padding everywhere

* web: fix settings sidebar is not scrollable

* web: add loading indicator for themes loading

* mobile: fix warning

* mobile: fix ui issues

* web: fix Loader errors on build

* theme: add getPreviewColors & validateTheme

* theme: fix theme validation

* mobile: load theme from file

* mobile: fix share extension crash

* mobile: rename state

* theme: add sourceURL property

* theme: refactor theme-engine

* web: add support for loading theme from file

* web: improve button hover interaction

* mobile: fix floating button color

* mobile: update theme

* mobile: fix border radius of context menu

* mobile: set sheet overlay color to theme backdrop

* mobile: set sidemenu backdrop to theme backdrop

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-08-01 12:07:21 +05:00
Abdullah Atta
ba72a92a8a setup: switch to fdir from fast-glob 2023-08-01 10:42:21 +05:00
Abdullah Atta
5a5e072fb4 global: update all lockfiles 2023-08-01 10:42:07 +05:00
Abdullah Atta
91cb2935eb logger: publish to npm 2023-08-01 09:33:45 +05:00
Abdullah Atta
387aeab319 core: bump version to 7.4.1 2023-08-01 09:33:28 +05:00
Abdullah Atta
4db7b54a5f theme: bump version to 1.2.0 2023-08-01 09:32:23 +05:00
Abdullah Atta
ddfd7254f1 crypto: publish v1 of @notesnook/sodium 2023-08-01 09:32:09 +05:00
Abdullah Atta
2e410c521a crypto: bump version to 1.1.1 2023-08-01 09:31:45 +05:00
Abdullah Atta
5dd22e85fa editor: bump version to 1.6.1 2023-08-01 09:31:06 +05:00
Abdullah Atta
022dd78eda ci: add workflow for vericrypt publishing 2023-07-31 11:40:09 +05:00
Abdullah Atta
2b1812b5de vericrypt: initial commit 2023-07-31 11:40:09 +05:00
Abdullah Atta
3c9678c6d5 core: reduce sync logger verbosity 2023-07-27 17:12:58 +05:00
Abdullah Atta
4f1f9ecb6b docs: make first step clear as; go to importer.notesnook.com 2023-07-26 13:34:20 +05:00
Abdullah Atta
07fb572a67 core: fix html export empty p tag regex 2023-07-26 12:08:51 +05:00
Abdullah Atta
7d7f4acc8c clipper: remove unnecessary packages 2023-07-25 12:35:31 +05:00
Abdullah Atta
efba05291d global: update lockfiles 2023-07-25 12:31:41 +05:00
Abdullah Atta
8b0d7a5cdb web: include __tests__ directory in tsconfig 2023-07-25 12:28:54 +05:00
Abdullah Atta
162deccf04 web: remove unused renderMath function 2023-07-25 12:28:54 +05:00
alihamuh
083f14bf50 editor: use dom parser to convert br to p tags 2023-07-25 12:28:54 +05:00
Abdullah Atta
cae3f7354e web: convert require to await import 2023-07-25 08:09:27 +05:00
Muhammad Ali
75e62a3fac core: pre-render math & code blocks before HTML export 2023-07-25 08:09:27 +05:00
Abdullah Atta
69dee3be78 web: get rid of print-js lib for printing 2023-07-24 15:50:36 +05:00
Abdullah Atta
36bf7c5cc6 web: don't show "Failed to unlock vault" error when exporting 1 note 2023-07-24 15:50:36 +05:00
Muhammad Ali
c041819930 web: add &nbsp; in empty p tags for printing 2023-07-24 15:50:36 +05:00
Muhammad Ali
dd4d00eae6 web: move focus to editor on Tab press in note title (#2983)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-07-24 14:33:00 +05:00
Abdullah Atta
d12e14ab34 ci: add workflow for publishing help 2023-07-22 06:05:17 +05:00
ammarahm-ed
c0a444d0c6 editor: use contentCopy icon for copy tool 2023-07-21 17:00:12 +05:00
ammarahm-ed
e16a5524b8 editor: use accent color for link 2023-07-21 17:00:12 +05:00
ammarahm-ed
c386e92831 desktop: add buttons in context menu for copy link
& copy link text
2023-07-21 17:00:12 +05:00
ammarahm-ed
ed277a95fb editor: add copy link tool 2023-07-21 17:00:12 +05:00
Abdullah Atta
c14b09ee1d docs: improve importing documentation 2023-07-21 15:58:19 +05:00
Ammar Ahmed
52fecc27ce editor: fix color picker height with bottom toolbar on desktop (#2976) 2023-07-19 13:10:20 +05:00
ammarahm-ed
056b24e936 mobile: fix landscape tablet mode 2023-07-19 07:45:02 +05:00
ammarahm-ed
e34607f244 mobile: fix sorting favorites 2023-07-19 07:37:26 +05:00
ammarahm-ed
7ba7bf64f0 editor: fix copy button is disabled in readonly mode 2023-07-19 06:12:31 +05:00
ammarahm-ed
6f51a98477 web: fix entering password closes publish dialog 2023-07-19 06:12:11 +05:00
Abdullah Atta
cd7e0f5380 setup: parallelize bootstrap depending on device cpu cores 2023-07-18 15:14:40 +05:00
Abdullah Atta
d95aba8cdd setup: add support for offline bootstrapping 2023-07-18 00:09:28 +05:00
Abdullah Atta
922fce7bcc ci: download build to apps/web 2023-07-17 23:34:07 +05:00
Abdullah Atta
9e3646ebc5 web: bump version to 2.5.8 2023-07-17 23:18:37 +05:00
Abdullah Atta
cdf3ea9dab web: disable native crypto due to stream encryption issues 2023-07-17 23:17:19 +05:00
Abdullah Atta
e38ac19a58 setup: fix bootstrap script for non-existent packages 2023-07-17 09:40:47 +05:00
absolutez3
9d3f309fc3 web: fix mastodon link in Settings (#2943)
Fix desktop Mastodon link

Signed-off-by: absolutez3 <43919538+absolutez3@users.noreply.github.com>
2023-07-13 22:04:44 +05:00
ammarahm-ed
6b7eb9a1f2 mobile: release v2.5.6 2023-07-13 15:39:43 +05:00
ammarahm-ed
d2165c99f1 editor: fix cursor position on return 2023-07-13 13:35:45 +05:00
ammarahm-ed
8b538b833b mobile: fix trash cleanup interval text 2023-07-13 11:18:43 +05:00
ammarahm-ed
2977fb39e4 mobile: prevent action if already processing 2023-07-13 10:38:36 +05:00
ammarahm-ed
01cb43ba2e core: do not download media for text exports 2023-07-13 10:38:36 +05:00
ammarahm-ed
4b68a083c5 mobile: fix file and image upload 2023-07-13 09:57:58 +05:00
Abdullah Atta
5854a3eef5 web: fix service worker to allow Notesnook to behave as a PWA again (#2905)
* web: make service worker work again

* web: only enable sourcemap during dev
2023-07-12 06:51:14 +05:00
ammarahm-ed
df5cbacc8a mobile: search tags with db.lookup 2023-07-11 19:03:18 +05:00
Ammar Ahmed
05fa30a039 mobile: fix setting Monographs as default home causes crash (#2919)
* mobile: navigation params can be undefined

* mobile: fix setting Monographs as default home causes crash
2023-07-11 18:58:25 +05:00
Abdullah Atta
adabf488ee web: change output hash size to 12 chars 2023-07-08 11:13:48 +05:00
Abdullah Atta
e86b7c68e6 web: remove CSP 2023-07-06 15:35:53 +05:00
Abdullah Atta
c5b974e055 web: add worker-src to CSP 2023-07-06 15:18:04 +05:00
ammarahm-ed
b3695d4a93 misc: update lock files 2023-07-06 11:51:10 +05:00
ammarahm-ed
b5e5450452 mobile: bump version to v2.5.5 2023-07-06 11:30:20 +05:00
ammarahm-ed
d19cddccea editor: use 16px as default font size if font
value is string
2023-07-06 11:30:20 +05:00
ammarahm-ed
c61649f7fa editor: fix clipboard on mobile 2023-07-06 11:30:20 +05:00
Abdullah Atta
13b8580b2f desktop: add support for automatic updates 2023-07-06 11:15:44 +05:00
Abdullah Atta
aba2b0ea19 web: update last synced time on sync complete 2023-07-06 11:14:04 +05:00
Abdullah Atta
0894637b61 desktop: add @types/yargs 2023-07-06 11:14:04 +05:00
Abdullah Atta
5970aabb0d misc: remove mention of Lerna 2023-07-06 11:14:04 +05:00
Abdullah Atta
72a25dcf34 global: get rid of lerna 2023-07-06 11:14:04 +05:00
Ammar Ahmed
6fff30bd89 mobile: hide new update sheet (#2893) 2023-07-06 09:29:35 +05:00
Abdullah Atta
a9a71834b8 config: fix eslint on vscode 2023-07-06 08:34:07 +05:00
Abdullah Atta
8ec4865e23 desktop: fix tray icons not loading 2023-07-05 22:41:31 +05:00
Abdullah Atta
111c7ef954 core: fix Cannot read properties of undefined (reading 'length') error 2023-07-05 22:19:43 +05:00
Abdullah Atta
35a37458e4 web: make sure vault settings all have unique key 2023-07-05 22:03:33 +05:00
Abdullah Atta
92bafbafa7 web: bump version to 2.5.7 2023-07-05 17:22:43 +05:00
Abdullah Atta
2705caf6bd web: do not show update available dialog 2023-07-05 17:18:01 +05:00
Abdullah Atta
8380c7d994 web: rename reminder to notice for in-app notices 2023-07-05 17:00:23 +05:00
Ammar Ahmed
550c0f3854 mobile: fix topic sheet hidden on tablet (#2886) 2023-07-05 16:36:04 +05:00
Abdullah Atta
04cd135295 web: nav menu should be narrow on tablet 2023-07-05 15:46:47 +05:00
Abdullah Atta
e212a080c2 web: hide duplicate buttons on tablet 2023-07-05 15:46:30 +05:00
Abdullah Atta
533abb58db web: various fixes to settings 2023-07-05 15:46:10 +05:00
Abdullah Atta
941a542cc6 desktop: fix start command 2023-07-05 15:44:24 +05:00
ammarahm-ed
5bcda2cd3a editor: fix error Cannot find name 'Writeable' 2023-07-05 13:52:08 +05:00
Abdullah Atta
869d8ba8f9 config: set git.rebaseWhenSync to true 2023-07-05 13:41:06 +05:00
Abdullah Atta
984e8f8780 global: use node scripts directly everywhere 2023-07-05 13:40:09 +05:00
ammarahm-ed
750b61fb75 mobile: fix size scaling on tablets 2023-07-05 13:29:08 +05:00
Abdullah Atta
4a2defa300 web: allow changing primary 2fa method 2023-07-05 13:24:09 +05:00
Felipe Muñoz Mazur
5c9f7a8bcb editor: add clipboard button to the codeblock (#2710)
Signed-off-by: Felipe Muñoz Mazur <felipe.munoz.mazur@protonmail.com>
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-07-05 13:09:12 +05:00
Abdullah Atta
b66caa9848 web: fix sync test 2023-07-05 12:14:58 +05:00
Ammar Ahmed
81cac1e54f mobile: fix saving note from share extension (#2874) 2023-07-05 12:07:48 +05:00
Abdullah Atta
36a99cd64f web: add missing change password logic 2023-07-05 11:56:41 +05:00
Abdullah Atta
8c494642e4 editor: do not cache images without hash 2023-07-05 11:56:00 +05:00
Ammar Ahmed
7ab4088331 mobile: optimize screens for very small displays (#2885) 2023-07-05 11:52:13 +05:00
Abdullah Atta
580af33caf Merge branch 'master' of https://github.com/streetwriters/notesnook 2023-07-05 11:49:08 +05:00
Abdullah Atta
bbeeacc480 desktop: use node directly for dev server instead of turbowatch 2023-07-05 11:45:13 +05:00
Ammar Ahmed
51efef5005 mobile: fix tablet mode (#2884) 2023-07-05 09:51:32 +05:00
Abdullah Atta
ee030c8f61 web: fix @trpc/client version 2023-07-05 01:07:44 +05:00
Abdullah Atta
20835e1fb3 web: migrate views to typescript 2023-07-04 22:52:23 +05:00
Abdullah Atta
b542680e7a web: convert home view to typescript (rename to all-notes) 2023-07-04 22:48:14 +05:00
Abdullah Atta
fb32aedd69 web: convert more code to typescript 2023-07-04 22:44:55 +05:00
Abdullah Atta
56f6d34995 web: fix @trpc/{client,server} versions 2023-07-04 22:44:38 +05:00
Abdullah Atta
c68e380a0f web: remove unnecessary code 2023-07-04 22:05:15 +05:00
Abdullah Atta
fc5507bdd3 web: ignore Could not connect to the Sync server error 2023-07-04 18:06:17 +05:00
Abdullah Atta
3f0a656a36 web: force update token if email is already confirmed (#2879) 2023-07-04 16:50:52 +05:00
Abdullah Atta
60667149d4 web: check for internet reachability before sync 2023-07-04 16:43:40 +05:00
Abdullah Atta
cdb3ede207 config: update vscode settings 2023-07-04 16:33:52 +05:00
Abdullah Atta
445494ce95 web: set status as completed whenever sync completes 2023-07-04 16:33:31 +05:00
Abdullah Atta
972f52fd01 core: key should always be present in old attachment 2023-07-04 15:14:40 +05:00
ammarahm-ed
f5e86d668f mobile: set hosts before db setup 2023-07-04 12:19:18 +05:00
Abdullah Atta
0e817236a1 Merge branch 'master' of https://github.com/streetwriters/notesnook 2023-07-04 11:12:31 +05:00
Abdullah Atta
0ea3b3ac2a web: set hosts before database setup 2023-07-04 11:12:24 +05:00
Abdullah Atta
7bfaef82d8 web: debounce page visibility events 2023-07-04 11:11:55 +05:00
ammarahm-ed
f51220c9a8 mobile: remove db.notes.init 2023-07-04 11:02:19 +05:00
Abdullah Atta
88e9ca721a desktop: further improve window creation time 2023-07-04 09:43:17 +05:00
Abdullah Atta
c1ab444646 clipper: update lockfile 2023-07-04 09:43:17 +05:00
Abdullah Atta
b497b53ef2 desktop: fix run command on all platforms 2023-07-04 09:43:17 +05:00
Abdullah Atta
80decaae8a desktop: use app icon path from asset manager 2023-07-04 09:43:17 +05:00
Abdullah Atta
41197cb52c desktop: do not use asar for faster startup 2023-07-04 09:43:17 +05:00
Abdullah Atta
d14abcbba7 desktop: restructure window creation for faster loading 2023-07-04 09:43:17 +05:00
Abdullah Atta
cd36fc8d4a desktop: remove unneeded stat call when loading files 2023-07-04 09:43:17 +05:00
Abdullah Atta
e872487724 desktop: use vitejs for loading the correct bridge 2023-07-04 09:43:17 +05:00
Abdullah Atta
5e7e91caf0 desktop: stop unnecessary animations 2023-07-04 09:43:17 +05:00
Abdullah Atta
a971a29ff2 desktop: load db before app render 2023-07-04 09:43:17 +05:00
Abdullah Atta
a967482c4f core: init notes with database 2023-07-04 09:43:17 +05:00
Abdullah Atta
f91ada3c48 web: use own kvstore instead of localforage
localforage is unmaintained and also has a huge footprint not to mention
the performance issues.
2023-07-04 09:43:17 +05:00
Abdullah Atta
44782d552d web: make compression async 2023-07-04 09:43:17 +05:00
Ammar Ahmed
a51dfb4033 editor: fix toolbar buttons alignment (#2876) 2023-07-03 23:01:35 +05:00
Ammar Ahmed
ccb18e9335 mobile: fix changing font family causes editor crash (#2875) 2023-07-03 21:54:24 +05:00
Abdullah Atta
194556a0a1 clipper: remove comlink-extension package 2023-06-30 20:14:25 +05:00
Abdullah Atta
8f828bca80 web: bump version to 2.5.6 2023-06-30 19:07:17 +05:00
Abdullah Atta
a967234ddb web: fix subscription plan not changing from monthly 2023-06-30 19:05:52 +05:00
Abdullah Atta
bbcf7d1206 desktop: fix backups not saving 2023-06-28 16:15:15 +05:00
ammarahm-ed
6904045c7f mobile: disable updates check in fdroid release 2023-06-27 16:17:44 +05:00
ammarahm-ed
59c4052765 mobile: update project.pbxproj 2023-06-27 10:04:41 +05:00
ammarahm-ed
d3c47d3321 mobile: release 2.5.4 2023-06-27 09:11:54 +05:00
Abdullah Atta
221767ed4d misc: make generate-sources script independent of zx 2023-06-27 05:57:59 +05:00
Ammar Ahmed
4843d1c39e mobile: update mobile app to react-native 0.72.0 (#2814)
* mobile: upgrade to react-native 0.71

* mobile: update to react-native 0.72.0

* mobile: fix release build on android

* mobile: fix editor stuck in loading state

* mobile: fix bootsplash logo in dark mode

* mobile: update patch files

* mobile: cleanup

* mobile: increase delay

* mobile: add logs on upload

* mobile: ensure editor is ready before note loading

* mobile: fix ui

* mobile: fix

* ci: update workflow

* ci: undo workflow changes

---------

Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com>
2023-06-26 21:50:20 +05:00
Abdullah Atta
ebc28bca62 crypto: update vitest to 0.32.2 2023-06-26 17:51:53 +05:00
Abdullah Atta
52dcf868b4 misc: add script for generating flatpak sources 2023-06-26 15:07:59 +05:00
Abdullah Atta
e7bcad29f7 web: bump version to 2.5.5 2023-06-26 14:53:44 +05:00
ammarahm-ed
33c939f5ca web: fix account deletion not working 2023-06-26 13:45:39 +05:00
Abdullah Atta
e6b9219d75 crypto: set length when converting uint8array to buffer 2023-06-26 13:44:51 +05:00
Abdullah Atta
5774daf3a9 web: update fflate to v0.8.0 2023-06-26 13:44:39 +05:00
Abdullah Atta
b8181c4a1b web: remove leading "/" in zip filenames 2023-06-26 13:44:39 +05:00
Abdullah Atta
408cd5a9f3 global: run prettier & eslint on all files 2023-06-26 13:43:57 +05:00
Abdullah Atta
42a76c6b03 Merge branch 'master' of https://github.com/streetwriters/notesnook 2023-06-26 13:25:54 +05:00
Abdullah Atta
7fa88ff8fb desktop: make it possible to run dev server on Windows 2023-06-26 13:25:46 +05:00
Abdullah Atta
cafd854b8c web: add support for exporting locked notes 2023-06-26 13:14:28 +05:00
Abdullah Atta
8c58c512ed core: only rewrite html if images are found 2023-06-26 13:14:28 +05:00
Abdullah Atta
3ab104e000 core: do not send download event if notify is false 2023-06-26 13:14:28 +05:00
Abdullah Atta
55f8a226c8 web: use async zip for faster zipping 2023-06-26 13:14:28 +05:00
Abdullah Atta
0cca9e1ff8 core: fix crash when exporting note with task list 2023-06-26 13:14:28 +05:00
Abdullah Atta
1fb43b7dfe core: export with empty content if no content found 2023-06-26 13:14:28 +05:00
Abdullah Atta
e138aef6a9 config: force unix style line endings 2023-06-26 13:14:28 +05:00
Abdullah Atta
8d7b444664 core: autofix issue where locked note is not encrypted 2023-06-26 13:14:28 +05:00
Abdullah Atta
4a5c5fd3bf config: set default eol sequence to LF 2023-06-26 13:14:28 +05:00
Abdullah Atta
8fb0071cf0 ci: only bootstrap the required projects when building desktop app 2023-06-23 19:12:41 +05:00
Abdullah Atta
bb1cb8dc33 web: consider canceled Pro subscription as Pro 2023-06-23 19:05:53 +05:00
Abdullah Atta
533884e534 desktop: make window.os a function 2023-06-23 19:04:34 +05:00
Abdullah Atta
f5c2962951 web: bump version to 2.5.4 2023-06-23 14:23:27 +05:00
Abdullah Atta
8d285c93d9 editor: insert image/attachment after selected node 2023-06-23 14:23:03 +05:00
ammarahm-ed
fc10e957fb editor: fix search-replace regex 2023-06-23 14:21:12 +05:00
Abdullah Atta
eb35d41321 desktop: fix "object has been destoryed" error 2023-06-23 11:51:01 +05:00
Abdullah Atta
99808293a7 web: pin pdfjs-dist version 2023-06-23 11:42:10 +05:00
Abdullah Atta
10fafa885a crypto: convert to buffer before using input length 2023-06-23 11:40:20 +05:00
Abdullah Atta
9096e7711d web: do not bundle pwa assets for desktop build 2023-06-23 11:40:03 +05:00
Abdullah Atta
25cbdbd409 desktop: fix crash due to undici fetch 2023-06-23 11:40:03 +05:00
Abdullah Atta
0216867fa9 web: reset importer on pressing "Start over" 2023-06-23 11:39:51 +05:00
Abdullah Atta
f832aba1a4 web: fix issues with desktop integration settings 2023-06-23 11:39:51 +05:00
Abdullah Atta
8df9c49fa1 desktop: zod considers false as undefined and throws error 2023-06-23 11:39:51 +05:00
Abdullah Atta
b733eb3c44 web: fix settings dialog going blank on clicking a checkbox 2023-06-23 11:39:51 +05:00
Abdullah Atta
addbd53d7a web: consider canceled pro users as Pro 2023-06-23 11:39:51 +05:00
Abdullah Atta
5f42f11fb1 web: simplify settings dialog markup 2023-06-23 11:39:51 +05:00
Abdullah Atta
30072576ce web: preload settings dialog for faster loading 2023-06-23 11:39:51 +05:00
Abdullah Atta
48371b6364 web: add toolbar settings in new settings dialog 2023-06-23 11:39:51 +05:00
Abdullah Atta
90ef877942 editor: only collapse/expand outline list with LMB 2023-06-23 11:39:27 +05:00
Abdullah Atta
c91bc819be web: enable CSS autoprefixing on build 2023-06-23 11:39:27 +05:00
Abdullah Atta
6c25a70a51 docs: change edit_root to master branch 2023-06-22 11:06:20 +05:00
Abdullah Atta
9e2b9fa6f1 docs: minor fixes & improvements to editor help 2023-06-22 11:06:20 +05:00
Abdullah Atta
5663c507e9 docs: fix broken navigation link 2023-06-22 11:06:20 +05:00
Abdullah Atta
d6fce5ad18 docs: add more markdown shortcuts 2023-06-22 11:06:20 +05:00
ammarahm-ed
9125e41e9a docs: add meta descriptions 2023-06-22 11:06:20 +05:00
ammarahm-ed
0498604848 docs: add clear vault & delete vault docs 2023-06-22 11:06:20 +05:00
ammarahm-ed
26902cb969 docs: add meta descriptions 2023-06-22 11:06:20 +05:00
ammarahm-ed
915f21d59a docs: adjust markdown shortcuts table 2023-06-22 11:06:20 +05:00
ammarahm-ed
e7f4ba8b57 docs: fix slug 2023-06-22 11:06:20 +05:00
ammarahm-ed
0bdcfff561 docs: update slugs 2023-06-22 11:06:20 +05:00
ammarahm-ed
b330445531 docs: update slug 2023-06-22 11:06:20 +05:00
ammarahm-ed
053ad1927b docs: optimize docs 2023-06-22 11:06:20 +05:00
ammarahm-ed
31ff047a34 docs: add table & task lists docs 2023-06-22 11:06:20 +05:00
ammarahm-ed
7f9c24e061 docs: add help for editor & toolbar 2023-06-22 11:06:20 +05:00
ammarahm-ed
9d8689bbce docs: add pages for editor help 2023-06-22 11:06:20 +05:00
Abdullah Atta
5dabd07f38 docs: add page about deleting your account 2023-06-22 11:06:20 +05:00
ammarahm-ed
41f0a4e101 docs: fix ui & typos 2023-06-22 11:06:20 +05:00
Abdullah Atta
ce1bc83e38 docs: add analytics 2023-06-22 11:06:20 +05:00
Abdullah Atta
0ef53f17cb docs: add 404 page for not found errors 2023-06-22 11:06:20 +05:00
Abdullah Atta
574d638c94 docs: change base_url to help.notesnook.com 2023-06-22 11:06:20 +05:00
Abdullah Atta
78a543dad4 docs: organization -> organizing-notes 2023-06-22 11:06:20 +05:00
Abdullah Atta
8c857e58b7 docs: add robots.txt 2023-06-22 11:06:20 +05:00
Abdullah Atta
61c96e7b58 docs: add meta title & favicon 2023-06-22 11:06:20 +05:00
Abdullah Atta
ea02552634 docs: finalize slugs & other minor fixes 2023-06-22 11:06:20 +05:00
Abdullah Atta
4438d96d9c docs: minor fixes to mobile integration docs 2023-06-22 11:06:20 +05:00
ammarahm-ed
5c4fee8f98 docs: update mobile integration docs 2023-06-22 11:06:20 +05:00
ammarahm-ed
0179a81d52 docs: add share extension help guide 2023-06-22 11:06:20 +05:00
Abdullah Atta
0d5cd2e554 docs: improve contrast of foreground colors 2023-06-22 11:06:20 +05:00
Abdullah Atta
47006b8648 docs: add docs for account recovery 2023-06-22 11:06:20 +05:00
Abdullah Atta
1a701d2a64 docs: add base_url to enable sitemap generation 2023-06-22 11:06:20 +05:00
Abdullah Atta
adae78d2df docs: add docs for desktop integration 2023-06-22 11:06:20 +05:00
Abdullah Atta
c6fe3ea91d docs: add docs for spell checker 2023-06-22 11:06:20 +05:00
Abdullah Atta
69c152948e docs: add privacy mode docs 2023-06-22 11:06:20 +05:00
Abdullah Atta
fb9a1af93c docs: improve docs theme 2023-06-22 11:06:20 +05:00
Abdullah Atta
dfe7e7d459 docs: use custom fonts 2023-06-22 11:06:20 +05:00
Abdullah Atta
2e807cdd0b docs: add docs for web clipper 2023-06-22 11:06:20 +05:00
ammarahm-ed
6f80d2e7b2 docs: minor fixes to Monographs help 2023-06-22 11:06:20 +05:00
ammarahm-ed
e49c2e8ccc docs: improve help for notes exporting 2023-06-22 11:06:20 +05:00
ammarahm-ed
3fec04466e docs: improve help for backup & restore 2023-06-22 11:06:20 +05:00
Abdullah Atta
93c2115f4b docs: add edit root to get Edit this page link at bottom 2023-06-22 11:06:20 +05:00
Abdullah Atta
8716d3076a docs: change theme colors to notesnook defaults 2023-06-22 11:06:20 +05:00
Abdullah Atta
5ec5517778 docs: reorder docs using the index frontmatter property 2023-06-22 11:06:20 +05:00
ammarahm-ed
8cb0644cd0 docs: add help on how to organize your notes 2023-06-22 11:06:20 +05:00
Abdullah Atta
56947d942d docs: fix headings hierarchy 2023-06-22 11:06:20 +05:00
Abdullah Atta
3ea810a059 docs: migrate to new callout syntax 2023-06-22 11:06:20 +05:00
ammarahm-ed
723bb67a6f docs: add help for backup/restore, vault, organization & monographs 2023-06-22 11:06:20 +05:00
ammarahm-ed
f0e68afdf8 docs: remove unused images 2023-06-22 11:06:20 +05:00
ammarahm-ed
7c0d8c25d3 docs: add importer docs 2023-06-22 11:06:20 +05:00
ammarahm-ed
641d78fdb2 docs: init and add first articles 2023-06-22 11:06:20 +05:00
Abdullah Atta
1c43da0eb0 desktop: regenerate package-lock.json 2023-06-21 15:46:25 +05:00
Abdullah Atta
87de351170 misc: move essential deps from devDependencies 2023-06-21 15:45:55 +05:00
Abdullah Atta
31726f6d86 ci: use npx electron-builder directly 2023-06-20 20:31:32 +05:00
Abdullah Atta
548eda9a26 desktop: do not load native crypto on ARM windows app 2023-06-20 20:24:10 +05:00
Abdullah Atta
dc6fa89c9c desktop: fix build script 2023-06-20 20:21:14 +05:00
Abdullah Atta
cdda26f32f Merge branch 'master' of https://github.com/streetwriters/notesnook 2023-06-20 20:17:07 +05:00
Abdullah Atta
a8470c9fea desktop: make builds work on windows 2023-06-20 20:16:48 +05:00
Abdullah Atta
4fa2bc6bb6 desktop: set cwd as data path for portable binaries 2023-06-20 20:15:58 +05:00
Abdullah Atta
8aacf49f07 ci: minor changes to desktop publish workflow 2023-06-20 18:41:00 +05:00
Abdullah Atta
d14c712b79 web: only run top-level-await transform in prod builds 2023-06-20 17:50:23 +05:00
Abdullah Atta
fb90ef3137 web: support top-level-await transform in desktop builds 2023-06-20 17:49:23 +05:00
Abdullah Atta
f733e6e95b core: convert object-id to es2015 class 2023-06-20 17:48:48 +05:00
Abdullah Atta
3ae3465e84 web: bump version to 2.5.3 2023-06-20 16:00:45 +05:00
Abdullah Atta
9abe85f1c9 web: minor UI fixes 2023-06-20 16:00:45 +05:00
ammarahm-ed
6194367c1e mobile: release 2.5.3 2023-06-20 14:43:48 +05:00
Abdullah Atta
4e793317ca desktop: set NO_COLOR=true when running scripts 2023-06-20 14:43:29 +05:00
Abdullah Atta
eb6927cbce web: add image source cache for caching blobs 2023-06-20 14:42:20 +05:00
Abdullah Atta
b7762ceaae crypto: make base64 enc compatible on node & browser 2023-06-20 13:18:11 +05:00
ammarahm-ed
53b545f84c mobile: enable encrypted backups on login 2023-06-20 12:43:37 +05:00
Abdullah Atta
4195150005 web: enable encrypted backups for all logged in users 2023-06-20 12:43:37 +05:00
Abdullah Atta
0a8c045f6f web: disable auto backups by default 2023-06-20 12:43:37 +05:00
ammarahm-ed
f4fe2c6a65 mobile: enable encrypted backups by default 2023-06-20 12:43:37 +05:00
ammarahm-ed
11e109740b core: allow encrypted backups for all users 2023-06-20 12:43:37 +05:00
ammarahm-ed
d882c7cf9f mobile: disable default auto-backup on 2023-06-20 12:43:37 +05:00
Abdullah Atta
eb8b58a559 web: migrate navigation to typescript 2023-06-20 12:36:21 +05:00
ammarahm-ed
2b94212552 mobile: fix module resolution 2023-06-20 12:04:38 +05:00
Ammar Ahmed
04d122c47c mobile: fix input hides behind keyboard on focus (#2767) 2023-06-20 11:33:48 +05:00
Ammar Ahmed
6c9c99681e mobile: fix scroll into view on keyboard shown (#2762) 2023-06-19 19:04:53 +05:00
ammarahm-ed
f0a4a61e1d mobile: add email support button in settings 2023-06-19 16:15:55 +05:00
Abdullah Atta
f88c610495 editor: make web clips selectable in readonly mode 2023-06-19 13:16:39 +05:00
Abdullah Atta
f9cb9fa3cc web: add option to contact us via email in settings 2023-06-19 12:54:34 +05:00
Abdullah Atta
3c6622ccf0 web: create vault should be under pro 2023-06-19 12:35:43 +05:00
ammarahm-ed
df82e84c83 web: add default dropdown value text 2023-06-19 12:19:56 +05:00
ammarahm-ed
abd136c7c2 web: disable import button when no files selected 2023-06-19 12:19:56 +05:00
Abdullah Atta
c61082cdee web: add manage attachments button in settings 2023-06-19 12:19:42 +05:00
ammarahm-ed
b9b21a760a mobile: limit input value between min/max 2023-06-19 11:58:50 +05:00
ammarahm-ed
acc852e23b web: limit input value between mix/max 2023-06-19 11:58:50 +05:00
ammarahm-ed
36ae9383ba web: fix onChange not fired on input 2023-06-19 11:42:39 +05:00
ammarahm-ed
c04df4b4c8 mobile: fix failing tests 2023-06-19 07:49:40 +05:00
Abdullah Atta
5c849c39b4 web: update sync status on auto sync completion 2023-06-17 19:13:54 +05:00
Abdullah Atta
9bae058d16 crypto: force convert IV to urlsafe base64 variant 2023-06-17 19:13:30 +05:00
Abdullah Atta
db2d48a083 web: fix navigation on small screens & mobiles 2023-06-17 18:20:13 +05:00
Abdullah Atta
628d3bd9ff core: do not include trashed notes in total notebook notes 2023-06-17 18:20:04 +05:00
Abdullah Atta
cdbca8ac22 web: fix crash on viewing a merge conflict 2023-06-17 18:19:58 +05:00
Abdullah Atta
8d2c0762db web: allow focusing editor by clicking at the bottom 2023-06-17 18:19:52 +05:00
Abdullah Atta
992f4fc697 web: fix pane sizes getting reset randomly on startup 2023-06-17 18:19:39 +05:00
Abdullah Atta
cb1d09904b web: remove settings test from navigation tests 2023-06-17 13:36:01 +05:00
Abdullah Atta
2441a4505e web: remove react-toggle 2023-06-17 13:36:01 +05:00
Abdullah Atta
79aae86906 web: fix broken build 2023-06-17 13:36:01 +05:00
Abdullah Atta
cd792625ac web: use named imports for icons 2023-06-17 13:36:01 +05:00
Abdullah Atta
605e045ff7 web: fix type in SearchViewModel 2023-06-17 13:36:01 +05:00
Abdullah Atta
8c17233e67 web: move dialogs out to top-most level 2023-06-17 13:36:01 +05:00
Abdullah Atta
08480188fa web: remove progress-bar component 2023-06-17 13:36:01 +05:00
Abdullah Atta
87402251a5 web: add types for svgr 2023-06-17 13:36:01 +05:00
Abdullah Atta
e3a818378d core: userId is not mandatory when sending bug report 2023-06-17 13:36:01 +05:00
Abdullah Atta
6d82b0a5ba common: use fixed react version at 17.0.2 2023-06-17 13:36:01 +05:00
Abdullah Atta
e3f0d0ada7 web: load polyfills before everything else 2023-06-17 13:36:01 +05:00
Abdullah Atta
9e2f54fd0b web: use utils from @notesnook/common 2023-06-17 13:36:01 +05:00
Abdullah Atta
19eb512198 common: add utils for debounce, random & string 2023-06-17 13:36:01 +05:00
ammarahm-ed
86a7fd9b93 mobile: refactor 2023-06-17 13:36:01 +05:00
ammarahm-ed
fa7900aef6 core: fix tests 2023-06-17 13:36:01 +05:00
ammarahm-ed
561d7a8bbc common: add @notesnook/core dep 2023-06-17 13:36:01 +05:00
ammarahm-ed
fb616a246e mobile: refactor 2023-06-17 13:36:01 +05:00
ammarahm-ed
c881e74aae web: call database.setup() before db init 2023-06-17 13:36:01 +05:00
ammarahm-ed
0f2acb2801 core: Init DB instance without platform APIs 2023-06-17 13:36:01 +05:00
Abdullah Atta
9b5e2c108b editor: persist text alignment & direction on heading creation 2023-06-16 19:11:22 +05:00
ammarahm-ed
ba900b3a0f web: fix trial expired notice shows to new users 2023-06-16 19:10:46 +05:00
ammarahm-ed
49df1bcd9e mobile: fix trial expired notice shows to new users 2023-06-16 19:10:46 +05:00
Abdullah Atta
5d1ba7fa0a web: new dialog based settings (#2745) 2023-06-16 19:10:02 +05:00
ammarahm-ed
a6d5a618b0 mobile: picker follow time format set in settings 2023-06-16 18:57:29 +05:00
Abdullah Atta
8f4bd20253 web: fix delete all notes in topic test 2023-06-16 16:54:04 +05:00
ammarahm-ed
8b4270f7df web: add null checks 2023-06-16 16:54:04 +05:00
ammarahm-ed
9a4877bdbd mobile: include topic notes in notebook search 2023-06-16 16:54:04 +05:00
ammarahm-ed
0a45e963a6 web: lookup topic notes at notebook level 2023-06-16 16:54:04 +05:00
ammarahm-ed
fb7b306bc5 web: fix search in topic returns no results 2023-06-16 16:54:04 +05:00
Abdullah Atta
4035751264 clipper(web): bump version to 0.2.2 2023-06-16 15:38:51 +05:00
Ammar Ahmed
07bb35395c clipper: fix duplicate notes created on save (#2722)
* clipper: fix duplicate notes created on save

* clipper(web): move singleton checks inside the fn

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-06-16 15:15:14 +05:00
ammarahm-ed
09cd19d3b7 core: fix incorrect snooze time format 2023-06-16 10:23:46 +05:00
ammarahm-ed
a3988fd309 mobile: fix image replaces content if note is locked
& app lock is also enabled
2023-06-16 10:06:06 +05:00
ammarahm-ed
574c4cc8a9 mobile: fix appending link to empty note stuck 2023-06-15 16:43:54 +05:00
Abdullah Atta
5041e47902 core: fix require is not defined 2023-06-12 13:02:56 +05:00
Abdullah Atta
f3a03dc813 crypto: eagerly init sodium in dev mode 2023-06-12 12:57:39 +05:00
Abdullah Atta
942c9556f6 web: fix editor theme not changing with app theme 2023-06-12 12:00:47 +05:00
Abdullah Atta
5374f2b56c web: migrate to vitejs from webpack (#2715) 2023-06-12 11:49:37 +05:00
Abdullah Atta
3f128da55d docs: update readme 2023-06-10 16:03:09 +05:00
Abdullah Atta
0aa689ca03 desktop: add readme & other docs 2023-06-10 15:54:17 +05:00
Abdullah Atta
93e1ae5830 ci: set extraMetadata in package.json 2023-06-10 15:54:17 +05:00
Abdullah Atta
ef5aebdb3b ci: fix electron-builder command 2023-06-10 15:54:17 +05:00
Abdullah Atta
c152796767 ci: use yarn electron-builder on windows 2023-06-10 15:54:17 +05:00
Abdullah Atta
b75382f8b6 ci: change entrypoint before build 2023-06-10 15:54:17 +05:00
Abdullah Atta
80893a5011 ci: use electron-builder directly from ./node_modules/.bin directory 2023-06-10 15:54:17 +05:00
Abdullah Atta
0f9ac0e068 desktop: add dmg-license as optional dependency 2023-06-10 15:54:17 +05:00
Abdullah Atta
46e4ac127c ci: do not bootstrap after adding dmg-license 2023-06-10 15:54:17 +05:00
Abdullah Atta
3da4ced75b desktop: add build script & use nx to run build commands 2023-06-10 15:54:17 +05:00
Abdullah Atta
3f79ae6403 desktop: rename build script to release 2023-06-10 15:54:17 +05:00
Abdullah Atta
2d78b05e8d desktop: remove electron-builder install-app-deps from post-install 2023-06-10 15:54:17 +05:00
Abdullah Atta
c7c4ae4615 desktop: fix post-install command 2023-06-10 15:54:17 +05:00
Abdullah Atta
ee2cbea0c4 ci: add ./ before local action path 2023-06-10 15:54:17 +05:00
Abdullah Atta
782fc575a9 ci: improve node cache by using a common action 2023-06-10 15:54:17 +05:00
Abdullah Atta
151a527444 desktop: improve build scripts 2023-06-10 15:54:17 +05:00
Abdullah Atta
6ab0911970 desktop: finalize new desktop core 2023-06-10 15:54:17 +05:00
Abdullah Atta
28927e705b desktop: overhaul desktop core and migrate to typescript 2023-06-10 15:54:17 +05:00
ammarahm-ed
2a31f70b4a mobile: fix compactMode indicators show always 2023-06-10 12:25:48 +05:00
Abdullah Atta
0596bd9e84 desktop: update electron to v25.1.0 2023-06-08 18:20:47 +05:00
ammarahm-ed
3e95960b45 mobile: release v2.5.2 2023-06-08 16:21:50 +05:00
ammarahm-ed
131ecfee89 mobile: improved compactness of notebook compact mode 2023-06-08 16:21:50 +05:00
Abdullah Atta
dfccd640b0 web: bump version to 2.5.2 2023-06-08 16:03:33 +05:00
Abdullah Atta
14d27bb277 editor: remove duplicate ordered-list methods 2023-06-08 15:59:48 +05:00
Abdullah Atta
dd470297c3 editor: do not prevent all clicks 2023-06-08 15:59:48 +05:00
Abdullah Atta
1e690664f1 editor: remove selection persistence 2023-06-08 15:59:48 +05:00
ammarahm-ed
d68eaa7a41 mobile: increase compactness of compact mode 2023-06-08 15:55:06 +05:00
ammarahm-ed
791119fcbc mobile: add notes for $timestamp$ template 2023-06-08 15:22:53 +05:00
Abdullah Atta
87b82865b2 web: list $timestamp$ in supported title templates 2023-06-08 15:16:24 +05:00
Abdullah Atta
ad145c3499 core: remove YYYY-DD-MM date format 2023-06-08 15:16:24 +05:00
ammarahm-ed
5a228ce5fe mobile: allow changin primary 2fa 2023-06-08 15:06:22 +05:00
Abdullah Atta
8cb3cb6b19 web: allow changing primary 2fa method 2023-06-08 15:06:22 +05:00
Abdullah Atta
94cc3a6853 web: make 2fa recovery codes more readable 2023-06-08 12:02:14 +05:00
Abdullah Atta
163dfac5d7 core: add tests for title formatting 2023-06-08 11:57:21 +05:00
Abdullah Atta
efd0d6c2c3 core: add more date formats 2023-06-08 11:57:10 +05:00
Abdullah Atta
742dc56f3c core: add support for $timestamp$ in title 2023-06-08 11:56:59 +05:00
ammarahm-ed
19f2d8b0a7 mobile: do not resize auth modal on ios on kbd open 2023-06-07 21:00:53 +05:00
ammarahm-ed
8c9d98ab88 mobile: fix pass validation 2023-06-07 21:00:13 +05:00
ammarahm-ed
75ae5d9603 mobile: hide note headline in share ext 2023-06-06 18:20:34 +05:00
Ammar Ahmed
8a2453429d Merge pull request #2669 from streetwriters/fix/tag-name-manage-tags
mobile: fix aliased tag name not showing in manage
2023-06-06 18:20:12 +05:00
ammarahm-ed
b54ca08fc8 mobile: fix aliased tag name not showing in manage
tags sheet
2023-06-06 18:12:32 +05:00
ammarahm-ed
2be801ba3b mobile: fix oboarding ui on iphone 2023-06-06 12:35:49 +05:00
Abdullah Atta
f37cd3fe63 core: add new date formats 2023-06-06 11:58:59 +05:00
ammarahm-ed
1224e48bc8 core: fix comma added in default title 2023-06-06 10:42:26 +05:00
Abdullah Atta
780bebe141 web: fix crash on webkit (safari) 2023-06-05 20:55:41 +05:00
ammarahm-ed
f707b43efb mobile: release v2.5.1 2023-06-05 20:40:34 +05:00
Abdullah Atta
92e9cd740f web: fix crash on opening notebook context menu 2023-06-05 19:06:53 +05:00
Abdullah Atta
20bef5e70c web: fix crash when opening notebook context menu 2023-06-05 19:05:39 +05:00
ammarahm-ed
c9b45875a0 mobile: remove patch 2023-06-05 18:54:36 +05:00
Abdullah Atta
f180b79a3e web: bump version to 2.5.1 2023-06-05 18:40:56 +05:00
ammarahm-ed
438a3c2686 mobile: update deps 2023-06-05 18:33:52 +05:00
ammarahm-ed
64d23d3de0 mobile: show loading when updating marketing consent 2023-06-05 18:27:51 +05:00
ammarahm-ed
e251c6f71c mobile: add marketing consent settings 2023-06-05 18:21:07 +05:00
Abdullah Atta
40cb6ae8bf web: allow opting out of marketing emails 2023-06-05 18:21:07 +05:00
Abdullah Atta
06aaa7e2c2 web: clarify marketing consent on sign up screen 2023-06-05 18:21:07 +05:00
Abdullah Atta
ab29a01649 core: allow changing marketing emails consent settings 2023-06-05 18:21:07 +05:00
Abdullah Atta
49e7bdf202 editor: allow starting lists with arbitrary number 2023-06-05 18:04:13 +05:00
ammarahm-ed
2e0f9d8524 mobile: do not move login dialog on keyboard change 2023-06-05 16:40:33 +05:00
Ammar Ahmed
092b26be57 mobile: add support for image & file sharing (#2652)
Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com>
2023-06-05 16:26:39 +05:00
Abdullah Atta
3525feffcf web: fix color not setting on icons 2023-06-05 16:21:40 +05:00
Abdullah Atta
6cb5a5e473 web: fix incorrect loading state of icons 2023-06-05 16:20:40 +05:00
Abdullah Atta
0992d4eeab editor: make image selectable in readonly mode 2023-06-05 16:02:50 +05:00
Abdullah Atta
828cd6be35 editor: disable selection persist in readonly mode 2023-06-05 16:02:50 +05:00
Abdullah Atta
1b1a962ec2 editor: minor refactor 2023-06-05 16:02:50 +05:00
Abdullah Atta
0a88502e59 editor: hide replace button in readonly mode 2023-06-05 16:02:50 +05:00
Muhammad Ali
50ff39845a editor: changed absolute to relative 2023-06-05 16:02:50 +05:00
Muhammad Ali
1cb34d0783 editor: added image-tools for readonly-mode 2023-06-05 16:02:50 +05:00
Abdullah Atta
bbb43bc8b4 web: replace date-time in test snapshot with xxx 2023-06-05 15:29:10 +05:00
ammarahm-ed
1521a7d120 mobile: formatted dates in editor 2023-06-05 15:29:10 +05:00
Abdullah Atta
3b6a2cb9de web: use editor date/time format from settings 2023-06-05 15:29:10 +05:00
Abdullah Atta
0deaed4ccd editor: make date-time format configurable 2023-06-05 15:29:10 +05:00
Abdullah Atta
8ebb58b70c core: fix reminder date time formatting 2023-06-05 15:29:10 +05:00
ammarahm-ed
f691d113d2 mobile: update wording 2023-06-05 15:29:10 +05:00
ammarahm-ed
a57eaf9be6 mobile: sync with core changes 2023-06-05 15:29:10 +05:00
ammarahm-ed
c5a264270c core: use only first 10 words of headline in title 2023-06-05 15:29:10 +05:00
Abdullah Atta
e75c62e6e1 core: use 2 digits for 12 hour time format 2023-06-05 15:29:10 +05:00
Abdullah Atta
6c3583c9e5 web: add support for setting default notebook/topic 2023-06-05 15:29:10 +05:00
Abdullah Atta
58ba453f57 web: use default note title from settings 2023-06-05 15:29:10 +05:00
Abdullah Atta
7f5d5fcb82 core: simplify default notebook object 2023-06-05 15:29:10 +05:00
Abdullah Atta
e218194402 web: add settings for default date, time & title formats 2023-06-05 15:29:10 +05:00
Abdullah Atta
c36f532bbb web: use date & time formats from settings 2023-06-05 15:29:10 +05:00
ammarahm-ed
b3b7bd44ef core: fix note count incorrect 2023-06-05 15:29:10 +05:00
ammarahm-ed
c85242a610 core: format time correctly 2023-06-05 15:29:10 +05:00
ammarahm-ed
58f7a206d9 mobile: add settings 2023-06-05 15:29:10 +05:00
Ammar Ahmed
25bf4fee82 mobile: redesign onboarding (#2633) 2023-06-05 15:13:19 +05:00
Abdullah Atta
c2ab5ded47 desktop: fix start as minimized on windows 2023-06-05 12:14:33 +05:00
Ammar Ahmed
ad6a0ebfab mobie: enable search in readonly mode (#2659) 2023-06-05 11:16:18 +05:00
ammarahm-ed
cb9e6578c1 mobile: downgrade react-native-bootsplash version 2023-06-01 21:16:17 +05:00
Abdullah Atta
17a1475ded editor: do not create 2 toolbar groups for static tools on mobile 2023-06-01 21:15:17 +05:00
Abdullah Atta
2cee5a4d89 editor: set preview attachment icon to eye 2023-06-01 21:15:17 +05:00
Abdullah Atta
337f88c373 editor: fix link popup font family 2023-06-01 21:15:17 +05:00
Abdullah Atta
53d5073690 editor: double click to preview image 2023-06-01 21:15:17 +05:00
Ramiro Pruis
9cc9660b48 editor: allow download & preview of attachments in readonly mode (#2621)
Signed-off-by: Ramiro Pruis<ramapruis@gmail.com>
2023-06-01 20:39:10 +05:00
ammarahm-ed
e6162b2580 mobile: fix crash on download all attachement 2023-05-31 11:31:51 +05:00
ammarahm-ed
abc14d2d1f mobile: set fdroid build to false 2023-05-30 00:17:39 +05:00
ammarahm-ed
fa11b5fabb mobile: update packages 2023-05-29 23:52:43 +05:00
ammarahm-ed
d904916863 mobile: release v2.5.0 2023-05-29 23:01:53 +05:00
Abdullah Atta
0cfc2e1609 web: bump version to 2.5.0 2023-05-29 19:14:53 +05:00
Abdullah Atta
3742e923c9 editor: fix crash due to attachment.mime being undefined 2023-05-29 13:12:28 +05:00
Abdullah Atta
792a254513 web: fix split pane sash styling 2023-05-29 12:09:50 +05:00
Abdullah Atta
17928ba182 web: disable loading announcements during tests 2023-05-27 16:50:24 +05:00
Abdullah Atta
2da0f164c6 web: fix list crash on shift+click when there's no selection 2023-05-27 16:47:54 +05:00
Abdullah Atta
4eabe79e7e web: fix attachment caching issues 2023-05-27 16:14:12 +05:00
Abdullah Atta
89dd8f5b6c web: minor ui fixes for pdf attachment preview 2023-05-27 16:14:12 +05:00
Abdullah Atta
b4d3662897 web: never delete image & pdf attachments 2023-05-27 16:14:12 +05:00
ammarahm-ed
675e1e2c6f mobile: do not cleanup documents from cache after download 2023-05-27 16:14:12 +05:00
ammarahm-ed
0f7f3bae7e mobile: save pdf snapshot 2023-05-27 16:14:12 +05:00
Abdullah Atta
c917d95a7b web: remove unnecessary css import 2023-05-27 16:14:12 +05:00
Abdullah Atta
3ae9001504 mobile: remove rn-fetch-blob patch 2023-05-27 16:14:12 +05:00
Abdullah Atta
cc97b8beed global: update package-lock.json 2023-05-27 16:14:12 +05:00
Abdullah Atta
954bdebcef web: remove @react-pdf-viewer/default-layout 2023-05-27 16:14:12 +05:00
Abdullah Atta
04b62f4e53 misc: update package-lock.json 2023-05-27 16:14:12 +05:00
Abdullah Atta
a2dcb67b36 web: add support for previewing pdf attachments 2023-05-27 16:14:12 +05:00
Abdullah Atta
cc9141c981 editor: enable preview attachment button on desktop 2023-05-27 16:14:12 +05:00
Abdullah Atta
85484b1762 fs: add support for getting actual file size 2023-05-27 16:14:12 +05:00
Abdullah Atta
1a0c94896a config: add new "fs" scope for commits 2023-05-27 16:14:12 +05:00
ammarahm-ed
068a99463d mobile: fix loading 2023-05-27 16:14:12 +05:00
ammarahm-ed
b413315777 mobile: add pdf attachment previews 2023-05-27 16:14:12 +05:00
ammarahm-ed
7227513783 editor: enable attachment previews for files 2023-05-27 16:14:12 +05:00
Abdullah Atta
083e4e1150 web: add basic support for attachment previews 2023-05-27 16:14:12 +05:00
Abdullah Atta
09098410a5 editor: enable previewing attachments on desktop/web 2023-05-27 16:14:12 +05:00
Abdullah Atta
2c9f5df530 web: fix font family in unlock note view 2023-05-25 16:15:01 +05:00
Abdullah Atta
3ad346362b web: fix notebooks in move note dialog not getting checked sometimes 2023-05-25 16:15:01 +05:00
ammarahm-ed
e176b1bf76 mobile: reset premium status 2023-05-25 15:55:14 +05:00
ammarahm-ed
b368232598 mobile: fix app hangs on adding >3 notebooks on iOS 2023-05-25 15:54:54 +05:00
Abdullah Atta
bcd27e10c1 web: add support for search inside notebook 2023-05-25 15:52:58 +05:00
Abdullah Atta
af9b9b7083 web: fix notebook item date font family 2023-05-25 15:44:09 +05:00
ammarahm-ed
ea1565048a mobile: tag multiple notes from manage tags sheet 2023-05-25 15:41:43 +05:00
Muhammad Ali
59b081704b web: add support for setting tags in bulk (#2328)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-05-25 14:10:32 +05:00
Muhammad Ali
2761222b36 web: add support for printing notes (#2551)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-05-25 12:19:21 +05:00
Muhammad Ali
571f15b556 web: close deleted note on sync (#2580)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-05-25 12:14:49 +05:00
Muhammad Ali
283efa6e41 editor: prevent table column size reset in readonly mode (#2586) 2023-05-25 12:11:57 +05:00
Abdullah Atta
b3b1b7470e web: do not show save file dialog if download is canceled 2023-05-25 12:02:50 +05:00
Abdullah Atta
a9e59b17dc web: use fixed size columns in attachment manager 2023-05-25 12:02:50 +05:00
Abdullah Atta
22d946b677 web: fix app lag when downloading attachment 2023-05-25 12:02:50 +05:00
ammarahm-ed
6a748c3f98 mobile: fix download all attachments progress 2023-05-25 10:18:21 +05:00
Abdullah Atta
520296106a editor: bump version to 1.5.0 2023-05-25 09:48:22 +05:00
Abdullah Atta
3b727e6f64 editor: update tiptap packages to v2.0.3 2023-05-25 09:47:20 +05:00
ammarahm-ed
b77711a53d mobile: use isImage check from core 2023-05-23 12:52:50 +05:00
ammarahm-ed
aebb2d414b mobile: allow attaching images from file manager 2023-05-23 12:52:50 +05:00
ammarahm-ed
e0e505371c mobile: update download attachments 2023-05-23 12:52:50 +05:00
ammarahm-ed
b9040a9358 mobile: show error on file check failed 2023-05-23 12:52:50 +05:00
ammarahm-ed
68f10ce308 core: add isAudio function 2023-05-23 12:52:50 +05:00
Abdullah Atta
8a475f654f web: improve attachments manager ui/ux 2023-05-23 12:52:50 +05:00
ammarahm-ed
1043b7df55 mobile: improved attachments manager 2023-05-23 12:52:50 +05:00
ammarahm-ed
8383e09243 mobile: show currently downloading file 2023-05-23 12:52:50 +05:00
ammarahm-ed
df58a6cfc4 mobile: fix recheck attachments 2023-05-23 12:52:50 +05:00
ammarahm-ed
a9df577478 mobile: update deps 2023-05-23 12:52:50 +05:00
ammarahm-ed
e021d93893 mobile: download mutliple attachments 2023-05-23 12:52:50 +05:00
Abdullah Atta
24e13f488e web: fully move to using web streams everywhere 2023-05-23 12:52:50 +05:00
Muhammad Ali
6f88b70937 web: add support for downloading all attachments as zip 2023-05-23 12:52:50 +05:00
ammarahm-ed
a90f957aa4 mobile: always check editor is ready on enter foreground 2023-05-23 08:08:10 +05:00
ammarahm-ed
748953b3eb mobile: don't lock app on showing app review 2023-05-23 08:07:27 +05:00
Muhammad Ali
874c892986 editor: make cell properties work with header cells (#2506) 2023-05-23 07:17:29 +05:00
Muhammad Ali
ab678fa3a9 core: fix duplication of notes that are directly inside a notebook (#2552)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-05-23 06:40:07 +05:00
Muhammad Ali
c2351ab2d3 editor: add support for link markdown syntax (#2576) 2023-05-23 06:36:34 +05:00
Muhammad Ali
3fd3e02256 web: fix wrong date font in notebook item (#2560)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-05-23 06:20:12 +05:00
Muhammad Ali
d2fd26abd5 editor: fix position of outline list bullet/arrow (#2555) 2023-05-20 08:03:39 +05:00
ammarahm-ed
dd84b9ca2f mobile: add fdroid changelog 2023-05-18 20:06:37 +05:00
Abdullah Atta
269f083dce clipper: bump version to 0.2.1 2023-05-18 15:14:25 +05:00
Abdullah Atta
e18867d3f1 clipper: request scripting permission 2023-05-18 15:13:44 +05:00
Abdullah Atta
e221882f8e clipper: change version to 0.2.0 2023-05-17 11:35:52 +05:00
Abdullah Atta
153ee4bce3 clipper: load content scripts on demand to reduce host permissions 2023-05-17 11:35:52 +05:00
ammarahm-ed
a2ecdab61c mobile: release 2.4.17 2023-05-17 11:24:29 +05:00
Ammar Ahmed
eb089e6211 Merge pull request #2543 from streetwriters/feat/in-app-review
mobile: add in-app-review flow
2023-05-17 11:18:22 +05:00
ammarahm-ed
1981c3a2f8 mobile: add in-app-review flow 2023-05-17 11:14:49 +05:00
Abdullah Atta
68b3ebe318 clipper: get rid of <all_urls> permission 2023-05-17 10:11:47 +05:00
ammarahm-ed
8a0b6264d2 mobile: fix pro features locked for pro users 2023-05-17 10:09:37 +05:00
Abdullah Atta
239174c3e7 web: bump version to 2.4.11 2023-05-17 09:29:16 +05:00
Abdullah Atta
db1503d828 clipper: remove contextMenus permission 2023-05-16 18:05:20 +05:00
Abdullah Atta
7b1cbba9e7 clipper: bump version to 0.2 2023-05-16 17:39:21 +05:00
Abdullah Atta
2c3c193629 clipper: default to simplified mode if user is no longer pro 2023-05-16 17:35:59 +05:00
Abdullah Atta
899e56e9cd clipper(core): escape % & ' during css stringify 2023-05-16 17:35:59 +05:00
Abdullah Atta
9c9582ae12 clipper: improve error messages 2023-05-16 17:35:59 +05:00
Abdullah Atta
b918667b63 clipper: adjust icon size in inline tag 2023-05-16 17:35:59 +05:00
Abdullah Atta
878c901e06 clipper: add support for assigning multiple notebooks 2023-05-16 17:35:59 +05:00
Muhammad Ali
fdd3897a60 web: close tag dropdown on tab press (#2508) 2023-05-16 17:32:00 +05:00
ammarahm-ed
c958657b01 mobile: release 2.4.16 2023-05-16 12:11:43 +05:00
Abdullah Atta
e7175f48a0 clipper: do not exclude localhost tabs in production mode 2023-05-13 17:51:10 +05:00
Abdullah Atta
4e1862d653 clipper: improve connection reliability
this adds support for working with multiple Notesnook tabs
even though it is not currently recommended that you
open multiple Notesnook tabs
2023-05-13 17:51:10 +05:00
Abdullah Atta
1d5ac37222 clipper: always clip tab from current active window 2023-05-13 17:50:53 +05:00
Abdullah Atta
32d027fff6 clipper(core): don't clip images in simplified mode 2023-05-13 17:50:41 +05:00
ammarahm-ed
9434993373 mobile: remove usesCleartextTraffic in release builds 2023-05-08 18:30:36 +05:00
Abdullah Atta
2bd0f1a304 web: allow users to view their billing history 2023-05-08 15:25:20 +05:00
Abdullah Atta
7f873f240e web: allow requesting refunds from settings 2023-05-08 15:25:20 +05:00
Abdullah Atta
a0229729b7 web: use sandbox checkout during development 2023-05-08 15:25:20 +05:00
Abdullah Atta
dd368a4170 web: show success on checkout completion 2023-05-08 15:25:20 +05:00
ammarahm-ed
6d3e985c9d mobile: fix failing build 2023-05-08 09:27:55 +05:00
ammarahm-ed
15858db21b mobile: sync quick notes only when online 2023-05-08 08:19:17 +05:00
Ammar Ahmed
b69a94a96f mobile: fix premium toast is not shown when using premium features on mobile (#2504) 2023-05-08 08:18:38 +05:00
Muhammad Ali
73b965eb7c web: close properties pane when note is switched (#2486) 2023-05-06 16:16:01 +05:00
Abdullah Atta
5738f48360 core: expire session if key is not found 2023-05-06 15:27:58 +05:00
Muhammad Ali
de74b8c2cd editor: position search box correctly in readonly mode (#2478) 2023-05-03 13:22:25 +05:00
Muhammad Ali
2d07d79057 web: fix issue where notes directly in a notebook could not be unlinked (#2466)
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-05-02 12:49:24 +05:00
ammarahm-ed
5f6a38c8b1 mobile: release 2.4.15 2023-04-29 09:07:46 +05:00
Muhammad Ali
3496e6bfa9 editor: increased hit Area 2023-04-29 08:33:20 +05:00
ammarahm-ed
fc5b62ba61 mobile: remove editor flicker on app launch 2023-04-29 08:29:48 +05:00
ammarahm-ed
9d0a206240 mobile: fix editor not rendered when enter foreground 2023-04-29 08:29:48 +05:00
ammarahm-ed
ee6bbca18c mobile: only call verify biometrics once on focus 2023-04-29 05:47:05 +05:00
ammarahm-ed
e6d5472514 mobile: fix rerender crash 2023-04-29 05:46:06 +05:00
Abdullah Atta
1e5f13087b web: try to reconnect sync on window focus 2023-04-28 10:39:59 +05:00
Abdullah Atta
abb89ecbc3 web: bump version to 2.4.10 2023-04-27 15:15:46 +05:00
Abdullah Atta
aa168bec5e desktop: revert "desktop: remove custom protocol interception for https requests" 2023-04-27 15:14:30 +05:00
Abdullah Atta
f9116b22db web: bump version to 2.4.9 2023-04-27 13:16:01 +05:00
Abdullah Atta
5b957f5f0d web: fix Can't resolve './network.worker' error 2023-04-27 13:08:13 +05:00
Abdullah Atta
a578aae3dc web: wait for internet before running sync on device wake 2023-04-27 13:08:13 +05:00
Abdullah Atta
43e5d2fa2d editor: fix table properties tooltip text 2023-04-27 13:08:03 +05:00
Abdullah Atta
b58d034716 theme: use outline instead of boxShadow for input border 2023-04-27 12:59:26 +05:00
Abdullah Atta
3b77d79997 web: prevent pro users from resubscribing 2023-04-27 12:59:26 +05:00
Abdullah Atta
ef4c9af7dc web: rename setters from onXYZ to xyz 2023-04-27 12:59:26 +05:00
ammarahm-ed
8ba3cf172e mobile: release v2.4.14 2023-04-27 12:49:02 +05:00
ammarahm-ed
3e446ce9dd mobile: fix crash on get search items 2023-04-27 11:27:48 +05:00
ammarahm-ed
394aa98713 mobile: remove usage of lazy imports 2023-04-27 10:59:04 +05:00
Muhammad Ali
a2ac882a05 desktop: remove custom protocol interception for https requests (#2426) 2023-04-27 10:13:37 +05:00
ammarahm-ed
cae36487f9 mobile: fix notebook not updated on note 2023-04-27 09:38:44 +05:00
ammarahm-ed
fade5eddbf mobile: replace newline with paragraph in generated html 2023-04-27 08:32:09 +05:00
ammarahm-ed
66b2ffce31 mobile: fix webpack config 2023-04-27 08:32:09 +05:00
ammarahm-ed
13cd2d4daa mobile: refactor 2023-04-27 08:18:25 +05:00
ammarahm-ed
8442faeeb1 mobile: close editor on navigate to topic 2023-04-26 20:06:40 +05:00
Ammar Ahmed
6d18383b22 mobile: sync notes created from quick note/notification notes (#2428)
* mobile: sync quick notes

* Update apps/mobile/app/services/notifications.ts

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com>

* mobile: ensure full db init when sync is required

---------

Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com>
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-04-26 15:15:08 +05:00
2151 changed files with 457677 additions and 326952 deletions

View File

@@ -14,12 +14,16 @@ const SCOPES = [
"mobile",
"web",
"vericrypt",
"desktop",
"crypto",
"editor",
"logger",
"theme",
"server",
"core",
"fs",
"ui",
"clipper",
"config",
"ci",
@@ -27,7 +31,10 @@ const SCOPES = [
"docs",
"refactor",
"misc",
"global"
"common",
"global",
"docs",
"themebuilder"
];
module.exports = {

View File

@@ -15,6 +15,8 @@ apps/mobile/e2e/
# web
apps/web/public/an.js
apps/web/src/common/sqlite/wa-sqlite-async.js
apps/web/src/common/sqlite/wa-sqlite.js
# editor
packages/editor/styles/

View File

@@ -78,7 +78,13 @@ module.exports = {
semi: ["error", "always"],
"@typescript-eslint/no-empty-function": "off",
"react/prop-types": "off",
"header/header": ["error", "block", LICENSE, 1]
"header/header": ["error", "block", LICENSE, 1],
"@typescript-eslint/no-empty-interface": [
"error",
{
allowSingleExtends: true
}
]
},
settings: {
react: {

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
* text=auto eol=lf

View File

@@ -0,0 +1,26 @@
name: "Setup node with cache action"
description: "Setups node with cache"
runs:
using: "composite"
steps:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: "npm"
cache-dependency-path: |
package-lock.json
apps/mobile/package-lock.json
apps/desktop/package-lock.json
apps/web/package-lock.json
extensions/web-clipper/package-lock.json
packages/core/package-lock.json
packages/crypto/package-lock.json
packages/sodium/package-lock.json
packages/clipper/package-lock.json
packages/editor-mobile/package-lock.json
packages/editor/package-lock.json
packages/logger/package-lock.json
packages/streamable-fs/package-lock.json
packages/theme/package-lock.json

4
.github/dco.yml vendored
View File

@@ -1,4 +0,0 @@
allowRemediationCommits:
individual: true
require:
members: false

View File

@@ -6,59 +6,151 @@ jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 40
env:
CMAKE_C_COMPILER_LAUNCHER: ccache
CMAKE_CXX_COMPILER_LAUNCHER: ccache
NDK_CCACHE: ccache
USE_CCACHE: 1
steps:
- name: Checkout
uses: actions/checkout@v2
- uses: actions/setup-node@master
with:
node-version: '16'
cache: 'npm'
cache-dependency-path: |
apps/mobile/package-lock.json
apps/web/package-lock.json
packages/core/package-lock.json
packages/crypto/package-lock.json
packages/crypto-worker/package-lock.json
packages/editor-mobile/package-lock.json
packages/editor/package-lock.json
packages/logger/package-lock.json
packages/streamable-fs/package-lock.json
packages/theme/package-lock.json
- name: Setup Node
uses: ./.github/actions/setup-node-with-cache
- name: Use specific Java version for the builds
uses: joschi/setup-jdk@v2
with:
java-version: '11'
architecture: 'x64'
java-version: "11"
architecture: "x64"
- name: Install node modules
run: |
npm ci
npm ci --ignore-scripts --prefer-offline --no-audit
npm run bootstrap -- --scope=mobile
- name: Make Gradlew Executable
run: cd apps/mobile/native/android && chmod +x ./gradlew
- name: Install CCache
uses: hendrikmuhs/ccache-action@v1.2.11
with:
key: ${{ runner.os }}-ccache-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
max-size: 1500M
restore-keys: |
${{ runner.os }}-ccache-
- name: Setup CCache
run: |
ln -s $(which ccache) /usr/local/bin/gcc
ln -s $(which ccache) /usr/local/bin/g++
ln -s $(which ccache) /usr/local/bin/cc
ln -s $(which ccache) /usr/local/bin/c++
ln -s $(which ccache) /usr/local/bin/clang
ln -s $(which ccache) /usr/local/bin/clang++
ccache --set-config=base_dir=$PWD
ccache --set-config=inode_cache=true
ccache --set-config=compiler_check=content
ccache --set-config=depend_mode=true
ccache --set-config=file_clone=true
ccache --set-config=sloppiness=clang_index_store,file_stat_matches,include_file_ctime,include_file_mtime,ivfsoverlay,pch_defines,modules,system_headers,time_macros
ccache -p
- name: Cache gradle
uses: actions/cache@v2
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
- name: Patch CPP Projects to use CCache
run: |
sed -i -e 's/arguments/arguments "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache",/g' apps/mobile/node_modules/react-native-mmkv-storage/android/build.gradle
sed -i -e 's/arguments/arguments "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache",/g' apps/mobile/node_modules/react-native-reanimated/android/build.gradle
sed -i -e 's/defaultConfig {/ndkVersion safeExtGet('ndkVersion', "25.2.9519653")\n defaultConfig {/g' apps/mobile/node_modules/react-native-reanimated//android/build.gradle
sed -i -e 's/defaultConfig {/ndkVersion safeExtGet('ndkVersion', "25.2.9519653")\n defaultConfig {/g' apps/mobile/node_modules/react-native-mmkv-storage/android/build.gradle
- name: CCache Stats Before Build
run: ccache -sv
- name: Build unsigned app bundle
run: yarn release:android:bundle
- name: CCache Stats after build
run: ccache -sv
- name: Sign app bundle for Playstore release
id: sign_app
uses: r0adkll/sign-android-release@v1
uses: r0adkll/sign-android-release@master
with:
releaseDirectory: apps/mobile/native/android/app/build/outputs/bundle/release
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
alias: ${{ secrets.ALIAS }}
keyStorePassword: ${{ secrets.KEY_PASSWORD }}
keyPassword: ${{ secrets.KEY_PASSWORD }}
keyPassword: ${{ secrets.KEY_PASSWORD }}
env:
BUILD_TOOLS_VERSION: "33.0.0"
- name: Build apks for Github release
run: yarn release:android
- name: Sign apk files
id: sign_apk
uses: r0adkll/sign-android-release@master
with:
releaseDirectory: apps/mobile/native/android/app/build/outputs/apk/release
signingKeyBase64: ${{ secrets.PUBLIC_SIGNING_KEY }}
alias: ${{ secrets.PUBLIC_ALIAS }}
keyStorePassword: ${{ secrets.PUBLIC_KEY_PASSWORD }}
keyPassword: ${{ secrets.PUBLIC_KEY_PASSWORD }}
env:
BUILD_TOOLS_VERSION: "33.0.0"
- name: Rename apk files
run: |
cd apps/mobile/native/android/app/build/outputs/apk/release/
mv app-arm64-v8a-release-unsigned-signed.apk notesnook-arm64-v8a.apk
mv app-armeabi-v7a-release-unsigned-signed.apk notesnook-armeabi-v7a.apk
mv app-x86-release-unsigned-signed.apk notesnook-x86.apk
mv app-x86_64-release-unsigned-signed.apk notesnook-x86_64.apk
- name: Get app version
id: package-version
uses: martinbeentjes/npm-get-version-action@master
with:
path: apps/mobile
- name: Publish to Playstore
id: deploy
uses: r0adkll/upload-google-play@v1
uses: r0adkll/upload-google-play@v1.1.1
with:
serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }}
packageName: com.streetwriters.notesnook
releaseFile: ${{steps.sign_app.outputs.signedReleaseFile}}
track: internal
releaseFiles: ${{steps.sign_app.outputs.signedReleaseFile}}
track: alpha
status: completed
whatsNewDirectory: apps/mobile/native/android/releasenotes/
whatsNewDirectory: apps/mobile/native/android/releasenotes/
- name: Create release draft on Github
uses: softprops/action-gh-release@v1
with:
draft: true
tag_name: ${{ steps.package-version.outputs.current-version}}-beta-android
name: Notesnook Android v${{ steps.package-version.outputs.current-version}} Beta
repository: streetwriters/notesnook
token: ${{ secrets.GITHUB_TOKEN }}
files: |
apps/mobile/native/android/app/build/outputs/apk/release/notesnook-arm64-v8a.apk
apps/mobile/native/android/app/build/outputs/apk/release/notesnook-armeabi-v7a.apk
apps/mobile/native/android/app/build/outputs/apk/release/notesnook-x86.apk
apps/mobile/native/android/app/build/outputs/apk/release/notesnook-x86_64.apk
- name: Upload sourcemaps
uses: actions/upload-artifact@v4
with:
name: sourcemaps
path: |
apps/mobile/native/android/app/build/**/*.map
packages/editor-mobile/sourcemaps/*.map

View File

@@ -1,4 +1,4 @@
name: Publish @notesnook/mobile
name: Publish @notesnook/android
on: workflow_dispatch
@@ -6,62 +6,92 @@ jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 40
env:
CMAKE_C_COMPILER_LAUNCHER: ccache
CMAKE_CXX_COMPILER_LAUNCHER: ccache
NDK_CCACHE: ccache
USE_CCACHE: 1
steps:
- name: Checkout
uses: actions/checkout@v2
- uses: actions/setup-node@master
with:
node-version: '16'
cache: 'npm'
cache-dependency-path: |
apps/mobile/package-lock.json
apps/web/package-lock.json
packages/core/package-lock.json
packages/crypto/package-lock.json
packages/crypto-worker/package-lock.json
packages/editor-mobile/package-lock.json
packages/editor/package-lock.json
packages/logger/package-lock.json
packages/streamable-fs/package-lock.json
packages/theme/package-lock.json
- name: Setup Node
uses: ./.github/actions/setup-node-with-cache
- name: Use specific Java version for the builds
uses: joschi/setup-jdk@v2
with:
java-version: '11'
architecture: 'x64'
java-version: "11"
architecture: "x64"
- name: Install node modules
run: |
npm ci
npm ci --ignore-scripts --prefer-offline --no-audit
npm run bootstrap -- --scope=mobile
- name: Make Gradlew Executable
run: cd apps/mobile/native/android && chmod +x ./gradlew
- name: Install CCache
uses: hendrikmuhs/ccache-action@v1.2.11
with:
key: ${{ runner.os }}-ccache-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
max-size: 1500M
restore-keys: |
${{ runner.os }}-ccache-
- name: Setup CCache
run: |
ln -s $(which ccache) /usr/local/bin/gcc
ln -s $(which ccache) /usr/local/bin/g++
ln -s $(which ccache) /usr/local/bin/cc
ln -s $(which ccache) /usr/local/bin/c++
ln -s $(which ccache) /usr/local/bin/clang
ln -s $(which ccache) /usr/local/bin/clang++
ccache --set-config=base_dir=$PWD
ccache --set-config=inode_cache=true
ccache --set-config=compiler_check=content
ccache --set-config=depend_mode=true
ccache --set-config=file_clone=true
ccache --set-config=sloppiness=clang_index_store,file_stat_matches,include_file_ctime,include_file_mtime,ivfsoverlay,pch_defines,modules,system_headers,time_macros
ccache -p
- name: Cache gradle
uses: actions/cache@v2
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
- name: Patch CPP Projects to use CCache
run: |
sed -i -e 's/arguments/arguments "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache",/g' apps/mobile/node_modules/react-native-mmkv-storage/android/build.gradle
sed -i -e 's/arguments/arguments "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache",/g' apps/mobile/node_modules/react-native-reanimated/android/build.gradle
sed -i -e 's/defaultConfig {/ndkVersion safeExtGet('ndkVersion', "25.2.9519653")\n defaultConfig {/g' apps/mobile/node_modules/react-native-reanimated//android/build.gradle
sed -i -e 's/defaultConfig {/ndkVersion safeExtGet('ndkVersion', "25.2.9519653")\n defaultConfig {/g' apps/mobile/node_modules/react-native-mmkv-storage/android/build.gradle
- name: CCache Stats Before Build
run: ccache -sv
- name: Build unsigned app bundle
run: yarn release:android:bundle
- name: CCache Stats after build
run: ccache -sv
- name: Sign app bundle for Playstore release
id: sign_app
uses: r0adkll/sign-android-release@v1
uses: r0adkll/sign-android-release@master
with:
releaseDirectory: apps/mobile/native/android/app/build/outputs/bundle/release
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
alias: ${{ secrets.ALIAS }}
keyStorePassword: ${{ secrets.KEY_PASSWORD }}
keyPassword: ${{ secrets.KEY_PASSWORD }}
- name: Publish to Playstore
id: deploy
uses: r0adkll/upload-google-play@v1.1.1
with:
serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }}
packageName: com.streetwriters.notesnook
releaseFiles: ${{steps.sign_app.outputs.signedReleaseFile}}
track: production
status: completed
whatsNewDirectory: apps/mobile/native/android/releasenotes/
keyPassword: ${{ secrets.KEY_PASSWORD }}
env:
BUILD_TOOLS_VERSION: "33.0.0"
- name: Build apks for Github release
run: yarn release:android
@@ -74,7 +104,9 @@ jobs:
signingKeyBase64: ${{ secrets.PUBLIC_SIGNING_KEY }}
alias: ${{ secrets.PUBLIC_ALIAS }}
keyStorePassword: ${{ secrets.PUBLIC_KEY_PASSWORD }}
keyPassword: ${{ secrets.PUBLIC_KEY_PASSWORD }}
keyPassword: ${{ secrets.PUBLIC_KEY_PASSWORD }}
env:
BUILD_TOOLS_VERSION: "33.0.0"
- name: Rename apk files
run: |
@@ -90,6 +122,17 @@ jobs:
with:
path: apps/mobile
- name: Publish to Playstore
id: deploy
uses: r0adkll/upload-google-play@v1.1.1
with:
serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }}
packageName: com.streetwriters.notesnook
releaseFiles: ${{steps.sign_app.outputs.signedReleaseFile}}
track: production
status: completed
whatsNewDirectory: apps/mobile/native/android/releasenotes/
- name: Create release draft on Github
uses: softprops/action-gh-release@v1
with:
@@ -102,4 +145,12 @@ jobs:
apps/mobile/native/android/app/build/outputs/apk/release/notesnook-arm64-v8a.apk
apps/mobile/native/android/app/build/outputs/apk/release/notesnook-armeabi-v7a.apk
apps/mobile/native/android/app/build/outputs/apk/release/notesnook-x86.apk
apps/mobile/native/android/app/build/outputs/apk/release/notesnook-x86_64.apk
apps/mobile/native/android/app/build/outputs/apk/release/notesnook-x86_64.apk
- name: Upload sourcemaps
uses: actions/upload-artifact@v4
with:
name: sourcemaps
path: |
apps/mobile/native/android/app/build/**/*.map
packages/editor-mobile/sourcemaps/*.map

View File

@@ -8,7 +8,7 @@ on:
paths:
- "packages/core/**"
# re-run workflow if workflow file changes
- ".github/workflows/core.tests.yml"
- ".github/workflows/core.tests.yml"
pull_request:
types:
- "ready_for_review"
@@ -24,25 +24,12 @@ jobs:
- uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16.x
cache: "npm"
cache-dependency-path: |
apps/mobile/package-lock.json
apps/web/package-lock.json
packages/core/package-lock.json
packages/crypto/package-lock.json
packages/crypto-worker/package-lock.json
packages/editor-mobile/package-lock.json
packages/editor/package-lock.json
packages/logger/package-lock.json
packages/streamable-fs/package-lock.json
packages/theme/package-lock.json
uses: ./.github/actions/setup-node-with-cache
- name: Prepare environment
run: |
npm ci --prefer-offline --no-audit
npm ci --ignore-scripts --prefer-offline --no-audit
npm run bootstrap -- --scope=core
- name: Add environment variables
run: |
echo "USER_EMAIL=${{ secrets.USER_EMAIL }}" >> $GITHUB_ENV

View File

@@ -18,6 +18,21 @@ on:
required: true
default: true
description: "Publish on GitHub releases?"
build-windows:
type: boolean
required: true
default: true
description: "Build for Windows?"
build-linux:
type: boolean
required: true
default: true
description: "Build for Linux?"
build-mac:
type: boolean
required: true
default: true
description: "Build for macOS?"
jobs:
build:
@@ -28,26 +43,12 @@ jobs:
uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16.x
cache: "npm"
cache-dependency-path: |
apps/mobile/package-lock.json
apps/web/package-lock.json
packages/core/package-lock.json
packages/crypto/package-lock.json
packages/crypto-worker/package-lock.json
packages/editor-mobile/package-lock.json
packages/editor/package-lock.json
packages/logger/package-lock.json
packages/streamable-fs/package-lock.json
packages/theme/package-lock.json
uses: ./.github/actions/setup-node-with-cache
- name: Install packages
run: |
npm i --ignore-scripts --prefer-offline --no-audit
npx lerna bootstrap --ignore=@notesnook/mobile -- --prefer-offline --no-audit
npm ci --ignore-scripts --prefer-offline --no-audit
npm run bootstrap -- --scope=web
- name: Setup environment
run: |
@@ -57,14 +58,14 @@ jobs:
run: npx nx build:desktop @notesnook/web
- name: Archive build artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: build
path: apps/web/build/**/*
- name: Collect app metadata
id: app_metadata
working-directory: ./apps/web/desktop
working-directory: ./apps/desktop
run: |
echo ::set-output name=app_version::$(cat package.json | jq -r .version)
@@ -81,16 +82,24 @@ jobs:
name: Notesnook Desktop v${{ steps.app_metadata.outputs.app_version }}
tag_name: v${{ steps.app_metadata.outputs.app_version }}
files: ./notesnook_build_v${{ steps.app_metadata.outputs.app_version }}.zip
prerelease: ${{ endsWith(steps.app_metadata.outputs.app_version, '-beta') }}
build-macos:
name: Build for macOS
needs: build
runs-on: macos-12
if: inputs.build-mac
runs-on: macos-14
steps:
- name: Check out Git repository
uses: actions/checkout@v3
- name: Setup Node
uses: ./.github/actions/setup-node-with-cache
- name: Install setuptools
run: brew install python-setuptools
- name: Setup notarization
run: |
mkdir -p ~/private_keys/
@@ -98,16 +107,17 @@ jobs:
- name: Collect app metadata
id: app_metadata
working-directory: ./apps/web/desktop
working-directory: ./apps/desktop
run: |
echo ::set-output name=apple_app_id::$(cat package.json | jq -r .appAppleId)
echo ::set-output name=app_bundle_id::$(cat package.json | jq -r .build.appId)
echo ::set-output name=app_version::$(cat package.json | jq -r .version)
echo ::set-output name=bundle_version::$(cat package.json | jq -r .build.mac.bundleVersion)
- name: Get App Store Version
id: appstore
uses: streetwriters/appstore-connect-app-version@develop
if: inputs.publish-apple
with:
app-id: ${{ steps.app_metadata.outputs.apple_app_id }}
key-id: ${{ secrets.api_key_id }}
@@ -115,26 +125,20 @@ jobs:
private-key-raw: ${{ secrets.api_key }}
platform: "MAC_OS"
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16.x
- name: Download build
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: build
path: ./apps/web/desktop/build
path: ./apps/web/build
- name: Install packages
run: |
npm i
npm i dmg-license
working-directory: ./apps/web/desktop
npm ci --ignore-scripts --prefer-offline --no-audit
npm run bootstrap -- --scope=desktop
- name: Install provisioning profile
run: echo "${{ secrets.MAC_PROVISIONING_PROFILE }}" | base64 --decode > embedded.provisionprofile
working-directory: ./apps/web/desktop
working-directory: ./apps/desktop
- name: Build app for Mac App Store
if: inputs.publish-apple && steps.appstore.outputs.app-version-latest != steps.app_metadata.outputs.app_version
@@ -142,9 +146,9 @@ jobs:
CSC_LINK: ${{ secrets.mac_certs }}
CSC_KEY_PASSWORD: ${{ secrets.mac_certs_password }}
run: |
npm run build:mas
npx electron-builder --mac mas --universal -p never
working-directory: ./apps/web/desktop
npx nx run release --project @notesnook/desktop -- --variant=mas
yarn electron-builder --mac mas --universal -p never
working-directory: ./apps/desktop
- name: Build zip and dmg
env:
@@ -153,38 +157,42 @@ jobs:
CSC_KEY_PASSWORD: ${{ secrets.mac_certs_password }}
APPLE_API_KEY: ~/private_keys/AuthKey_${{ secrets.api_key_id }}.p8
APPLE_API_KEY_ID: ${{ secrets.api_key_id }}
APPLE_API_KEY_ISSUER: ${{ secrets.api_key_issuer_id }}
APPLE_API_ISSUER: ${{ secrets.api_key_issuer_id }}
run: |
npm run build
npx nx run release --project @notesnook/desktop
if [ ${{ inputs.publish-github }} == true ]; then
npx electron-builder --mac zip dmg --arm64 --x64 -p always
yarn electron-builder --mac zip dmg --arm64 --x64 -p always
else
npx electron-builder --mac zip dmg --arm64 --x64 -p never
yarn electron-builder --mac zip dmg --arm64 --x64 -p never
fi
working-directory: ./apps/web/desktop
working-directory: ./apps/desktop
- name: Deploy to Testflight
if: inputs.publish-apple && steps.appstore.outputs.app-version-latest != steps.app_metadata.outputs.app_version
env:
API_KEY_ID: ${{ secrets.api_key_id }}
API_KEY_ISSUER_ID: ${{ secrets.api_key_issuer_id }}
run: |
package=$(find ./dist/mas-universal/notesnook*.pkg)
run: |
package=$(find ./output/mas-universal/notesnook*.pkg)
echo "Uploading ${package} using altool..."
xcrun altool --upload-package $package -t osx --apiKey $API_KEY_ID --apiIssuer $API_KEY_ISSUER_ID --apple-id ${{ steps.app_metadata.outputs.apple_app_id }} --bundle-id ${{ steps.app_metadata.outputs.app_bundle_id }} --bundle-short-version-string ${{ steps.app_metadata.outputs.app_version }} --bundle-version ${{ steps.app_metadata.outputs.bundle_version }}
working-directory: ./apps/web/desktop
working-directory: ./apps/desktop
build-linux:
name: Build for Linux
needs: build
if: inputs.build-linux
runs-on: ubuntu-22.04
steps:
- name: Check out Git repository
uses: actions/checkout@v3
- name: Setup Node
uses: ./.github/actions/setup-node-with-cache
- name: Setup Snapcraft Auth
if: inputs.publish-snap
run: echo "SNAPCRAFT_STORE_CREDENTIALS=${{ secrets.snapcraft_token }}" >> $GITHUB_ENV
@@ -192,84 +200,91 @@ jobs:
- name: Install Snapcraft
uses: samuelmeuli/action-snapcraft@v1
if: inputs.publish-snap
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16.x
- name: Download build
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: build
path: ./apps/web/desktop/build
path: ./apps/web/build
- name: Install packages
run: npm i
working-directory: ./apps/web/desktop
run: |
npm ci --ignore-scripts --prefer-offline --no-audit
npm run bootstrap -- --scope=desktop
- name: Build Electron wrapper
run: npm run build
working-directory: ./apps/web/desktop
run: npx nx run release --project @notesnook/desktop
working-directory: ./apps/desktop
- name: Build snap
if: inputs.publish-snap
run: |
npx electron-builder --linux snap:x64 -p never
working-directory: ./apps/web/desktop
yarn electron-builder --linux snap:x64 -p never
working-directory: ./apps/desktop
- name: Build AppImage
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
if [ ${{ inputs.publish-github }} == true ]; then
npx electron-builder --linux AppImage:x64 AppImage:arm64 -p always
yarn electron-builder --linux AppImage:x64 AppImage:arm64 -p always
else
npx electron-builder --linux AppImage:x64 AppImage:arm64 -p never
yarn electron-builder --linux AppImage:x64 AppImage:arm64 -p never
fi
working-directory: ./apps/web/desktop
working-directory: ./apps/desktop
- name: Publish on Snapcraft
if: inputs.publish-snap
run: |
snapcraft upload --release=stable ./dist/notesnook_linux_amd64.snap
working-directory: ./apps/web/desktop
snapcraft upload --release=stable ./output/notesnook_linux_amd64.snap
working-directory: ./apps/desktop
build-windows:
name: Build for Windows
needs: build
if: inputs.build-windows
runs-on: windows-latest
steps:
- name: Check out Git repository
uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
- name: Setup .NET Core SDK
uses: actions/setup-dotnet@v2
with:
node-version: 16.x
dotnet-version: 6.0.x
- name: Install TrustedSigning
run: Install-Module -Name TrustedSigning -RequiredVersion 0.3.15 -Force -Repository PSGallery
shell: pwsh
- name: Setup Node
uses: ./.github/actions/setup-node-with-cache
- name: Download build
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: build
path: ./apps/web/desktop/build
path: ./apps/web/build
- name: Install packages
run: npm i
working-directory: ./apps/web/desktop
run: |
npm ci --ignore-scripts --prefer-offline --no-audit
npm run bootstrap -- --scope=desktop
- name: Build Electron wrapper
run: npm run build
working-directory: ./apps/web/desktop
- name: Build
run: npx nx run release --project @notesnook/desktop
- name: Build app
- name: Publish
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
run: |
if ($${{ inputs.publish-github }} -eq $true) {
npx electron-builder --win --publish always
yarn electron-builder --win --publish always
} else {
npx electron-builder --win --publish never
yarn electron-builder --win --publish never
}
working-directory: ./apps/web/desktop
working-directory: ./apps/desktop

View File

@@ -25,26 +25,12 @@ jobs:
uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16.x
cache: "npm"
cache-dependency-path: |
apps/mobile/package-lock.json
apps/web/package-lock.json
packages/core/package-lock.json
packages/crypto/package-lock.json
packages/crypto-worker/package-lock.json
packages/editor-mobile/package-lock.json
packages/editor/package-lock.json
packages/logger/package-lock.json
packages/streamable-fs/package-lock.json
packages/theme/package-lock.json
uses: ./.github/actions/setup-node-with-cache
- name: Install packages
run: |
npm i --ignore-scripts --prefer-offline --no-audit
npx lerna bootstrap --ignore=@notesnook/mobile -- --prefer-offline --no-audit
npm ci --ignore-scripts --prefer-offline --no-audit
npm run bootstrap -- --scope=editor
- name: Setup environment
run: |

35
.github/workflows/help.publish.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
name: Publish Notesnook Help
on:
workflow_dispatch:
push:
branches:
- "master"
paths:
- "docs/help/**"
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Install docgen
run: cargo install --git https://github.com/thecodrr/docgen
- name: Build site
run: docgen build --release
working-directory: docs/help
- name: Setup environment
run: |
echo "CLOUDFLARE_ACCOUNT_ID=${{ secrets.CLOUDFLARE_ACCOUNT_ID }}" >> $GITHUB_ENV
echo "CLOUDFLARE_API_TOKEN=${{ secrets.CLOUDFLARE_API_TOKEN }}" >> $GITHUB_ENV
- name: Publish on Cloudflare Pages
run: npx --yes wrangler pages deploy --project-name notesnook-help ./docs/help/site/ --branch main

107
.github/workflows/ios.publish.yml vendored Normal file
View File

@@ -0,0 +1,107 @@
name: Publish @notesnook/ios
on: workflow_dispatch
jobs:
build:
runs-on: macos-13
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Node
uses: ./.github/actions/setup-node-with-cache
- name: Install node modules
run: |
npm ci --ignore-scripts --prefer-offline --no-audit
npm run bootstrap -- --scope=mobile
- name: Build packages
run: npx nx run @notesnook/mobile:build
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2.11
with:
key: ${{ runner.os }}-ccache-${{ hashFiles(format('apps/mobile/native/ios/Podfile.lock')) }}
max-size: 1500M
restore-keys: |
${{ runner.os }}-ccache-
- name: Setup ccache
run: |
ccache --set-config=base_dir=$PWD
ccache --set-config=inode_cache=true
ccache --set-config=compiler_check=content
ccache --set-config=depend_mode=true
ccache --set-config=file_clone=true
ccache --set-config=sloppiness=clang_index_store,file_stat_matches,include_file_ctime,include_file_mtime,ivfsoverlay,pch_defines,modules,system_headers,time_macros
ln -s $(which ccache) /usr/local/bin/gcc
ln -s $(which ccache) /usr/local/bin/g++
ln -s $(which ccache) /usr/local/bin/cc
ln -s $(which ccache) /usr/local/bin/c++
ln -s $(which ccache) /usr/local/bin/clang
ln -s $(which ccache) /usr/local/bin/clang++
ccache -p
- name: Cache Pods
uses: actions/cache@v2
id: pods-cache
with:
path: apps/mobile/native/ios/Pods
key: ${{ runner.os }}-pods-${{ hashFiles('apps/mobile/native/ios/Podfile.lock') }}
- name: Install Pods
run: npm run prepare:ios
- name: CCache Stats Before Build
run: ccache -sv
- name: Build iOS App
uses: ammarahm-ed/ios-build-action@master
with:
bundle-identifier: org.streetwriters.notesnook
scheme: Notesnook
configuration: "Release"
export-options: apps/mobile/native/ios/ExportOptions.plist
project-path: apps/mobile/native/ios/Notesnook.xcodeproj
workspace-path: apps/mobile/native/ios/Notesnook.xcworkspace
update-targets: |
Notesnook
Make Note
NotesWidgetExtension
disable-targets: Notesnook-tvOS,Notesnook-tvOSTests,NotesnookTests
code-signing-identity: Apple Distribution
team-id: ${{ secrets.APPLE_TEAM_ID }}
p12-base64: ${{ secrets.APPLE_CERTIFICATE_P12 }}
certificate-password: ${{ secrets.APPLE_CERTIFICATE_P12_PASSWORD }}
app-store-connect-api-key-issuer-id: ${{ secrets.API_KEY_ISSUER_ID }}
app-store-connect-api-key-id: ${{ secrets.APPSTORE_KEY_ID }}
app-store-connect-api-key-base64: ${{ secrets.APPSTORE_CONNECT_API_KEY_BASE64 }}
output-path: Notesnook.ipa
mobileprovision-base64: |
${{ secrets.APPLE_MOBILE_PROVISION_APP }}
${{ secrets.APPLE_MOBILE_PROVISION_SHARE }}
${{ secrets.APPLE_MOBILE_PROVISION_WIDGET }}
- name: CCache Stats After Build
run: ccache -sv
- name: "Upload app to TestFlight"
uses: apple-actions/upload-testflight-build@v1
with:
app-path: Notesnook.ipa
issuer-id: ${{ secrets.API_KEY_ISSUER_ID }}
api-key-id: ${{ secrets.API_KEY_ID }}
api-private-key: ${{ secrets.API_KEY }}
- name: Upload Notesnook.ipa to Github
uses: actions/upload-artifact@v4
with:
name: Notesnook.zip
path: |
Notesnook.ipa
apps/mobile/native/ios/**/*.map
packages/editor-mobile/sourcemaps/*.map

View File

@@ -11,4 +11,4 @@ jobs:
steps:
- name: Run ats-diagnostics
run: nscurl --ats-diagnostics https://payments.streetwriters.co
run: nscurl --ats-diagnostics https://payments.streetwriters.co

View File

@@ -0,0 +1,31 @@
name: Publish @notesnook/theme-builder
on: workflow_dispatch
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Node
uses: ./.github/actions/setup-node-with-cache
- name: Install packages
run: |
npm ci --ignore-scripts --prefer-offline --no-audit
npm run bootstrap -- --scope=themebuilder
- name: Setup environment
run: |
echo "NX_CLOUD_ACCESS_TOKEN=${{ secrets.NX_CLOUD_ACCESS_TOKEN }}" >> $GITHUB_ENV
echo "CLOUDFLARE_ACCOUNT_ID=${{ secrets.CLOUDFLARE_ACCOUNT_ID }}" >> $GITHUB_ENV
echo "CLOUDFLARE_API_TOKEN=${{ secrets.CLOUDFLARE_API_TOKEN }}" >> $GITHUB_ENV
- name: Generate build
run: npm run build:theme-builder
- name: Publish to Cloudflare Pages
run: npx --yes wrangler pages deploy --project-name=notesnook-theme-builder ./apps/theme-builder/build/

31
.github/workflows/vericrypt.publish.yml vendored Normal file
View File

@@ -0,0 +1,31 @@
name: Publish @notesnook/vericrypt
on: workflow_dispatch
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Node
uses: ./.github/actions/setup-node-with-cache
- name: Install packages
run: |
npm ci --ignore-scripts --prefer-offline --no-audit
npm run bootstrap -- --scope=vericrypt
- name: Setup environment
run: |
echo "NX_CLOUD_ACCESS_TOKEN=${{ secrets.NX_CLOUD_ACCESS_TOKEN }}" >> $GITHUB_ENV
echo "CLOUDFLARE_ACCOUNT_ID=${{ secrets.CLOUDFLARE_ACCOUNT_ID }}" >> $GITHUB_ENV
echo "CLOUDFLARE_API_TOKEN=${{ secrets.CLOUDFLARE_API_TOKEN }}" >> $GITHUB_ENV
- name: Generate build
run: npm run build:vericrypt
- name: Publish on Cloudflare Pages
run: npx --yes wrangler pages deploy --project-name=vericrypt ./apps/vericrypt/build/

View File

@@ -11,26 +11,12 @@ jobs:
uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16.x
cache: "npm"
cache-dependency-path: |
apps/mobile/package-lock.json
apps/web/package-lock.json
packages/core/package-lock.json
packages/crypto/package-lock.json
packages/crypto-worker/package-lock.json
packages/editor-mobile/package-lock.json
packages/editor/package-lock.json
packages/logger/package-lock.json
packages/streamable-fs/package-lock.json
packages/theme/package-lock.json
uses: ./.github/actions/setup-node-with-cache
- name: Install packages
run: |
npm i --ignore-scripts --prefer-offline --no-audit
npx lerna bootstrap --ignore=@notesnook/mobile -- --prefer-offline --no-audit
npm ci --ignore-scripts --prefer-offline --no-audit
npm run bootstrap -- --scope=web
- name: Setup environment
run: |
@@ -38,8 +24,8 @@ jobs:
echo "CLOUDFLARE_ACCOUNT_ID=${{ secrets.CLOUDFLARE_ACCOUNT_ID }}" >> $GITHUB_ENV
echo "CLOUDFLARE_API_TOKEN=${{ secrets.CLOUDFLARE_API_TOKEN }}" >> $GITHUB_ENV
- name: Generate desktop build
- name: Generate build
run: npm run build:web
- name: Publish on Cloudflare Pages
run: npx --yes wrangler pages publish --project-name=notesnook-app ./apps/web/build/
- name: Publish to Cloudflare Pages
run: npx --yes wrangler pages deploy --project-name=notesnook-app ./apps/web/build/

View File

@@ -25,26 +25,12 @@ jobs:
uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16.x
cache: "npm"
cache-dependency-path: |
apps/mobile/package-lock.json
apps/web/package-lock.json
packages/core/package-lock.json
packages/crypto/package-lock.json
packages/crypto-worker/package-lock.json
packages/editor-mobile/package-lock.json
packages/editor/package-lock.json
packages/logger/package-lock.json
packages/streamable-fs/package-lock.json
packages/theme/package-lock.json
uses: ./.github/actions/setup-node-with-cache
- name: Install packages
run: |
npm i --ignore-scripts --prefer-offline --no-audit
npx lerna bootstrap --ignore=@notesnook/mobile -- --prefer-offline --no-audit
npm ci --ignore-scripts --prefer-offline --no-audit
npm run bootstrap -- --scope=web
- name: Setup environment
run: |
@@ -54,7 +40,7 @@ jobs:
run: npm run build:test:web
- name: Archive build artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: build
path: apps/web/build/**/*
@@ -70,32 +56,18 @@ jobs:
uses: actions/checkout@v3
- name: Download build
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: build
path: ./apps/web/build
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16.x
cache: "npm"
cache-dependency-path: |
apps/mobile/package-lock.json
apps/web/package-lock.json
packages/core/package-lock.json
packages/crypto/package-lock.json
packages/crypto-worker/package-lock.json
packages/editor-mobile/package-lock.json
packages/editor/package-lock.json
packages/logger/package-lock.json
packages/streamable-fs/package-lock.json
packages/theme/package-lock.json
uses: ./.github/actions/setup-node-with-cache
- name: Install packages
run: |
npm i --ignore-scripts --prefer-offline --no-audit
npm install -D @playwright/test otplib
npm ci --ignore-scripts --prefer-offline --no-audit
npm install -D @playwright/test otplib dayjs @zip.js/zip.js
- name: Validate build extraction
run: ls -ld ./apps/web/build/index.html
@@ -116,7 +88,7 @@ jobs:
working-directory: apps/web
- name: Upload test results
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-results-${{ matrix.shard }}

5
.gitignore vendored
View File

@@ -7,4 +7,7 @@ nx-cloud.env
.idea
.eslintcache
.env.local
.nyc_output
.nyc_output
site
node_modules.backup
.nx

View File

@@ -11,4 +11,5 @@ apps/mobile/native/
apps/web/public/an.js
# editor
packages/editor/styles/
packages/editor/styles/
/.nx/cache

View File

@@ -5,5 +5,6 @@ module.exports = {
printWidth: 80,
useTabs: false,
tabWidth: 2,
bracketSpacing: true
bracketSpacing: true,
endOfLine: "lf"
};

View File

@@ -1,72 +0,0 @@
{
"folders": [
{
"name": "✨ notesnook",
"path": ".."
},
{
"name": "🚀 @notesnook/mobile",
"path": "../apps/mobile"
},
{
"name": "🚀 @notesnook/web",
"path": "../apps/web"
},
{
"name": "🚀 @notesnook/desktop",
"path": "../apps/web/desktop"
},
{
"name": "🚀 @notesnook/web-clipper",
"path": "../extensions/web-clipper"
},
{
"name": "📦 @notesnook/clipper",
"path": "../packages/clipper"
},
{
"name": "📦 @notesnook/core",
"path": "../packages/core"
},
{
"name": "📦 @notesnook/crypto",
"path": "../packages/crypto"
},
{
"name": "📦 @notesnook/crypto-worker",
"path": "../packages/crypto-worker"
},
{
"name": "📦 @notesnook/editor",
"path": "../packages/editor"
},
{
"name": "📦 @notesnook/editor-mobile",
"path": "../packages/editor-mobile"
},
{
"name": "📦 @notesnook/logger",
"path": "../packages/logger"
},
{
"name": "📦 @notesnook/streamable-fs",
"path": "../packages/streamable-fs"
},
{
"name": "📦 @notesnook/theme",
"path": "../packages/theme"
}
],
"settings": {
"typescript.tsdk": "node_modules/typescript/lib",
"javascript.format.enable": true,
"editor.formatOnSave": true,
"editor.formatOnSaveMode": "modificationsIfAvailable",
"eslint.packageManager": "npm",
"eslint.run": "onSave",
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"eslint.execArgv": ["--cache"]
}
}

15
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,15 @@
{
"files.eol": "\n",
"typescript.tsdk": "node_modules/typescript/lib",
"editor.formatOnSave": true,
"editor.formatOnSaveMode": "file",
"eslint.run": "onSave",
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"eslint.options": {
"cache": true,
"cacheStrategy": "content"
},
"git.rebaseWhenSync": true
}

View File

@@ -103,7 +103,7 @@ All commits must include valid scopes in the commit message. **Valid commit scop
**Packages:**
1. `crypto`: changes related to the cryptographic core (including `@notesnook/crypto-worker`)
1. `crypto`: changes related to the cryptographic core
2. `editor`: changes related to the editor (including `@notesnook/editor-mobile`)
3. `logger`: changes related to the logger
4. `theme`: changes related to the theme

View File

@@ -25,25 +25,29 @@ Notesnook is built using the following technologies:
1. JavaScript/Typescript — this repo is in a hybrid state. A lot of the newer code is being written in Typescript & the old code is slowly being ported over.
2. React — the whole front-end across all platforms is built using React.
3. React Native — For mobile apps we are using React Native
4. NPM — listed here because we **don't** use Yarn or PNPM or XYZ across any of our projects.
5. Lerna & Nx — maintaining monorepos is hard but Nx makes it easier.
4. Electron — For desktop app
5. NPM — listed here because we **don't** use Yarn or PNPM or XYZ across any of our projects.
6. Nx — maintaining monorepos is hard but Nx makes it easier.
> **Note: Each project in the monorepo contains its own architecture details which you can refer to.**
### Monorepo structure
| Name | Path | Description |
| -------------------------- | -------------------------------------------------- | ----------------------------------------------------------------- |
| `@notesnook/web` | [/apps/web](/apps/web) | Web/Desktop clients |
| `@notesnook/mobile` | [/apps/mobile](/apps/mobile) | Android/iOS clients |
| `@notesnook/core` | [/packages/core](/packages/core) | Shared core between all platforms |
| `@notesnook/crypto` | [/packages/crypto](/packages/crypto) | Cryptography library wrapper around libsodium |
| `@notesnook/editor` | [/packages/editor](/packages/editor) | Notesnook editor + all extensions |
| `@notesnook/editor-mobile` | [/packages/editor-mobile](/packages/editor-mobile) | A very thin wrapper around `@notesnook/editor` for mobile clients |
| `@notesnook/logger` | [/packages/logger](/packages/logger) | Simple & pluggable logger |
| `@notesnook/crypto-worker` | [/packages/crypto-worker](/packages/crypto-worker) | Helpers to use `@notesnook/crypto` from a Worker |
| `@notesnook/streamable-fs` | [/packages/streamable-fs](/packages/streamable-fs) | Streaming interface around an IndexedDB based file system |
| `@notesnook/theme` | [/packages/theme](/packages/theme) | The core theme used in web & desktop clients |
| Name | Path | Description |
| -------------------------- | -------------------------------------------------- | -------------------------------------------------------------------- |
| `@notesnook/web` | [/apps/web](/apps/web) | Web client |
| `@notesnook/desktop` | [/apps/desktop](/apps/desktop) | Desktop client |
| `@notesnook/mobile` | [/apps/mobile](/apps/mobile) | Android/iOS clients |
| `@notesnook/web-clipper` | [/extensions/web-clipper](/extensions/web-clipper) | Web clipper |
| `@notesnook/core` | [/packages/core](/packages/core) | Shared core between all platforms |
| `@notesnook/crypto` | [/packages/crypto](/packages/crypto) | Cryptography library wrapper around libsodium |
| `@notesnook/clipper` | [/packages/clipper](/packages/clipper) | Web clipper core handling everything related to actual page clipping |
| `@notesnook/editor` | [/packages/editor](/packages/editor) | Notesnook editor + all extensions |
| `@notesnook/editor-mobile` | [/packages/editor-mobile](/packages/editor-mobile) | A very thin wrapper around `@notesnook/editor` for mobile clients |
| `@notesnook/logger` | [/packages/logger](/packages/logger) | Simple & pluggable logger |
| `@notesnook/sodium` | [/packages/sodium](/packages/sodium) | Wrapper around libsodium to support Node.js & Browser |
| `@notesnook/streamable-fs` | [/packages/streamable-fs](/packages/streamable-fs) | Streaming interface around an IndexedDB based file system |
| `@notesnook/theme` | [/packages/theme](/packages/theme) | The core theme used in web & desktop clients |
### Contributing guidelines

5
apps/desktop/.gitignore vendored Normal file
View File

@@ -0,0 +1,5 @@
node_modules
build
output
dist
_catalog

58
apps/desktop/README.md Normal file
View File

@@ -0,0 +1,58 @@
<p align="center">
<img style="align:center;" src="/resources/screenshots/web.jpg" alt="Notesnook desktop screenshot" width="600" />
</p>
<h1 align="center">Notesnook Desktop</h1>
<h3 align="center">The desktop app is built using Electron & Typescript.</h3>
<p align="center">
<a href="https://notesnook.com/downloads">Downloads</a> | <a href="#developer-guide">Developer guide</a> | <a href="#build-instructions">How to build?</a>
</p>
## Getting started
## Build instructions
> **Before you start, it is recommended that you read [the contributing guidelines](/CONTRIBUTING.md).**
### Setting up the development environment
Requirements:
1. [Node.js](https://nodejs.org/en/download/)
2. [git](https://git-scm.com/downloads)
3. NPM (not yarn or pnpm)
Before you can do anything, you'll need to [install Node.js](https://nodejs.org/en/download/) v16 or later on your system.
Once you have completed the setup, the first step is to `clone` the monorepo:
```bash
git clone https://github.com/streetwriters/notesnook.git
# change directory
cd notesnook
```
Once you are inside the `./notesnook` directory, run the preparation step:
```bash
# this might take a while to complete
npm install
```
Now you can finally start the desktop app:
```bash
npm run start:desktop
```
## Developer guide
### The tech stack
We try to keep the stack as lean as possible:
1. Electron
2. tRPC: for cross-communication between the web & desktop parts
3. zod: for runtime typechecking
4. yargs: for CLI argument parsing

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 543 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 763 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@@ -0,0 +1,3 @@
owner: streetwriters
repo: notesnook
provider: github

58
apps/desktop/global.d.ts vendored Normal file
View File

@@ -0,0 +1,58 @@
/*
This file is part of the Notesnook project (https://notesnook.com/)
Copyright (C) 2023 Streetwriters (Private) Limited
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* eslint-disable no-var */
import { BrowserWindow } from "electron";
import {
type FormData as FormDataType,
type Headers as HeadersType,
type Request as RequestType,
type Response as ResponseType
} from "undici";
declare global {
var window: BrowserWindow | null;
var RELEASE: boolean;
var MAC_APP_STORE: boolean;
// Re-export undici fetch function and various classes to global scope.
// These are classes and functions expected to be at global scope according to Node.js v18 API
// documentation.
// See: https://nodejs.org/dist/latest-v18.x/docs/api/globals.html
// eslint-disable-next-line no-var
export var {
FormData,
Headers,
Request,
Response,
fetch
}: typeof import("undici");
type FormData = FormDataType;
type Headers = HeadersType;
type Request = RequestType;
type Response = ResponseType;
}
// NOTE: the import in the global block above needs to be a var for this to work properly.
globalThis.fetch = fetch;
globalThis.FormData = FormData;
globalThis.Headers = Headers;
globalThis.Request = Request;
globalThis.Response = Response;

4179
apps/desktop/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -2,32 +2,49 @@
"name": "@notesnook/desktop",
"productName": "Notesnook",
"description": "Your private note taking space",
"version": "2.4.8",
"version": "3.0.4",
"appAppleId": "1544027013",
"private": true,
"main": "./build/electron.js",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"homepage": "https://notesnook.com/",
"repository": "https://github.com/streetwriters/notesnook",
"license": "GPL-3.0-or-later",
"dependencies": {
"diary": "^0.3.1",
"electron-updater": "^5.3.0",
"@notesnook/crypto": "file:../../packages/crypto",
"@trpc/client": "10.38.3",
"@trpc/server": "10.38.3",
"better-sqlite3-multiple-ciphers": "^9.5.0",
"electron-trpc": "0.5.2",
"electron-updater": "6.1.4",
"icojs": "^0.17.1",
"isomorphic-fetch": "^3.0.0",
"yargs": "^17.6.2"
"sodium-native": "^4.1.1",
"typed-emitter": "^2.1.0",
"yargs": "^17.6.2",
"zod": "^3.21.4"
},
"devDependencies": {
"@types/node-fetch": "^2.6.2",
"electron": "^21.1.1",
"electron-builder": "^23.6.0",
"electron-builder-notarize": "^1.5.0",
"electron-reloader": "^1.2.3",
"esbuild": "^0.15.11",
"patch-package": "^6.5.1"
"@types/node": "18.16.1",
"@types/yargs": "^17.0.24",
"chokidar": "^3.5.3",
"electron": "^29.3.1",
"electron-builder": "^24.13.3",
"esbuild": "^0.20.0",
"node-gyp-build": "^4.8.0",
"prebuildify": "^6.0.1",
"tree-kill": "^1.2.2",
"undici": "^6.14.1"
},
"optionalDependencies": {
"dmg-license": "^1.0.11"
},
"scripts": {
"build": "esbuild ./electron.js ./preload.js --external:electron --external:fsevents --minify --bundle --outdir=./build --platform=node --tsconfig=tsconfig.json --define:MAC_APP_STORE=false --define:RELEASE=true",
"build:mas": "esbuild ./electron.js ./preload.js --minify --external:electron --external:fsevents --bundle --outdir=./build --platform=node --tsconfig=tsconfig.json --define:MAC_APP_STORE=true --define:RELEASE=true",
"pack": "rm -rf ./build && cp -r ../build ./ && npm run build && yarn electron-builder --linux AppImage:x64 AppImage:arm64",
"start": "node scripts/dev.mjs",
"staging": "node scripts/build.mjs --run",
"release": "node scripts/build.mjs",
"build": "tsc",
"bundle": "esbuild electron=./src/main.ts ./src/preload.ts --external:electron --external:fsevents --external:better-sqlite3-multiple-ciphers --external:sodium-native --minify --bundle --outdir=./build --platform=node --tsconfig=tsconfig.json --define:MAC_APP_STORE=false --define:RELEASE=true",
"bundle:mas": "esbuild electron=./src/main.ts ./src/preload.ts --minify --external:electron --external:fsevents --bundle --outdir=./build --platform=node --tsconfig=tsconfig.json --define:MAC_APP_STORE=true --define:RELEASE=true",
"postinstall": "patch-package"
},
"author": {
@@ -40,14 +57,27 @@
"productName": "Notesnook",
"copyright": "Copyright © 2023 Streetwriters (Private) Limited",
"artifactName": "notesnook_${os}_${arch}.${ext}",
"generateUpdatesFilesForAllChannels": true,
"asar": false,
"files": [
"!*.chunk.js.map",
"!*.chunk.js.LICENSE.txt",
"build/",
"!build/screenshots",
"!node_modules"
"!build/screenshots${/*}",
"!build/banner.jpg",
"!build/*.ico",
"!build/*.png",
"!node_modules${/*}",
"node_modules/better-sqlite3-multiple-ciphers/build/Release/better_sqlite3.node",
"node_modules/better-sqlite3-multiple-ciphers/lib",
"node_modules/better-sqlite3-multiple-ciphers/package.json",
"node_modules/file-uri-to-path",
"node_modules/bindings",
"node_modules/node-gyp-build",
"node_modules/sodium-native/prebuilds/${platform}-${arch}",
"node_modules/sodium-native/index.js",
"node_modules/sodium-native/package.json"
],
"afterSign": "electron-builder-notarize",
"afterPack": "./scripts/removeLocales.js",
"mac": {
"bundleVersion": "240",
@@ -75,7 +105,8 @@
"entitlements": "assets/entitlements.mac.plist",
"entitlementsInherit": "assets/entitlements.mac.plist",
"gatekeeperAssess": false,
"icon": "assets/icons/app.icns"
"icon": "assets/icons/app.icns",
"notarize": true
},
"dmg": {
"contents": [
@@ -116,6 +147,10 @@
]
}
],
"signingHashAlgorithms": [
"sha256"
],
"sign": "./scripts/sign.js",
"icon": "assets/icons/app.ico"
},
"portable": {
@@ -172,11 +207,15 @@
"allowNativeWayland": true
},
"extraResources": [
"app-update.yml",
"./assets/**"
],
"extraMetadata": {
"main": "./build/electron.js"
},
"directories": {
"buildResources": "assets",
"output": "./dist/"
"output": "./output/"
},
"publish": [
{

View File

@@ -1,20 +1,20 @@
diff --git a/node_modules/app-builder-lib/out/targets/LinuxTargetHelper.js b/node_modules/app-builder-lib/out/targets/LinuxTargetHelper.js
index ffcc8bd..7e57c9e 100644
index fcb7f54..cb1c7f7 100644
--- a/node_modules/app-builder-lib/out/targets/LinuxTargetHelper.js
+++ b/node_modules/app-builder-lib/out/targets/LinuxTargetHelper.js
@@ -105,6 +105,7 @@ class LinuxTargetHelper {
@@ -116,6 +116,7 @@ class LinuxTargetHelper {
StartupWMClass: appInfo.productName,
...extra,
...targetSpecificOptions.desktop,
+ actions: undefined
};
const description = this.getDescription(targetSpecificOptions);
if (!builder_util_1.isEmptyOrSpaces(description)) {
@@ -148,6 +149,23 @@ class LinuxTargetHelper {
if (!(0, builder_util_1.isEmptyOrSpaces)(description)) {
@@ -159,6 +160,23 @@ class LinuxTargetHelper {
data += `\n${name}=${desktopMeta[name]}`;
}
data += "\n";
+
+
+ if (targetSpecificOptions.desktop.actions) {
+ let actionsData = "";
+ const validActions = [];

View File

@@ -0,0 +1,23 @@
diff --git a/node_modules/electron-trpc/dist/main.mjs b/node_modules/electron-trpc/dist/main.mjs
index 379cf3b..2644e5d 100644
--- a/node_modules/electron-trpc/dist/main.mjs
+++ b/node_modules/electron-trpc/dist/main.mjs
@@ -221,9 +221,16 @@ class G {
i(this, c).includes(r) || (i(this, c).push(r), I(this, T, W).call(this, r));
}
detachWindow(r) {
+
y(this, c, i(this, c).filter((n) => n !== r));
- for (const [n, t] of i(this, u).entries())
- n.startsWith(`${r.webContents.id}-`) && (t.unsubscribe(), i(this, u).delete(n));
+ for (const [n, t] of i(this, u).entries()) {
+ try {
+ n.startsWith(`${r.webContents.id}-`) && (t.unsubscribe(), i(this, u).delete(n));
+ } catch(e) {
+ console.error(e);
+ // ignore
+ }
+ }
}
}
c = new WeakMap(), u = new WeakMap(), T = new WeakSet(), W = function(r) {

View File

@@ -0,0 +1,46 @@
diff --git a/node_modules/node-gyp-build/bin.js b/node_modules/node-gyp-build/bin.js
index 3fbcdf0..7ca3ab5 100644
--- a/node_modules/node-gyp-build/bin.js
+++ b/node_modules/node-gyp-build/bin.js
@@ -16,7 +16,8 @@ if (!buildFromSource()) {
}
function build () {
- var args = [os.platform() === 'win32' ? 'node-gyp.cmd' : 'node-gyp', 'rebuild']
+ var win32 = os.platform() === 'win32'
+ var args = [win32 ? 'node-gyp.cmd' : 'node-gyp', 'rebuild']
try {
var pkg = require('node-gyp/package.json')
@@ -27,7 +28,7 @@ function build () {
]
} catch (_) {}
- proc.spawn(args[0], args.slice(1), { stdio: 'inherit' }).on('exit', function (code) {
+ proc.spawn(args[0], args.slice(1), { stdio: 'inherit', shell: win32, windowsHide: true }).on('exit', function (code) {
if (code || !process.argv[3]) process.exit(code)
exec(process.argv[3]).on('exit', function (code) {
process.exit(code)
@@ -45,15 +46,18 @@ function preinstall () {
function exec (cmd) {
if (process.platform !== 'win32') {
- var shell = os.platform() === 'android' ? 'sh' : '/bin/sh'
- return proc.spawn(shell, ['-c', '--', cmd], {
+ var shell = os.platform() === 'android' ? 'sh' : true
+ return proc.spawn(cmd, [], {
+ shell,
stdio: 'inherit'
})
}
- return proc.spawn(process.env.comspec || 'cmd.exe', ['/s', '/c', '"' + cmd + '"'], {
+ return proc.spawn(cmd, [], {
windowsVerbatimArguments: true,
- stdio: 'inherit'
+ stdio: 'inherit',
+ shell: true,
+ windowsHide: true
})
}

View File

@@ -0,0 +1,103 @@
/*
This file is part of the Notesnook project (https://notesnook.com/)
Copyright (C) 2023 Streetwriters (Private) Limited
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import path from "path";
import fs, { readFile, writeFile } from "fs/promises";
import { existsSync, readFileSync } from "fs";
import yargs from "yargs-parser";
import os from "os";
import * as childProcess from "child_process";
import { fileURLToPath } from "url";
const args = yargs(process.argv);
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const packageJson = JSON.parse(
readFileSync(path.join(__dirname, "..", "package.json"), "utf-8")
);
const webAppPath = path.resolve(path.join(__dirname, "..", "..", "web"));
await fs.rm("./build/", { force: true, recursive: true });
if (args.rebuild || !existsSync(path.join(webAppPath, "build"))) {
await exec(
"yarn nx build:desktop @notesnook/web",
path.join(__dirname, "..", "..", "..")
);
}
// temporary until there's support for prebuilt binaries for linux ARM
if (os.platform() === "linux") await patchBetterSQLite3();
if (os.platform() === "win32")
await exec(
`npx prebuildify --arch=arm64 --strip -t electron@${packageJson.devDependencies.electron}`,
path.join(__dirname, "..", "node_modules", "sodium-native")
);
await fs.cp(path.join(webAppPath, "build"), "build", {
recursive: true,
force: true
});
if (args.variant === "mas") {
await exec(`yarn run bundle:mas`);
} else {
await exec(`yarn run bundle`);
}
await exec(`yarn tsc`);
if (args.run) {
await exec(`yarn electron-builder --dir --x64`);
if (process.platform === "win32") {
await exec(`.\\output\\win-unpacked\\Notesnook.exe`);
} else if (process.platform === "darwin") {
await exec(`./output/mac/Notesnook.app/Contents/MacOS/Notesnook`);
} else {
await exec(`./output/linux-unpacked/Notesnook`);
}
}
async function exec(cmd, cwd) {
return childProcess.execSync(cmd, {
env: { ...process.env, NOTESNOOK_STAGING: true },
stdio: "inherit",
cwd: cwd || process.cwd()
});
}
async function patchBetterSQLite3() {
const jsonPath = path.join(
__dirname,
"..",
"node_modules",
"better-sqlite3-multiple-ciphers",
"package.json"
);
const json = JSON.parse(await readFile(jsonPath, "utf-8"));
json.version = "9.5.1";
json.homepage = "https://github.com/thecodrr/better-sqlite3-multiple-ciphers";
json.repository.url =
"git://github.com/thecodrr/better-sqlite3-multiple-ciphers.git";
await writeFile(jsonPath, JSON.stringify(json));
}

View File

@@ -0,0 +1,188 @@
/*
This file is part of the Notesnook project (https://notesnook.com/)
Copyright (C) 2023 Streetwriters (Private) Limited
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import path from "path";
import fs from "fs/promises";
import chokidar from "chokidar";
import { execSync, spawn } from "child_process";
import { fileURLToPath } from "url";
import treekill from "tree-kill";
import crypto from "crypto";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const RUNNING_PROCESSES = [];
const RESTARTABLE_PROCESSES = [];
let lastBundleHash = null;
const ENV = {
...process.env,
NO_COLOR: "true",
FORCE_COLOR: "false",
COLOR: "0"
};
await onChange(true);
console.log("Watching...");
const watcher = chokidar.watch("src/", { ignoreInitial: true });
watcher.on("all", () => {
onChange(false);
});
process.on("SIGINT", async (s) => {
await cleanup();
});
async function onChange(first) {
if (first) {
await fs.rm("./build/", { force: true, recursive: true });
await exec("yarn electron-builder install-app-deps");
}
await exec(`yarn run bundle`);
execAsync(`yarn`, [`tsc`]);
if (await isBundleSame()) {
console.log("Bundle is same. Doing nothing.");
return;
}
if (first) {
await spawnAndWaitUntil(
["yarn", "nx", "start:desktop", "@notesnook/web"],
path.join(__dirname, "..", "..", ".."),
(data) => data.includes("Network: use --host to expose")
);
}
if (!first) {
console.log("Restarting...", RESTARTABLE_PROCESSES.length);
await killProcesses(RESTARTABLE_PROCESSES);
}
execAsync(
"yarn",
["electron", path.join("build", "electron.js")],
true,
cleanup
);
}
function spawnAndWaitUntil(cmd, cwd, predicate) {
return new Promise((resolve) => {
console.log(">", ...cmd);
const s = spawn(cmd[0], cmd.slice(1), {
cwd,
env: ENV,
shell: false
});
RUNNING_PROCESSES.push(s);
s.stderr.pipe(process.stderr);
s.stdout.on("data", (data) => {
process.stdout.write(data);
if (predicate(data)) resolve(undefined); //
});
});
}
async function exec(cmd, cwd) {
try {
console.log(">", cmd);
return execSync(cmd, {
env: ENV,
stdio: "inherit",
shell: false,
cwd: cwd || process.cwd()
});
} catch {
//ignore
}
}
function execAsync(cmd, args, restartable, onExit) {
try {
console.log(">", cmd, ...args);
const proc = spawn(cmd, args, {
stdio: "inherit",
env: ENV,
shell: false
});
const array = restartable ? RESTARTABLE_PROCESSES : RUNNING_PROCESSES;
array.push(proc);
proc.on("exit", (code, signal) => {
console.log(cmd, ...args, "closed with code", code);
if (code === 0 && !signal) {
array.splice(array.indexOf(proc), 1);
onExit && onExit();
}
});
} catch {
//ignore
}
}
function sleep(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
async function killProcesses(processes) {
for (const process of processes.slice()) {
processes.splice(processes.indexOf(process), 1);
await new Promise((resolve, reject) =>
treekill(process.pid, (err) => (err ? reject(err) : resolve()))
);
}
}
async function cleanup() {
console.log("Cleaning up");
await killProcesses(RESTARTABLE_PROCESSES);
await killProcesses(RUNNING_PROCESSES);
await sleep(1000);
await fs.rm("./build/", { force: true, recursive: true });
process.exit();
}
async function isBundleSame() {
const bundle = Buffer.concat([
await fs.readFile(path.join(__dirname, "..", "build", "electron.js")),
await fs.readFile(path.join(__dirname, "..", "build", "preload.js"))
]);
const hashSum = crypto.createHash("sha256");
hashSum.update(bundle);
const hex = hashSum.digest("hex");
if (!lastBundleHash) {
lastBundleHash = hex;
return false;
}
if (hex === lastBundleHash) return true;
lastBundleHash = hex;
return false;
}

View File

@@ -0,0 +1,59 @@
/*
This file is part of the Notesnook project (https://notesnook.com/)
Copyright (C) 2023 Streetwriters (Private) Limited
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
const { writeFileSync, rmSync } = require("fs");
const { execSync } = require("child_process");
const { relative, join } = require("path");
module.exports = async function (configuration) {
if (process.env.NOTESNOOK_STAGING) return;
const Endpoint = "https://weu.codesigning.azure.net";
const CodeSigningAccountName = "Notesnook";
const CertificateProfileName = "Notesnook";
const FileDigest = configuration.hash.toUpperCase();
const TimestampRfc3161 = "http://timestamp.acs.microsoft.com";
const TimestampDigest = configuration.hash.toUpperCase();
const Description = "The Notesnook app";
const DescriptionUrl = "https://notesnook.com/";
const FilesCatalog = createCatalog(configuration.path);
const command = `Invoke-TrustedSigning -Endpoint "${Endpoint}" -CodeSigningAccountName "${CodeSigningAccountName}" -CertificateProfileName "${CertificateProfileName}" -FileDigest "${FileDigest}" -TimestampRfc3161 "${TimestampRfc3161}" -TimestampDigest "${TimestampDigest}" -Description "${Description}" -DescriptionUrl "${DescriptionUrl}" -FilesCatalog "${FilesCatalog}"`;
console.debug("Signing", configuration.path, "using command", command);
psexec(command);
console.debug("Signed", configuration.path);
rmSync(FilesCatalog);
};
function createCatalog(path) {
const catalogPath = join(__dirname, "_catalog");
writeFileSync(catalogPath, relative(__dirname, path));
return catalogPath;
}
function psexec(cmd) {
return execSync(cmd, {
env: process.env,
stdio: "inherit",
shell: "pwsh"
});
}

View File

@@ -0,0 +1,58 @@
/*
This file is part of the Notesnook project (https://notesnook.com/)
Copyright (C) 2023 Streetwriters (Private) Limited
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { initTRPC } from "@trpc/server";
import { observable } from "@trpc/server/observable";
import { EventEmitter } from "events";
import TypedEventEmitter from "typed-emitter";
export type AppEvents = {
onCreateItem(name: "note" | "notebook" | "reminder"): void;
};
const emitter = new EventEmitter();
const typedEmitter = emitter as TypedEventEmitter<AppEvents>;
const t = initTRPC.create();
export const bridgeRouter = t.router({
onCreateItem: createSubscription("onCreateItem")
});
export const bridge: AppEvents = new Proxy({} as AppEvents, {
get(_t, name) {
if (typeof name === "symbol") return;
return (...args: unknown[]) => {
emitter.emit(name, ...args);
};
}
});
function createSubscription<TName extends keyof AppEvents>(eventName: TName) {
return t.procedure.subscription(() => {
return observable<Parameters<AppEvents[TName]>[0]>((emit) => {
const listener: AppEvents[TName] = (...args: any[]) => {
emit.next(args[0]);
};
typedEmitter.addListener(eventName, listener);
return () => {
typedEmitter.removeListener(eventName, listener);
};
});
});
}

View File

@@ -18,16 +18,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import zlib from "node:zlib";
import utils from "node:util";
import { initTRPC } from "@trpc/server";
import { z } from "zod";
const t = initTRPC.create();
const gzipAsync = utils.promisify(zlib.gzip);
const gunzipAsync = utils.promisify(zlib.gunzip);
export async function gzip(args) {
const { data, level } = args;
return (await gzipAsync(data, { level })).toString("base64");
}
export async function gunzip(args) {
const { data } = args;
return (await gunzipAsync(Buffer.from(data, "base64"))).toString("utf-8");
}
export const compressionRouter = t.router({
gzip: t.procedure
.input(z.object({ data: z.string(), level: z.number() }))
.query(async ({ input }) => {
const { data, level } = input;
return (await gzipAsync(data, { level })).toString("base64");
}),
gunzip: t.procedure.input(z.string()).query(async ({ input }) => {
return (await gunzipAsync(Buffer.from(input, "base64"))).toString("utf-8");
})
});

View File

@@ -0,0 +1,45 @@
/*
This file is part of the Notesnook project (https://notesnook.com/)
Copyright (C) 2023 Streetwriters (Private) Limited
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { initTRPC } from "@trpc/server";
import { compressionRouter } from "./compression";
import { osIntegrationRouter } from "./os-integration";
import { spellCheckerRouter } from "./spell-checker";
import { updaterRouter } from "./updater";
import { bridgeRouter } from "./bridge";
import { safeStorageRouter } from "./safe-storage";
import { windowRouter } from "./window";
const t = initTRPC.create();
export const router = t.router({
compress: compressionRouter,
integration: osIntegrationRouter,
spellChecker: spellCheckerRouter,
updater: updaterRouter,
bridge: bridgeRouter,
safeStorage: safeStorageRouter,
window: windowRouter
});
export const api = router.createCaller({});
// Export type router type signature,
// NOT the router itself.
export type AppRouter = typeof router;

View File

@@ -0,0 +1,221 @@
/*
This file is part of the Notesnook project (https://notesnook.com/)
Copyright (C) 2023 Streetwriters (Private) Limited
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { initTRPC } from "@trpc/server";
import { z } from "zod";
import { dialog, nativeTheme, Notification, shell } from "electron";
import { AutoLaunch } from "../utils/autolaunch";
import { config, DesktopIntegration } from "../utils/config";
import { bringToFront } from "../utils/bring-to-front";
import { getTheme, setTheme, Theme } from "../utils/theme";
import { mkdirSync, writeFileSync } from "fs";
import { dirname } from "path";
import { resolvePath } from "../utils/resolve-path";
import { observable } from "@trpc/server/observable";
import { AssetManager } from "../utils/asset-manager";
import { isFlatpak } from "../utils";
import { setupDesktopIntegration } from "../utils/desktop-integration";
import { rm } from "fs/promises";
import { disableCustomDns, enableCustomDns } from "../utils/custom-dns";
const t = initTRPC.create();
const NotificationOptions = z.object({
title: z.string().optional(),
body: z.string().optional(),
silent: z.boolean().optional(),
timeoutType: z.union([z.literal("default"), z.literal("never")]).optional(),
urgency: z
.union([z.literal("normal"), z.literal("critical"), z.literal("low")])
.optional(),
tag: z.string()
});
export const osIntegrationRouter = t.router({
isFlatpak: t.procedure.query(() => isFlatpak()),
zoomFactor: t.procedure.query(() => config.zoomFactor),
setZoomFactor: t.procedure.input(z.number()).mutation(({ input: factor }) => {
globalThis.window?.webContents.setZoomFactor(factor);
config.zoomFactor = factor;
}),
customDns: t.procedure.query(() => config.customDns),
setCustomDns: t.procedure
.input(z.boolean().optional())
.mutation(({ input: customDns }) => {
if (customDns) enableCustomDns();
else disableCustomDns();
config.customDns = !!customDns;
}),
proxyRules: t.procedure.query(() => config.proxyRules),
setProxyRules: t.procedure
.input(z.string().optional())
.mutation(({ input: proxyRules }) => {
globalThis.window?.webContents.session.setProxy({ proxyRules });
config.proxyRules = proxyRules || "";
}),
privacyMode: t.procedure.query(() => config.privacyMode),
setPrivacyMode: t.procedure
.input(z.object({ enabled: z.boolean() }))
.mutation(({ input: { enabled } }) => {
if (!globalThis.window || !["win32", "darwin"].includes(process.platform))
return;
globalThis.window.setContentProtection(enabled);
if (process.platform === "win32") {
globalThis.window.setThumbnailClip(
enabled
? { x: 0, y: 0, width: 1, height: 1 }
: { x: 0, y: 0, width: 0, height: 0 }
);
}
config.privacyMode = enabled;
}),
desktopIntegration: t.procedure.query(() => config.desktopSettings),
setDesktopIntegration: t.procedure
.input(DesktopIntegration)
.mutation(({ input: settings }) => {
if (settings.autoStart) {
AutoLaunch.enable(!!settings.startMinimized);
} else {
AutoLaunch.disable();
}
config.desktopSettings = settings;
setupDesktopIntegration(settings);
}),
selectDirectory: t.procedure
.input(
z.object({
title: z.string().optional(),
buttonLabel: z.string().optional(),
defaultPath: z.string().optional()
})
)
.query(async ({ input }) => {
if (!globalThis.window) return undefined;
const { title, buttonLabel, defaultPath } = input;
const result = await dialog.showOpenDialog(globalThis.window, {
title,
buttonLabel,
properties: ["openDirectory"],
defaultPath: defaultPath && resolvePath(defaultPath)
});
if (result.canceled) return undefined;
return result.filePaths[0];
}),
saveFile: t.procedure
.input(z.object({ data: z.string(), filePath: z.string() }))
.query(({ input }) => {
const { data, filePath } = input;
if (!data || !filePath) return;
const resolvedPath = resolvePath(filePath);
mkdirSync(dirname(resolvedPath), { recursive: true });
writeFileSync(resolvedPath, data);
}),
resolvePath: t.procedure
.input(z.object({ filePath: z.string() }))
.query(({ input }) => {
const { filePath } = input;
return resolvePath(filePath);
}),
deleteFile: t.procedure.input(z.string()).query(async ({ input }) => {
await rm(input);
}),
showNotification: t.procedure
.input(NotificationOptions)
.query(({ input }) => {
const notification = new Notification({
...input,
icon: AssetManager.appIcon({
size: 64,
format: process.platform === "win32" ? "ico" : "png"
})
});
notification.show();
if (input.urgency === "critical") {
shell.beep();
}
return new Promise((resolve) => {
notification.once("close", () => resolve(undefined));
notification.once("click", () => resolve(input.tag));
});
}),
openPath: t.procedure
.input(z.object({ type: z.literal("path"), link: z.string() }))
.query(({ input }) => {
const { type, link } = input;
if (type === "path") return shell.openPath(resolvePath(link));
}),
bringToFront: t.procedure.query(() => bringToFront()),
changeTheme: t.procedure
.input(
z.object({
theme: Theme,
windowControlsIconColor: z.string().optional(),
backgroundColor: z.string().optional()
})
)
.mutation(
({ input: { theme, windowControlsIconColor, backgroundColor } }) => {
if (windowControlsIconColor) {
config.windowControlsIconColor = windowControlsIconColor;
if (process.platform === "win32")
globalThis.window?.setTitleBarOverlay({
symbolColor: windowControlsIconColor
});
}
if (backgroundColor) {
config.backgroundColor = backgroundColor;
}
setTheme(theme);
}
),
onThemeChanged: t.procedure.subscription(() =>
observable<"dark" | "light">((emit) => {
const updated = () => {
if (getTheme() === "system") {
emit.next(nativeTheme.shouldUseDarkColors ? "dark" : "light");
}
};
nativeTheme.on("updated", updated);
return () => {
nativeTheme.off("updated", updated);
};
})
)
});

View File

@@ -0,0 +1,44 @@
/*
This file is part of the Notesnook project (https://notesnook.com/)
Copyright (C) 2023 Streetwriters (Private) Limited
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { safeStorage } from "electron";
import { initTRPC } from "@trpc/server";
import { z } from "zod";
const t = initTRPC.create();
export const safeStorageRouter = t.router({
isEncryptionAvailable: t.procedure.query(() => {
return (
!process.env.PORTABLE_EXECUTABLE_DIR &&
safeStorage.isEncryptionAvailable()
);
}),
/**
* Takes a string and returns an encrypted base64 string
*/
encryptString: t.procedure.input(z.string()).query(({ input }) => {
return safeStorage.encryptString(input).toString("base64");
}),
/**
* Takes an encrypted base64 string and returns a string
*/
decryptString: t.procedure.input(z.string()).query(({ input }) => {
return safeStorage.decryptString(Buffer.from(input, "base64"));
})
});

View File

@@ -17,9 +17,13 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { getIsSpellCheckerEnabled } from "../../config/spellChecker";
import { initTRPC } from "@trpc/server";
import { z } from "zod";
import { config } from "../utils/config";
const LANGUAGES = {
const t = initTRPC.create();
const LANGUAGES: Record<string, string> = {
af: "Afrikaans",
bg: "Bulgarian",
ca: "Catalan",
@@ -78,28 +82,49 @@ const LANGUAGES = {
vi: "Vietnamese"
};
/**
*
* @param {*} args
* @param {import("electron").BrowserWindow} win
* @returns
*/
export default function (_args, win) {
if (!win) return;
type Language = { code: string; name: string };
return {
enabled: getIsSpellCheckerEnabled(),
languages: win.webContents.session.availableSpellCheckerLanguages.map(
(code) => ({
code,
name: LANGUAGES[code]
})
export const spellCheckerRouter = t.router({
isEnabled: t.procedure.query(() => config.isSpellCheckerEnabled),
languages: t.procedure.query(
() =>
<Language[]>(
globalThis.window?.webContents.session.availableSpellCheckerLanguages.map(
(code) => ({
code,
name: LANGUAGES[code]
})
)
)
),
enabledLanguages: t.procedure.query(
() =>
<Language[]>(
globalThis.window?.webContents.session
.getSpellCheckerLanguages()
.map((code) => ({
code,
name: LANGUAGES[code]
}))
)
),
setLanguages: t.procedure
.input(z.array(z.string()))
.mutation(({ input: languages }) =>
globalThis.window?.webContents.session.setSpellCheckerLanguages(languages)
),
enabledLanguages: win.webContents.session
.getSpellCheckerLanguages()
.map((code) => ({
code,
name: LANGUAGES[code]
}))
};
}
toggle: t.procedure
.input(z.object({ enabled: z.boolean() }))
.mutation(({ input: { enabled } }) => {
globalThis.window?.webContents.session.setSpellCheckerEnabled(enabled);
config.isSpellCheckerEnabled = enabled;
}),
words: t.procedure.query(() =>
globalThis.window?.webContents.session.listWordsInSpellCheckerDictionary()
),
deleteWord: t.procedure.input(z.string()).mutation(({ input: word }) => {
globalThis.window?.webContents.session.removeWordFromSpellCheckerDictionary(
word
);
})
});

View File

@@ -0,0 +1,85 @@
/*
This file is part of the Notesnook project (https://notesnook.com/)
Copyright (C) 2023 Streetwriters (Private) Limited
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { initTRPC } from "@trpc/server";
import { observable } from "@trpc/server/observable";
import { CancellationToken, autoUpdater } from "electron-updater";
import type { AppUpdaterEvents } from "electron-updater/out/AppUpdater";
import { z } from "zod";
import { config } from "../utils/config";
type UpdateInfo = { version: string };
type Progress = { percent: number };
const t = initTRPC.create();
let cancellationToken: CancellationToken | undefined = undefined;
export const updaterRouter = t.router({
autoUpdates: t.procedure.query(() => config.automaticUpdates),
install: t.procedure.query(() => autoUpdater.quitAndInstall()),
download: t.procedure.query(async () => {
if (cancellationToken) return;
cancellationToken = new CancellationToken();
await autoUpdater
.downloadUpdate(cancellationToken)
.finally(() => (cancellationToken = undefined));
}),
check: t.procedure.query(async () => {
await autoUpdater.checkForUpdates().catch(console.error);
}),
toggleAutoUpdates: t.procedure
.input(z.object({ enabled: z.boolean() }))
.mutation(({ input: { enabled } }) => {
config.automaticUpdates = enabled;
}),
onChecking: createSubscription("checking-for-update"),
onDownloaded: createSubscription<"update-downloaded", UpdateInfo>(
"update-downloaded"
),
onDownloadProgress: createSubscription<"download-progress", Progress>(
"download-progress"
),
onNotAvailable: createSubscription<"update-not-available", UpdateInfo>(
"update-not-available"
),
onAvailable: createSubscription<"update-available", UpdateInfo>(
"update-available"
),
onError: createSubscription("error")
});
function createSubscription<
TName extends keyof AppUpdaterEvents,
TReturnType = Parameters<AppUpdaterEvents[TName]>[0]
>(eventName: TName) {
return t.procedure.subscription(() => {
return observable<TReturnType>((emit) => {
const listener: AppUpdaterEvents[TName] = (...args: any[]) => {
emit.next(args[0]);
};
autoUpdater.removeAllListeners(eventName);
autoUpdater.addListener(eventName, listener);
return () => {
autoUpdater.removeListener(eventName, listener);
};
});
});
}

View File

@@ -0,0 +1,83 @@
/*
This file is part of the Notesnook project (https://notesnook.com/)
Copyright (C) 2023 Streetwriters (Private) Limited
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { initTRPC } from "@trpc/server";
import { observable } from "@trpc/server/observable";
const t = initTRPC.create();
export const windowRouter = t.router({
maximize: t.procedure.mutation(() => {
globalThis.window?.maximize();
}),
restore: t.procedure.mutation(() => {
globalThis.window?.restore();
}),
minimze: t.procedure.mutation(() => {
globalThis.window?.minimize();
}),
maximized: t.procedure.query(() => globalThis.window?.isMaximized()),
fullscreen: t.procedure.query(() => globalThis.window?.isFullScreen()),
onWindowStateChanged: t.procedure.subscription(() => {
return observable<{ maximized: boolean; fullscreen: boolean }>((emit) => {
function listener() {
emit.next({
maximized: !!globalThis.window?.isMaximized(),
fullscreen: !!globalThis.window?.isFullScreen()
});
}
function enterFullscreen() {
emit.next({
maximized: !!globalThis.window?.isMaximized(),
fullscreen: true
});
}
function leaveFullscreen() {
emit.next({
maximized: !!globalThis.window?.isMaximized(),
fullscreen: false
});
}
globalThis.window?.addListener("maximize", listener);
globalThis.window?.addListener("minimize", listener);
globalThis.window?.addListener("unmaximize", listener);
globalThis.window?.addListener("restore", listener);
globalThis.window?.addListener("enter-full-screen", enterFullscreen);
globalThis.window?.addListener("leave-full-screen", leaveFullscreen);
globalThis.window?.addListener("leave-html-full-screen", leaveFullscreen);
globalThis.window?.addListener("enter-html-full-screen", enterFullscreen);
return () => {
globalThis.window?.removeListener("maximize", listener);
globalThis.window?.removeListener("minimize", listener);
globalThis.window?.removeListener("unmaximize", listener);
globalThis.window?.removeListener("restore", listener);
globalThis.window?.removeListener("enter-full-screen", enterFullscreen);
globalThis.window?.removeListener("leave-full-screen", leaveFullscreen);
globalThis.window?.removeListener(
"leave-html-full-screen",
leaveFullscreen
);
globalThis.window?.removeListener(
"enter-html-full-screen",
enterFullscreen
);
};
});
})
});

View File

@@ -21,22 +21,29 @@ import yargs from "yargs";
import { hideBin } from "yargs/helpers";
export type CLIOptions = {
note?: boolean | string;
notebook?: boolean | string;
reminder?: boolean | string;
note: boolean | string;
notebook: boolean | string;
reminder: boolean | string;
hidden: boolean;
};
export async function parseArguments(): Promise<CLIOptions> {
export async function parseArguments(argv: string[]): Promise<CLIOptions> {
const result: CLIOptions = {
note: false,
notebook: false,
reminder: false
reminder: false,
hidden: false
};
await yargs(hideBin(process.argv))
const { hidden } = await yargs(hideBin(argv))
.boolean("hidden")
// have to account for this flag added on Windows when launching
// via Jumplist
.boolean("allow-file-access-from-files")
.command("new", "Create a new item", (yargs) => {
return yargs
.command("note", "Create a new note", {}, () => {
result.note = true;
console.log("HERE!");
})
.command("notebook", "Create a new notebook", {}, () => {
result.notebook = true;
@@ -52,7 +59,7 @@ export async function parseArguments(): Promise<CLIOptions> {
"Open a note",
{ id: { string: true, description: "Id of the note" } },
(args) => {
result.note = args.id;
result.note = args.id || false;
}
)
.command(
@@ -60,7 +67,7 @@ export async function parseArguments(): Promise<CLIOptions> {
"Open a notebook",
{ id: { string: true, description: "Id of the notebook" } },
(args) => {
result.notebook = args.id;
result.notebook = args.id || false;
}
)
.command(
@@ -76,5 +83,6 @@ export async function parseArguments(): Promise<CLIOptions> {
);
})
.parse();
result.hidden = hidden || false;
return result;
}

23
apps/desktop/src/index.ts Normal file
View File

@@ -0,0 +1,23 @@
/*
This file is part of the Notesnook project (https://notesnook.com/)
Copyright (C) 2023 Streetwriters (Private) Limited
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
export * from "./constants";
export type { AppRouter } from "./api";
export { type UpdateInfo } from "builder-util-runtime";
export { type DesktopIntegration } from "./utils/config";

197
apps/desktop/src/main.ts Normal file
View File

@@ -0,0 +1,197 @@
/*
This file is part of the Notesnook project (https://notesnook.com/)
Copyright (C) 2023 Streetwriters (Private) Limited
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { app, BrowserWindow, nativeTheme, shell } from "electron";
import { isDevelopment } from "./utils";
import { registerProtocol, PROTOCOL_URL } from "./utils/protocol";
import { configureAutoUpdater } from "./utils/autoupdater";
import { getBackgroundColor, getTheme, setTheme } from "./utils/theme";
import { setupMenu } from "./utils/menu";
import { WindowState } from "./utils/window-state";
import { setupJumplist } from "./utils/jumplist";
import { setupTray } from "./utils/tray";
import { CLIOptions, parseArguments } from "./cli";
import { AssetManager } from "./utils/asset-manager";
import { createIPCHandler } from "electron-trpc/main";
import { router, api } from "./api";
import { config } from "./utils/config";
import path from "path";
import { bringToFront } from "./utils/bring-to-front";
import { bridge } from "./api/bridge";
import { setupDesktopIntegration } from "./utils/desktop-integration";
import { disableCustomDns, enableCustomDns } from "./utils/custom-dns";
// only run a single instance
if (!MAC_APP_STORE && !app.requestSingleInstanceLock()) {
console.log("Another instance is already running!");
app.exit();
}
if (process.platform == "win32" && process.env.PORTABLE_EXECUTABLE_DIR) {
console.log("Portable app: true");
const root = path.join(process.env.PORTABLE_EXECUTABLE_DIR, "Notesnook");
app.setPath("appData", path.join(root, "AppData"));
app.setPath("documents", path.join(root, "Documents"));
app.setPath("userData", path.join(root, "UserData"));
}
if (process.platform === "win32") {
app.setAppUserModelId(app.name);
}
process.on("uncaughtException", (error) => {
console.error("uncaughtException:", error);
});
process.on("unhandledRejection", (reason) => {
console.error("unhandledRejection:", reason);
});
app.commandLine.appendSwitch("lang", "en-US");
async function createWindow() {
const cliOptions = await parseArguments(process.argv);
setTheme(getTheme());
const mainWindowState = new WindowState({});
const mainWindow = new BrowserWindow({
show: !cliOptions.hidden,
x: mainWindowState.x,
y: mainWindowState.y,
width: mainWindowState.width,
height: mainWindowState.height,
darkTheme: getTheme() === "dark",
backgroundColor: getBackgroundColor(),
opacity: 0,
autoHideMenuBar: false,
icon: AssetManager.appIcon({
size: 512,
format: process.platform === "win32" ? "ico" : "png"
}),
titleBarStyle: "hidden",
frame: process.platform === "win32" || process.platform === "darwin",
titleBarOverlay: {
height: 37,
color: "#00000000",
symbolColor: config.windowControlsIconColor
},
trafficLightPosition: {
x: 16,
y: 12
},
webPreferences: {
zoomFactor: config.zoomFactor,
nodeIntegration: true,
contextIsolation: false,
spellcheck: config.isSpellCheckerEnabled,
preload: __dirname + "/preload.js"
}
});
createIPCHandler({ router, windows: [mainWindow] });
globalThis.window = mainWindow;
mainWindow.setMenuBarVisibility(false);
mainWindowState.manage(mainWindow);
if (cliOptions.hidden && !config.desktopSettings.minimizeToSystemTray)
mainWindow.minimize();
await mainWindow.webContents.loadURL(`${createURL(cliOptions, "/")}`);
mainWindow.setOpacity(1);
if (config.privacyMode) {
await api.integration.setPrivacyMode({ enabled: config.privacyMode });
}
await AssetManager.loadIcons();
setupDesktopIntegration(config.desktopSettings);
mainWindow.webContents.session.setSpellCheckerDictionaryDownloadURL(
"http://dictionaries.notesnook.com/"
);
mainWindow.webContents.session.setProxy({ proxyRules: config.proxyRules });
mainWindow.once("closed", () => {
globalThis.window = null;
});
setupMenu();
setupJumplist();
if (isDevelopment())
mainWindow.webContents.openDevTools({ mode: "bottom", activate: true });
mainWindow.webContents.setWindowOpenHandler((details) => {
shell.openExternal(details.url);
return { action: "deny" };
});
nativeTheme.on("updated", () => {
setupTray();
setupJumplist();
});
}
app.once("ready", async () => {
console.info("App ready. Opening window.");
if (config.customDns) enableCustomDns();
else disableCustomDns();
if (!isDevelopment()) registerProtocol();
await createWindow();
configureAutoUpdater();
});
app.once("window-all-closed", () => {
if (process.platform !== "darwin" || MAC_APP_STORE) {
app.quit();
}
});
app.on("second-instance", async (_ev, argv) => {
if (!globalThis.window) return;
const cliOptions = await parseArguments(argv);
if (cliOptions.note) bridge.onCreateItem("note");
if (cliOptions.notebook) bridge.onCreateItem("notebook");
if (cliOptions.reminder) bridge.onCreateItem("reminder");
bringToFront();
});
app.on("activate", () => {
if (globalThis.window === null) {
createWindow();
}
});
function createURL(options: CLIOptions, path = "/") {
const url = new URL(isDevelopment() ? "http://localhost:3000" : PROTOCOL_URL);
url.pathname = path;
if (options.note === true) url.hash = "/notes/create/1";
else if (options.notebook === true) url.hash = "/notebooks/create";
else if (options.reminder === true) url.hash = "/reminders/create";
else if (typeof options.note === "string")
url.hash = `/notes/${options.note}/edit`;
else if (typeof options.notebook === "string")
url.hash = `/notebooks/${options.notebook}`;
return url;
}

View File

@@ -0,0 +1,47 @@
/*
This file is part of the Notesnook project (https://notesnook.com/)
Copyright (C) 2023 Streetwriters (Private) Limited
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* eslint-disable no-var */
import { ELECTRON_TRPC_CHANNEL } from "electron-trpc/main";
import { type RendererGlobalElectronTRPC } from "electron-trpc/src/types";
import type { NNCrypto } from "@notesnook/crypto";
import { ipcRenderer } from "electron";
import { platform } from "os";
import sqlite3, { Database } from "better-sqlite3-multiple-ciphers";
declare global {
var os: () => "mas" | ReturnType<typeof platform>;
var electronTRPC: RendererGlobalElectronTRPC;
var NativeNNCrypto: (new () => NNCrypto) | undefined;
var createSQLite3Database: (filename: string) => Database;
}
process.once("loaded", async () => {
const electronTRPC: RendererGlobalElectronTRPC = {
sendMessage: (operation) =>
ipcRenderer.send(ELECTRON_TRPC_CHANNEL, operation),
onMessage: (callback) =>
ipcRenderer.on(ELECTRON_TRPC_CHANNEL, (_event, args) => callback(args))
};
globalThis.electronTRPC = electronTRPC;
});
globalThis.NativeNNCrypto = require("@notesnook/crypto").NNCrypto;
globalThis.createSQLite3Database = (filename) => sqlite3(filename);
globalThis.os = () => (MAC_APP_STORE ? "mas" : platform());

View File

@@ -19,10 +19,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
import { NativeImage, nativeImage } from "electron";
import path from "path";
import { isDevelopment } from "./utils";
import { isDevelopment } from "./index";
import { parse, ParsedImage } from "icojs";
import { readFileSync } from "fs";
import { getSystemTheme } from "./config/theme";
import { getSystemTheme } from "./theme";
import { readFile } from "fs/promises";
type Formats = "ico" | "png" | "icns";
type IconOptions<TFormat extends Formats> = {
@@ -30,8 +30,8 @@ type IconOptions<TFormat extends Formats> = {
format?: TFormat;
};
type IconNames = typeof icons[number];
type Prefixes = typeof prefixes[number];
type IconNames = (typeof icons)[number];
type Prefixes = (typeof prefixes)[number];
type FlexibleIcon<TFormat extends Formats> = TFormat extends "ico"
? string
@@ -70,7 +70,7 @@ export class AssetManager {
"icons",
`${icon}${prefix}.ico`
);
const icoBuffer = readFileSync(icoPath);
const icoBuffer = await readFile(icoPath);
const images = await parse(icoBuffer, "image/png");
ALL_ICONS.push({ id: icon, images, prefix });
}
@@ -80,10 +80,10 @@ export class AssetManager {
static appIcon(options: IconOptions<Formats>) {
const { size = 32, format = "png" } = options;
if (format === "ico") return path.join("assets", "icons", "app.ico");
if (format === "icns") return path.join("assets", "icons", "app.icns");
if (format === "ico") return "assets\\icons\\app.ico";
if (format === "icns") return "assets/icons/app.icns";
return path.join("assets", "icons", `${size}x${size}.png`);
return `assets/icons/${size}x${size}.png`;
}
static icon<TFormat extends Formats>(

View File

@@ -25,7 +25,11 @@ Type=Application
Version=${app.getVersion()}
Name=${app.getName()}
Comment=${app.getName()} startup script
Exec=${process.execPath}${hidden ? " --hidden" : ""}
Exec=${
process.env.APPIMAGE
? `${process.env.APPIMAGE}${hidden ? " --hidden" : ""}`
: `${process.execPath}${hidden ? " --hidden" : ""}`
}
StartupNotify=false
Terminal=false`;
@@ -35,6 +39,8 @@ const LINUX_AUTOSTART_DIRECTORY_PATH = path.join(
"autostart"
);
const STARTUP_ARGS = ["--hidden"];
export class AutoLaunch {
static enable(hidden: boolean) {
if (process.platform === "linux") {
@@ -47,7 +53,15 @@ export class AutoLaunch {
LINUX_DESKTOP_ENTRY(hidden)
);
} else {
app.setLoginItemSettings({ openAtLogin: true, openAsHidden: hidden });
const loginItemSettings = app.getLoginItemSettings({
args: STARTUP_ARGS
});
if (loginItemSettings.openAtLogin) return;
app.setLoginItemSettings({
openAtLogin: true,
openAsHidden: hidden,
args: STARTUP_ARGS
});
}
}

View File

@@ -17,13 +17,24 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { CancellationToken } from "builder-util-runtime";
import { autoUpdater } from "electron-updater";
import { EVENTS } from "../../events";
import { sendMessageToRenderer } from "../utils";
import { config } from "./config";
export default () => {
sendMessageToRenderer(EVENTS.updateDownloadProgress, { progress: 0 });
autoUpdater.cancellationToken = new CancellationToken();
autoUpdater.downloadUpdate(autoUpdater.cancellationToken);
};
const CHANNEL = autoUpdater.currentVersion.raw.endsWith("-beta")
? "beta"
: "latest";
async function configureAutoUpdater() {
autoUpdater.setFeedURL({
provider: "generic",
url: `https://notesnook.com/api/v1/releases/${process.platform}/${CHANNEL}`,
useMultipleRangeRequest: false,
channel: CHANNEL
});
autoUpdater.autoDownload = config.automaticUpdates;
autoUpdater.allowDowngrade = false;
autoUpdater.allowPrerelease = false;
autoUpdater.autoInstallOnAppQuit = true;
}
export { configureAutoUpdater };

View File

@@ -17,9 +17,9 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { WindowState } from "../../config/window-state";
import { WindowState } from "./window-state";
export default () => {
export function bringToFront() {
if (!globalThis.window) return;
if (globalThis.window.isMinimized()) {
@@ -31,4 +31,4 @@ export default () => {
globalThis.window.focus();
globalThis.window.moveTop();
globalThis.window.webContents.focus();
};
}

View File

@@ -0,0 +1,62 @@
/*
This file is part of the Notesnook project (https://notesnook.com/)
Copyright (C) 2023 Streetwriters (Private) Limited
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { nativeTheme } from "electron";
import { JSONStorage } from "./json-storage";
import { z } from "zod";
export const DesktopIntegration = z.object({
autoStart: z.boolean().optional(),
startMinimized: z.boolean().optional(),
minimizeToSystemTray: z.boolean().optional(),
closeToSystemTray: z.boolean().optional()
});
export type DesktopIntegration = z.infer<typeof DesktopIntegration>;
export const config = {
desktopSettings: <DesktopIntegration>{
autoStart: false,
startMinimized: false,
minimizeToSystemTray: false,
closeToSystemTray: false
},
privacyMode: false,
isSpellCheckerEnabled: true,
zoomFactor: 1,
theme: nativeTheme.themeSource,
automaticUpdates: true,
proxyRules: "",
customDns: true,
backgroundColor: nativeTheme.themeSource === "dark" ? "#0f0f0f" : "#ffffff",
windowControlsIconColor:
nativeTheme.themeSource === "dark" ? "#ffffff" : "#000000"
};
type ConfigKey = keyof typeof config;
for (const key in config) {
const defaultValue = config[<ConfigKey>key];
if (Object.hasOwn(config, key)) {
Object.defineProperty(config, key, {
get: () => JSONStorage.get(key, defaultValue),
set: (value) => JSONStorage.set(key, value)
});
}
}

View File

@@ -17,19 +17,21 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { dialog } from "electron";
import { resolvePath } from "../utils";
import { app } from "electron";
export default async function (args, win) {
const { title, buttonLabel, defaultPath } = args;
const result = await dialog.showOpenDialog(win, {
title,
buttonLabel,
properties: ["openDirectory"],
defaultPath: resolvePath(defaultPath)
export function enableCustomDns() {
app.configureHostResolver({
secureDnsServers: [
"https://mozilla.cloudflare-dns.com/dns-query",
"https://dns.quad9.net/dns-query"
],
enableBuiltInResolver: true
});
}
export function disableCustomDns() {
app.configureHostResolver({
secureDnsServers: [],
enableBuiltInResolver: true
});
if (result.canceled) return;
return result.filePaths[0];
}

View File

@@ -0,0 +1,74 @@
/*
This file is part of the Notesnook project (https://notesnook.com/)
Copyright (C) 2023 Streetwriters (Private) Limited
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { app } from "electron";
import { DesktopIntegration, config } from "./config";
import { setupTray, destroyTray } from "./tray";
import { AutoLaunch } from "./autolaunch";
export function setupDesktopIntegration(
desktopIntegration: DesktopIntegration
) {
if (
desktopIntegration.closeToSystemTray ||
desktopIntegration.minimizeToSystemTray
) {
setupTray();
} else {
destroyTray();
}
// when close to system tray is enabled, it becomes nigh impossible
// to "quit" the app. This is necessary in order to fix that.
app.on("before-quit", () =>
desktopIntegration.closeToSystemTray ? app.exit(0) : null
);
globalThis.window?.on("close", (e) => {
if (config.desktopSettings.closeToSystemTray) {
e.preventDefault();
if (process.platform == "darwin") {
// on macOS window cannot be minimized/hidden if it is already fullscreen
// so we just close it.
if (globalThis.window?.isFullScreen()) app.exit(0);
else app.hide();
} else {
try {
globalThis.window?.minimize();
globalThis.window?.hide();
} catch (error) {
console.error(error);
}
}
}
});
globalThis.window?.on("minimize", () => {
if (config.desktopSettings.minimizeToSystemTray) {
if (process.platform == "darwin") {
app.hide();
} else {
globalThis.window?.hide();
}
}
});
if (desktopIntegration.autoStart) {
AutoLaunch.enable(!!desktopIntegration.startMinimized);
}
}

View File

@@ -17,15 +17,15 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { JSONStorage } from "../jsonstorage";
import { app } from "electron";
import { existsSync } from "fs";
function getPrivacyMode() {
let mode = JSONStorage.get("privacyMode");
return mode === undefined ? false : mode;
export function isDevelopment() {
return process.env.ELECTRON_IS_DEV
? Number.parseInt(process.env.ELECTRON_IS_DEV, 10) === 1
: !app.isPackaged;
}
function setPrivacyMode(mode) {
return JSONStorage.set("privacyMode", mode);
export function isFlatpak() {
return existsSync("/.flatpak-info");
}
export { setPrivacyMode, getPrivacyMode };

View File

@@ -19,9 +19,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
import { app, Menu } from "electron";
import { AssetManager } from "./asset-manager";
import { EVENTS } from "./events";
import bringToFront from "./ipc/actions/bringToFront";
import { sendMessageToRenderer } from "./ipc/utils";
import { bringToFront } from "./bring-to-front";
import { bridge } from "../api/bridge";
export function setupJumplist() {
if (process.platform === "win32") {
@@ -76,7 +75,7 @@ function setDockMenuOnMacOs() {
type: "normal",
click: () => {
bringToFront();
sendMessageToRenderer(EVENTS.createItem, { itemType: "note" });
bridge.onCreateItem("note");
}
},
{
@@ -84,7 +83,7 @@ function setDockMenuOnMacOs() {
type: "normal",
click: () => {
bringToFront();
sendMessageToRenderer(EVENTS.createItem, { itemType: "notebook" });
bridge.onCreateItem("notebook");
}
},
{
@@ -92,7 +91,7 @@ function setDockMenuOnMacOs() {
type: "normal",
click: () => {
bringToFront();
sendMessageToRenderer(EVENTS.createItem, { itemType: "reminder" });
bridge.onCreateItem("reminder");
}
}
]);

View File

@@ -20,6 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
import { Menu, MenuItem, clipboard, shell } from "electron";
function setupMenu() {
if (!globalThis.window) return;
globalThis.window.webContents.on("context-menu", (_event, params) => {
const menu = new Menu();
@@ -29,7 +31,7 @@ function setupMenu() {
new MenuItem({
label: suggestion,
click: () =>
globalThis.window.webContents.replaceMisspelling(suggestion)
globalThis.window?.webContents.replaceMisspelling(suggestion)
})
);
}
@@ -40,7 +42,7 @@ function setupMenu() {
new MenuItem({
label: "Add to dictionary",
click: () =>
globalThis.window.webContents.session.addWordToSpellCheckerDictionary(
globalThis.window?.webContents.session.addWordToSpellCheckerDictionary(
params.misspelledWord
)
})
@@ -99,6 +101,26 @@ function setupMenu() {
})
);
if (params.linkURL?.length) {
menu.append(
new MenuItem({
label: "Copy link",
click() {
clipboard.writeText(params.linkURL);
}
})
);
menu.append(
new MenuItem({
label: "Copy link text",
click() {
clipboard.writeText(params.linkText);
}
})
);
}
if (params.selectionText.length) {
menu.append(
new MenuItem({
@@ -109,6 +131,17 @@ function setupMenu() {
);
}
if (params.mediaType === "image")
menu.append(
new MenuItem({
id: "copy-image",
label: "Copy Image",
click() {
globalThis.window?.webContents.copyImageAt(params.x, params.y);
}
})
);
if (params.isEditable)
menu.append(
new MenuItem({

View File

@@ -0,0 +1,78 @@
/*
This file is part of the Notesnook project (https://notesnook.com/)
Copyright (C) 2023 Streetwriters (Private) Limited
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { net, protocol } from "electron";
import { isDevelopment } from "./index";
import { createReadStream } from "fs";
import { extname, normalize } from "path";
import { URL } from "url";
const BASE_PATH = isDevelopment() ? "../public" : "";
const HOSTNAME = `app.notesnook.com`;
const SCHEME = "https";
const extensionToMimeType: Record<string, string> = {
html: "text/html",
json: "application/json",
js: "application/javascript",
css: "text/css",
svg: "image/svg+xml",
png: "image/png",
jpg: "image/jpg",
ttf: "font/ttf",
woff: "font/woff",
woff2: "font/woff2"
};
function registerProtocol() {
protocol.handle(SCHEME, async (request) => {
const url = new URL(request.url);
if (shouldInterceptRequest(url)) {
console.info("Intercepting request:", request.url);
const loadIndex = !extname(url.pathname);
const filePath = normalize(
`${__dirname}${
loadIndex ? `${BASE_PATH}/index.html` : `${BASE_PATH}/${url.pathname}`
}`
);
if (!filePath) {
console.error("Local asset file not found at", filePath);
return new Response(undefined, {
status: 404,
statusText: "FILE_NOT_FOUND"
});
}
const fileExtension = extname(filePath).replace(".", "");
return new Response(createReadStream(filePath), {
headers: { "Content-Type": extensionToMimeType[fileExtension] }
});
} else {
return net.fetch(request, { bypassCustomProtocolHandlers: true });
}
});
console.info(`${SCHEME} protocol inteception "successful"`);
}
const bypassedRoutes: string[] = [];
function shouldInterceptRequest(url: URL) {
const shouldIntercept = url.hostname === HOSTNAME;
return shouldIntercept && !bypassedRoutes.includes(url.pathname);
}
const PROTOCOL_URL = `${SCHEME}://${HOSTNAME}/`;
export { registerProtocol, PROTOCOL_URL };

View File

@@ -17,25 +17,17 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { logger } from "../logger";
import { app } from "electron";
import { isAbsolute, join } from "path";
function sendMessageToRenderer(type, payload = {}) {
const message = { type, ...payload };
logger.info("Sending message to renderer", message);
if (globalThis.window)
globalThis.window.webContents.send("fromMain", message);
}
function resolvePath(_path) {
export function resolvePath(_path: string) {
if (isAbsolute(_path)) return _path;
return join(
..._path.split("/").map((segment) => {
let resolved = segment;
try {
resolved = app.getPath(resolved);
resolved = app.getPath(resolved as any);
} catch (e) {
// ignore
}
@@ -43,5 +35,3 @@ function resolvePath(_path) {
})
);
}
export { resolvePath, sendMessageToRenderer };

View File

@@ -17,23 +17,34 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { JSONStorage } from "../jsonstorage";
import { nativeTheme } from "electron";
import { config } from "./config";
import { z } from "zod";
type Theme = typeof nativeTheme.themeSource;
function getTheme(): Theme {
return JSONStorage.get("theme", nativeTheme.themeSource);
export const Theme = z.union([
z.literal("system"),
z.literal("light"),
z.literal("dark")
]);
export type Theme = z.infer<typeof Theme>;
function getTheme() {
return config.theme;
}
function setTheme(theme: Theme) {
changeTheme(theme);
if (globalThis.window)
globalThis.window.setBackgroundColor(getBackgroundColor());
return JSONStorage.set("theme", theme);
config.theme = theme;
}
function getBackgroundColor() {
return nativeTheme.shouldUseDarkColors ? "#0f0f0f" : "#ffffff";
return (
config.backgroundColor ||
(nativeTheme.shouldUseDarkColors ? "#0f0f0f" : "#ffffff")
);
}
function getSystemTheme() {

View File

@@ -19,12 +19,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
import { app, Menu, Tray } from "electron";
import { AssetManager } from "./asset-manager";
import { EVENTS } from "./events";
import bringToFront from "./ipc/actions/bringToFront";
import { sendMessageToRenderer } from "./ipc/utils";
import { isFlatpak } from "./utils";
import { isFlatpak } from "./index";
import { bringToFront } from "./bring-to-front";
import { bridge } from "../api/bridge";
let tray: Tray | undefined = undefined;
export function destroyTray() {
if (tray) tray.destroy();
}
export function setupTray() {
if (tray) tray.destroy();
@@ -55,7 +58,7 @@ export function setupTray() {
: AssetManager.icon("note-add", { size: trayIconSize }),
click: () => {
bringToFront();
sendMessageToRenderer(EVENTS.createItem, { itemType: "note" });
bridge.onCreateItem("note");
}
},
{
@@ -66,7 +69,7 @@ export function setupTray() {
: AssetManager.icon("notebook-add", { size: trayIconSize }),
click: () => {
bringToFront();
sendMessageToRenderer(EVENTS.createItem, { itemType: "notebook" });
bridge.onCreateItem("notebook");
}
},
{ type: "separator" },

View File

@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { JSONStorage } from "../jsonstorage";
import { JSONStorage } from "./json-storage";
import { screen as _screen, BrowserWindow } from "electron";
const screen = _screen;

View File

@@ -0,0 +1,8 @@
{
"extends": "../../tsconfig",
"compilerOptions": {
"outDir": "./dist/",
"lib": ["ESNext"]
},
"include": ["src", "global.d.ts"]
}

View File

@@ -17,15 +17,6 @@ jobs:
with:
persist-credentials: false
- name: Setup npmrc
run: |
echo "registry=https://npm.pkg.github.com" > .npmrc
echo "@streetwriters:registry=https://npm.pkg.github.com" >> .npmrc
echo "//npm.pkg.github.com/:_authToken=${{secrets.PACKAGES_TOKEN}}" >> .npmrc
- name: Setup yarnrc
run: echo "\"@streetwriters:registry\" \"https://npm.pkg.github.com\"" > .yarnrc
- uses: actions/setup-node@master
with:
node-version: "16"

View File

@@ -17,15 +17,6 @@ jobs:
with:
persist-credentials: false
- name: Setup npmrc
run: |
echo "registry=https://npm.pkg.github.com" > .npmrc
echo "@streetwriters:registry=https://npm.pkg.github.com" >> .npmrc
echo "//npm.pkg.github.com/:_authToken=${{secrets.PACKAGES_TOKEN}}" >> .npmrc
- name: Setup yarnrc
run: echo "\"@streetwriters:registry\" \"https://npm.pkg.github.com\"" > .yarnrc
- uses: actions/setup-node@master
with:
node-version: "16"

View File

@@ -5,7 +5,6 @@ artifacts/
.DS_Store
native/android/app/src/main/assets/
*Issues.md
build_cache/
#
@@ -14,7 +13,9 @@ build_cache/
.yarnrc.yml
.yarn
*.log
.cxx/
*.keystore
!debug.keystore
# Xcode
#

View File

@@ -25,4 +25,4 @@
"request": "attach"
}
]
}
}

View File

@@ -3,6 +3,7 @@
*/
import "react-native";
import { it } from "@jest/globals";
// Note: test renderer must be required after react-native.
import renderer from "react-test-renderer";
import Heading from "../app/components/ui/typography/heading";

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