Compare commits

...

996 Commits

Author SHA1 Message Date
azivner bd4db406de release 0.28.0-beta 2019-01-14 23:51:55 +01:00
azivner e50f9cd0a3 fix device detection in setup 2019-01-14 23:50:45 +01:00
azivner 2b64cbce2c added dark theme (to have same set of themes as before) 2019-01-13 23:25:30 +01:00
azivner 2797c942ab changes to options dialog to allow configuring font size, closes #326 2019-01-13 22:03:06 +01:00
azivner f1c3278874 store font size in options #326 2019-01-13 21:27:32 +01:00
azivner 424c22dcde split UI to 3 different font sizes #326 2019-01-13 21:16:51 +01:00
azivner 5c223dfd12 all fonts are relative so it's easier to scale them properly 2019-01-13 21:04:08 +01:00
azivner 6a3e7a5a8e generate css classes for each mime type, #328 2019-01-13 20:14:33 +01:00
azivner f88cdac000 fixes for black theme for relation map and code notes 2019-01-13 20:03:28 +01:00
azivner eeead90f32 improved theme support using CSS variables, #328 2019-01-13 18:57:46 +01:00
azivner b607857409 fix weight tracker demo to use relations instead of hardcoded noteId, fixes #329 2019-01-13 12:21:17 +01:00
azivner 9268f88bc3 frontend scripts now have startNote, currentNote and targetNote as NoteShort entities which e.g. provides easy access to relations/labels 2019-01-13 12:16:05 +01:00
azivner f7f0560a9f simplification of script bundles on backend 2019-01-13 11:56:50 +01:00
azivner 3d8905207e fixed export with non-ASCII characters in note title, fixes #285, #331 2019-01-13 10:22:17 +01:00
azivner dbc312010b update fancytree to 2.30.2 2019-01-13 09:24:00 +01:00
azivner b115a7cf19 delete note through its entity instead of manually with SQL, closes #303 2019-01-13 00:24:51 +01:00
azivner 348562352c fixes in ASAR build and zipping 2019-01-12 19:48:45 +01:00
azivner 70fd917e7c build desktop versions into ASAR, closes #271 2019-01-12 00:05:13 +01:00
zadam d2b60764cd Merge pull request #289 from perissology/electron-builder
use electron-builder for dev install
2019-01-11 23:54:11 +01:00
azivner 581b1fdaa5 trigger runOnAttributeChange, runOnNoteChange on entity deletions as well 2019-01-11 23:43:22 +01:00
azivner 3c19a712c0 active protected state button has darker background and is disabled 2019-01-11 23:29:56 +01:00
azivner cc27f16088 store iv directly in the respective columns 2019-01-11 23:04:51 +01:00
azivner dffdb82288 after creating new note, it is focused and now also selected so renaming is super easy, #318 2019-01-10 22:46:08 +01:00
azivner 2b32addade release 0.27.4 2019-01-10 21:31:30 +01:00
azivner 0b251530fa open recent notes autocomplete by focus so it is then closed with blur, fixes #272 2019-01-10 21:04:06 +01:00
azivner f5b933149a Merge remote-tracking branch 'origin/master' 2019-01-10 19:53:47 +01:00
azivner 48bbfb8bdb fix activating note by noteId when hoisting, fixes #320 2019-01-10 19:53:42 +01:00
zadam 889971c4d6 Merge pull request #312 from perissology/evernote-import
Fixes evernote import errors
2019-01-09 23:41:17 +01:00
azivner 0722494d41 fix saving JSON note with invalid JSON (previously in such a case content was not updated), fixes #307 2019-01-09 23:36:17 +01:00
azivner 4b977a3306 setup keyboard shortcuts on the setup page as well, closes #267 2019-01-09 22:08:24 +01:00
azivner 3ff3021acd shortcuts for mac should use cmd instead of ctrl, closes #290 2019-01-09 21:42:16 +01:00
azivner 99e56a9c42 make sure to save the search note before refreshing the tree 2019-01-09 19:54:32 +01:00
azivner 77279dfe16 fix anonymization 2019-01-09 19:49:02 +01:00
perissology 93f8050454 use resizedImage if image optimization fails 2019-01-09 06:29:49 -08:00
perissology 31cfede7a7 enex import: attempt to get correct mime from Buffer 2019-01-09 06:29:13 -08:00
azivner c8ec86e537 allow refreshing saved note, closes #304 2019-01-08 23:32:03 +01:00
azivner 05aee884b6 fix saving search note content #304 2019-01-08 22:48:53 +01:00
azivner 012ba9e060 don't attempt to run protected notes outside of protected session, fixes #279 2019-01-08 21:21:49 +01:00
azivner 8e8fd88857 process only whitelisted mime types as an image, fixes #288 2019-01-08 20:45:34 +01:00
azivner 523ccdad6b reload note cache after import, closes #293 2019-01-08 20:19:41 +01:00
azivner ded3f605be fix almost invisible buttons on options page, closes #297 2019-01-08 19:47:35 +01:00
perissology 62b44e3549 use electron-builder for npm install
This will build deps as required for electron as well as the os.

This fixes the missing binding error for sqlite3 when trying to run the
electron app after a fresh npm i
2019-01-08 06:50:48 -08:00
azivner 030d12a465 stretch sync login token validity to 5 minutes #277 2019-01-07 23:29:56 +01:00
azivner 4d15628840 Merge remote-tracking branch 'origin/master' 2019-01-07 23:17:45 +01:00
azivner 81b849898c stretch body to full window width, fixes #276 2019-01-07 23:17:12 +01:00
zadam 3824486b85 Merge pull request #275 from Lee303/Dockerfile-dependency-fix
Update Dockerfile
2019-01-07 22:49:27 +01:00
Lee Spottiswood 081ab00a0a Update Dockerfile 2019-01-07 21:21:23 +00:00
zadam 04f6af5c9a Merge pull request #270 from svenefftinge/master
Make contributions easier
2019-01-07 21:46:02 +01:00
Sven Efftinge 4dc1f1f6eb Added contribute section and gitpod config 2019-01-07 12:52:02 +00:00
azivner 3930a02123 tree now uses standard font size which effectively makes it a bit larger 2019-01-06 20:59:19 +01:00
azivner 3112de105e fancytree selection/hover colors are shades of gray, border is rounded 2019-01-06 18:58:12 +01:00
azivner 3b8d7b8fba release 0.27.3 2019-01-05 22:48:11 +01:00
azivner 9fca7f09a5 link to mobile frontend 2019-01-05 22:45:18 +01:00
azivner fd39d6b3a9 using btn-secondary instead of btn-default since that doesn't exist in BS4 2019-01-05 21:51:27 +01:00
azivner a103886ea5 responsive setup page 2019-01-05 21:49:40 +01:00
azivner 373408e401 fix Branch reference to parent note id after parent change 2019-01-05 19:25:22 +01:00
azivner db44c1d8e6 border color tweaks 2019-01-05 11:49:17 +01:00
azivner 95a34c9e2d small tweaks of icon alignment 2019-01-05 11:41:09 +01:00
azivner 6ce401f260 release 0.27.2-beta 2019-01-04 23:33:32 +01:00
azivner 5d74dcd256 package-lock 2019-01-04 23:33:30 +01:00
azivner 5a9fc1697b electron 4.0.1 2019-01-04 23:32:14 +01:00
azivner 927415838c using enhanceTitle event instead of renderNode per https://github.com/mar10/fancytree/issues/927 2019-01-04 20:18:07 +01:00
azivner d72fcefdc7 fix sync of deleted notes 2019-01-04 20:10:16 +01:00
azivner 0be173a8f7 lower lastSyncedPull if server max sync ID is lower 2019-01-04 18:58:46 +01:00
azivner c3913a8735 updating the note cache after sync 2019-01-03 23:27:10 +01:00
azivner e2dfe1b6de fixed setup page issues which caused wrong choice to be used in the wizard 2019-01-03 22:32:36 +01:00
azivner fec3e47eb8 serialize binary note content into base64, incremented sync version 2019-01-03 22:13:58 +01:00
azivner d72efd2450 removed unnecessary logging of data dir which is now logged as part of app info 2019-01-03 21:46:32 +01:00
azivner ef1c840aa7 tiny fixes 2019-01-02 22:36:06 +01:00
azivner 1581464d8c fix layout - promoted attributes should never grow beyond its content 2019-01-02 20:21:34 +01:00
azivner 9de29584a4 added data directory to options -> about 2019-01-02 20:08:41 +01:00
azivner 9e2e6fb50c fixed glitch where "unhoist" button disappears after renaming the hoisted note 2019-01-02 19:26:01 +01:00
azivner c85979b66b it should not be possible to add note after hoisted note 2019-01-02 18:59:08 +01:00
azivner ecdc5865a6 release 0.27.1-beta 2019-01-01 20:54:23 +01:00
azivner 1771ddb787 responsive promoted attributes view and attribute overview to make sure note content is always visible. Fixes #262 2019-01-01 20:53:18 +01:00
azivner 3ab657fe46 created concept of "detail loaded listeners" which allow scripts to execute some action after the note detail has been loaded 2019-01-01 19:32:34 +01:00
azivner 8785dae753 force reload fancytree node when child is not found 2019-01-01 18:27:36 +01:00
azivner 2f1c5b29d4 update eslint 2019-01-01 18:06:52 +01:00
azivner 7135349a10 allow deleting protected notes outside of protected session 2019-01-01 17:04:21 +01:00
azivner 66c639d5e3 frontend API addition to protect current note 2019-01-01 15:39:13 +01:00
azivner 6704b755d8 attribute overview shows only owned attributes 2019-01-01 15:29:58 +01:00
azivner cf96baad48 release 0.27.0-beta 2018-12-30 22:38:11 +01:00
azivner 32220476aa better behavior on default loading detail / switching between tree and detail 2018-12-30 22:36:39 +01:00
azivner 86bc84a2ad better detection of float parameter in label filters, fixes #265 2018-12-30 22:09:14 +01:00
azivner de9e0c7929 lazy loading icon for both mobile and desktop 2018-12-30 21:13:35 +01:00
azivner 6963e662ef fix layout on chrome 2018-12-30 19:15:44 +01:00
azivner 7127822e8f placeholder for empty note content 2018-12-30 19:02:42 +01:00
azivner 0a35abf68f refresh note detail view after attribute save (from full dialog, not promoted notes), closes #261 2018-12-30 15:21:53 +01:00
azivner 3f8e8f8561 fix saving branch prefix, fixes #260 2018-12-29 10:35:44 +01:00
azivner e02eca87b0 dont toggle panes note on the first load 2018-12-29 10:19:28 +01:00
azivner 2f680c4326 tweaks, fixes, refactorings, creating new note from detail, not tree 2018-12-29 10:04:59 +01:00
azivner 0b4a44a403 layout tweaks etc. 2018-12-29 09:13:52 +01:00
azivner 89299f865c api method to detect navigation away from current page 2018-12-29 08:40:35 +01:00
azivner f6db9a50ab "switch to desktop version" button 2018-12-29 00:09:16 +01:00
azivner 78d9fac1e6 global actions context menu, logout 2018-12-28 23:57:11 +01:00
azivner 458ed1faff mobile detection 2018-12-28 23:47:06 +01:00
azivner 0657815de5 Merge branch 'master' into mobile 2018-12-28 22:31:51 +01:00
azivner a608832681 change to relation map note type doesn't trigger content change, related issue #258 2018-12-28 22:31:06 +01:00
azivner d2f72529b3 context menu with delete 2018-12-28 22:05:04 +01:00
azivner 28185af158 fix layout/scrolling issues in the tree 2018-12-28 20:36:18 +01:00
azivner 7aacd01ad7 separate css layout file for mobile and desktop 2018-12-28 19:47:02 +01:00
azivner 74cc34696e unifying expander icons in both desktop and mobile 2018-12-27 22:38:19 +01:00
azivner d4baac0bb5 mobile fixes 2018-12-27 22:36:11 +01:00
azivner 35bc1421f1 cannot edit note title when not in protected session 2018-12-27 20:22:33 +01:00
azivner d4db265fd9 non-modal protected session password form is now done separately as a kind of detail component. Also reworked branch prefix dialog input 2018-12-27 20:04:59 +01:00
azivner 1dad919de9 working protected session in mobile 2018-12-25 10:58:40 +01:00
azivner 246dfbdcb4 fix attribute loading for mobile 2018-12-24 23:08:43 +01:00
azivner f8d32d64f5 content scrolling 2018-12-24 22:39:17 +01:00
azivner 5dea271d6f basic responsive layout 2018-12-24 20:38:38 +01:00
azivner eeb62a6cf2 fix keyboard shortcut setup on mobile 2018-12-24 18:39:31 +01:00
azivner 35cf8026b0 activating note opens dialog with its detail 2018-12-24 12:49:27 +01:00
azivner e0028ab6f1 mobile frontend WIP, removing extra dependencies 2018-12-24 10:10:36 +01:00
azivner a32645cdeb fix scrolling to the top of detail after switching note 2018-12-24 09:47:00 +01:00
azivner 812f9f6fca initial work on mobile frontend 2018-12-23 22:28:57 +01:00
azivner f7a670ec24 responsive login page 2018-12-23 11:06:11 +01:00
azivner d0d24f0f4a unify ejs indentation to 4 spaces 2018-12-23 10:57:40 +01:00
azivner 042f9b7f2d fix positioning of protected session password dialog 2018-12-22 23:54:06 +01:00
azivner 2d260cdbed explicit node-abi required for 4.0.0 electron build 2018-12-22 23:10:03 +01:00
azivner 6a786cad83 updated API docs 2018-12-22 22:28:49 +01:00
azivner 67019b3d6c added attributes to frontend entity model 2018-12-22 22:16:32 +01:00
azivner 1db6e59077 tooltip related changes for scripting support 2018-12-22 20:57:09 +01:00
azivner 5e4770875e upgrade to bootstrap 4.2.1 2018-12-22 10:33:50 +01:00
azivner e9a77f3f16 image sync fixes and 4.0.0 electron 2018-12-22 09:54:09 +01:00
azivner cbec85f295 release 0.26.1 2018-12-20 19:54:09 +01:00
azivner 14bd5d301d fix broken image sync 2018-12-20 19:51:03 +01:00
azivner 321d0e8d64 explicit error handler for connection errors 2018-12-19 21:29:35 +01:00
azivner 84e1512031 added robots.txt to public root 2018-12-19 20:56:10 +01:00
azivner b036852b2d release 0.26.0-beta 2018-12-18 22:49:48 +01:00
azivner f693dc31e8 mention note hoisting in the readme 2018-12-18 20:50:03 +01:00
azivner af8f5b11b8 better error handling in request 2018-12-18 20:39:56 +01:00
azivner 8ca943f87b fix hoistedNoteId option init 2018-12-18 20:34:24 +01:00
azivner 35cc9da626 note about system proxy in the settings 2018-12-17 22:58:53 +01:00
azivner 44cc86a1a5 added support for explicit proxy 2018-12-17 22:54:54 +01:00
azivner 7c3bbfd45e using http service for sync setup as well, removed request(-promise) dependency 2018-12-17 22:12:26 +01:00
azivner a1f939e3a0 refactoring of network code into separate service 2018-12-17 21:34:02 +01:00
azivner 4ca7886090 uniform requests through electron's net and node http/https to support different proxy setups 2018-12-16 23:30:53 +01:00
azivner b942163748 sync with electron net API (for system proxy support) - working, but WIP 2018-12-16 21:19:12 +01:00
azivner 5b6d15acb3 note path might not always include root explicitly 2018-12-16 10:41:47 +01:00
azivner 841420360e quick unhoist link/button 2018-12-15 20:29:08 +01:00
azivner a680bb4612 unhoist note when activating note outside of the hoisted note subtree 2018-12-13 23:28:48 +01:00
azivner f763e13996 fix searching without hoisting 2018-12-13 21:43:13 +01:00
azivner e73e1262ae Merge branch 'stable' into hoist 2018-12-13 21:18:44 +01:00
azivner b774d56cf7 note titles in jump to note start from hoisted note instead of root 2018-12-13 21:18:35 +01:00
azivner bae55f2e8b release 0.25.2 2018-12-12 21:30:06 +01:00
azivner 6c16cdb011 recent notes and jump to note are filtered by hoisted note 2018-12-12 21:28:38 +01:00
azivner 86fcbb0354 keyboard shortcut for hoisting, hoisted note is always expanded and has arrow icon 2018-12-12 20:54:58 +01:00
azivner 17d030e800 continuing work on hoisting notes 2018-12-12 20:39:56 +01:00
azivner 6fbf28b30d hoisting notes WIP 2018-12-11 21:53:56 +01:00
azivner 8171b68b18 electron 4.0 beta 9, context menu padding 2018-12-11 19:50:31 +01:00
azivner d30e3a4052 bind standard shortcuts on both command and ctrl modifiers, #254 2018-12-10 20:44:50 +01:00
azivner 87aab7ac5b fix attributes leaking into imported notes, #241 2018-12-10 20:29:49 +01:00
azivner c46f5805b1 removed the note from readme about missing mac build 2018-12-09 21:50:29 +01:00
azivner dd6a29dfc0 no ia32 release upload 2018-12-09 21:34:08 +01:00
azivner a0933c7f10 release 0.25.1-beta 2018-12-09 21:22:33 +01:00
azivner 492adc2909 fix broken drag & drop, closes 252 2018-12-09 21:18:53 +01:00
azivner 90a52f57b5 recent notes route accepts slash in the param (problem with nginx etc.) 2018-12-09 14:30:19 +01:00
azivner a1469854e8 Allow Trilium to work from non-root document paths, closes #253 2018-12-09 13:37:28 +01:00
azivner e2c2993255 changes in build - linux-x64 also uses prebuilt binaries compatible with glibc 2.27 so e.g. ubuntu 18.04 works again. Also dropped build for linux-ia32 2018-12-09 11:41:32 +01:00
azivner 270d63b265 deactivated cut to note functionality in ckeditor build 2018-12-08 10:54:10 +01:00
azivner 1d004be91d ckeditor upgrade to 11.2.0 2018-12-08 09:48:36 +01:00
azivner b8a74c727e copy paste, undo, redo, select all shortcuts supported on mac build 2018-12-02 14:04:53 +01:00
azivner c87b592277 fix in the release script 2018-12-02 08:42:11 +01:00
azivner cfa926602a release 0.25.0-beta 2018-12-02 00:30:07 +01:00
zadam 350cb52c07 Merge pull request #249 from nicoulaj/master
fix #248: crossorigin attribute is needed when including with type="module"
2018-12-02 00:27:59 +01:00
azivner af195beb7e initial mac support + some other build changes 2018-12-02 00:26:45 +01:00
Julien Nicoulaud cb00d42546 fix #248: crossorigin attribute is needed when including with type="module"
For more info, see:
 * https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes
 * https://jakearchibald.com/2017/es-modules-in-browsers
2018-12-01 23:33:23 +01:00
azivner ee0b0c3dfe minor export fixes 2018-11-30 22:43:03 +01:00
azivner ddcb4a0e10 added another mime type for JS 2018-11-30 22:28:30 +01:00
azivner 8cbb29ee25 default location for data dir is now .local for linux and Roaming for windows 2018-11-30 19:56:20 +01:00
azivner 9da11ac144 electron 4 beta 8 2018-11-30 17:50:38 +01:00
azivner ba7c8e77e5 add support for number precision in promoted attributes, closes #245 2018-11-30 17:36:41 +01:00
azivner 4577b03fc9 promoted attributes now use saved indicator (little check) instead of notification 2018-11-30 17:18:19 +01:00
azivner 72d83aa85e fix note cache - note entity after initialization doesn't contain ciphertext so decryption is not necessary 2018-11-30 15:51:55 +01:00
azivner 8ee80cb5f1 using dashes instead of underscores in header names to avoid the fact that nginx by default drops all headers with underscore in the header name 2018-11-30 15:49:35 +01:00
azivner 4cc08bff8b minor node updates in docker and server package 2018-11-30 13:56:36 +01:00
zadam 295cfb2d75 Merge pull request #247 from gabe565/master
Smaller Docker image
2018-11-30 13:38:47 +01:00
azivner 7775376b33 disable "cut to note" feature because of issues with CKEditor 2018-11-30 11:37:33 +01:00
azivner 9f64e994dc fix minor UI issue causing children overview not being decrypted right after entering protected session 2018-11-30 10:33:40 +01:00
azivner ee1e4fc710 added "update pojo" stage in entity saving to avoid encrypting data on protected note directly on the entity 2018-11-30 10:20:03 +01:00
Gabe Cook 5ea62c710d Move devtron to devDependencies and update package-lock.json 2018-11-30 05:46:55 +00:00
Gabe Cook aeca31d06a Add .git, bin, and docs to the .dockerignore 2018-11-30 05:46:49 +00:00
Gabe Cook 9cb9ea6ab5 Smaller Docker image by switching the base image to node:10.13.0-alpine and consolidating scripts 2018-11-30 05:41:53 +00:00
azivner e37dd69827 link to Patterns of personal knowledge base 2018-11-28 22:05:23 +01:00
azivner 6c51696d1a also don't show "No results" for attr autocomplete 2018-11-27 19:43:34 +01:00
azivner 27787c8f37 attribute name and value autocompletes should not have autoselect since it's OK to enter value not in the autocomplete 2018-11-27 19:40:19 +01:00
azivner e910595545 updated readme 2018-11-27 19:18:24 +01:00
azivner a616739805 release 0.24.5 2018-11-27 15:34:15 +01:00
azivner bea28de6a0 tab on autocomplete doesn't select first item, closes #243 2018-11-27 13:13:06 +01:00
azivner 4e198ca2f0 storing trilium version into export metadata 2018-11-27 10:31:55 +01:00
azivner 2fbd16a0e3 updated demo export according to latest format changes 2018-11-26 23:50:43 +01:00
azivner 76fc49f037 allow import of single HTML file too 2018-11-26 23:47:02 +01:00
azivner 139c99440f export stores note position and some other fixes 2018-11-26 23:39:43 +01:00
azivner 137b9dfa0b fix storing attributes and relinking noteIds 2018-11-26 23:19:19 +01:00
azivner 5f0fdd15eb fix adding sync entities during import 2018-11-26 22:37:59 +01:00
azivner 61e1427b83 fix matching of "b" in the note autcomplete highlighter 2018-11-26 22:35:19 +01:00
azivner b3aa0ba47c entity events are not triggered on imported entities 2018-11-26 22:27:57 +01:00
azivner 56e2b44c25 fix import 2018-11-26 22:22:16 +01:00
azivner 4d5a17583f happy path tar import now works 2018-11-26 20:30:43 +01:00
azivner 71eda5aa3d import tar archive WIP 2018-11-26 14:47:46 +01:00
azivner 0711ea8dc8 filter out links and relations which are outside of the export 2018-11-25 22:38:09 +01:00
azivner be206872d1 changed export model to single metadata file per exported .tar 2018-11-25 22:09:52 +01:00
azivner fcf3fe8dcd tar export can now solve naming conflict 2018-11-25 15:17:28 +01:00
azivner 62dbd4062a on/off button for entering/leaving protected session has been changed to literal buttons 2018-11-25 14:12:33 +01:00
azivner 196e8b4380 extra icons 2018-11-25 14:05:54 +01:00
azivner 551e1255ff export WIP + some unrelated changes 2018-11-25 10:26:45 +01:00
azivner e09b61d1ac single file export working, tar WIP 2018-11-24 20:58:38 +01:00
azivner ee23bcc783 unified export dialog, WIP 2018-11-24 14:44:56 +01:00
azivner 3e351bd8d3 better positioning of nonmodal protected session dialog 2018-11-22 21:24:47 +01:00
azivner 0d3bc22d73 fix z-index of notification 2018-11-22 21:19:12 +01:00
azivner d82898421e less obtrusive saved indicator, fixes #122 2018-11-22 20:25:49 +01:00
azivner 1db2f0c2c5 improved notifications, now with animations, in center and show up properly in the dialogs 2018-11-22 16:08:02 +01:00
azivner 6cd8a2203e create app icon only for electron build 2018-11-22 00:24:33 +01:00
azivner 08e062ab34 release 0.24.4-beta 2018-11-21 23:47:09 +01:00
azivner 3a06493459 partial workaround for the broken in page search (next & previous don't work, but at least highlighting works) 2018-11-21 23:39:19 +01:00
azivner 8159564885 fix .desktop + allow to turn this feature off 2018-11-21 11:19:33 +01:00
azivner 8ce3c1a480 generate local .desktop file so it shows among apps in linux desktop environments 2018-11-21 11:01:03 +01:00
azivner dbc93f4a79 mitigations for tooltip flickering 2018-11-20 23:50:19 +01:00
azivner 92ffe321aa smaller context menu 2018-11-20 22:55:07 +01:00
azivner 6cb7d0098e changed layout a little bit to fix broken children overview in the electron/chrome 2018-11-20 22:49:10 +01:00
azivner bdcb4361b2 simplification of note autocomplete result ordering by depth #240 2018-11-20 22:22:26 +01:00
azivner 15366d37d7 ordering results in autocomplete based on depth, closes #240 2018-11-20 21:22:20 +01:00
azivner acd001501b release 0.24.3-beta 2018-11-20 13:01:41 +01:00
azivner 0019865807 disabling broken in page search 2018-11-20 12:54:03 +01:00
azivner 137ffcc4e3 enable line wrap for code editor 2018-11-20 10:49:03 +01:00
azivner 585398ad5c fix bug when saving non-text notes 2018-11-19 23:11:36 +01:00
azivner 50401954d1 disable cache for attribute name autocomplete 2018-11-19 22:17:08 +01:00
azivner 32a9df8489 fixes (and refactoring) for "empty attribute name" check 2018-11-19 22:06:51 +01:00
azivner 5bf5d1cac4 attribute dialog doesn't allow to (attempt to) save relation without target note 2018-11-19 21:58:52 +01:00
azivner 3608857f25 small fix to demo export 2018-11-19 21:09:59 +01:00
azivner 16a1dc12df jsdoc now doesn't include date into files to avoid unnecessary noise 2018-11-19 21:03:43 +01:00
azivner 9c834229b9 release 0.24.2-beta 2018-11-19 17:17:08 +01:00
azivner 3fd45b15e7 set icon and app name, closes #201 2018-11-19 17:16:22 +01:00
azivner f20ab45576 fix absolute image paths to relative paths as part of parsing links 2018-11-19 15:00:49 +01:00
azivner 77a89d85c8 fix "copy image to clipboard" button 2018-11-19 12:12:58 +01:00
azivner 30249a353e renamed "mirror" relation to "inverse" relation 2018-11-19 12:07:33 +01:00
azivner eb9bae9010 updated relation map in demo document 2018-11-19 11:47:40 +01:00
azivner 0c7ae527c5 allow dragging only one note at a time 2018-11-19 11:19:56 +01:00
azivner fef4705e2f center button changed to "reset pan & zoom" 2018-11-19 11:14:55 +01:00
azivner 568c2c997f possibility to export single code note as markdown. UI fix of disabled buttons 2018-11-19 09:54:33 +01:00
azivner d6b5cd6ead support saving files and images in markdown tar export 2018-11-19 09:46:24 +01:00
azivner 00ce379962 excludeFromExport support also in OPML 2018-11-19 09:34:05 +01:00
azivner b1ed022771 release 0.24.1-beta 2018-11-19 00:06:44 +01:00
azivner ad6cb6ba34 mirror relation has to target source note 2018-11-19 00:06:04 +01:00
azivner 2e76de5f34 minor relation map fixes 2018-11-18 23:57:39 +01:00
azivner 4f23f2515a fix relation saving 2018-11-18 23:36:21 +01:00
azivner 8e16cc2326 fix prompt mutability (autocomplete on answer input field) 2018-11-18 23:31:31 +01:00
azivner 49bca04ebb fix doubling of notes after some actions 2018-11-18 23:01:48 +01:00
azivner 05e9669eaf fixed relation map sizing issue 2018-11-18 22:49:53 +01:00
azivner 62a250a7fc fixes for tooltip handling 2018-11-18 20:57:52 +01:00
azivner 8299524682 fixed cleanup of deleted notes for protected notes 2018-11-18 11:34:40 +01:00
azivner 7691a59977 imported notes can reference root 2018-11-18 11:19:50 +01:00
azivner 3db2f6784d fix DB migration and consistency issues 2018-11-18 10:20:06 +01:00
azivner 48684d0509 fixed app termination after unsuccessful migration for electron 2018-11-18 09:05:50 +01:00
azivner 1ee8d9fd93 sql console executes selected text if there's a selection instead of the whole content 2018-11-18 08:29:56 +01:00
azivner 228a77cb89 release 0.24.0-beta 2018-11-16 23:30:52 +01:00
azivner 90eb1b53fb update of demo document, using relation map for "family tree" demo 2018-11-16 23:29:38 +01:00
azivner 6a36e1ca86 we're now saving links also for notes included in relation maps which helps with translation of noteIds during import from native tar 2018-11-16 23:27:57 +01:00
azivner 3fee263355 fixed "paths" styling for BS4 and fix for special case of root note 2018-11-16 22:04:51 +01:00
azivner d19fa89f69 fixed sqlite3 windows binary 2018-11-16 21:44:50 +01:00
azivner 6b65592d7a attachment preview, closes #210 2018-11-16 18:40:58 +01:00
azivner 94565e3ec0 now using .tar export to initialize DB instead of direct DB dumps 2018-11-16 14:36:50 +01:00
azivner 5b9a1ef0e9 import/export logic refactored into separate files per format, closes #237 2018-11-16 12:12:04 +01:00
azivner e0f9a7fc6a added links to the import/export + fixing internal links inside note content 2018-11-16 11:42:06 +01:00
azivner 46c7901e1f fix migration script 2018-11-15 22:24:30 +01:00
azivner efc5cf4091 Doubleclick on the image will take you to that image note, closes #236 2018-11-15 14:51:09 +01:00
azivner 39b3c91abf image notes can't be updated + minor visual tweaks 2018-11-15 14:33:02 +01:00
azivner 6749cbed1b added some consistency checks for links and attributes 2018-11-15 13:58:14 +01:00
azivner 346b8c21dd uploaded attachments with image mime are saved as image notes, closes #211 2018-11-15 12:13:32 +01:00
azivner 8ee8639faa allow also deleting note when removing note from note relation 2018-11-14 23:30:28 +01:00
azivner fa264d1cbe fix CSS filter issue in firefox, closes #233 2018-11-14 20:58:19 +01:00
azivner 8a3f508825 "go to selected note" button now has also note tooltip 2018-11-14 19:33:48 +01:00
azivner 19a07c699c added BS dialog for confirm 2018-11-14 19:03:55 +01:00
azivner b8feb4cce3 fix attribute sorting, closes #225 2018-11-14 17:54:28 +01:00
azivner cfce744338 method name refactoring 2018-11-14 17:26:07 +01:00
azivner 211001fb2f #232 implement recenter even though it probably doesn't work totally correctly 2018-11-14 15:11:39 +01:00
azivner a334f08782 refactorings in relation map related to noteId handling and storage 2018-11-14 14:52:05 +01:00
azivner 040bb13800 disable shield background in distraction free mode, fixes #226 2018-11-14 13:42:50 +01:00
azivner 6652ddc20a fix relation map display in distraction free mode 2018-11-14 13:37:45 +01:00
azivner e44c7c9947 hide "go to selected note" button in jump because it doesn't make sense there 2018-11-14 11:28:52 +01:00
azivner 24a0856d22 open external link button moved inside input 2018-11-14 11:24:40 +01:00
azivner 74acb08f7b "open" note put into note autocomplete input, also fixes #222 2018-11-14 11:17:20 +01:00
azivner 7be85acf11 mitigation of tooltip flicker by making tooltip smaller 2018-11-14 10:36:14 +01:00
azivner fc9495bcdf links are now shown in the relation map as well 2018-11-14 10:11:15 +01:00
azivner 247275d391 fix icon of newly created note 2018-11-14 08:42:00 +01:00
azivner 427234293e tooltip for image note 2018-11-14 08:36:19 +01:00
azivner 9568fde027 tooltip color tweak 2018-11-14 08:28:38 +01:00
azivner 9cf08bf926 fix shadow of protected note's icon in the tree 2018-11-14 08:23:34 +01:00
azivner 295800881b fix #223 plus some refactorings 2018-11-14 00:05:09 +01:00
azivner 25e68762fe note autocompletes now have clear text button 2018-11-13 23:16:26 +01:00
azivner ea0a5bc1c9 added code basic style do ckeditor, fixes #220 2018-11-13 22:22:01 +01:00
azivner abbade96af added hidePromotedAttributes label, fixes #221 2018-11-13 22:14:41 +01:00
azivner 83c6f86d26 re-center button, WIP 2018-11-13 22:05:32 +01:00
azivner db17b05db1 hide attribute "status bar" for relation map to maximize screen space, some refactoring 2018-11-13 19:25:59 +01:00
azivner 1ce26ed704 fix dirtying transform saved status by properly cloning transform object 2018-11-13 19:16:21 +01:00
azivner a065a610c1 absolute positioning of relation map buttons to maximize screen estate 2018-11-13 19:00:01 +01:00
azivner 0b85f87cb2 display mirror relations correctly on relation map 2018-11-13 12:50:08 +01:00
azivner 144e814b02 added relation name autocomplete to relation map connection creation 2018-11-13 10:42:55 +01:00
azivner 8dc32e581e refactored attribute autocompletes into separate service 2018-11-13 10:25:59 +01:00
azivner 21d3b0c9d8 implemented mirror relations 2018-11-12 23:34:22 +01:00
azivner e7cea59ba7 fixes for relation map rendering 2018-11-12 21:18:22 +01:00
azivner 2523f81f3b bootstrap backed replacements for JS prompt and alert 2018-11-12 20:17:48 +01:00
azivner c6e1ad5f15 drag all selected notes instead of just one 2018-11-12 15:10:49 +01:00
azivner 340916d5da drag & drop notes from the tree into relation map 2018-11-12 13:05:09 +01:00
azivner bbe36fc7fb some refactorings on relation map 2018-11-12 09:57:48 +01:00
azivner 02fd8f8133 working (but messy) pan & zoom without scrollbar and new note on click 2018-11-11 23:21:43 +01:00
azivner 525f167127 Merge branch 'stable' 2018-11-11 19:26:40 +01:00
azivner 3750919169 fixed context menus in relation map 2018-11-09 22:18:51 +01:00
azivner 4f34fb802b minor icon changes 2018-11-09 20:45:28 +01:00
azivner d978c64e1a refactoring of tree context menu into reusable component 2018-11-09 17:11:45 +01:00
azivner bc2e230425 fix frontend API to work with JAM icons 2018-11-09 14:49:08 +01:00
azivner 71f333154d unprotecting note after protecting it sometimes didn't work
fix protected note background
2018-11-09 14:36:27 +01:00
azivner c5113eb292 fix options dialog which used jquery tabs 2018-11-09 12:13:51 +01:00
azivner 232f135843 using jam font icon pack instead of feather, fixes #204 2018-11-09 11:57:52 +01:00
azivner 8be328cb3b now that content is nullable, cleanup sets it to null instead of empty string 2018-11-09 09:04:55 +01:00
azivner bfc09187e3 disabled note-level actions based on note type, fixes #218 2018-11-08 23:59:25 +01:00
azivner 3a4691b46d updated API docs to reflect changes in link/image handling 2018-11-08 23:49:44 +01:00
azivner 7b3c0243f3 enter protected password is not modal now, closes #217 2018-11-08 23:48:49 +01:00
azivner 8d7a2546e1 help buttons on the dialog titlebar wherever possible, closes #205 2018-11-08 21:36:35 +01:00
azivner 991d5d3be3 save and remove both hyper and image links 2018-11-08 20:17:56 +01:00
azivner 6416e3e9fb refactored attributes out of note detail, fixes #213 2018-11-08 20:01:25 +01:00
azivner 3ba761fe28 refactored import markdown dialog into separate file, fixes #206 2018-11-08 19:42:57 +01:00
azivner 273a9b14d9 added copy image to the image detail 2018-11-08 18:35:23 +01:00
azivner afcbfcfa03 cleanup obsolete image code 2018-11-08 11:14:13 +01:00
azivner d7afbe4059 saving image 2018-11-08 11:08:16 +01:00
azivner 21e952a7f0 note image detail 2018-11-08 10:30:35 +01:00
azivner d0d2a7fe47 store images in notes, basic structure 2018-11-08 10:11:00 +01:00
azivner 5f427e37fe export dialog to choose export format, closes #207 2018-11-07 22:58:33 +01:00
azivner 13f9007bd6 attributes dialog converted to algolia autocomplete, closes #203 2018-11-07 20:32:11 +01:00
azivner 90dbe637ed autocomplete for add link dialog, #203 2018-11-07 17:16:33 +01:00
azivner a0f362457e refactoring of autocomplete handling, #203 2018-11-07 09:51:14 +01:00
azivner 1febf5136c finished jump to autocomplete, now with token highlighting, #203 2018-11-07 09:35:29 +01:00
azivner 3c23d7085e porting autocomplete to algolia, WIP, #203 2018-11-07 00:23:50 +01:00
azivner 57e9850ca6 migrated tooltips to bootstrap, #203 2018-11-06 19:35:42 +01:00
azivner 2f4ef0a4a2 migrated all remaining dialogs to bootstrap modals, #203 2018-11-06 17:47:40 +01:00
azivner 6fb99ae89e changed ejs indentation to 2 spaces instead of 4 (or mix) 2018-11-06 15:53:23 +01:00
azivner 69d2bd8b58 replacement of jquery ui dialog for bootstrap modal for jump to note dialog, #203 2018-11-06 15:25:07 +01:00
azivner e62cca886c fix login & setup page 2018-11-06 14:54:22 +01:00
azivner a8e13eac3a fix postponed deletion job - need to have cls 2018-11-06 14:23:49 +01:00
azivner 2f887f1ea7 split dialog templates into separate files 2018-11-06 14:16:38 +01:00
azivner 3856de4483 positioning of context menu when click on elements down on the page 2018-11-06 13:45:58 +01:00
azivner 0348bbe4f1 context menu cleanup 2018-11-06 12:50:48 +01:00
azivner 24dfe0fa98 replace note tree context menu with bootstrap dropdown, #203 2018-11-06 12:46:29 +01:00
azivner 20baa47d26 use HTML5 for Drag & Drop instead of jquery UI draggable for fancytree, #203 2018-11-05 21:42:29 +01:00
azivner 19cb29cdca use native date picker instead of jquery UI, #203 2018-11-05 21:20:05 +01:00
azivner 24a1838b13 bootstrap 4 upgrade 2018-11-05 21:12:03 +01:00
azivner 7bdbea81f1 enex import recognizes images, media references are converted to links 2018-11-05 12:52:50 +01:00
azivner b8eaff055a create notebook's "root note" for ENEX import 2018-11-05 09:23:04 +01:00
azivner 5e318c6242 basic enex import, closes #194 2018-11-05 00:06:17 +01:00
azivner 607c821cac logging slow autocomplete times 2018-11-04 22:10:52 +01:00
azivner 26b9302267 run unused image cleanup periodically (once every 4 hours) 2018-11-01 16:40:25 +01:00
azivner de14e808c7 logging of slow queries (currently >= 200ms) 2018-11-01 11:18:54 +01:00
azivner 80178b52c0 cleanup of note (& revisions) content is now postponed and done 48 hours after deleting it. This makes it possible to correct user mistake without having to use a real backup 2018-11-01 10:23:21 +01:00
azivner 370efdc034 place note on canvas by click, WIP 2018-11-01 09:41:03 +01:00
azivner f06d8c7c54 multiselection with keyboard doesn't trigger activation which helps with performance 2018-10-31 23:55:14 +01:00
azivner 63edde8a73 improve performance when quickly switching notes (by e.g. holding down arrow in the tree) 2018-10-31 19:08:31 +01:00
azivner 5872146172 better detection of empty tooltip 2018-10-31 18:31:18 +01:00
azivner ab26216cbe fixes for "add child note" button 2018-10-31 18:21:58 +01:00
azivner 5cc91c64a3 fix right click delete (or other action) when other node is activated 2018-10-31 18:13:08 +01:00
azivner 4858f0bec6 button for creating subnote in relation map and other unrelated changed, WIP 2018-10-31 12:29:01 +01:00
azivner 639284fd85 changing title directly from relation map 2018-10-30 22:18:20 +01:00
azivner f33f99134b zoom fix 2018-10-30 21:28:41 +01:00
azivner a2434f200e icon for relation map 2018-10-30 20:26:31 +01:00
azivner 31abec5d1c zoom icons 2018-10-30 20:22:05 +01:00
azivner 93d152eae5 using whole note box to drag the box instead of special handle 2018-10-30 11:28:48 +01:00
azivner 2a14ea8d0c fixes for relation handling + visual design restyled into gray colors 2018-10-30 10:36:19 +01:00
azivner a19af8a61d fixes and tweaks for relation map 2018-10-30 08:53:30 +01:00
azivner 2a129809b3 support for adding new relations from relation map with drag & drop 2018-10-29 22:38:51 +01:00
azivner 07cbc385e5 basic refactoring of relation map code 2018-10-29 19:25:45 +01:00
azivner 67d47c389a Merge remote-tracking branch 'origin/master' into canvas 2018-10-29 19:10:28 +01:00
azivner e61f17809a set icon reference to electron packager 2018-10-29 19:08:23 +01:00
azivner 23de04daaa removed forge related config which isn't used 2018-10-29 18:39:09 +01:00
azivner a8774353fd release 0.23.1 2018-10-25 18:13:37 +02:00
azivner 18f2419bd6 allow creating anonymized database from command line as well, fixes #200 2018-10-25 18:03:28 +02:00
azivner 332a65a9cc disable smooth scroll 2018-10-25 17:11:50 +02:00
azivner 1d51f58447 remember pan and zoom 2018-10-25 15:45:14 +02:00
azivner 41fca4c4f3 fixes, getting rid of resizing for now 2018-10-25 14:01:03 +02:00
azivner 4a5a63d7b4 relation map WIP 2018-10-25 12:06:36 +02:00
azivner b17f442d1f Merge branch 'master' into canvas 2018-10-23 18:11:29 +02:00
azivner 9f0860edab Merge branch 'stable' 2018-10-21 22:48:58 +02:00
azivner 0c007566ad fixes for invalid operations on root note 2018-10-21 22:42:20 +02:00
azivner bfa2b5fa62 add a check for root parent 2018-10-21 21:37:34 +02:00
azivner 6559e6c25b add children to relation map 2018-10-21 10:26:14 +02:00
azivner 627e5e0edb imported poc code 2018-10-18 11:53:01 +02:00
azivner 2a8de2653e added libraries for relation map 2018-10-18 11:46:07 +02:00
azivner e487dc1df7 basic infrastructure for "relation map" note type 2018-10-18 11:25:33 +02:00
azivner 04af8a3a96 fixed CTRL-ALT-P shortcut 2018-10-15 23:45:37 +02:00
azivner 209551a205 using new scrypt api from node 10 as a replacement of third party library 2018-10-14 11:48:29 +02:00
azivner c6bfd3909f sqlite3 binary for electron 4 2018-10-14 11:37:29 +02:00
azivner 8b7694d0ec use node 10 also for server edition 2018-10-14 11:35:31 +02:00
azivner 76c980b51f electron 4.0.0-beta.3 2018-10-14 11:31:23 +02:00
azivner 1de06b4fc9 fix links in README 2018-10-12 18:38:57 +02:00
azivner 949456212a fix for ckeditor stretching body 2018-10-12 13:40:06 +02:00
azivner 06a867773e minor library updates 2018-10-12 12:37:03 +02:00
azivner 269f56bdca release 0.23.0 2018-10-09 21:08:11 +02:00
azivner 5352f388a7 ckeditor updated to 11.1.0 2018-10-09 12:39:36 +02:00
azivner be94766f76 trigger events after note attributes are created 2018-10-08 11:09:45 +02:00
azivner 24673168bb api docs update 2018-10-07 16:27:12 +02:00
azivner b5bb653889 fancytree updated to 2.30.0 2018-10-07 14:34:05 +02:00
azivner b09071eb9b publish API to allow manipulating list of allowed mime types for #192 2018-10-07 14:25:17 +02:00
azivner 5f95ab95c9 code mirror update to 5.40.2 2018-10-07 12:02:07 +02:00
azivner 0ce8d1e7e8 ctrl+del already has a standard behavior so removing it as a shortcut to delete note 2018-10-06 23:16:43 +02:00
azivner b2776954a1 fix opening internal link from ckeditor link editing, fixes #191 2018-10-06 23:11:42 +02:00
azivner d65610429c don't show tooltip over ckeditor link editing dialog 2018-10-06 22:00:43 +02:00
azivner 62de7f28eb consistently use root/ prefix for note paths 2018-10-06 21:32:07 +02:00
azivner 257cced182 release 0.22.1 2018-09-11 10:15:15 +02:00
azivner 3af27845b5 report missing sync configuration when clicking on Test sync 2018-09-11 10:09:55 +02:00
azivner 9b425025c9 fix sync double initialization issue 2018-09-11 10:01:40 +02:00
azivner e8797a137f fix getting sync setup 2018-09-11 09:35:29 +02:00
azivner 947e875b6c added today script into demo document 2018-09-11 00:02:25 +02:00
azivner 15610626f1 fix for import issue 2018-09-10 23:41:11 +02:00
azivner eb84cfbef2 sync login now includes check for sync server initialization and initializes it if necessary
Test sync button strictly not necessary
2018-09-10 20:22:26 +02:00
azivner e4381d10e8 merged "Sync local document" into "Test sync" 2018-09-10 20:05:10 +02:00
azivner b4a566df9e electron 2.0.9 and other small library updates 2018-09-10 19:09:05 +02:00
azivner b20ff78653 revert server package to node 8 2018-09-09 17:53:55 +02:00
azivner 15888a5f8f sqlite binary for node 10 2018-09-09 12:57:11 +02:00
azivner a90c164bbe fix server build 2018-09-09 12:08:56 +02:00
azivner 4f3aa9cd79 release 0.22.0 2018-09-09 10:08:45 +02:00
azivner d248994143 updated windows scrypt binary 2018-09-09 09:46:15 +02:00
azivner 78518fbc60 note about platform support in README 2018-09-07 13:55:13 +02:00
azivner 50cd0c792c provide H4-H6, fixes #177 2018-09-07 13:47:26 +02:00
azivner 22e905aa99 enter on note in note tree leads to note title instead of content (second enter then goes to content) 2018-09-07 10:50:05 +02:00
azivner 8b41c1ef31 fix pasting HTML content into subnotes 2018-09-07 10:26:23 +02:00
azivner 492fde6f46 fix copy scrypt binary to correct directory 2018-09-06 23:23:19 +02:00
azivner 892a254e5a put missing options also to sqlInit 2018-09-06 23:21:14 +02:00
zadam 1ef3188213 cut selection and put it into subnote, fixes #171 2018-09-06 22:58:46 +02:00
azivner c76329e671 increased default min pane width to 350px 2018-09-06 12:02:42 +02:00
azivner c95e409b5e left pane sizing taking effect 2018-09-06 11:54:04 +02:00
azivner ff086569f2 saving options for left pane sizing 2018-09-06 11:17:30 +02:00
azivner bdc2fa1019 small refactoring of template and CSS 2018-09-06 09:33:38 +02:00
azivner 6668b55d6e use node 10 for docker and server package 2018-09-05 20:35:33 +02:00
azivner 46f37f7426 using @mlink/scrypt for node 10 compatibility 2018-09-05 15:14:20 +02:00
azivner bc669c7b81 markdown wiki reference on README 2018-09-03 21:06:24 +02:00
azivner 185fb4b787 release 0.21.0 2018-09-03 20:18:28 +02:00
azivner f2712e92bb minor demo db updates after change to paragraph layout 2018-09-03 20:14:45 +02:00
azivner 763f885cc7 commonjs modules should have "this" available 2018-09-03 17:31:52 +02:00
azivner 25f8df1e03 fix import for tars generated outside of trilium 2018-09-03 17:08:34 +02:00
azivner c7a609e349 new frontend API - getCurrentNoteContent and onNoteChange 2018-09-03 16:05:28 +02:00
azivner a3feaa13b3 single markdown file import, #166 2018-09-03 13:40:40 +02:00
azivner 4a58357a9a fixes & refactoring to markdown import 2018-09-03 13:17:29 +02:00
azivner c41b809720 markdown import 2018-09-03 12:05:44 +02:00
azivner 9bdd4437f2 export single note as markdown, #166 2018-09-03 09:40:22 +02:00
azivner 467ad79129 implemented markdown export, #166 2018-09-02 23:39:10 +02:00
azivner 0daeb71869 removing paragraph margin & padding collapse, #51, no migration yet 2018-09-02 23:03:44 +02:00
azivner 708874a02c #166 inline markdown import 2018-09-02 23:02:01 +02:00
azivner fa77132fe9 mention of markdown autoformat in README 2018-09-02 11:05:07 +02:00
azivner d3300df3d7 typo, fixes #164 2018-09-02 08:01:16 +02:00
azivner 4984b06d9f night theme in README 2018-09-01 17:50:49 +02:00
azivner 66c908f2b2 relations should be also prefixed by at-sign in bottom attribute panel 2018-09-01 15:49:35 +02:00
azivner 7199208d9d putting reddit importer back 2018-09-01 15:23:51 +02:00
azivner 8adc111b0a removed scripts which are outdated, demo document should be sufficient for now 2018-09-01 14:10:36 +02:00
azivner 1079ba1707 release 0.20.2 2018-09-01 14:08:37 +02:00
azivner 10ff504528 demo document update 2018-09-01 13:57:03 +02:00
azivner 005b66f4f4 smaller initial height of 800 to fit into 1600*900 display 2018-09-01 13:41:01 +02:00
azivner 792039227f cssClass is correctly filled for new note 2018-09-01 13:18:55 +02:00
azivner bc38172792 readme update 2018-09-01 11:04:31 +02:00
azivner c55bc471db fix note move to different parent in note cache 2018-08-31 19:55:56 +02:00
azivner fdc3a7a7f2 fix "search" button click 2018-08-31 19:23:56 +02:00
azivner a98d80db31 renamed subtree operations in context menu from "branch" to "subtree" 2018-08-31 18:22:53 +02:00
azivner 65d99f3f06 fixed bug which caused incorrect ordering of lazy loaded branches 2018-08-31 17:29:54 +02:00
azivner 85215aa440 fix timing issue when saving changes to notes 2018-08-31 00:08:04 +02:00
azivner cfa4cc4931 fix undefined Sync section in the config file 2018-08-30 23:28:38 +02:00
azivner ce9805c5bc protection against deleting root note 2018-08-30 22:38:34 +02:00
azivner 0442a44aab font slightly larger in setup + tiny visual tweaks 2018-08-30 22:28:57 +02:00
azivner be22d3cb4c new server package build without using pkg (fixes images stuff) 2018-08-30 21:57:14 +02:00
azivner dcc770c443 readme update 2018-08-30 11:56:12 +02:00
azivner a2d7be445f demo db update 2018-08-30 00:42:02 +02:00
azivner 3dd89ee9da release 0.20.1 2018-08-29 22:29:36 +02:00
azivner 561b514b84 refactored promoted attribute change handler 2018-08-29 22:28:58 +02:00
azivner bc61f17a3a changes in initial document 2018-08-29 21:36:42 +02:00
azivner 7c3d46d22a added jsdocs generated pages 2018-08-29 20:44:35 +02:00
azivner 1ece9b71ec fix inserting current timestamp into editor 2018-08-29 20:22:57 +02:00
azivner ee54dc3463 fix note placement from "create top level note" 2018-08-29 18:31:29 +02:00
azivner b65a6c97a1 added missing attributes dump 2018-08-28 23:39:12 +02:00
azivner dbca7bfb43 dump script + updated SQL dumps 2018-08-28 23:36:28 +02:00
azivner 3bb021fba1 entity deleltion should not trigger ENTITY_CHANGED event, it should be separate event 2018-08-28 23:17:56 +02:00
azivner b009bcb6a0 set originEntity to render note 2018-08-28 23:08:56 +02:00
azivner de4ace5ada overriding sync settings from config file, fixes #160 2018-08-28 21:13:40 +02:00
azivner 7ae2a24770 use relations to pick note to render, fixes #141 2018-08-28 20:55:21 +02:00
azivner 9cfa2ab1ba fix note cache record for newly created/updated protected notes 2018-08-28 19:22:46 +02:00
azivner 3ad7db39dd export branch => export subtree 2018-08-28 15:59:37 +02:00
azivner bc207d5e30 fix for protected note freezing because of double initialization of CKEditor 2018-08-28 15:03:23 +02:00
azivner d31a136442 mini refactoring 2018-08-28 14:26:11 +02:00
azivner 21a96d2776 listen to correct CKEditor event for data changes 2018-08-28 00:21:43 +02:00
azivner 174d4e67af fix encrypting new notes 2018-08-27 23:04:52 +02:00
azivner 4721ddc6b3 exceptions on decryption 2018-08-27 21:58:02 +02:00
azivner c79fb2cc12 more stable script button placement 2018-08-27 21:08:02 +02:00
azivner ad123cfc1a build fixes 2018-08-27 21:07:31 +02:00
azivner 05c9c5db50 fix server edition build for 10th time 2018-08-27 20:06:22 +02:00
azivner 2d1bc46c04 release 0.20.0 2018-08-27 18:59:54 +02:00
azivner 4bc44605fb don't short child: promoted attributes 2018-08-27 13:35:45 +02:00
azivner b868990fba using exact versions of packages from now on 2018-08-23 23:42:47 +02:00
azivner 26c06c9826 more API docs 2018-08-23 15:33:19 +02:00
azivner f5b89432a6 frontend script API documentation 2018-08-23 12:55:45 +02:00
azivner 0e7372adbf backend script API documentation 2018-08-23 10:10:04 +02:00
azivner d4fbe28517 jsdoc comments on entities 2018-08-22 23:37:06 +02:00
azivner 668528d5eb promoted attributes are visible in tooltip preview, fixes #158 2018-08-22 15:31:36 +02:00
azivner 17348a9cfe fix some issues 2018-08-22 14:40:49 +02:00
azivner 09b610701d removed not unique warning from attributes dialog as it's more common to have multi value 2018-08-21 13:51:35 +02:00
azivner 71e687ad8e child: prefix now copies attributes on new note creation 2018-08-21 13:49:45 +02:00
azivner 171877ce08 renamed inheritAttributes to template 2018-08-21 12:52:11 +02:00
azivner 4f1e6ec70f note API additions 2018-08-21 12:50:43 +02:00
azivner 1938c317c3 fix relation definition in dialog 2018-08-20 10:04:26 +02:00
azivner 99d81059d0 better common JS compatibility 2018-08-19 22:28:32 +02:00
azivner 59d5a86110 fix attachment attributes 2018-08-19 21:42:03 +02:00
azivner a5e56ea839 display a message if there's no recent change 2018-08-18 15:21:44 +02:00
azivner 44f85224e7 added new label type URL with open button, fixes #156 2018-08-18 15:00:52 +02:00
azivner 0aa08b1c1e relation promoted attribute has clickable button, fixes #155 2018-08-18 14:55:27 +02:00
azivner 406d74c4d7 initial focus on attribute type instead of name 2018-08-18 14:49:25 +02:00
azivner 7f9a8a55ca fix init of synced options in new database 2018-08-17 18:11:03 +02:00
azivner a42bbba0e5 unprotecting note outside of protected session is not forbidden because it could overwrite previous note 2018-08-17 15:21:59 +02:00
azivner 145efe67c3 better logging and notifications on script errors for easier debugging 2018-08-17 11:31:42 +02:00
azivner 513748836e note autocomplete and full text search should be able to find notes by noteId 2018-08-17 10:06:52 +02:00
azivner 427ce3972e protected notes detail is now marked with shield background instead of just grey background 2018-08-17 09:32:07 +02:00
azivner 02c0f9a6cd shrinkable note title so the design crumbles with smaller width 2018-08-16 23:16:17 +02:00
azivner 208771216e fix in passing originEntity from frontend to backend, some refactorings 2018-08-16 23:00:04 +02:00
azivner 385d97a9b3 recent notes now don't display current note, unification of autocomplete source handling 2018-08-16 21:02:42 +02:00
azivner e39d1d08ac easier API to add button to toolbar 2018-08-16 20:26:40 +02:00
azivner 0f106fb96f more relation events, events are now not triggered on sync changes 2018-08-15 22:06:49 +02:00
azivner df9acd0504 relation target noteIds need to be translated into local noteIds 2018-08-15 18:32:06 +02:00
azivner dbe0eb3f3a fix attribute name autocomplete, no tooltip preview on path selection 2018-08-15 18:22:02 +02:00
azivner 4513651e12 delete attributes when deleting note 2018-08-15 15:27:22 +02:00
azivner 3204291463 update codemirror to 5.39.2 2018-08-15 11:25:30 +02:00
azivner 510704a074 help buttons and existing custom HTML attribute refactoring to data-* 2018-08-15 10:14:14 +02:00
azivner f440493e45 use ISO dateformat on the frontend instead of european formatting 2018-08-15 08:48:16 +02:00
azivner b897c6de13 fix note revision saving 2018-08-15 08:44:54 +02:00
azivner acbd18e8fc links to documentation for attributes, links and search + fix for opening external links 2018-08-14 23:07:50 +02:00
azivner ff5b84db10 search (note) fixes 2018-08-14 22:50:05 +02:00
azivner 16535f6a73 small changes to attribute dialog 2018-08-14 21:02:42 +02:00
azivner 5b657ad961 minor package upgrades 2018-08-14 20:25:37 +02:00
azivner bbbc3e9dc4 one more fix for release of pkg 2018-08-14 19:52:17 +02:00
azivner f43f0e10a1 release 0.19.1 2018-08-14 18:06:31 +02:00
azivner 6d842a65a2 fix DB vacuum, fixes #154 2018-08-14 18:03:36 +02:00
azivner 50c4de021c fix for mysterious 404 not found notes like "appearance" 2018-08-14 18:00:11 +02:00
azivner 936d8449f6 fix & unify "show recent notes" buttons 2018-08-14 17:36:39 +02:00
azivner 462bc0edd5 attribute sync fix 2018-08-14 17:32:15 +02:00
azivner 35ef3c8470 fix migration 2018-08-14 16:09:30 +02:00
azivner 5117d43e29 fix pkg upload to github 2018-08-14 15:32:12 +02:00
azivner 7c9ac488e8 release 0.19.0 2018-08-14 14:19:37 +02:00
azivner fec1574447 fixed import with attributes 2018-08-14 14:17:10 +02:00
azivner f7587de452 fixes to multivalued input tabindex 2018-08-14 13:50:04 +02:00
azivner 41a6e777ea attributes coming from inheritAttributes are inherited only if the inheritAttributes relation itself is inheritable 2018-08-14 13:02:17 +02:00
azivner 8fb0de900b createNote API now accepts attributes instead of just labels 2018-08-14 12:54:58 +02:00
azivner a40bf71fd4 connection lost error is now logged only to the console, it was too annoying while being mostly harmless 2018-08-14 11:42:29 +02:00
azivner 2a53bb03ae fix autocomplete casing issue with first level notes 2018-08-13 21:01:14 +02:00
azivner a684879b91 primitive attribute caching inside note entity, fixes #149 2018-08-13 17:16:06 +02:00
azivner ddbd4f73c8 attributes can be inherited through special relation "inheritAttributes" 2018-08-13 17:05:16 +02:00
azivner b0ed790edf fix multivalue issue of not appearing when no attribute has been saved yet 2018-08-13 15:58:37 +02:00
azivner 3424406ff1 script API changes for task management #140 2018-08-13 13:53:08 +02:00
azivner ce5c385c15 fix search by attributes was finding also deleted attributes 2018-08-13 11:06:17 +02:00
azivner cd9eef32b0 support for cssClass label on note 2018-08-13 10:59:31 +02:00
azivner 12d82e3b33 listener exception doesn't stop execution 2018-08-13 09:49:39 +02:00
azivner f071d3f651 fix validation issue + attribute not triggering change event on delete 2018-08-13 09:39:07 +02:00
azivner 297b536ebc promoted attributes have tabindex following the title and before note content 2018-08-13 09:07:21 +02:00
azivner 7cca2d9247 realoding tree doesn't steal focus (important for promoted attribute changes with attached scripts) 2018-08-13 08:42:37 +02:00
azivner 36dc802d16 updated schema.sql 2018-08-13 07:57:23 +02:00
azivner c78ddb70cb all events are now synchronous 2018-08-12 20:07:02 +02:00
azivner 9fb0599c45 entities are now changed only if entity hash changed which will limit number of events emitted 2018-08-12 20:04:48 +02:00
azivner 13f524fb39 ENTITY_CHANGED event is emitted synchronously 2018-08-12 13:03:59 +02:00
azivner 27be3b4c90 fixes in tree loading 2018-08-12 12:59:38 +02:00
azivner af4ea66742 fix shift-up selection, fixes #146 2018-08-11 20:02:48 +02:00
azivner 0f42c396f3 image upload fixes + some API changes 2018-08-11 19:45:55 +02:00
azivner 9e96272eb3 fixed runOnAttributeChange event 2018-08-10 14:31:57 +02:00
azivner 965dbcbc9a renamed workEntity to originEntity 2018-08-10 13:30:20 +02:00
azivner 7ac109e7f7 fix label => attributes omissions 2018-08-09 20:55:16 +02:00
azivner ac25770c0e added runOnAttributeChange event 2018-08-09 20:08:00 +02:00
azivner 5b15424498 archived label now respects isInheritable flag, fixes #145 2018-08-08 16:14:35 +02:00
azivner f1240c26bf more cleanup of labels and relations from backend, dropping tables from db 2018-08-07 13:44:51 +02:00
azivner 1c0fd243d1 cleanup of labels and relations from backend 2018-08-07 13:33:10 +02:00
azivner 3491235533 cleanup of labels & relations frontend code 2018-08-07 12:48:11 +02:00
azivner 5f36856571 * refactoring of repository layer to represent booleans as true/false instead of 1/0
* show list of inherited attributes, fixes #136
* properly work with inheritance
2018-08-07 11:38:00 +02:00
azivner d3e44b37e9 autocomplete for promoted text labels 2018-08-06 22:52:49 +02:00
azivner 90e9297ec5 promoted relation attributes now work correctly, refactoring of note autocomplete code 2018-08-06 22:29:03 +02:00
azivner c568ef2f8a nice icons for add / remove attribute 2018-08-06 17:53:13 +02:00
azivner fcf6141cde support for promoted multi value attributes 2018-08-06 17:24:35 +02:00
azivner 21551d7b77 implemented date promoted attribute 2018-08-06 15:58:59 +02:00
azivner 12031d369f displaying and saving number and boolean promoted attributes 2018-08-06 15:23:22 +02:00
azivner b44c523845 basic support for saving promoted attributes 2018-08-06 14:43:42 +02:00
azivner 49989695ff fix relations in attributes 2018-08-06 11:30:37 +02:00
azivner a55d3530e9 attribute list on the bottom if there are no promoted attributes 2018-08-06 09:41:01 +02:00
azivner 2aab3ad281 fixes in attribute persistence + WIP on display of promoted attrs 2018-08-06 08:59:26 +02:00
azivner 194ce4f10f fixed UI for relation definition 2018-08-05 20:48:56 +02:00
azivner 2089c32839 attribute UI & saving now fully working 2018-08-05 20:08:56 +02:00
azivner f437be7af0 attribute definition work in progress 2018-08-03 22:56:49 +02:00
azivner 96dc56098d ckeditor upgrade to 11.0.1 with blocktoolbar 2018-08-03 22:56:23 +02:00
azivner 61987e46f7 work in progress on attributes UI - unification of labels and relations now mostly works 2018-08-03 13:06:56 +02:00
azivner 509093b755 added "type" to attribute dialog, name autocomplete servers according to the choice 2018-08-03 11:11:57 +02:00
azivner 097114c0f2 basic entities for attributes (unification of labels and relations) 2018-08-02 22:48:21 +02:00
azivner 040f9185f8 electron 2.0.6 and some other minor library upgrades 2018-08-02 19:55:20 +02:00
azivner 6dc934abbe refactored targetNote to workNote in the ScriptContext which was very confusing with relation's targetNote 2018-08-01 10:12:54 +02:00
azivner 2d24bf81dd added new label "sorted" which will keep children notes alphabetically sorted, fixes #82 2018-08-01 09:26:02 +02:00
azivner 9452fc236b electron build uses random free port, fixes #142 2018-07-31 19:50:18 +02:00
azivner 365c37604b code note in tooltip needs to be wrapped in <pre> to keep formatting, fixes #137 2018-07-30 16:55:20 +02:00
azivner 01c7e58d47 check if sync is configured every minute, not just at app startup, fixes #138 2018-07-30 16:45:34 +02:00
azivner d3d49923b1 changed backup to simple scheme with one daily, one weekly and one monthly backup, fixes #15 2018-07-30 16:40:50 +02:00
azivner 263ac299d0 fix pkg building 2018-07-30 14:18:43 +02:00
azivner 3d185a5178 release 0.18.0 2018-07-30 08:18:25 +02:00
azivner 2ff7a890bc script which shows list of edited files for a date, fixes #125 2018-07-29 20:51:28 +02:00
azivner 2eb1a9705f it's now possible to mark relation as inheritable (previously this was hardcoded for specific relation names) 2018-07-29 20:33:42 +02:00
azivner ed1381103a #125, implementation of inheritable relations 2018-07-29 18:39:10 +02:00
azivner 170d317589 #125, basic infrastructure for scripts attached to notes via relations 2018-07-29 16:06:13 +02:00
azivner ededc063df fix relation autocomplete 2018-07-29 12:34:40 +02:00
azivner 986eace1be schema update with relations 2018-07-29 11:47:46 +02:00
azivner 29086d8dfe fixed bug with select not firing on recent notes 2018-07-28 18:17:35 +02:00
azivner 9b3f3fde05 #126, relation list in note detail and fixes in saving 2018-07-28 17:59:55 +02:00
azivner 6a50afd952 #126, "show recent notes" now work in relations dialog 2018-07-28 17:02:48 +02:00
azivner 697eee2706 #126, autocomplete + can save relations 2018-07-27 11:28:24 +02:00
azivner 8a95afd756 #126, added skeleton of note relations, copied from similar concept of labels 2018-07-27 10:52:48 +02:00
azivner 4d6eda8fe6 #129, added input icon to trigger recent notes for easy discovery and mouse control 2018-07-27 09:22:25 +02:00
azivner e4f459fa2b #129, removed recent notes dialog as its not necessary anymore 2018-07-26 17:35:32 +02:00
azivner f578e001b0 #129, add link autocomplete now displays recent notes as well 2018-07-26 16:24:08 +02:00
azivner 2a08aef885 #129, recent notes are now visible in the jump to dialog 2018-07-26 16:05:09 +02:00
azivner 7564bf388c removed dangerous and unnecessary option to completely remove soft-deleted items 2018-07-26 09:21:52 +02:00
azivner 7e4d70259f soft-deleting note will delete its content and all the revisions content, fixes #132 2018-07-26 09:08:51 +02:00
azivner 5b98c1c0f3 fix context menu JS error on root note 2018-07-26 08:58:20 +02:00
azivner 02dc7b199b #98, better error reporting for sync setup 2018-07-25 22:54:37 +02:00
azivner d39cdbfada better instructions for desktop => server instance sync setup, plus some sync fixes 2018-07-25 10:57:36 +02:00
azivner 50bb4a47ee fix sync bug 2018-07-25 10:12:34 +02:00
azivner a4627f2ddb #98 some sync setup refactorings 2018-07-25 09:46:57 +02:00
azivner c8253caae9 #98 proxy support for sync setup 2018-07-25 08:30:41 +02:00
azivner 0ece9bd1be sync isExpanded when it's a new branch 2018-07-24 22:03:36 +02:00
azivner b6935abcc9 #98, sync button now shows total number of outstanding syncs instead of just pushes 2018-07-24 21:43:15 +02:00
azivner 37ab7b4641 #98, sync to server now works as well + a lot of related changes 2018-07-24 20:35:03 +02:00
azivner 013714cb5c #98, new option "initialized" which indicates if setup has been finished 2018-07-24 08:12:36 +02:00
azivner 1fe7c62f5a #98, sync setup now doesn't copy the whole DB file, but sets up minimal database and starts off sync 2018-07-23 21:15:32 +02:00
azivner a06618d851 #98, test sync impl 2018-07-23 10:29:17 +02:00
azivner e7460ca3a9 #98, sync is now configured in the options 2018-07-22 22:21:16 +02:00
azivner 073300bbcd #98, working sync setup from server to desktop instance + refactoring of DB initialization 2018-07-22 19:56:20 +02:00
azivner a201661ce5 #98, fixes in the wizard 2018-07-22 14:49:59 +02:00
azivner 6235a3c886 beginning of #98, new multistep wizard, db creation after user enters username and password 2018-07-21 08:55:24 +02:00
azivner 3972c27e7a release 0.17.0 2018-07-09 21:22:12 +02:00
azivner 14cffbbe62 docker commands with sudo 2018-07-09 21:21:28 +02:00
azivner 599c3c04af correct sourceMappingURL which gets rid of error message, fixes #114 2018-07-08 23:23:49 +02:00
azivner f1412b631d hide log polluting error message 2018-07-08 23:13:56 +02:00
azivner 41908050bb ctrl+u now doesn't trigger show source since it's occupied by underline 2018-07-08 21:45:05 +02:00
azivner f07033423c ckeditor upgraded to 10.1.0 plus new plugins (table, strikethrough, underline) 2018-07-08 21:21:52 +02:00
azivner daf96fcbf2 using zeit/pkg to package easy to use linux server edition 2018-07-06 00:05:06 +02:00
azivner 2bca94529e minor upgrades 2018-07-05 23:17:53 +02:00
azivner b2c9a0da21 fix note sources, fixes #123 2018-07-04 20:37:23 +02:00
azivner 7a9542b4fc release 0.16.0 2018-06-16 13:34:39 -04:00
azivner 3a95c9e1bc all dialogs are now non-modal because of high cpu usage 2018-06-16 13:31:56 -04:00
azivner 3d2ef6be01 remove optionId, closes #117 2018-06-13 19:10:28 -04:00
azivner d67246699a Introduced separate sync version (previously DB version was used to check sync compatibility), closes #120 2018-06-10 15:55:29 -04:00
azivner 14c704d6db db upgrades are now handled transparently in the background without bothering the user, closes #119 2018-06-10 15:49:22 -04:00
azivner 4c8eeb2e6f added docker build, closes #106 2018-06-10 15:06:52 -04:00
azivner c1b245c8b1 fix unnecessary change events, closes #118 2018-06-10 11:51:13 -04:00
azivner 74202d67bb got rid of "Trilium Notes" branding - not necessary and takes valuable space 2018-06-10 10:57:45 -04:00
azivner 26066f39b1 chaged "focused mode" - now title is displayed as well and together with content takes whole window 2018-06-10 10:53:39 -04:00
azivner b255cf190c fixes for zoom factor setting 2018-06-09 10:34:51 -04:00
azivner bc77b143b0 darker outlines so inverted dark themes are more visible 2018-06-09 09:48:18 -04:00
azivner 9f0ff6ae7a note actions dropdown sizing 2018-06-09 09:44:40 -04:00
azivner 736704c7d6 fix show paths 2018-06-09 09:32:13 -04:00
azivner 654c116c58 use backgrounds for icon buttons so that dark and black themes look better 2018-06-09 09:28:50 -04:00
azivner 89a5cab98f added too options new tab appearance with possibility to change theme (white, black, dark) and zoom factor 2018-06-08 23:18:53 -04:00
azivner c39d0be8cd refactoring of icon button styles 2018-06-08 22:17:00 -04:00
azivner e75b4cd848 execute on script note is icon, closes #116 2018-06-08 21:59:40 -04:00
azivner 378e8f35e5 release 0.15.0 2018-06-07 23:09:21 -04:00
azivner bdb5e2f13f no results also for "add link" 2018-06-07 23:08:41 -04:00
azivner 8211bed449 renamed icons according to their size, fixes #113 2018-06-07 23:02:21 -04:00
azivner b243632483 usability improvements to autocomplete ("no results" etc.), needs refactoring 2018-06-07 20:18:46 -04:00
azivner e4d2513451 close search button 2018-06-07 19:50:16 -04:00
azivner 385144451b renamed hideInAutocomplete label to archived 2018-06-07 19:26:28 -04:00
azivner c8c533844e icons for render & toggle edit since text titles caused unwanted horizontal scrolling in smaller window sizes 2018-06-06 23:37:57 -04:00
azivner 0e69f0c079 fix recent notes issues 2018-06-06 22:38:36 -04:00
azivner aee60c444f added "show results in full text" 2018-06-05 23:28:10 -04:00
azivner e7a504c66b fixes and optimizations for search 2018-06-05 22:47:47 -04:00
azivner 45d9c7164c search refactorings 2018-06-05 19:12:52 -04:00
azivner bd913a63a8 search note fixes 2018-06-04 23:21:45 -04:00
azivner 5a1938c078 better sizing of search pane 2018-06-04 20:22:41 -04:00
azivner 015cd68756 renaming/refactoring of search services 2018-06-04 19:48:02 -04:00
azivner 76c0e5b2b8 new UI for search, closes #108 (still needs cleanup) 2018-06-03 20:42:25 -04:00
azivner 0f8f707acd persisting zoom setting in electron, fixes #112 2018-06-02 13:02:20 -04:00
azivner 083cccea28 better protected/unprotected note indicator, fixes #110 2018-06-02 11:47:16 -04:00
azivner 31b76b23ce release 0.14.1 2018-06-02 09:39:37 -04:00
azivner af529f82e5 fixed false sync error reporting 2018-06-02 09:39:04 -04:00
azivner fc6669d254 initialization and schema fixes, closes #111 2018-06-01 22:26:37 -04:00
azivner c07785be67 release 0.14.0 2018-05-31 23:23:44 -04:00
azivner 80d2457b23 moved parent list next to note title 2018-05-31 23:21:47 -04:00
azivner 5dde2752d2 add switch to manually enter/leave protected session, fixes #107 2018-05-31 20:00:39 -04:00
azivner 8bf4633cd0 fixes 2018-05-30 23:18:56 -04:00
azivner bd66b8a1c8 fix issue with limitation of number of SQLite parameters (999) which caused problems when loading tree which was too expanded 2018-05-30 20:28:10 -04:00
azivner be51e533fc OPML import support (issue #78) 2018-05-29 20:32:13 -04:00
azivner f47ae12019 OPML export support (issue #78), import missing for now 2018-05-27 12:26:34 -04:00
azivner cab54a458f unifying surrogate keys for event log and options, fixes #103 2018-05-26 23:25:09 -04:00
azivner a30734f1bc Add history backwards/forwards buttons, fixes #94 2018-05-26 22:54:06 -04:00
azivner 7ad9f7b129 fixed layouting issues 2018-05-26 19:58:08 -04:00
azivner 40a32e6826 render notes can be edited and can contain HTML markup 2018-05-26 19:27:47 -04:00
azivner ab0486aaf1 expose root node, fixes #101 2018-05-26 16:16:34 -04:00
azivner 874593a167 fix code editor growing 2018-05-26 15:28:36 -04:00
azivner 03bf33630e unify audit fields, fixes #102 2018-05-26 12:38:25 -04:00
azivner 933cce1b94 fix hideInAutocomplete bug 2018-05-26 10:50:13 -04:00
azivner 4a6ff573f8 fixed autocomplete issues with capitalization 2018-05-26 10:24:33 -04:00
azivner 1a737f7d19 expose add link on UI, fixes #95 2018-05-26 10:04:40 -04:00
azivner cb69914f09 release 0.13.0-beta 2018-05-22 23:51:43 -04:00
azivner a372cbb2df fix #105 2018-05-22 23:51:13 -04:00
azivner 0ce5caefe8 refactoring 2018-05-22 22:22:15 -04:00
azivner 94dabb81f6 fix sync of unsyncable options 2018-05-22 19:29:18 -04:00
azivner cd45bcfd03 converted option operations to repository 2018-05-22 00:22:43 -04:00
azivner 49a53f7a45 added hash columns for faster sync check calculation 2018-05-22 00:15:54 -04:00
azivner 9fa6c0918c add index for note's type + some fixes 2018-05-21 20:12:46 -04:00
azivner e8d089e37e ckeditor 10.0.0 2018-05-21 19:35:49 -04:00
azivner a931ce25fa attempt to fix the hoek security warning with package upgrade 2018-05-21 16:08:34 -04:00
azivner b507abb4f7 electron upgrade to 2.0.0 2018-05-08 16:39:01 -04:00
azivner 66e7c6de62 fix ordering 2018-04-21 12:23:35 -04:00
azivner 4ce5ea9886 autocomplete supports encrypted notes now as well 2018-04-20 00:12:01 -04:00
azivner 8c54b62f07 fix protect branch 2018-04-19 22:18:19 -04:00
azivner 85eb50ed0f autocomplete with prefixes 2018-04-19 20:59:44 -04:00
azivner 5ffd621e9d autocomplete respects hideInAutocomplete label 2018-04-19 00:13:55 -04:00
azivner df93cb09da fix hide-toggle 2018-04-18 23:13:37 -04:00
azivner bbf04209f0 autocomplete cache gets updated with note update 2018-04-18 23:11:30 -04:00
azivner 834bfa39c7 limit number of results to 200, other tweaks 2018-04-18 20:56:23 -04:00
azivner 52b445f70b Merge branch 'stable' 2018-04-18 20:22:16 -04:00
azivner 7b9b4fbb0c backend autocomplete WIP 2018-04-18 00:26:42 -04:00
azivner 5af0ba1fcb layout fixes 2018-04-17 20:04:27 -04:00
azivner 85a9748291 fix for clones & optimizations 2018-04-16 23:34:56 -04:00
azivner b4005a7ffe optimizations to the lazy loading - expanding tree now takes only one request 2018-04-16 23:13:33 -04:00
azivner 82de1c88d4 basic lazy loading of tree now works, still WIP 2018-04-16 20:40:18 -04:00
azivner 1687ed7e0b load only expanded tree with the rest being lazy loaded, WIP 2018-04-16 16:26:47 -04:00
azivner c8b9c7d936 release 0.12.0 2018-04-14 08:28:50 -04:00
azivner d57057ba28 fix note ordering sync 2018-04-14 08:23:06 -04:00
azivner 66cee8daa4 restructuring CSS grid/flex which fixes jumpy scrolling in tree 2018-04-13 19:58:33 -04:00
azivner afd7df0942 fix collapse tree button 2018-04-13 19:22:12 -04:00
azivner bd6ae33d32 fancytree upgrade to 2.28.1 2018-04-12 20:42:12 -04:00
azivner 70660a0d68 Merge branch 'stable' 2018-04-12 20:04:01 -04:00
azivner cdad18551a upgrade CKEditor to 1.0 beta.2, fixes #93 2018-04-12 20:03:23 -04:00
azivner 592c51d1a5 fix note reordering sync again 2018-04-12 18:31:29 -04:00
azivner 6a57b8a7e7 fix ordering sync 2018-04-12 18:13:48 -04:00
azivner 7a94e21c54 tabindex 2 for text and code editor so that tabbing from title leads to editor focus 2018-04-11 22:44:33 -04:00
azivner 5b43f321e2 release 0.11.1 2018-04-11 00:10:33 -04:00
azivner a4eafb934f non null note title and content in the DB schema, allow saving non-valid JSON notes, children overview style changes 2018-04-11 00:10:11 -04:00
azivner 7b59a665dd hideChildrenOverview label which can disable children overview for specific notes 2018-04-10 23:15:41 -04:00
azivner 3d15450ffc children overview styling 2018-04-10 21:08:00 -04:00
azivner b0c6d52461 can't rollback transaction multiple times 2018-04-10 20:28:02 -04:00
azivner 2dc16dd29f release 0.11.0-beta 2018-04-09 22:38:37 -04:00
azivner d8924c536b Merge branch 'master' into stable 2018-04-09 22:30:50 -04:00
azivner 3ebbf2cc46 fix generating build.js 2018-04-09 22:30:11 -04:00
azivner f4079604c9 basic implementation of children overview, closes #80 2018-04-08 22:38:52 -04:00
azivner 1f96a6beab export & import work correctly with clones 2018-04-08 13:14:30 -04:00
azivner b277a250e5 protected notes are not in autocomplete when not in protected session, fixes #46 2018-04-08 12:27:10 -04:00
azivner 5b0e1a644d codemirror now doesn't hijack alt-left/right, fixes #86 2018-04-08 12:17:42 -04:00
azivner 6bb3cfa9a3 note revisions for code is now properly formatted, fixes #97 2018-04-08 12:13:52 -04:00
azivner 9720868f5a added type and mime to note revisions 2018-04-08 11:57:14 -04:00
azivner 8d8ee2a87a small sync refactorings 2018-04-08 10:09:33 -04:00
azivner 542e82ee5d upgraded uncompressed jquery 2018-04-08 09:40:28 -04:00
azivner 0104b19502 naming standards 2018-04-08 09:25:35 -04:00
azivner 120888b53e fix JSON saving bug 2018-04-08 08:31:19 -04:00
azivner d2e2caed62 refactoring of note saving code & API 2018-04-08 08:21:49 -04:00
azivner 63066802a8 fix showMessage, showError
(cherry picked from commit 6128bb4)
2018-04-08 07:49:21 -04:00
azivner 6128bb4ff3 fix showMessage, showError 2018-04-08 07:48:47 -04:00
azivner 982796255d sync content check refactoring 2018-04-07 22:59:47 -04:00
azivner 36b15f474d sync cleanup 2018-04-07 22:32:46 -04:00
azivner 13f71f8967 bulk push sync 2018-04-07 22:25:28 -04:00
azivner 64336ffbee implemented bulk sync pull for increased performance 2018-04-07 21:53:42 -04:00
azivner b09463d1b2 async logging of info messages 2018-04-07 21:30:01 -04:00
azivner b5e6f46b9c release 0.10.2-beta 2018-04-07 16:07:25 -04:00
azivner 08af4a0465 fix code mirror loading 2018-04-07 15:56:46 -04:00
azivner 8c5df6321f fix windows sqlite binary for electron 2.0 2018-04-07 13:18:08 -04:00
azivner d19f044961 fix bug 2018-04-07 13:14:01 -04:00
azivner e378d9f645 label service refactoring + rename of doInTransaction to transactional 2018-04-07 13:03:16 -04:00
azivner 39dc0f71b4 fix execute note 2018-04-06 19:41:48 -04:00
azivner 0cef5c6b8c added showMessage/showError to script api as they are being used 2018-04-06 19:08:42 -04:00
azivner 9b5a44cef4 fix bugs 2018-04-06 18:49:37 -04:00
azivner 29769ed91d fix force note sync 2018-04-06 18:46:29 -04:00
azivner 867d794e17 release 0.10.1-beta 2018-04-06 00:15:04 -04:00
azivner fdd8458336 fix sync branch route 2018-04-05 23:45:39 -04:00
azivner a0bec22e96 fix non-200 logging 2018-04-05 23:35:49 -04:00
azivner 5aeb5cd214 jquery upgrade to 3.3.1 2018-04-05 23:18:15 -04:00
azivner e827ddffb9 electron fixes 2018-04-05 23:17:19 -04:00
azivner 98f80998b9 fix electron build 2018-04-05 19:29:27 -04:00
azivner 69727d0b12 release 0.10.0-beta 2018-04-04 23:57:46 -04:00
azivner 84faf32b98 updated scripts 2018-04-04 23:55:19 -04:00
azivner 6ed6e27602 startup script running fix 2018-04-04 23:51:47 -04:00
azivner fb54678fef getNoteWithLabel fix 2018-04-04 23:43:54 -04:00
azivner 2cdcb3af12 camel casing and fixes 2018-04-04 23:04:31 -04:00
azivner cf7a336ac2 camel case for reddit labels and run values 2018-04-04 22:29:11 -04:00
azivner abfc64af95 script to generate large documents, closes #55 2018-04-03 22:15:28 -04:00
azivner 42dd8d4754 smaller refactorings 2018-04-02 22:53:01 -04:00
azivner a4e64350e9 fixed schema, initial setup 2018-04-02 22:33:54 -04:00
azivner 6f567e3e10 camelCase builtin labels 2018-04-02 21:56:55 -04:00
azivner c6c76ba360 option names now follow camelCase 2018-04-02 21:47:46 -04:00
azivner 429d3f518e moved instanceName to index.ejs 2018-04-02 21:34:28 -04:00
azivner 26e4ad9bf9 separated DB initialization methods into sql_init 2018-04-02 21:25:20 -04:00
azivner 6ab0cea4e3 split out dateUtils on the backend 2018-04-02 20:46:46 -04:00
azivner 277368ab43 simplified new entity ID allocation 2018-04-02 20:30:00 -04:00
azivner e2921a648d refactored backend to use new naming convention for modules 2018-04-01 21:27:46 -04:00
azivner c765dbc5cf continuing in API review 2018-04-01 20:50:58 -04:00
azivner a066c6fe2b changes in API format 2018-04-01 20:33:10 -04:00
azivner 311952d4dd renamed settings to options for consistency 2018-04-01 17:41:28 -04:00
azivner 96dab5d51e smaller refactorings continued 2018-04-01 17:38:24 -04:00
azivner 15d951b04e smaller refactorings continued 2018-04-01 12:45:35 -04:00
azivner 8ba830c04b smaller refactorings continued 2018-04-01 12:03:21 -04:00
azivner acc82f39c4 smaller refactorings continued 2018-04-01 11:42:12 -04:00
azivner fad0ec757b smaller refactorings (mostly entitization) 2018-04-01 11:05:09 -04:00
azivner c9d73c6115 renamed outstanding attribute references to labels 2018-04-01 09:59:44 -04:00
azivner ab2f28ceef added missing sync check hashes 2018-03-31 23:19:54 -04:00
azivner 87e415992c removed support for old option schema of opt_name and opt_value 2018-03-31 23:11:43 -04:00
azivner 12439d8761 refactoring of note deletion 2018-03-31 23:08:22 -04:00
azivner 4f200c73dc refactoring of note creation 2018-03-31 22:23:40 -04:00
azivner 5f7e74e15c refactoring of note update 2018-03-31 22:15:06 -04:00
azivner e8a5d0ae16 converted note revision protection to repository/entities 2018-03-31 10:51:37 -04:00
azivner 088fb00ca9 repository is now stateless 2018-03-31 09:07:58 -04:00
azivner 05676f3459 removed dataKey where it's not necessary anymore (use of CLS instead) 2018-03-31 08:53:52 -04:00
azivner 5d203b2278 removed sourceId where it's not necessary (stored in CLS instead) 2018-03-30 19:41:54 -04:00
azivner 795d50f02e converted of web (non-api) routes, basic conversion completed 2018-03-30 19:31:22 -04:00
azivner cfe0ae1eda converted file, script, search and sender routes 2018-03-30 17:29:13 -04:00
azivner aa57a64c61 converted image and maintainance routes 2018-03-30 17:07:41 -04:00
azivner e36a81e189 converted export/import notes 2018-03-30 15:34:07 -04:00
azivner 88c07a9e48 converted sync route 2018-03-30 14:27:41 -04:00
azivner bfd9f292a6 Merge remote-tracking branch 'origin/stable' 2018-03-30 14:05:11 -04:00
azivner 9edee9340b converted settings, note revisions, password change and recent changes routes 2018-03-30 13:56:46 -04:00
azivner 8550ed72f2 converted cloning and label routes 2018-03-30 13:20:36 -04:00
azivner efffc29649 initial work on new router model 2018-03-30 12:57:22 -04:00
azivner 0ec909fd7a added basic CLS support with re-entrant transactions 2018-03-28 23:41:22 -04:00
azivner b10b0048f3 split out library loader 2018-03-27 22:42:46 -04:00
azivner 9bb188b519 fix unnecessary popups about leaving the page 2018-03-27 22:27:46 -04:00
azivner 7464835058 renamed "attachment" to "file" for consistency 2018-03-27 22:11:06 -04:00
azivner 913b6bb6f6 abstracted note detail components 2018-03-27 21:46:38 -04:00
azivner 000cf99546 split out render and search from note detail service 2018-03-27 21:36:01 -04:00
azivner c918267750 separated attachments out of note detail 2018-03-27 00:27:38 -04:00
azivner 68921ee59b separated text and code handling out of note detail service 2018-03-27 00:22:02 -04:00
azivner 7e856283ee some refactorings of note detail service 2018-03-26 23:48:45 -04:00
azivner 9c1b8da573 split out keybindings out of tree service 2018-03-26 23:25:54 -04:00
azivner cb39b9cca8 split out tree_builder 2018-03-26 23:18:50 -04:00
azivner 788ac43ad1 further refactorings, got rid of init.js 2018-03-26 22:29:14 -04:00
azivner 57d19f3302 refactored moving note in the tree 2018-03-26 22:11:45 -04:00
azivner 68bba623b6 split up autocomplete related functionality 2018-03-26 21:50:47 -04:00
azivner 35998058ce introduced NoteFull entity, fixes 2018-03-25 23:25:17 -04:00
azivner cdf94181d2 got rid of instanceName in tree service 2018-03-25 22:56:23 -04:00
azivner 91ee90d827 cleanup in tree service 2018-03-25 22:37:02 -04:00
azivner d3316cd09c reduced dependencies of utils 2018-03-25 21:29:35 -04:00
azivner ac1b06967f decoupled protected session holder from presentation stuff and similar things 2018-03-25 21:16:57 -04:00
azivner 47eb1e3e02 refactored all mentions of "history" to "revision" 2018-03-25 20:52:38 -04:00
azivner a69d8737ce fixed image upload and eslint 2018-03-25 20:18:08 -04:00
azivner 341f47f0f2 moved dialog entrypoints into bootstrap, fixes 2018-03-25 19:49:33 -04:00
azivner 19c605a9a8 labels have now alt-l shortcut to correspond with the renaming 2018-03-25 15:47:31 -04:00
azivner 54e4f54678 all access to notes and branches is now async so we can lazy load it in the future 2018-03-25 14:49:20 -04:00
azivner 297a2cd9da renamed service variables to conform to new naming scheme 2018-03-25 13:41:29 -04:00
azivner d746d707b5 unblocking infinite cycle 2018-03-25 13:13:26 -04:00
azivner 299252b650 making WS connection asynchronous to not block module registration 2018-03-25 13:08:58 -04:00
azivner fddd1c278f moved services into the service directory 2018-03-25 13:02:39 -04:00
azivner f52d7e3c28 split tree_cache and entities from note_tree 2018-03-25 12:29:00 -04:00
azivner a699210a29 using ES6 modules for whole frontend SPA app 2018-03-25 11:09:17 -04:00
azivner b3c32a39e9 fix for moving the notes 2018-03-25 10:06:14 -04:00
azivner df27533b66 fixes after refactorings 2018-03-25 00:20:55 -04:00
azivner b96a1274c5 all JS functions are now inside old-school JS modules, preparation for ES6 modularization 2018-03-24 23:58:58 -04:00
azivner 001a5107dd ScriptApi separated from ScriptContext, preparation for modularisation 2018-03-24 23:45:36 -04:00
azivner c8e456cdb1 refactoring utils into module 2018-03-24 23:37:55 -04:00
azivner 0f6b00e1c8 fixes after refactoring, base functionality works again 2018-03-24 23:00:12 -04:00
azivner 5ea060a054 renaming attributes to labels in readme 2018-03-24 22:17:31 -04:00
azivner 95bb2cf0bb renaming attributes to labels, fixes #79 2018-03-24 22:02:26 -04:00
azivner 4c472ce78b renaming note_tree to branch 2018-03-24 21:39:15 -04:00
azivner 511fb89af0 WIP refactoring of data structures in note tree 2018-03-24 20:41:27 -04:00
azivner 7e524c0cd1 removed some warnings in idea 2018-03-24 12:52:58 -04:00
azivner e3e2dc9fff first POC of ES6 module 2018-03-24 11:18:46 -04:00
azivner 1612e9093d removed all onclick handlers from index template 2018-03-24 00:54:50 -04:00
azivner f8649feea4 saved search can now be created from the search dialog 2018-03-23 23:08:29 -04:00
azivner ac978c3fa7 upgrade to electron 2.0.0-beta.5, fixes #65 2018-03-23 21:01:49 -04:00
azivner efcc804149 redesign search buttons 2018-03-13 20:02:00 -04:00
azivner db514e8f41 display note type only for non-search notes 2018-03-13 19:47:34 -04:00
azivner 9c32f66329 context menu disables actions not applicable to search note 2018-03-13 19:31:07 -04:00
azivner 0fd5102a26 added consistency check for search note not containing children 2018-03-13 19:18:52 -04:00
azivner 840af15dae release 0.9.2 2018-03-13 08:22:25 -04:00
azivner f1b0b3bcdb basic implementation of saved searches finished, closes #83 2018-03-12 23:27:21 -04:00
azivner e5c0acbb43 note tree refactorings 2018-03-12 23:14:09 -04:00
azivner 834661c461 Merge remote-tracking branch 'origin/master' 2018-03-12 20:00:29 -04:00
azivner 5204ab5a7e refactoring of note tree 2018-03-12 20:00:19 -04:00
azivner 74862536a8 Merge branch 'stable' 2018-03-12 19:46:43 -04:00
zadam a24f1f5b95 Merge pull request #90 from gitter-badger/gitter-badge
Add a Gitter chat badge to README.md
2018-03-11 18:52:32 -04:00
The Gitter Badger 0be76f746a Add Gitter badge 2018-03-11 22:46:54 +00:00
azivner fad89ff63f added Theming to list of pages 2018-03-11 13:09:28 -04:00
azivner b8ae791191 icon for saved seach 2018-03-11 10:53:10 -04:00
azivner ce754cbd91 saving saved search, #73 2018-03-11 10:49:22 -04:00
azivner 0fdb6af98a Merge branch 'master' into stable 2018-03-10 20:33:58 -05:00
azivner f6c7f6a0f2 added require() method for commonJS compliancy 2018-03-10 11:53:51 -05:00
azivner 354999f37a fix weight tracker script 2018-03-09 19:28:38 -05:00
azivner 348c622845 release 0.9.1-beta 2018-03-09 00:12:22 -05:00
azivner 44bcdedaba Updated all scripts to current versions working with current script API 2018-03-09 00:10:43 -05:00
azivner 755c0f3ce2 fix exclude from export 2018-03-09 00:10:02 -05:00
azivner 895bda41b5 return only startup bundles for executale notes 2018-03-08 23:36:08 -05:00
azivner b2df622cb6 Merge branch 'stable' 2018-03-08 23:35:17 -05:00
azivner 9ba6e6d0f5 disable inclusion should work only on non-root notes 2018-03-08 23:35:08 -05:00
azivner a5c9180533 release 0.9.0-beta 2018-03-08 20:18:37 -05:00
azivner e86f1e0d05 changes to the HTML template to allow more complete styling 2018-03-07 23:58:34 -05:00
azivner b6277049f3 added support for app_css attribute, which allows custom styling 2018-03-07 23:24:23 -05:00
azivner c831221cc4 add "play" icon for "render" note types 2018-03-07 20:52:34 -05:00
azivner 577a168714 stop propagation of ctrl+enter from SQL console, fixes #73 2018-03-07 20:46:01 -05:00
azivner b0bd27321a escape will close SQL console, closes #72 2018-03-07 20:33:41 -05:00
azivner 90c5348ca7 fix saving only image in a note, fixes #77 2018-03-07 20:19:53 -05:00
azivner 8e95b080da fixed render notes 2018-03-07 00:17:18 -05:00
azivner 766a567a32 changes in access to startNote and currentNote 2018-03-06 23:04:35 -05:00
azivner 6d0218cb36 execute note (ctrl+enter) now works for both frontend and backend scripts 2018-03-05 23:19:46 -05:00
azivner d26170762b inclusion of scripts based on script environment 2018-03-05 23:09:36 -05:00
azivner b3209a9bbf split javascript mime type into frontend and backend 2018-03-05 22:08:45 -05:00
azivner 61c2456cf6 startNote/currentNote is now accessible on frontend as well 2018-03-04 23:28:26 -05:00
azivner 1c6fc9029f new "disable_inclusion" attribute 2018-03-04 22:09:51 -05:00
azivner 5c91e38dfe server.exec() refactored into api 2018-03-04 21:43:14 -05:00
azivner 07bf075894 cleaned up unused jobs implementation 2018-03-04 21:33:06 -05:00
azivner ddce5c959e fix render 2018-03-04 21:05:14 -05:00
azivner 3b9d1df05c fixed frontend script execution 2018-03-04 14:21:11 -05:00
azivner d239ef2956 refactoring of getModules function 2018-03-04 12:06:35 -05:00
azivner 7a865a9081 common JS module system prototype 2018-03-04 10:32:53 -05:00
azivner 83d6c2970f added versioning to the metadata files in export tars 2018-03-03 09:32:21 -05:00
azivner 8c7d159012 fix export/import for multi-valued attributes 2018-03-03 09:30:18 -05:00
azivner d169f67901 changes in backend script running 2018-03-03 09:11:41 -05:00
azivner 982b723647 basic scheduling of backend scripts using attributes 2018-03-02 20:56:58 -05:00
azivner 31d5ac05ff release 0.8.1 2018-03-01 23:08:53 -05:00
azivner 72d91d1571 don't use eslint on JSON notes, closes #70 2018-03-01 22:42:51 -05:00
azivner f4b57f4c57 Allow attachments to be included in the scripts, closes #66 2018-03-01 22:30:06 -05:00
azivner ee0833390a fix export in electron (auth problem) 2018-02-27 09:47:05 -05:00
azivner 2acff07368 release 0.8.0-beta 2018-02-26 22:57:15 -05:00
azivner bea1d24f07 tweaks to eslint 2018-02-26 22:55:58 -05:00
azivner adc270c59f removed reference to reddit plugin 2018-02-26 22:31:35 -05:00
azivner 66064f7a94 Script API changes, finished porting reddit plugin, reddit importer tar file 2018-02-26 20:47:34 -05:00
azivner 1501fa8dbf import notes from tar archive, closes #63 2018-02-26 00:07:43 -05:00
azivner 60bba46d80 export subtree to tar file 2018-02-25 10:55:21 -05:00
azivner 12c06ae97e manual transaction handling for jobs 2018-02-24 22:44:45 -05:00
azivner f0bea9cf71 API changes necessary to port reddit plugin, closes #58 2018-02-24 21:23:04 -05:00
azivner a555b6319c support for backend jobs and other script API changes 2018-02-24 14:42:52 -05:00
azivner 5dd93e4cdc eslint for javascript inside HTML (htmlmixed mode), closes #62 2018-02-24 00:58:11 -05:00
azivner 3b4509d833 support encryption for files, closes #60 2018-02-23 22:58:24 -05:00
azivner 19308bbfbd small changes to linting and protected session 2018-02-23 20:10:29 -05:00
azivner 4acc5432c3 autocomplete returns items which have at least one of the tokens in the leaf note title, closes #59 2018-02-22 19:52:08 -05:00
azivner 08b8141fdf upgrade to codemirror 5.35 2018-02-21 23:09:52 -05:00
azivner e1200aa308 lazy loading of eslint only for JS code 2018-02-21 20:30:15 -05:00
azivner 89666eb078 paperclip icon for attachment, closes #61 2018-02-21 19:53:46 -05:00
azivner d5605aa64d initial support for eslint backed JS linting 2018-02-20 23:24:55 -05:00
azivner 2582b016f9 increased "connection lost" timeout from 5 seconds to 30, it was way to common and mostly false positive 2018-02-20 07:52:39 -05:00
azivner e8c52e25f0 release 0.7.0-beta 2018-02-19 23:03:30 -05:00
azivner a149c6a105 lazy / dynamic loading of CKEditor and Code mirror 2018-02-19 22:02:03 -05:00
azivner 131af9ab12 fix attachment sync 2018-02-18 22:55:36 -05:00
azivner aa2bbc6575 attachment download now works also in electron, added option to open the attachment 2018-02-18 22:19:07 -05:00
azivner 78e8c15786 attachment upload and download now works for browser 2018-02-18 21:28:24 -05:00
azivner fda4146150 correct handling of inclusion of dependencies 2018-02-18 10:47:02 -05:00
azivner ddc885066e support passing functions to the backend as parameters 2018-02-18 09:53:36 -05:00
azivner 08bc2afb49 now it's possible to add comment to the weight, closes #54 2018-02-17 11:47:22 -05:00
azivner 1d0220b03d add weight causes updating old chart instead of creating new chart, closes #53 2018-02-17 10:45:00 -05:00
azivner 3033f7cc08 attribute value is now non-null, fixes #52 2018-02-16 19:07:59 -05:00
azivner 6b9ff47c88 Merge branch 'stable' 2018-02-15 23:24:02 -05:00
azivner fd02c6102d release 0.6.2 2018-02-15 23:08:02 -05:00
azivner 30c712a6be updated package-lock 2018-02-15 23:07:58 -05:00
azivner 3928c96640 electron update to 1.8.2 stable 2018-02-15 23:05:18 -05:00
azivner d86f655658 attempt to mitigate problem with creating day subnotes 2018-02-15 23:04:50 -05:00
azivner abdad1c3ae log error messages with ERROR: prefix (there's wasn't anyt other distinction before) 2018-02-15 22:30:05 -05:00
azivner 9e5f1a0a87 Global shortcut registration logs failure, closes #47 2018-02-15 22:17:18 -05:00
azivner cdde6a4d8e file/attachment upload, wiP 2018-02-14 23:31:20 -05:00
azivner 8028b09351 release 0.6.1 2018-02-13 23:27:34 -05:00
azivner ebe66eaed9 after creating new note, unselect previous active, fixes #45 2018-02-13 23:25:28 -05:00
azivner 5bce9a5f94 added hide_in_autocomplete attribute to weight script 2018-02-13 22:50:12 -05:00
azivner dfd9927310 added createAttribute method to script API 2018-02-13 22:46:45 -05:00
azivner 9bf1735bde reddit notes will be created with "hide_in_autocomplete" attribute 2018-02-13 22:34:33 -05:00
azivner 2e8eeda5ab new attribute "hide_in_autocomplete", fixes #16 2018-02-13 22:30:33 -05:00
azivner 1cef0ce5f9 removed CTRL-ALT-C global shortcut with pasting from clipboard, keeping only CTRL-ALT-P without clipboard 2018-02-13 19:55:04 -05:00
azivner 1efac99828 limit number of autocomplete results to 100, closes #44 2018-02-13 19:37:07 -05:00
azivner 0e9473119e global keyboard shortcuts for quick creating sub-notes under day note 2018-02-12 23:53:00 -05:00
azivner 7bbfef7af3 better positioning of the recent notes dialog 2018-02-12 21:20:30 -05:00
azivner 5cb93509c1 stop trying to wrap autocomplete with underlying dialog - seems to be impossible to get it right on all platforms 2018-02-12 21:09:50 -05:00
azivner 89e89e04d8 alt+t is now shortcut for today script 2018-02-12 00:30:02 -05:00
azivner 72df0d8861 release 0.6.0-beta 2018-02-11 22:06:57 -05:00
azivner 9910aebf45 fix schema.sql 2018-02-11 22:06:12 -05:00
azivner f9f8ecb2b1 recent notes doesn't fail totally when we can't find title for some note 2018-02-11 15:33:10 -05:00
azivner 438f7c5b0b escape should close the recent notes dialog 2018-02-11 11:53:43 -05:00
azivner 4b1d1aba74 add sender API to send text notes 2018-02-11 10:54:56 -05:00
azivner 6dea73cfe2 sender API now accepts local time header so we don't have problems with UTC 2018-02-11 09:14:21 -05:00
azivner 58f5d0cf6e recent notes are not closed when I click on e.g. dialog title bar 2018-02-11 08:57:12 -05:00
azivner 7b77e40514 added support for trilium-sender 2018-02-11 00:18:59 -05:00
azivner 660908c54b fix sorting notes 2018-02-10 13:55:06 -05:00
azivner e970564036 create months and days with associated english names, closes #37 2018-02-10 13:53:35 -05:00
azivner b3038487f8 fix image support broken in recent refactorings 2018-02-10 10:00:40 -05:00
azivner cac98392a6 code mirror in SQL console, closes #24 2018-02-10 09:14:18 -05:00
azivner dbd28377e3 change in naming conventions for element variables from *El to $name 2018-02-10 08:44:34 -05:00
azivner c76e4faf5d added attributes sorting 2018-02-10 08:37:14 -05:00
azivner e011b9ae63 deleting attributes, closes #34 2018-02-06 23:09:19 -05:00
azivner 7c74c77a2c allow duplicated attribute per note (in effect attributes can be multi-valued). Closes #33 2018-02-06 21:18:09 -05:00
azivner c2a2f195aa Merge branch 'stable' 2018-02-06 21:04:27 -05:00
azivner 85d32c66f2 release 0.5.6 2018-02-06 00:06:04 -05:00
azivner 4e70cebf70 recent notes now use autocomplete instead of select box, closes #36 2018-02-05 23:50:25 -05:00
azivner 214d2e7659 correct quoting rules for attribute/status bar 2018-02-05 22:28:12 -05:00
azivner f380bb7f65 removal of extra console logs 2018-02-05 22:26:50 -05:00
azivner 0a9a032daa fix incorrect removal of attribute filter from string, fixes #35 2018-02-05 22:25:25 -05:00
azivner 23a2b58b24 fix #32, could not open attribute dialog if it didn't have any attributes yet 2018-02-05 21:07:18 -05:00
azivner aee64b2522 fix visual glitch in search - showing search now doesn't move note content 2018-02-05 20:53:04 -05:00
azivner 02e07ec03a release 0.5.5-beta 2018-02-04 23:19:20 -05:00
azivner 3d2dc8e699 fixes for change propagation (conflict between knockout and jquery UI autocomplete) 2018-02-04 23:16:45 -05:00
azivner c84e15c9be implemented query language for attributes, closes #26 2018-02-04 22:44:15 -05:00
azivner e18d0b9fd4 tag list in "status bar", closes #28 2018-02-04 20:23:30 -05:00
azivner 52817504d1 autocomplete for attribute values, closes #31 2018-02-04 19:43:11 -05:00
azivner a3b31fab54 autocomplete for attribute names, issue #31 2018-02-04 19:27:27 -05:00
azivner bc4aa3e40a removed ctrl+shift+left, ctrl+shift+right because of conflict with standard keyboard mapping, close #25 2018-02-04 18:12:17 -05:00
azivner 873ea67e9c nice UI for attributes with validation 2018-02-04 17:22:21 -05:00
azivner 2c5115003b release 0.5.4-beta 2018-02-03 13:25:29 -05:00
azivner e8ed913374 small changes in the toolbar 2018-02-03 12:44:22 -05:00
azivner 5bffba4e2f add API to add plugin buttons, fixes 2018-02-03 10:37:57 -05:00
azivner 05575913db release 0.5.3-beta 2018-01-31 23:57:20 -05:00
azivner 31c32ff42c fixes when generating new DB 2018-01-31 23:36:39 -05:00
azivner 6a671a5c02 fix electron app icon 2018-01-31 22:39:30 -05:00
azivner e174aec299 release 0.5.2-beta 2018-01-31 08:04:13 -05:00
azivner d1329f60c3 fix electron build 2018-01-31 08:03:25 -05:00
788 changed files with 232793 additions and 30778 deletions
+7
View File
@@ -0,0 +1,7 @@
.git
.idea
/bin
/dist
/docs
/npm-debug.log
node_modules
+1 -1
View File
@@ -6,4 +6,4 @@ yarn-error.log
*.db
config.ini
cert.key
cert.crt
cert.crt
+7
View File
@@ -0,0 +1,7 @@
tasks:
- before: nvm install 10 && nvm use 10
init: npm install
command: npm run start
ports:
- port: 8080
onOpen: open-preview
+10
View File
@@ -0,0 +1,10 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<option name="OTHER_INDENT_OPTIONS">
<value>
<option name="INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</value>
</option>
</code_scheme>
</component>
+5
View File
@@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>
+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="document.db" uuid="a2c75661-f9e2-478f-a69f-6a9409e69997">
<driver-ref>sqlite.xerial</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>org.sqlite.JDBC</jdbc-driver>
<jdbc-url>jdbc:sqlite:$PROJECT_DIR$/../trilium-data/document.db</jdbc-url>
<driver-properties>
<property name="enable_load_extension" value="true" />
</driver-properties>
</data-source>
</component>
</project>
+603
View File
@@ -0,0 +1,603 @@
<?xml version="1.0" encoding="UTF-8"?>
<dataSource name="document.db">
<database-model serializer="dbm" dbms="SQLITE" family-id="SQLITE" format-version="4.14">
<root id="1">
<ServerVersion>3.16.1</ServerVersion>
</root>
<schema id="2" parent="1" name="main">
<Current>1</Current>
<Visible>1</Visible>
</schema>
<collation id="3" parent="1" name="BINARY"/>
<collation id="4" parent="1" name="NOCASE"/>
<collation id="5" parent="1" name="RTRIM"/>
<table id="6" parent="2" name="api_tokens"/>
<table id="7" parent="2" name="attributes"/>
<table id="8" parent="2" name="branches"/>
<table id="9" parent="2" name="event_log"/>
<table id="10" parent="2" name="links"/>
<table id="11" parent="2" name="note_revisions"/>
<table id="12" parent="2" name="notes"/>
<table id="13" parent="2" name="options"/>
<table id="14" parent="2" name="recent_notes"/>
<table id="15" parent="2" name="source_ids"/>
<table id="16" parent="2" name="sqlite_master">
<System>1</System>
</table>
<table id="17" parent="2" name="sqlite_sequence">
<System>1</System>
</table>
<table id="18" parent="2" name="sync"/>
<column id="19" parent="6" name="apiTokenId">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="20" parent="6" name="token">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="21" parent="6" name="dateCreated">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="22" parent="6" name="isDeleted">
<Position>4</Position>
<DataType>INT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>0</DefaultExpression>
</column>
<column id="23" parent="6" name="hash">
<Position>5</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;&quot;</DefaultExpression>
</column>
<index id="24" parent="6" name="sqlite_autoindex_api_tokens_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>apiTokenId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<key id="25" parent="6">
<ColNames>apiTokenId</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_api_tokens_1</UnderlyingIndexName>
</key>
<column id="26" parent="7" name="attributeId">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="27" parent="7" name="noteId">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="28" parent="7" name="type">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="29" parent="7" name="name">
<Position>4</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="30" parent="7" name="value">
<Position>5</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&apos;&apos;</DefaultExpression>
</column>
<column id="31" parent="7" name="position">
<Position>6</Position>
<DataType>INT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>0</DefaultExpression>
</column>
<column id="32" parent="7" name="dateCreated">
<Position>7</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="33" parent="7" name="dateModified">
<Position>8</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="34" parent="7" name="isDeleted">
<Position>9</Position>
<DataType>INT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="35" parent="7" name="hash">
<Position>10</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;&quot;</DefaultExpression>
</column>
<column id="36" parent="7" name="isInheritable">
<Position>11</Position>
<DataType>int|0s</DataType>
<DefaultExpression>0</DefaultExpression>
</column>
<index id="37" parent="7" name="sqlite_autoindex_attributes_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>attributeId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<key id="38" parent="7">
<ColNames>attributeId</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_attributes_1</UnderlyingIndexName>
</key>
<column id="39" parent="8" name="branchId">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="40" parent="8" name="noteId">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="41" parent="8" name="parentNoteId">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="42" parent="8" name="notePosition">
<Position>4</Position>
<DataType>INTEGER|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="43" parent="8" name="prefix">
<Position>5</Position>
<DataType>TEXT|0s</DataType>
</column>
<column id="44" parent="8" name="isExpanded">
<Position>6</Position>
<DataType>BOOLEAN|0s</DataType>
</column>
<column id="45" parent="8" name="isDeleted">
<Position>7</Position>
<DataType>INTEGER|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>0</DefaultExpression>
</column>
<column id="46" parent="8" name="dateModified">
<Position>8</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="47" parent="8" name="hash">
<Position>9</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;&quot;</DefaultExpression>
</column>
<column id="48" parent="8" name="dateCreated">
<Position>10</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&apos;1970-01-01T00:00:00.000Z&apos;</DefaultExpression>
</column>
<index id="49" parent="8" name="sqlite_autoindex_branches_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>branchId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<index id="50" parent="8" name="IDX_branches_noteId_parentNoteId">
<ColNames>noteId
parentNoteId</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<index id="51" parent="8" name="IDX_branches_noteId">
<ColNames>noteId</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<index id="52" parent="8" name="IDX_branches_parentNoteId">
<ColNames>parentNoteId</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<key id="53" parent="8">
<ColNames>branchId</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_branches_1</UnderlyingIndexName>
</key>
<column id="54" parent="9" name="eventId">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="55" parent="9" name="noteId">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
</column>
<column id="56" parent="9" name="comment">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
</column>
<column id="57" parent="9" name="dateCreated">
<Position>4</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<index id="58" parent="9" name="sqlite_autoindex_event_log_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>eventId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<key id="59" parent="9">
<ColNames>eventId</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_event_log_1</UnderlyingIndexName>
</key>
<column id="60" parent="10" name="linkId">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="61" parent="10" name="noteId">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="62" parent="10" name="targetNoteId">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="63" parent="10" name="type">
<Position>4</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="64" parent="10" name="isDeleted">
<Position>5</Position>
<DataType>INTEGER|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>0</DefaultExpression>
</column>
<column id="65" parent="10" name="dateCreated">
<Position>6</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="66" parent="10" name="dateModified">
<Position>7</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="67" parent="10" name="hash">
<Position>8</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;&quot;</DefaultExpression>
</column>
<index id="68" parent="10" name="sqlite_autoindex_links_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>linkId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<key id="69" parent="10">
<ColNames>linkId</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_links_1</UnderlyingIndexName>
</key>
<column id="70" parent="11" name="noteRevisionId">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="71" parent="11" name="noteId">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="72" parent="11" name="title">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
</column>
<column id="73" parent="11" name="content">
<Position>4</Position>
<DataType>TEXT|0s</DataType>
</column>
<column id="74" parent="11" name="isProtected">
<Position>5</Position>
<DataType>INT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>0</DefaultExpression>
</column>
<column id="75" parent="11" name="dateModifiedFrom">
<Position>6</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="76" parent="11" name="dateModifiedTo">
<Position>7</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="77" parent="11" name="type">
<Position>8</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&apos;&apos;</DefaultExpression>
</column>
<column id="78" parent="11" name="mime">
<Position>9</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&apos;&apos;</DefaultExpression>
</column>
<column id="79" parent="11" name="hash">
<Position>10</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;&quot;</DefaultExpression>
</column>
<index id="80" parent="11" name="sqlite_autoindex_note_revisions_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>noteRevisionId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<index id="81" parent="11" name="IDX_note_revisions_noteId">
<ColNames>noteId</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<index id="82" parent="11" name="IDX_note_revisions_dateModifiedFrom">
<ColNames>dateModifiedFrom</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<index id="83" parent="11" name="IDX_note_revisions_dateModifiedTo">
<ColNames>dateModifiedTo</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<key id="84" parent="11">
<ColNames>noteRevisionId</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_note_revisions_1</UnderlyingIndexName>
</key>
<column id="85" parent="12" name="noteId">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="86" parent="12" name="title">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;note&quot;</DefaultExpression>
</column>
<column id="87" parent="12" name="content">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
<DefaultExpression>NULL</DefaultExpression>
</column>
<column id="88" parent="12" name="isProtected">
<Position>4</Position>
<DataType>INT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>0</DefaultExpression>
</column>
<column id="89" parent="12" name="type">
<Position>5</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&apos;text&apos;</DefaultExpression>
</column>
<column id="90" parent="12" name="mime">
<Position>6</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&apos;text/html&apos;</DefaultExpression>
</column>
<column id="91" parent="12" name="hash">
<Position>7</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;&quot;</DefaultExpression>
</column>
<column id="92" parent="12" name="isDeleted">
<Position>8</Position>
<DataType>INT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>0</DefaultExpression>
</column>
<column id="93" parent="12" name="dateCreated">
<Position>9</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="94" parent="12" name="dateModified">
<Position>10</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<index id="95" parent="12" name="sqlite_autoindex_notes_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>noteId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<key id="96" parent="12">
<ColNames>noteId</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_notes_1</UnderlyingIndexName>
</key>
<column id="97" parent="13" name="name">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="98" parent="13" name="value">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
</column>
<column id="99" parent="13" name="dateModified">
<Position>3</Position>
<DataType>INT|0s</DataType>
</column>
<column id="100" parent="13" name="isSynced">
<Position>4</Position>
<DataType>INTEGER|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>0</DefaultExpression>
</column>
<column id="101" parent="13" name="hash">
<Position>5</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;&quot;</DefaultExpression>
</column>
<column id="102" parent="13" name="dateCreated">
<Position>6</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&apos;1970-01-01T00:00:00.000Z&apos;</DefaultExpression>
</column>
<index id="103" parent="13" name="sqlite_autoindex_options_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>name</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<key id="104" parent="13">
<ColNames>name</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_options_1</UnderlyingIndexName>
</key>
<column id="105" parent="14" name="branchId">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="106" parent="14" name="notePath">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="107" parent="14" name="hash">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;&quot;</DefaultExpression>
</column>
<column id="108" parent="14" name="dateCreated">
<Position>4</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="109" parent="14" name="isDeleted">
<Position>5</Position>
<DataType>INT|0s</DataType>
</column>
<index id="110" parent="14" name="sqlite_autoindex_recent_notes_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>branchId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<key id="111" parent="14">
<ColNames>branchId</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_recent_notes_1</UnderlyingIndexName>
</key>
<column id="112" parent="15" name="sourceId">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="113" parent="15" name="dateCreated">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<index id="114" parent="15" name="sqlite_autoindex_source_ids_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>sourceId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<key id="115" parent="15">
<ColNames>sourceId</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_source_ids_1</UnderlyingIndexName>
</key>
<column id="116" parent="16" name="type">
<Position>1</Position>
<DataType>text|0s</DataType>
</column>
<column id="117" parent="16" name="name">
<Position>2</Position>
<DataType>text|0s</DataType>
</column>
<column id="118" parent="16" name="tbl_name">
<Position>3</Position>
<DataType>text|0s</DataType>
</column>
<column id="119" parent="16" name="rootpage">
<Position>4</Position>
<DataType>integer|0s</DataType>
</column>
<column id="120" parent="16" name="sql">
<Position>5</Position>
<DataType>text|0s</DataType>
</column>
<column id="121" parent="17" name="name">
<Position>1</Position>
</column>
<column id="122" parent="17" name="seq">
<Position>2</Position>
</column>
<column id="123" parent="18" name="id">
<Position>1</Position>
<DataType>INTEGER|0s</DataType>
<NotNull>1</NotNull>
<SequenceIdentity>1</SequenceIdentity>
</column>
<column id="124" parent="18" name="entityName">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="125" parent="18" name="entityId">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="126" parent="18" name="sourceId">
<Position>4</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="127" parent="18" name="syncDate">
<Position>5</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<index id="128" parent="18" name="IDX_sync_entityName_entityId">
<ColNames>entityName
entityId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<index id="129" parent="18" name="IDX_sync_syncDate">
<ColNames>syncDate</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<key id="130" parent="18">
<ColNames>id</ColNames>
<Primary>1</Primary>
</key>
</database-model>
</dataSource>
@@ -0,0 +1,2 @@
#n:main
!<md> [0, 0, null, null, -2147483648, -2147483648]
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with NO BOM" />
</project>
+10
View File
@@ -0,0 +1,10 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
<option name="processCode" value="true" />
<option name="processLiterals" value="true" />
<option name="processComments" value="true" />
</inspection_tool>
</profile>
</component>
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JSLintConfiguration">
<option devel="true" />
<option es6="true" />
<option maxerr="50" />
<option node="true" />
</component>
</project>
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
<component name="ProjectRootManager">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/trilium.iml" filepath="$PROJECT_DIR$/trilium.iml" />
</modules>
</component>
</project>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="SqlDialectMappings">
<file url="PROJECT" dialect="SQLite" />
</component>
</project>
Generated
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>
+28
View File
@@ -0,0 +1,28 @@
FROM node:10.15.0-alpine
# Create app directory
WORKDIR /usr/src/app
# Copy both package.json and package-lock.json
# where available (npm@5+)
COPY package.json package-lock.json ./
# Install app dependencies
RUN set -x \
&& apk add --no-cache --virtual .build-dependencies \
autoconf \
automake \
g++ \
gcc \
libtool \
make \
nasm \
libpng-dev \
&& npm install --production \
&& apk del .build-dependencies
# Bundle app source
COPY . .
EXPOSE 8080
CMD [ "node", "./src/www" ]
+35 -29
View File
@@ -1,43 +1,49 @@
# Trilium Notes
Trilium Notes is a hierarchical note taking application. Picture tells a thousand words:
[![Join the chat at https://gitter.im/trilium-notes/Lobby](https://badges.gitter.im/trilium-notes/Lobby.svg)](https://gitter.im/trilium-notes/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases. See [screenshots](https://github.com/zadam/trilium/wiki/Screenshot-tour) for quick overview:
![](https://raw.githubusercontent.com/wiki/zadam/trilium/images/screenshot.png)
## Features
* Notes can be arranged into arbitrarily deep hierarchy
* Notes can have more than 1 parents - see [cloning](https://github.com/zadam/trilium/wiki/Cloning-notes)
* WYSIWYG (What You See Is What You Get) editing
* Fast and easy [navigation between notes](https://github.com/zadam/trilium/wiki/Note-navigation)
* Seamless note versioning
* Can be deployed as web application and / or desktop application with offline access (electron based)
* [Synchronization with](https://github.com/zadam/trilium/wiki/Synchronization) self-hosted sync server
* Strong [note encryption](https://github.com/zadam/trilium/wiki/Protected-notes)
* Notes can be arranged into arbitrarily deep tree. Single note can be placed into multiple places in the tree (see [cloning](https://github.com/zadam/trilium/wiki/Cloning-notes))
* Rich WYSIWYG note editing including e.g. tables and images with markdown [autoformat](https://github.com/zadam/trilium/wiki/Text-editor#autoformat)
* Support for editing [notes with source code](https://github.com/zadam/trilium/wiki/Code-notes), including syntax highlighting
* Fast and easy [navigation between notes](https://github.com/zadam/trilium/wiki/Note-navigation), full text search and [note hoisting](https://github.com/zadam/trilium/wiki/Note-hoisting)
* Seamless [note versioning](https://github.com/zadam/trilium/wiki/Note-revisions)
* Note [attributes](https://github.com/zadam/trilium/wiki/Attributes) can be used for note organization, querying and advanced [scripting](https://github.com/zadam/trilium/wiki/Scripts)
* [Synchronization](https://github.com/zadam/trilium/wiki/Synchronization) with self-hosted sync server
* Strong [note encryption](https://github.com/zadam/trilium/wiki/Protected-notes) with per-note granularity
* [Relation maps](https://github.com/zadam/trilium/wiki/Relation-map) for visualizing notes and their relations
* [Scripting](https://github.com/zadam/trilium/wiki/Scripts) - see [Advanced showcases](https://github.com/zadam/trilium/wiki/Advanced-showcases)
* Scales well in both usability and performance upwards of 100 000 notes
* Touch optimized [mobile frontend](https://github.com/zadam/trilium/wiki/Mobile-frontend) for smartphones and tablets
* [Night theme](https://github.com/zadam/trilium/wiki/Themes)
* [Evernote](https://github.com/zadam/trilium/wiki/Evernote-import) and [Markdown import & export](https://github.com/zadam/trilium/wiki/Markdown)
## Builds
* If you want to install Trilium on server, follow [this page](https://github.com/zadam/trilium/wiki/Installation-as-webapp)
Trilium is provided as either desktop application (Linux, Windows, Mac) or web application hosted on your server (Linux).
* If you want to use Trilium on the desktop, download binary release for your platform from [latest release](https://github.com/zadam/trilium/releases/latest), unzip the package and run ```trilium``` executable.
## Supported platforms
Desktop (electron-based) 64-bit builds are available for Linux and Windows.
Requirements for web based installation are [outlined here](https://github.com/zadam/trilium/wiki/Installation-as-webapp).
Currently only recent Chrome and Firefox are supported (tested) browsers. Other modern browsers (not IE) might work as well.
* If you want to install Trilium on server, follow [this page](https://github.com/zadam/trilium/wiki/Server-installation).
* Currently only recent Chrome and Firefox are supported (tested) browsers.
## Documentation
List of documentation pages:
[See wiki for complete list of documentation pages.](https://github.com/zadam/trilium/wiki/)
* [Installation as webapp](https://github.com/zadam/trilium/wiki/Installation-as-webapp)
* [Note navigation](https://github.com/zadam/trilium/wiki/Note-navigation)
* [Tree manipulation](https://github.com/zadam/trilium/wiki/Tree-manipulation)
* [Links](https://github.com/zadam/trilium/wiki/Links)
* [Cloning notes](https://github.com/zadam/trilium/wiki/Cloning-notes)
* [Protected notes](https://github.com/zadam/trilium/wiki/Protected-notes)
* [Synchronization](https://github.com/zadam/trilium/wiki/Synchronization)
* [Document](https://github.com/zadam/trilium/wiki/Document)
* [Keyboard shortcuts](https://github.com/zadam/trilium/wiki/Keyboard-shortcuts)
* [Troubleshooting](https://github.com/zadam/trilium/wiki/Troubleshooting)
You can also read [Patterns of personal knowledge base](https://github.com/zadam/trilium/wiki/Patterns-of-personal-knowledge-base) to get some inspiration on how you might use Trilium.
## Contribute
Use a browser based dev environment
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/zadam/trilium)
Or clone locally and run
```
npm install
npm run start
```
+5
View File
@@ -0,0 +1,5 @@
#!/usr/bin/env bash
VERSION=`jq -r ".version" package.json`
sudo docker build -t zadam/trilium:latest -t zadam/trilium:$VERSION .
+20
View File
@@ -0,0 +1,20 @@
#!/usr/bin/env bash
BUILD_DIR=./dist/trilium-linux-x64
rm -rf $BUILD_DIR
rm -r node_modules/sqlite3/lib/binding/*
cp -r bin/deps/linux-x64/sqlite/* node_modules/sqlite3/lib/binding/
./node_modules/.bin/electron-packager . --asar --out=dist --executable-name=trilium --platform=linux --arch=x64 --overwrite
mv "./dist/Trilium Notes-linux-x64" $BUILD_DIR
# removing software WebGL binaries because they are pretty huge and not necessary
rm -r $BUILD_DIR/swiftshader
echo "Packaging linux x64 electron distribution..."
VERSION=`jq -r ".version" package.json`
tar cJf $BUILD_DIR-${VERSION}.tar.xz $BUILD_DIR
+32
View File
@@ -0,0 +1,32 @@
#!/usr/bin/env bash
BUILD_DIR=./dist/trilium-mac-x64
rm -rf $BUILD_DIR
echo "Copying required mac binaries"
rm -r node_modules/sqlite3/lib/binding/*
rm -r node_modules/mozjpeg/vendor/*
rm -r node_modules/pngquant-bin/vendor/*
rm -r node_modules/giflossy/vendor/*
cp -r bin/deps/mac-x64/sqlite/* node_modules/sqlite3/lib/binding/
cp bin/deps/mac-x64/image/cjpeg node_modules/mozjpeg/vendor/
cp bin/deps/mac-x64/image/pngquant node_modules/pngquant-bin/vendor/
cp bin/deps/mac-x64/image/gifsicle node_modules/giflossy/vendor/
./node_modules/.bin/electron-packager . --asar --out=dist --executable-name=trilium --platform=darwin --arch=x64 --overwrite --icon=src/public/images/app-icons/mac/icon.icns
# Mac build has by default useless directory level
mv "./dist/Trilium Notes-darwin-x64" $BUILD_DIR
./reset-local.sh
echo "Zipping mac x64 electron distribution..."
VERSION=`jq -r ".version" package.json`
cd dist
rm trilium-mac-x64-${VERSION}.zip
zip -r9 --symlinks trilium-mac-x64-${VERSION}.zip trilium-mac-x64
+38
View File
@@ -0,0 +1,38 @@
#!/usr/bin/env bash
PKG_DIR=dist/trilium-linux-x64-server
NODE_VERSION=10.15.0
rm -r $PKG_DIR
mkdir $PKG_DIR
cd $PKG_DIR
wget https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.xz
tar xvfJ node-v${NODE_VERSION}-linux-x64.tar.xz
rm node-v${NODE_VERSION}-linux-x64.tar.xz
mv node-v${NODE_VERSION}-linux-x64 node
cp -r ../../node_modules/ ./
cp -r ../../src/ ./
cp -r ../../db/ ./
cp -r ../../package.json ./
cp -r ../../package-lock.json ./
cp -r ../../README.md ./
cp -r ../../LICENSE ./
cp -r ../../config-sample.ini ./
rm -r ./node_modules/electron*
rm -r ./node_modules/sqlite3/lib/binding/*
cp -r ../../bin/deps/linux-x64/sqlite/node* ./node_modules/sqlite3/lib/binding/
printf "#/bin/sh\n./node/bin/node src/www" > trilium.sh
chmod 755 trilium.sh
cd ..
VERSION=`jq -r ".version" ../package.json`
tar cJf trilium-linux-x64-server-${VERSION}.tar.gz trilium-linux-x64-server
+32
View File
@@ -0,0 +1,32 @@
#!/usr/bin/env bash
BUILD_DIR=./dist/trilium-windows-x64
rm -rf $BUILD_DIR
echo "Copying required windows binaries"
rm -r node_modules/sqlite3/lib/binding/*
rm -r node_modules/mozjpeg/vendor/*
rm -r node_modules/pngquant-bin/vendor/*
rm -r node_modules/giflossy/vendor/*
cp -r bin/deps/win-x64/sqlite/* node_modules/sqlite3/lib/binding/
cp bin/deps/win-x64/image/cjpeg.exe node_modules/mozjpeg/vendor/
cp bin/deps/win-x64/image/pngquant.exe node_modules/pngquant-bin/vendor/
cp bin/deps/win-x64/image/gifsicle.exe node_modules/giflossy/vendor/
./node_modules/.bin/electron-packager . --asar --out=dist --executable-name=trilium --platform=win32 --arch=x64 --overwrite --icon=src/public/images/app-icons/win/icon.ico
mv "./dist/Trilium Notes-win32-x64" $BUILD_DIR
# removing software WebGL binaries because they are pretty huge and not necessary
rm -r $BUILD_DIR/swiftshader
./reset-local.sh
echo "Zipping windows x64 electron distribution..."
VERSION=`jq -r ".version" package.json`
cd dist
zip -r9 trilium-windows-x64-${VERSION}.zip trilium-windows-x64
+9 -25
View File
@@ -1,34 +1,18 @@
#!/usr/bin/env bash
rm -r node_modules
npm install
echo "Deleting existing builds"
rm -r dist/*
echo "Rebuilding binaries for linux-ia32"
./node_modules/.bin/electron-rebuild --arch=ia32
bin/build-win-x64.sh
./node_modules/.bin/electron-packager src/electron --out=dist --platform=linux --arch=ia32 --overwrite
bin/build-mac-x64.sh
./node_modules/.bin/electron-packager src/electron --out=dist --platform=win32 --arch=x64 --overwrite
# building X64 linux as the last so electron-rebuild will prepare X64 binaries for local development
bin/build-linux-x64.sh
# we build x64 as second so that we keep X64 binaries in node_modules for local development
echo "Rebuilding binaries for linux-x64"
./node_modules/.bin/electron-rebuild --arch=x64
./node_modules/.bin/electron-packager src/electron --out=dist --platform=linux --arch=x64 --overwrite
echo "Copying required windows binaries"
WIN_RES_DIR=./dist/trilium-win32-x64/resources/app
cp -r bin/deps/sqlite/* $WIN_RES_DIR/node_modules/sqlite3/lib/binding/
cp bin/deps/image/cjpeg.exe $WIN_RES_DIR/node_modules/mozjpeg/vendor/
cp bin/deps/image/pngquant.exe $WIN_RES_DIR/node_modules/pngquant-bin/vendor/
cp bin/deps/image/gifsicle.exe $WIN_RES_DIR/node_modules/giflossy/vendor/
cp bin/deps/scrypt.node $WIN_RES_DIR/node_modules/scrypt/build/Release/
echo "Cleaning up unnecessary binaries from all builds"
rm -r ./dist/trilium-linux-ia32/resources/app/bin/deps
rm -r ./dist/trilium-linux-x64/resources/app/bin/deps
rm -r ./dist/trilium-win32-x64/resources/app/bin/deps
bin/build-server.sh
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -2,6 +2,6 @@
SCHEMA_FILE_PATH=db/schema.sql
sqlite3 ~/trilium-data/document.db .schema > "$SCHEMA_FILE_PATH"
sqlite3 ~/trilium-data/document.db .schema | grep -v "sqlite_sequence" > "$SCHEMA_FILE_PATH"
echo "DB schema exported to $SCHEMA_FILE_PATH"
Regular → Executable
View File
-14
View File
@@ -1,14 +0,0 @@
#!/usr/bin/env bash
VERSION=`jq -r ".version" package.json`
cd dist
echo "Packaging linux x64 electron distribution..."
7z a trilium-linux-x64-${VERSION}.7z trilium-linux-x64
echo "Packaging linux ia32 electron distribution..."
7z a trilium-linux-ia32-${VERSION}.7z trilium-linux-ia32
echo "Packaging windows x64 electron distribution..."
7z a trilium-windows-x64-${VERSION}.7z trilium-win32-x64
+9
View File
@@ -0,0 +1,9 @@
#!/usr/bin/env bash
if [[ $# -eq 0 ]] ; then
echo "Missing argument of new version"
exit 1
fi
sudo docker push zadam/trilium:latest
sudo docker push zadam/trilium:$1
+35 -15
View File
@@ -24,9 +24,9 @@ jq '.version = "'$VERSION'"' package.json|sponge package.json
git add package.json
echo 'module.exports = { build_date:"'`date --iso-8601=seconds`'", build_revision: "'`git log -1 --format="%H"`'" };' > services/build.js
echo 'module.exports = { buildDate:"'`date --iso-8601=seconds`'", buildRevision: "'`git log -1 --format="%H"`'" };' > src/services/build.js
git add services/build.js
git add src/services/build.js
TAG=v$VERSION
@@ -42,17 +42,22 @@ git push origin $TAG
bin/build.sh
bin/package.sh
LINUX_X64_BUILD=trilium-linux-x64-$VERSION.7z
LINUX_IA32_BUILD=trilium-linux-ia32-$VERSION.7z
WINDOWS_X64_BUILD=trilium-windows-x64-$VERSION.7z
LINUX_X64_BUILD=trilium-linux-x64-$VERSION.tar.gz
WINDOWS_X64_BUILD=trilium-windows-x64-$VERSION.zip
MAC_X64_BUILD=trilium-mac-x64-$VERSION.zip
SERVER_BUILD=trilium-linux-x64-server-$VERSION.tar.gz
echo "Creating release in GitHub"
EXTRA=
if [[ $TAG == *"beta"* ]]; then
EXTRA=--pre-release
fi
github-release release \
--tag $TAG \
--name "$TAG release"
--name "$TAG release" $EXTRA
echo "Uploading linux x64 build"
@@ -61,13 +66,6 @@ github-release upload \
--name "$LINUX_X64_BUILD" \
--file "dist/$LINUX_X64_BUILD"
echo "Uploading linux ia32 build"
github-release upload \
--tag $TAG \
--name "$LINUX_IA32_BUILD" \
--file "dist/$LINUX_IA32_BUILD"
echo "Uploading windows x64 build"
github-release upload \
@@ -75,4 +73,26 @@ github-release upload \
--name "$WINDOWS_X64_BUILD" \
--file "dist/$WINDOWS_X64_BUILD"
echo "Uploading mac x64 build"
github-release upload \
--tag $TAG \
--name "$MAC_X64_BUILD" \
--file "dist/$MAC_X64_BUILD"
echo "Uploading linux x64 server build"
github-release upload \
--tag $TAG \
--name "$SERVER_BUILD" \
--file "dist/$SERVER_BUILD"
echo "Building docker image"
bin/build-docker.sh $VERSION
echo "Pushing docker image to dockerhub"
bin/push-docker-image.sh $VERSION
echo "Release finished!"
+3
View File
@@ -0,0 +1,3 @@
#!/usr/bin/env bash
./node_modules/.bin/electron-rebuild --arch=x64
+6 -7
View File
@@ -1,13 +1,12 @@
[General]
# Instance name can be used to distinguish between different instances
instanceName=
[Network]
# port setting is relevant only for web deployments, desktop builds run on random free port
port=8080
# true for TLS/SSL/HTTPS (secure), false for HTTP (unsecure).
https=false
# path to certificate (run "bash generate-cert.sh" to generate self-signed certificate). Relevant only if https=true
# path to certificate (run "bash bin/generate-cert.sh" to generate self-signed certificate). Relevant only if https=true
certPath=
keyPath=
[Sync]
syncServerHost=
syncServerTimeout=10000
syncProxy=
syncServerCertificate=
BIN
View File
Binary file not shown.
File diff suppressed because one or more lines are too long
-57
View File
@@ -1,57 +0,0 @@
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('root', 'root', 'root', 0, 0, '2017-12-22T11:41:07.000Z', '2017-12-22T11:41:07.000Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('1Heh2acXfPNt', 'Trilium Demo', '<figure class="image image-style-side"><img src="/api/images/ed64aET6i379/trilium-small.png"></figure><p><strong>Welcome to Trilium Notes!</strong></p><p>&nbsp;</p><p>This is initial document provided by default Trilium to showcase some of its features and also give you some ideas how you might structure your notes. You can play with it, modify note content and tree structure as you wish.</p><p>&nbsp;</p><p>If you need any help, visit Trilium website: <a href="https://github.com/zadam/trilium">https://github.com/zadam/trilium</a></p><h3>Cleanup</h3><p>Once you''re finished with experimenting and want to cleanup these pages, you can simply delete them all.</p><h3>Formatting</h3><p>Trilium supports classic formatting like <i>italic</i>, <strong>bold</strong>, <i><strong>bold and italic</strong></i>. Of course you can add links like this one pointing to <a href="http://www.google.com">google.com</a></p><h4>Lists</h4><p><strong>Ordered:</strong></p><ol><li>First Item</li><li>Second item<ol><li>First sub-item</li><li>Second sub-item</li></ol></li></ol><p>&nbsp;</p><p><strong>Unordered:</strong></p><ul><li>Item</li><li>Another item<ul><li>Sub-item<ul><li>Sub-sub-item</li></ul></li></ul></li></ul><h4>Block quotes</h4><blockquote><p>Whereof one cannot speak, thereof one must be silent”</p><p> Ludwig Wittgenstein</p></blockquote><p>&nbsp;</p>', 0, 0, '2017-12-23T00:46:39.304Z', '2017-12-23T04:08:45.445Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('3RkyK9LI18dO', 'Journal', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T01:20:04.181Z', '2017-12-23T18:07:55.377Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('L1Ox40M1aEyy', '2016', '<p>No content.</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>', 0, 0, '2017-12-23T01:20:45.365Z', '2017-12-23T16:40:43.129Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('HJusZTbBU494', '2017', '<p>No content.</p>', 0, 0, '2017-12-23T01:20:50.709Z', '2017-12-23T16:41:03.119Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('3oldoiMUPOlr', 'December', '', 0, 0, '2017-12-23T01:20:55.775Z', '2017-12-23T01:21:05.806Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('MG0wntwILQW6', '22 - friday', 'Daily summary', 0, 0, '2017-12-23T01:21:10.517Z', '2017-12-23T01:22:45.814Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('ZC78NlmdXeC6', 'Linux', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T01:22:55.255Z', '2017-12-23T18:08:10.381Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('NncfGH8dyNjJ', 'Programming', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T01:23:02.584Z', '2017-12-23T18:08:20.179Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('eouCLkjbruai', 'Java', '', 0, 0, '2017-12-23T01:23:28.291Z', '2017-12-23T01:23:31.944Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('C44aq4mkaX67', 'Bash scripting', '<p><strong>Bash</strong> is a <a href="https://en.wikipedia.org/wiki/Unix_shell">Unix shell</a> and <a href="https://en.wikipedia.org/wiki/Command_language">command language</a> written by <a href="https://en.wikipedia.org/wiki/Brian_Fox_(computer_programmer)">Brian Fox</a> for the <a href="https://en.wikipedia.org/wiki/GNU_Project">GNU Project</a> as a <a href="https://en.wikipedia.org/wiki/Free_software">free software</a> replacement for the <a href="https://en.wikipedia.org/wiki/Bourne_shell">Bourne shell</a>. First released in 1989, it has been distributed widely as the default <a href="https://en.wikipedia.org/wiki/Login">login</a> shell for most <a href="https://en.wikipedia.org/wiki/Linux">Linux</a> distributions and <a href="https://en.wikipedia.org/wiki/Apple_Inc.">Apple''s</a> <a href="https://en.wikipedia.org/wiki/MacOS">macOS</a> (formerly OS X). A version <a href="https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux">is also available for Windows 10</a>.</p><p>&nbsp;</p><p><a href="https://en.wikipedia.org/wiki/Bash_(Unix_shell)">Bash on Wikipedia</a></p>', 0, 0, '2017-12-23T01:23:31.879Z', '2017-12-23T04:00:49.098Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('I6Cw88AirBBl', 'While loop', '<p>Documentation: <a href="http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_09_02.html">http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_09_02.html</a></p><p>&nbsp;</p><p>#!/bin/bash
</p><p># This script opens 4 terminal windows.
</p><p>&nbsp;</p><p>i="0"
</p><p>while [ $i -lt 4 ]
</p><p>do
</p><p>&nbsp; &nbsp; xterm &amp;
</p><p>&nbsp; &nbsp; i=$[$i+1]
</p><p>done</p>', 0, 0, '2017-12-23T01:24:04.681Z', '2017-12-23T01:26:07.786Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('mcEwFMSjhlvL', 'Bash startup modes', '<h3>Login shell</h3><p>As a "login shell", Bash reads and sets (executes) the user''s profile from /etc/profile and one of ~/.bash_profile, ~/.bash_login, or ~/.profile (in that order, using the first one that''s readable!).</p><p>When a login shell exits, Bash reads and executes commands from the file ~/.bash_logout, if it exists.</p><p>Why an extra login shell mode? There are many actions and variable sets that only make sense for the initial user login. That''s why all UNIX® shells have (should have) a "login" mode.</p><p><i><strong>Methods to start Bash as a login shell:</strong></i></p><ul><li>the first character of argv[0] is - (a hyphen): traditional UNIX® shells start from the login binary</li><li>Bash is started with the -l option</li><li>Bash is started with the --login option</li></ul><p><i><strong>Methods to test for login shell mode:</strong></i></p><ul><li>the shell option <a href="http://wiki.bash-hackers.org/internals/shell_options#login_shell">login_shell</a> is set</li></ul><p><i><strong>Related switches:</strong></i></p><ul><li>--noprofile disables reading of all profile files</li></ul><h3>Interactive shell</h3><p>When Bash starts as an interactive non-login shell, it reads and executes commands from ~/.bashrc. This file should contain, for example, aliases, since they need to be defined in every shell as they''re not inherited from the parent shell.</p><p>The feature to have a system-wide /etc/bash.bashrc or a similar system-wide rc-file is specific to vendors and distributors that ship <i>their own, patched variant of Bash</i>. The classic way to have a system-wide rc file is to source /etc/bashrc from every user''s ~/.bashrc.</p><p><i><strong>Methods to test for interactive-shell mode:</strong></i></p><ul><li>the special parameter $- contains the letter i (lowercase I)</li></ul><p><i><strong>Related switches:</strong></i></p><ul><li>-i forces the interactive mode</li><li>--norc disables reading of the startup files (e.g. /etc/bash.bashrc if supported) and ~/.bashrc</li><li>--rcfile defines another startup file (instead of /etc/bash.bashrc and ~/.bashrc)</li></ul><h3>SH mode</h3><p>When Bash starts in SH compatiblity mode, it tries to mimic the startup behaviour of historical versions of sh as closely as possible, while conforming to the POSIX® standard as well. The profile files read are /etc/profile and ~/.profile, if it''s a login shell.</p><p>If it''s not a login shell, the environment variable <a href="http://wiki.bash-hackers.org/syntax/shellvars#env">ENV</a> is evaluated and the resulting filename is used as the name of the startup file.</p><p>After the startup files are read, Bash enters the <a href="http://wiki.bash-hackers.org/scripting/bashbehaviour#posix_run_mode">POSIX(r) compatiblity mode (for running, not for starting!)</a>.</p><p><i><strong>Bash starts in sh compatiblity mode when:</strong></i></p><ul><li>the base filename in argv[0] is sh (<figure class="image"><img></figure>&nbsp;NB: /bin/sh may be linked to /bin/bash, but that doesn''t mean it acts like /bin/bash&nbsp;<figure class="image"><img></figure>)</li></ul>', 0, 0, '2017-12-23T01:29:35.974Z', '2017-12-23T01:34:10.493Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('CF2lUIJAr6Ey', 'Python', '', 0, 0, '2017-12-23T01:34:37.658Z', '2017-12-23T01:34:40.465Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('xkXwueRoDNeN', 'Christmas shopping', '<p>&nbsp;</p>', 0, 0, '2017-12-23T01:35:40.306Z', '2017-12-23T16:43:08.157Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('eXHZAKsMYgur', 'Books', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T03:32:42.868Z', '2017-12-23T18:08:03.857Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('2WU27ekfy07E', 'To read', '<p>Checkout Kindle daily deals: <a href="https://www.amazon.com/gp/feature.html?docId=1000677541">https://www.amazon.com/gp/feature.html?docId=1000677541</a></p><p>&nbsp;</p><ul><li>Cixin Liu - <a href="https://www.amazon.com/Dark-Forest-Remembrance-Earths-Past/dp/0765386690/ref=pd_bxgy_14_img_2?_encoding=UTF8&amp;pd_rd_i=0765386690&amp;pd_rd_r=AB0J179TM9NTEAMHE240&amp;pd_rd_w=FAhxX&amp;pd_rd_wg=pLGK7&amp;psc=1&amp;refRID=AB0J179TM9NTEAMHE240">The Dark Forest</a></li><li>Ann Leckie - <a href="https://www.amazon.com/Ancillary-Sword-Imperial-Radch-Leckie/dp/0316246654/ref=pd_sim_14_1?_encoding=UTF8&amp;pd_rd_i=0316246654&amp;pd_rd_r=D7KDTGZFP7YM1YSYVY4G&amp;pd_rd_w=jkn28&amp;pd_rd_wg=JVhtw&amp;psc=1&amp;refRID=D7KDTGZFP7YM1YSYVY4G">Ancillary Sword</a></li></ul>', 0, 0, '2017-12-23T03:32:49.379Z', '2017-12-23T03:59:01.970Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('TjWEndYCCg7g', 'Reviews', '', 0, 0, '2017-12-23T03:33:23.584Z', '2017-12-23T03:33:35.089Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('8nRNDJGyGs2Z', 'The Mechanical', '<p><strong>Amazon:</strong> <a href="https://www.amazon.com/Mechanical-Alchemy-Wars-Ian-Tregillis/dp/0316248002">https://www.amazon.com/Mechanical-Alchemy-Wars-Ian-Tregillis/dp/0316248002</a></p><p><strong>Author:</strong> Ian Tregillis</p><p><strong>Dates of reading:</strong> 24. 11. 2017 -13. 12. 2017</p><p>&nbsp;</p><p>I enjoyed this book a lot. It''s slow moving at times with the author taking his time with conversations and descriptions of them. The premise is very interesting, but I''m sad that it wasn''t elaborated more deeply - e.g. the history and development of the clakker technology with Huygens and how Spinoza comes into the picture. Maybe the author saves it for the next two parts of the book.</p><p>&nbsp;</p><p>Language can be intimidating at first for non-native english speakers - author uses wide range of vocabulary. Fortunately it gets better after a while as reader adjusts.</p>', 0, 0, '2017-12-23T03:33:37.327Z', '2017-12-23T03:36:51.534Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('9zSwD89vgzNO', 'Highlights', '<blockquote><p>Like a raindrop rolling down dry valleys to the sea, his body sensed the contours of agony and helplessly followed their gradient. Impelled by alchemical compulsion rather than gravity, Jax became an unstoppable boulder careering along gullies of human whim.</p></blockquote><p>&nbsp;</p><blockquote><p>Free Will was a vacuum, a negative space. It was the absence of coercion, the absence of compulsion, the absence of agony.</p></blockquote><p>&nbsp;</p><blockquote><p>Overwhelming: he could do anything he wanted. But the grand sum of anything-at-all was nothing-at-all. The topology of freedom offered no gradients to nudge him, no landmarks to guide him. How did humans guide themselves? How did they know what to do and what not to do? How did they know when to do anything without the benefit of geasa and metageasa to prioritize every single action of their waking lives? How did they order their daily existence without somebody to tell them what to do?</p></blockquote><blockquote><p>Life as a slave was unspeakable; life as a slave who had briefly tasted freedom was unthinkable. Clakkers carried complex geasa by dint of alchemy; humans carried heavy obligations, too, but called them culture. Society.</p></blockquote>', 0, 0, '2017-12-23T03:37:04.912Z', '2017-12-23T03:38:16.533Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('u5t1EvWa3CMO', 'Man''s search for meaning', '<p><strong>Autor</strong>: Viktor Frankl - <a href="https://en.wikipedia.org/wiki/Viktor_Frankl">https://en.wikipedia.org/wiki/Viktor_Frankl</a></p><p><strong>Wiki</strong> - <a href="https://en.wikipedia.org/wiki/Man%27s_Search_for_Meaning">https://en.wikipedia.org/wiki/Man%27s_Search_for_Meaning</a></p><p>&nbsp;</p><p>But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings of the great explorer of the truth, the master-builder of human happiness. No one rejects, dislikes, or avoids pleasure itself, because it is pleasure, but because those who do not know how to pursue pleasure rationally encounter consequences that are extremely painful. Nor again is there anyone who loves or pursues or desires to obtain pain of itself, because it is pain, but because occasionally circumstances occur in which toil and pain can procure him some great pleasure. To take a trivial example, which of us ever undertakes laborious physical exercise, except to obtain some advantage from it? But who has any right to find fault with a man who chooses to enjoy a pleasure that has no annoying consequences, or one who avoids a pain that produces no resultant pleasure?</p><p>&nbsp;</p>', 0, 0, '2017-12-23T03:39:21.918Z', '2017-12-23T03:40:26.692Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('Iha4YwchR413', '21 - thursday', '', 0, 0, '2017-12-23T03:44:21.176Z', '2017-12-23T03:44:28.816Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('6ZuXjCSWgjB4', 'November', '', 0, 0, '2017-12-23T03:44:45.351Z', '2017-12-23T03:44:53.787Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('GpGnjmcAPeWG', '28', '', 0, 0, '2017-12-23T03:44:57.036Z', '2017-12-23T03:45:08.790Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('21K84UqGhqlt', 'Christmas gift ideas', '<ul><li>XBox</li><li>Candles</li><li><a href="https://www.amazon.ca/Anker-SoundCore-Portable-Bluetooth-Resistance/dp/B01MTB55WH?pd_rd_wg=honW8&amp;pd_rd_r=c9bb7c0f-0051-4da7-991f-4ca711a1b3e3&amp;pd_rd_w=ciUpR&amp;ref_=pd_gw_simh&amp;pf_rd_r=K10XKX0NGPDNTYYP4BS4&amp;pf_rd_p=5f1b460b-78c1-580e-929e-2878fe4859e8">Portable speakers</a></li><li>...?</li></ul>', 0, 0, '2017-12-23T03:45:10.933Z', '2017-12-23T16:43:28.160Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('rz5t0r9Qr2WC', 'Epics', '<p>Epic is kind of medium-term events or projects spread over days or months.</p><p>&nbsp;</p><p>Remember that Trilium is all free form so you can organise your stuff in whatever way you''d like</p><p>&nbsp;</p><p>&nbsp;</p>', 0, 0, '2017-12-23T03:45:20.914Z', '2017-12-23T03:52:37.779Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('R6pheWjdwmNU', 'Christmas', '<p>This christmas is going to be awesome!</p>', 0, 0, '2017-12-23T03:45:28.002Z', '2017-12-23T16:42:53.142Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('5v5Dx6LMHXIO', 'Christmas shopping', '<p>Bought a book!</p>', 0, 0, '2017-12-23T03:45:44.184Z', '2017-12-23T04:09:15.442Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('MLQjmREtcnJ3', 'Shopping', '', 0, 0, '2017-12-23T03:47:48.208Z', '2017-12-23T03:47:51.917Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('pTTjrxgnvURB', 'Vacation days', '<p>25. 12., 26. 12., 1. 1. - statutory holidays</p><p>27. 12. - 29. 12., 2. 1. - vacation days</p>', 0, 0, '2017-12-23T03:47:55.932Z', '2017-12-23T03:49:46.419Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('cFK9sGYZaMWs', 'Vacation in Cuba', 'Planning stuff etc.', 0, 0, '2017-12-23T03:49:32.210Z', '2017-12-23T03:55:17.763Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('pOFVzbXLmzhX', 'Christmas dinner', 'Carp of course!', 0, 0, '2017-12-23T03:54:46.138Z', '2017-12-23T03:54:57.762Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('0xtvjqrcGiRB', 'History', '<p>The <strong>history of Linux</strong> began in 1991 with the commencement of a personal project by <a href="https://en.wikipedia.org/wiki/Finland">Finnish</a> student <a href="https://en.wikipedia.org/wiki/Linus_Torvalds">Linus Torvalds</a> to create a new free operating system kernel. Since then, the resulting <a href="https://en.wikipedia.org/wiki/Linux_kernel">Linux kernel</a> has been marked by constant growth throughout its history. Since the initial release of its <a href="https://en.wikipedia.org/wiki/Source_code">source code</a> in 1991, it has grown from a small number of <a href="https://en.wikipedia.org/wiki/C_Programming_Language">C</a> files under a license prohibiting commercial distribution to the 4.2.3 version in 2015 with more than 18 million lines of source code under the <a href="https://en.wikipedia.org/wiki/GNU_General_Public_License">GNU General Public License</a> v2.</p>', 0, 0, '2017-12-23T04:01:51.565Z', '2017-12-23T04:02:05.496Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('Zl69uXBSen0w', 'Ubuntu', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T04:02:16.685Z', '2017-12-23T18:08:15.381Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('62BKAQMVP2KW', 'Unity shortcuts', '<ul><li>Hold Super - Invoke the Launcher and display the shortcuts</li><li>Hold Super, then press 1 or 2 or 3 and so on until 0 to open or focus an application. The number corresponds to the location of the icon on the launcher from top to bottom.<ul><li>Adding Shift will open a new instance of the application if it''s already open.</li><li>Holding the key is also useful when you want to get to the Launcher but do not want to invoke the Dash.</li></ul></li><li>Super + T - Open the rubbish bin/trash can.</li><li>Alt + F1 - Put keyboard focus on the Launcher, use arrow keys to navigate, Enter launches an application, Right arrow exposes the quicklists if an application has them.</li><li>Ctrl + Alt + T - Launch a terminal window.</li></ul>', 0, 0, '2017-12-23T04:02:39.164Z', '2017-12-23T04:03:09.867Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('h4OfLEAYspud', 'Security', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T04:04:00.715Z', '2017-12-23T18:08:25.474Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('1hASbLRDL7oo', 'Trusted timestamping', '<p>Wiki: <a href="https://en.wikipedia.org/wiki/Trusted_timestamping">https://en.wikipedia.org/wiki/Trusted_timestamping</a></p><p>Bozho: <a href="https://techblog.bozho.net/using-trusted-timestamping-java/">https://techblog.bozho.net/using-trusted-timestamping-java/</a></p><p>&nbsp;</p><p><strong>Trusted timestamping</strong> is the process of <a href="https://en.wikipedia.org/wiki/Computer_security">securely</a> keeping track of the creation and modification time of a document. Security here means that no one—not even the owner of the document—should be able to change it once it has been recorded provided that the timestamper''s integrity is never compromised.</p><p>The administrative aspect involves setting up a publicly available, trusted timestamp management infrastructure to collect, process and renew timestamps.</p>', 0, 0, '2017-12-23T04:04:08.155Z', '2017-12-23T04:04:30.386Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('jyqG9GucsMdn', 'Office party', 'That was fun!', 0, 0, '2017-12-23T04:05:16.439Z', '2017-12-23T04:05:30.373Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('WdWZFuWNVDZk', 'Tech', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T04:06:16.179Z', '2017-12-23T18:08:05.376Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('yK4SBJfwD3tY', 'Work', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T04:06:32.833Z', '2017-12-23T18:08:30.573Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('r4BnsmSQeVr1', 'HR', '<p>HR stuff&nbsp;</p>', 0, 0, '2017-12-23T04:06:37.427Z', '2017-12-23T16:42:23.145Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('QbL3pTvhgzM8', 'Processes', '<p>No content.</p><p>&nbsp;</p>', 0, 0, '2017-12-23T04:06:43.841Z', '2017-12-23T16:42:15.893Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('moMbTKwN15Ps', 'Projects', '<p>Here I''d keep various notes related to my work''s projects etc.</p>', 0, 0, '2017-12-23T04:06:49.331Z', '2017-12-23T04:07:25.429Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('PEGQGg0In3Ar', 'Phone call about work project', '<p>Bla bla bla ....</p>', 0, 0, '2017-12-23T16:44:35.900Z', '2017-12-23T16:44:53.174Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('IlULcDiOTI4K', 'Inbox', '<p>This is a place I use to put notes waiting for better categorization</p><p>&nbsp;</p>', 0, 0, '2017-12-23T16:45:11.047Z', '2017-12-23T18:04:49.545Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('vBv6ovBupfTj', 'Grocery list for today', '<ul><li>cucumber</li><li>cheese</li><li>beer</li></ul><p>&nbsp;</p>', 0, 0, '2017-12-23T18:04:50.904Z', '2017-12-23T18:05:19.574Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('mw4f2xB4J5fV', 'Book to read', '<p>How to be a stoic from Massimo Pigliuci:</p><p>&nbsp;</p><p><a href="https://www.amazon.com/gp/product/B01K3WN1BY?pf_rd_m=A2R2RITDJNW1Q6&amp;storeType=ebooks&amp;pageType=STOREFRONT&amp;pf_rd_p=8e2a96d9-c848-435b-92bd-0856850ad544&amp;pf_rd_r=4J6CT15BS4X8062XNGDF&amp;pf_rd_s=merchandised-search-5&amp;pf_rd_t=40901&amp;ref_=dbs_f_ebk_rwt_scns_mwl_ms5_kmw_8e2a96d9-c848-435b-92bd-0856850ad544_2&amp;pf_rd_i=154606011">https://www.amazon.com/gp/product/B01K3WN1BY?pf_rd_m=A2R2RITDJNW1Q6&amp;storeType=ebooks&amp;pageType=STOREFRONT&amp;pf_rd_p=8e2a96d9-c848-435b-92bd-0856850ad544&amp;pf_rd_r=4J6CT15BS4X8062XNGDF&amp;pf_rd_s=merchandised-search-5&amp;pf_rd_t=40901&amp;ref_=dbs_f_ebk_rwt_scns_mwl_ms5_kmw_8e2a96d9-c848-435b-92bd-0856850ad544_2&amp;pf_rd_i=154606011</a></p>', 0, 0, '2017-12-23T18:05:24.868Z', '2017-12-23T18:06:55.320Z');
-1
View File
@@ -1 +0,0 @@
INSERT INTO note_images (noteImageId, noteId, imageId, isDeleted, dateModified, dateCreated) VALUES ('2EtgRRPfk4Fi', '1Heh2acXfPNt', 'ed64aET6i379', 0, '2018-01-08T04:41:30.663Z', '2018-01-08T04:41:30.663Z');
-52
View File
@@ -1,52 +0,0 @@
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('dLgtLUFn3GoN', '1Heh2acXfPNt', 'root', 21, null, 1, 0, '2017-12-23T00:46:39.304Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('QLfS835GSfIh', '3RkyK9LI18dO', '1Heh2acXfPNt', 1, null, 1, 0, '2017-12-23T01:20:04.181Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('QJAcYJ1gGUh9', 'L1Ox40M1aEyy', '3RkyK9LI18dO', 0, null, 0, 0, '2017-12-23T01:20:45.365Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('wLTa2l3lYi83', 'HJusZTbBU494', '3RkyK9LI18dO', 2, null, 1, 0, '2017-12-23T01:20:50.709Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('yMhwsE7uvEij', '3oldoiMUPOlr', 'HJusZTbBU494', 1, null, 1, 0, '2017-12-23T01:20:55.775Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('EjQTcVVHFmmZ', 'MG0wntwILQW6', '3oldoiMUPOlr', 1, null, 1, 0, '2017-12-23T01:21:10.517Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('jvhKcwz4pYTr', 'ZC78NlmdXeC6', 'WdWZFuWNVDZk', 0, null, 1, 0, '2017-12-23T04:06:21.579Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('CarTrwkGVcPz', 'NncfGH8dyNjJ', 'WdWZFuWNVDZk', 1, null, 0, 0, '2017-12-23T04:06:24.012Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('6M7qPlr7at6N', 'eouCLkjbruai', 'NncfGH8dyNjJ', 0, null, 0, 0, '2017-12-23T01:23:28.291Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('tQgognnAH9WI', 'C44aq4mkaX67', 'NncfGH8dyNjJ', 1, null, 0, 0, '2017-12-23T01:23:31.879Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('xyAi7MmgvAgR', 'C44aq4mkaX67', 'ZC78NlmdXeC6', 1, null, 0, 0, '2017-12-23T01:23:47.756Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('xQ3fjRp9yaPq', 'I6Cw88AirBBl', 'C44aq4mkaX67', 0, null, 0, 0, '2017-12-23T01:24:04.681Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('2GOsNT5LsvTP', 'mcEwFMSjhlvL', 'C44aq4mkaX67', 1, null, 0, 0, '2017-12-23T01:29:35.974Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('RxUiraiR655R', 'CF2lUIJAr6Ey', 'NncfGH8dyNjJ', 2, null, 0, 0, '2017-12-23T01:34:37.658Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('mZuSrZ18Zmv0', 'xkXwueRoDNeN', 'MG0wntwILQW6', 0, null, 0, 0, '2017-12-23T01:35:40.306Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('hbcWTnEnXPwF', 'eXHZAKsMYgur', '1Heh2acXfPNt', 3, null, 1, 0, '2017-12-23T03:32:42.868Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('8a3aNxjG0nu7', '2WU27ekfy07E', 'eXHZAKsMYgur', 0, null, 0, 0, '2017-12-23T03:32:49.379Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('4Tu6vaPdCxCM', 'TjWEndYCCg7g', 'eXHZAKsMYgur', 1, null, 0, 0, '2017-12-23T03:33:23.584Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('lBPOmhP12egP', '8nRNDJGyGs2Z', 'TjWEndYCCg7g', 0, null, 0, 0, '2017-12-23T03:33:37.327Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('C5ipVqeDWySp', '9zSwD89vgzNO', '8nRNDJGyGs2Z', 0, null, 0, 0, '2017-12-23T03:37:04.912Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('uSitzbGcSATJ', 'u5t1EvWa3CMO', 'TjWEndYCCg7g', 1, null, 0, 0, '2017-12-23T03:39:21.918Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('GZ6aRI8rdSJt', '8nRNDJGyGs2Z', 'MG0wntwILQW6', 1, '', 0, 0, '2017-12-23T03:42:28.310Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('HsN4600rQoL9', 'Iha4YwchR413', '3oldoiMUPOlr', 0, null, 1, 0, '2017-12-23T03:44:30.945Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('uipfvAfwWRgx', '6ZuXjCSWgjB4', 'HJusZTbBU494', 0, null, 0, 0, '2017-12-23T03:44:54.096Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('nMRpPWWH8WRk', 'GpGnjmcAPeWG', '6ZuXjCSWgjB4', 0, null, 1, 0, '2017-12-23T03:44:57.036Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('c4wt27WNjepw', '21K84UqGhqlt', 'GpGnjmcAPeWG', 0, null, 0, 0, '2017-12-23T03:45:10.933Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('0fpnraUGs9Kl', 'rz5t0r9Qr2WC', 'HJusZTbBU494', 2, null, 1, 0, '2017-12-23T03:45:20.914Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('d8L8zYlLTbym', 'R6pheWjdwmNU', 'rz5t0r9Qr2WC', 0, null, 1, 0, '2017-12-23T03:45:28.002Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('T4USGzfllu5t', '5v5Dx6LMHXIO', 'Iha4YwchR413', 0, null, 0, 0, '2017-12-23T03:45:44.184Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('c4JgFNIobvQW', 'MLQjmREtcnJ3', 'R6pheWjdwmNU', 0, null, 0, 0, '2017-12-23T03:47:48.208Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('nfWjptAU2ZDg', 'pTTjrxgnvURB', 'R6pheWjdwmNU', 1, null, 0, 0, '2017-12-23T03:47:55.932Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('T2ToYBfyPy0g', 'cFK9sGYZaMWs', 'rz5t0r9Qr2WC', 1, null, 0, 0, '2017-12-23T03:49:32.210Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('NG4gbKOnsM3v', '21K84UqGhqlt', 'MLQjmREtcnJ3', 0, '28. 11. 2017', 0, 0, '2017-12-23T03:53:38.110Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('Fstg4tkccO4N', '5v5Dx6LMHXIO', 'MLQjmREtcnJ3', 1, '21. 12. 2017', 0, 0, '2017-12-23T03:53:49.737Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('MN8B7qXDUViO', 'xkXwueRoDNeN', 'MLQjmREtcnJ3', 2, '22. 12. 2017', 0, 0, '2017-12-23T03:53:57.486Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('gSRkHpB7Bu3D', 'pOFVzbXLmzhX', 'R6pheWjdwmNU', 2, null, 0, 0, '2017-12-23T03:54:46.138Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('6brdjeWDOB6w', '0xtvjqrcGiRB', 'ZC78NlmdXeC6', 0, null, 0, 0, '2017-12-23T04:02:06.650Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('AqKUM2zUVFUF', 'Zl69uXBSen0w', 'ZC78NlmdXeC6', 2, null, 1, 0, '2017-12-23T04:02:16.685Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('Ez7NN2WVzRc4', '62BKAQMVP2KW', 'Zl69uXBSen0w', 1, null, 0, 0, '2017-12-23T04:02:39.164Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('t3vVElqMIQVa', 'h4OfLEAYspud', 'WdWZFuWNVDZk', 2, null, 1, 0, '2017-12-23T04:06:25.769Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('O983DHtLpgmr', '1hASbLRDL7oo', 'h4OfLEAYspud', 0, null, 0, 0, '2017-12-23T16:42:26.347Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('RsvL795Mk1bp', '1hASbLRDL7oo', 'GpGnjmcAPeWG', 1, '', 0, 0, '2017-12-23T04:04:56.830Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('79e4hrHLFmx6', 'jyqG9GucsMdn', 'Iha4YwchR413', 1, null, 0, 0, '2017-12-23T04:05:16.439Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('oWO8rctUjf7d', 'WdWZFuWNVDZk', '1Heh2acXfPNt', 5, null, 1, 0, '2017-12-23T04:06:16.179Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('GOxcrZrxalFN', 'yK4SBJfwD3tY', '1Heh2acXfPNt', 8, null, 1, 0, '2017-12-23T04:06:32.833Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('bSPmEvjLzQKU', 'r4BnsmSQeVr1', 'yK4SBJfwD3tY', 0, null, 0, 0, '2017-12-23T04:06:37.427Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('bMtxCD6cwNR9', 'QbL3pTvhgzM8', 'yK4SBJfwD3tY', 2, null, 0, 0, '2017-12-23T04:06:43.841Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('o4ycR7xIi4oI', 'moMbTKwN15Ps', 'yK4SBJfwD3tY', 3, null, 1, 0, '2017-12-23T04:06:49.331Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('abTEhnOsAsSg', 'PEGQGg0In3Ar', 'GpGnjmcAPeWG', 2, null, 0, 0, '2017-12-23T16:44:35.900Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('bryQseMhyzaI', 'IlULcDiOTI4K', '1Heh2acXfPNt', 0, null, 0, 0, '2017-12-23T18:04:26.439Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('ccslPJf3wQV3', 'vBv6ovBupfTj', 'IlULcDiOTI4K', 0, null, 0, 0, '2017-12-23T18:04:50.904Z');
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('5Dt9YCMn59sY', 'mw4f2xB4J5fV', 'IlULcDiOTI4K', 1, null, 0, 0, '2017-12-23T18:05:24.868Z');
@@ -0,0 +1 @@
DROP INDEX IDX_attributes_noteId_name;
@@ -0,0 +1 @@
ALTER TABLE attributes ADD COLUMN isDeleted INT NOT NULL DEFAULT 0;
@@ -0,0 +1 @@
ALTER TABLE attributes ADD COLUMN position INT NOT NULL DEFAULT 0;
+7
View File
@@ -0,0 +1,7 @@
CREATE TABLE IF NOT EXISTS "api_tokens"
(
apiTokenId TEXT PRIMARY KEY NOT NULL,
token TEXT NOT NULL,
dateCreated TEXT NOT NULL,
isDeleted INT NOT NULL DEFAULT 0
);
@@ -0,0 +1 @@
CREATE INDEX IDX_attributes_name_value ON attributes (name, value);
@@ -0,0 +1,23 @@
UPDATE attributes SET value = '' WHERE value IS NULL;
CREATE TABLE IF NOT EXISTS "attributes_mig"
(
attributeId TEXT PRIMARY KEY NOT NULL,
noteId TEXT NOT NULL,
name TEXT NOT NULL,
value TEXT NOT NULL DEFAULT '',
position INT NOT NULL DEFAULT 0,
dateCreated TEXT NOT NULL,
dateModified TEXT NOT NULL,
isDeleted INT NOT NULL
);
INSERT INTO attributes_mig (attributeId, noteId, name, value, position, dateCreated, dateModified, isDeleted)
SELECT attributeId, noteId, name, value, position, dateCreated, dateModified, isDeleted FROM attributes;
DROP TABLE attributes;
ALTER TABLE attributes_mig RENAME TO attributes;
CREATE INDEX IDX_attributes_noteId ON attributes (noteId);
CREATE INDEX IDX_attributes_name_value ON attributes (name, value);
+1
View File
@@ -0,0 +1 @@
UPDATE notes SET mime = 'application/javascript;env=frontend' WHERE type = 'code' AND mime = 'application/javascript';
+38
View File
@@ -0,0 +1,38 @@
CREATE TABLE "branches" (
`branchId` TEXT NOT NULL,
`noteId` TEXT NOT NULL,
`parentNoteId` TEXT NOT NULL,
`notePosition` INTEGER NOT NULL,
`prefix` TEXT,
`isExpanded` BOOLEAN,
`isDeleted` INTEGER NOT NULL DEFAULT 0,
`dateModified` TEXT NOT NULL,
PRIMARY KEY(`branchId`)
);
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified)
SELECT noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified FROM note_tree;
DROP TABLE note_tree;
CREATE INDEX `IDX_branches_noteId` ON `branches` (
`noteId`
);
CREATE INDEX `IDX_branches_noteId_parentNoteId` ON `branches` (
`noteId`,
`parentNoteId`
);
CREATE TABLE `recent_notes_mig` (
`branchId` TEXT NOT NULL PRIMARY KEY,
`notePath` TEXT NOT NULL,
`dateAccessed` TEXT NOT NULL,
isDeleted INT
);
INSERT INTO recent_notes_mig (branchId, notePath, dateAccessed, isDeleted)
SELECT noteTreeId, notePath, dateAccessed, isDeleted FROM recent_notes;
DROP TABLE recent_notes;
ALTER TABLE recent_notes_mig RENAME TO recent_notes;
@@ -0,0 +1,22 @@
create table labels
(
labelId TEXT not null primary key,
noteId TEXT not null,
name TEXT not null,
value TEXT default '' not null,
position INT default 0 not null,
dateCreated TEXT not null,
dateModified TEXT not null,
isDeleted INT not null
);
create index IDX_labels_name_value
on labels (name, value);
create index IDX_labels_noteId
on labels (noteId);
INSERT INTO labels (labelId, noteId, name, "value", "position", dateCreated, dateModified, isDeleted)
SELECT attributeId, noteId, name, "value", "position", dateCreated, dateModified, isDeleted FROM attributes;
DROP TABLE attributes;
@@ -0,0 +1 @@
UPDATE options SET name = 'note_revision_snapshot_time_interval' WHERE name = 'history_snapshot_time_interval';
+14
View File
@@ -0,0 +1,14 @@
UPDATE "options" SET "name" = 'passwordVerificationHash' WHERE "name" = 'password_verification_hash';
UPDATE "options" SET "name" = 'dbVersion' WHERE "name" = 'db_version';
UPDATE "options" SET "name" = 'passwordDerivedKeySalt' WHERE "name" = 'password_derived_key_salt';
UPDATE "options" SET "name" = 'documentId' WHERE "name" = 'document_id';
UPDATE "options" SET "name" = 'lastSyncedPull' WHERE "name" = 'last_synced_pull';
UPDATE "options" SET "name" = 'startNotePath' WHERE "name" = 'start_note_path';
UPDATE "options" SET "name" = 'lastSyncedPush' WHERE "name" = 'last_synced_push';
UPDATE "options" SET "name" = 'documentSecret' WHERE "name" = 'document_secret';
UPDATE "options" SET "name" = 'lastBackupDate' WHERE "name" = 'last_backup_date';
UPDATE "options" SET "name" = 'noteRevisionSnapshotTimeInterval' WHERE "name" = 'note_revision_snapshot_time_interval';
UPDATE "options" SET "name" = 'protectedSessionTimeout' WHERE "name" = 'protected_session_timeout';
UPDATE "options" SET "name" = 'encryptedDataKey' WHERE "name" = 'encrypted_data_key';
UPDATE "options" SET "name" = 'encryptedDataKeyIv' WHERE "name" = 'encrypted_data_key_iv';
UPDATE "options" SET "name" = 'passwordVerificationSalt' WHERE "name" = 'password_verification_salt';
+7
View File
@@ -0,0 +1,7 @@
UPDATE labels SET name = 'disableVersioning' WHERE name = 'disable_versioning';
UPDATE labels SET name = 'calendarRoot' WHERE name = 'calendar_root';
UPDATE labels SET name = 'hideInAutocomplete' WHERE name = 'hide_in_autocomplete';
UPDATE labels SET name = 'excludeFromExport' WHERE name = 'exclude_from_export';
UPDATE labels SET name = 'manualTransactionHandling' WHERE name = 'manual_transaction_handling';
UPDATE labels SET name = 'disableInclusion' WHERE name = 'disable_inclusion';
UPDATE labels SET name = 'appCss' WHERE name = 'app_css';
@@ -0,0 +1,4 @@
UPDATE labels SET name = 'redditId' WHERE name = 'reddit_id';
UPDATE labels SET name = 'redditKind' WHERE name = 'reddit_kind';
UPDATE labels SET name = 'redditCreatedUtc' WHERE name = 'reddit_created_utc';
UPDATE labels SET name = 'redditDateNote' WHERE name = 'reddit_date_note';
@@ -0,0 +1,2 @@
UPDATE labels SET value = 'frontendStartup' WHERE value = 'frontend_startup';
UPDATE labels SET value = 'backendStartup' WHERE value = 'backend_startup';
@@ -0,0 +1,7 @@
UPDATE labels SET name = 'dateData' WHERE name = 'date_data';
UPDATE labels SET name = 'dateNote' WHERE name = 'date_note';
UPDATE labels SET name = 'fileSize' WHERE name = 'file_size';
UPDATE labels SET name = 'hideInAutocomplete' WHERE name = 'hide_in_autocomplete';
UPDATE labels SET name = 'monthNote' WHERE name = 'month_note';
UPDATE labels SET name = 'originalFileName' WHERE name = 'original_file_name';
UPDATE labels SET name = 'yearNote' WHERE name = 'year_note';
@@ -0,0 +1,5 @@
ALTER TABLE note_revisions ADD type TEXT DEFAULT '' NOT NULL;
ALTER TABLE note_revisions ADD mime TEXT DEFAULT '' NOT NULL;
UPDATE note_revisions SET type = (SELECT type FROM notes WHERE notes.noteId = note_revisions.noteId);
UPDATE note_revisions SET mime = (SELECT mime FROM notes WHERE notes.noteId = note_revisions.noteId);
@@ -0,0 +1,34 @@
CREATE TABLE event_logc027
(
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
noteId TEXT,
comment TEXT,
dateAdded TEXT NOT NULL
);
INSERT INTO event_logc027(id, noteId, comment, dateAdded) SELECT id, noteId, comment, dateAdded FROM event_log;
DROP TABLE event_log;
ALTER TABLE event_logc027 RENAME TO event_log;
CREATE TABLE IF NOT EXISTS "notes_mig" (
`noteId` TEXT NOT NULL,
`title` TEXT NOT NULL DEFAULT "unnamed",
`content` TEXT NOT NULL DEFAULT "",
`isProtected` INT NOT NULL DEFAULT 0,
`isDeleted` INT NOT NULL DEFAULT 0,
`dateCreated` TEXT NOT NULL,
`dateModified` TEXT NOT NULL,
type TEXT NOT NULL DEFAULT 'text',
mime TEXT NOT NULL DEFAULT 'text/html',
PRIMARY KEY(`noteId`)
);
INSERT INTO notes_mig (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified, type, mime)
SELECT noteId, title, content, isProtected, isDeleted, dateCreated, dateModified, type, mime FROM notes;
DROP TABLE notes;
ALTER TABLE notes_mig RENAME TO notes;
CREATE INDEX `IDX_notes_isDeleted` ON `notes` (
`isDeleted`
);
+5
View File
@@ -0,0 +1,5 @@
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, dateModified)
VALUES ('root', 'root', 'none', 0, null, 1, '2018-01-01T00:00:00.000Z');
INSERT INTO sync (entityName, entityId, sourceId, syncDate)
VALUES ('branches' ,'root', 'SYNC_FILL', '2018-01-01T00:00:00.000Z');
+1
View File
@@ -0,0 +1 @@
CREATE INDEX IDX_branches_parentNoteId ON branches (parentNoteId);
@@ -0,0 +1,2 @@
-- index confuses planner and is mostly useless anyway since we're mostly used in non-deleted notes (which are presumably majority)
DROP INDEX IDX_notes_isDeleted;
+2
View File
@@ -0,0 +1,2 @@
create index IDX_notes_type
on notes (type);
+9
View File
@@ -0,0 +1,9 @@
ALTER TABLE notes ADD hash TEXT DEFAULT "" NOT NULL;
ALTER TABLE branches ADD hash TEXT DEFAULT "" NOT NULL;
ALTER TABLE note_revisions ADD hash TEXT DEFAULT "" NOT NULL;
ALTER TABLE recent_notes ADD hash TEXT DEFAULT "" NOT NULL;
ALTER TABLE options ADD hash TEXT DEFAULT "" NOT NULL;
ALTER TABLE note_images ADD hash TEXT DEFAULT "" NOT NULL;
ALTER TABLE images ADD hash TEXT DEFAULT "" NOT NULL;
ALTER TABLE labels ADD hash TEXT DEFAULT "" NOT NULL;
ALTER TABLE api_tokens ADD hash TEXT DEFAULT "" NOT NULL;
@@ -0,0 +1,30 @@
ALTER TABLE branches ADD dateCreated TEXT NOT NULL DEFAULT '1970-01-01T00:00:00.000Z';
CREATE TABLE `event_log_mig` (
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
`noteId` TEXT,
`comment` TEXT,
`dateCreated` TEXT NOT NULL
);
INSERT INTO event_log_mig (id, noteId, comment, dateCreated)
SELECT id, noteId, comment, dateAdded FROM event_log;
DROP TABLE event_log;
ALTER TABLE event_log_mig RENAME TO event_log;
ALTER TABLE options ADD dateCreated TEXT NOT NULL DEFAULT '1970-01-01T00:00:00.000Z';
CREATE TABLE `recent_notes_mig` (
`branchId` TEXT NOT NULL PRIMARY KEY,
`notePath` TEXT NOT NULL,
hash TEXT DEFAULT "" NOT NULL,
`dateCreated` TEXT NOT NULL,
isDeleted INT
);
INSERT INTO recent_notes_mig (branchId, notePath, hash, dateCreated, isDeleted)
SELECT branchId, notePath, hash, dateAccessed, isDeleted FROM recent_notes;
DROP TABLE recent_notes;
ALTER TABLE recent_notes_mig RENAME TO recent_notes;
@@ -0,0 +1 @@
UPDATE notes SET mime = 'text/html' WHERE type = 'render';
@@ -0,0 +1,29 @@
CREATE TABLE `event_log_mig` (
`eventId` TEXT NOT NULL PRIMARY KEY,
`noteId` TEXT,
`comment` TEXT,
`dateCreated` TEXT NOT NULL
);
INSERT INTO event_log_mig (eventId, noteId, comment, dateCreated)
SELECT id, noteId, comment, dateCreated FROM event_log;
DROP TABLE event_log;
ALTER TABLE event_log_mig RENAME TO event_log;
create table options_mig
(
optionId TEXT NOT NULL PRIMARY KEY,
name TEXT not null,
value TEXT,
dateModified INT,
isSynced INTEGER default 0 not null,
hash TEXT default "" not null,
dateCreated TEXT default '1970-01-01T00:00:00.000Z' not null
);
INSERT INTO options_mig (optionId, name, value, dateModified, isSynced, hash, dateCreated)
SELECT name || "_key", name, value, dateModified, isSynced, hash, dateCreated FROM options;
DROP TABLE options;
ALTER TABLE options_mig RENAME TO options;
+2
View File
@@ -0,0 +1,2 @@
INSERT INTO options (optionId, name, value, dateCreated, dateModified, isSynced)
VALUES ('zoomFactor_key', 'zoomFactor', '1.0', '2018-06-01T03:35:55.041Z', '2018-06-01T03:35:55.041Z', 0);
@@ -0,0 +1 @@
UPDATE labels SET name = 'archived' WHERE name = 'hideInAutocomplete'
+2
View File
@@ -0,0 +1,2 @@
INSERT INTO options (optionId, name, value, dateCreated, dateModified, isSynced)
VALUES ('theme_key', 'theme', 'white', '2018-06-01T03:35:55.041Z', '2018-06-01T03:35:55.041Z', 0);
+15
View File
@@ -0,0 +1,15 @@
create table options_mig
(
name TEXT not null PRIMARY KEY,
value TEXT,
dateModified INT,
isSynced INTEGER default 0 not null,
hash TEXT default "" not null,
dateCreated TEXT default '1970-01-01T00:00:00.000Z' not null
);
INSERT INTO options_mig (name, value, dateModified, isSynced, hash, dateCreated)
SELECT name, value, dateModified, isSynced, hash, dateCreated FROM options;
DROP TABLE options;
ALTER TABLE options_mig RENAME TO options;
+8
View File
@@ -0,0 +1,8 @@
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
VALUES ('syncServerHost', '', '2018-06-01T03:35:55.041Z', '2018-06-01T03:35:55.041Z', 0);
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
VALUES ('syncServerTimeout', '5000', '2018-06-01T03:35:55.041Z', '2018-06-01T03:35:55.041Z', 0);
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
VALUES ('syncProxy', '', '2018-06-01T03:35:55.041Z', '2018-06-01T03:35:55.041Z', 0);
@@ -0,0 +1,2 @@
DELETE FROM sync WHERE entityName = 'note_tree';
DELETE FROM sync WHERE entityName = 'attributes';
@@ -0,0 +1,2 @@
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
VALUES ('initialized', 'true', '2018-06-01T03:35:55.041Z', '2018-06-01T03:35:55.041Z', 0);
@@ -0,0 +1,4 @@
const syncTableService = require('../../src/services/sync_table');
// options has not been filled so far which caused problems with clean-slate sync.
module.exports = async () => await syncTableService.fillAllSyncRows();
@@ -0,0 +1,2 @@
UPDATE notes SET content = '' WHERE isDeleted = 1;
UPDATE note_revisions SET content = '' WHERE (SELECT isDeleted FROM notes WHERE noteId = note_revisions.noteId) = 1;
@@ -0,0 +1,15 @@
CREATE TABLE relations
(
relationId TEXT not null primary key,
sourceNoteId TEXT not null,
name TEXT not null,
targetNoteId TEXT not null,
position INT default 0 not null,
dateCreated TEXT not null,
dateModified TEXT not null,
isDeleted INT not null
, hash TEXT DEFAULT "" NOT NULL);
CREATE INDEX IDX_relation_sourceNoteId
on relations (sourceNoteId);
CREATE INDEX IDX_relation_targetNoteId
on relations (targetNoteId);
@@ -0,0 +1 @@
ALTER TABLE relations ADD isInheritable int DEFAULT 0 NULL;
@@ -0,0 +1,9 @@
UPDATE options SET name = 'lastDailyBackupDate' WHERE name = 'lastBackupDate';
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
VALUES ('lastWeeklyBackupDate', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
VALUES ('lastMonthlyBackupDate', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
-- these options are not synced so no need to fix sync rows
+27
View File
@@ -0,0 +1,27 @@
create table attributes
(
attributeId TEXT not null primary key,
noteId TEXT not null,
type TEXT not null,
name TEXT not null,
value TEXT default '' not null,
position INT default 0 not null,
dateCreated TEXT not null,
dateModified TEXT not null,
isDeleted INT not null,
hash TEXT default "" not null);
create index IDX_attributes_name_value
on attributes (name, value);
create index IDX_attributes_value
on attributes (value);
create index IDX_attributes_noteId
on attributes (noteId);
INSERT INTO attributes (attributeId, noteId, type, name, value, position, dateCreated, dateModified, isDeleted, hash)
SELECT labelId, noteId, 'label', name, value, position, dateCreated, dateModified, isDeleted, hash FROM labels;
INSERT INTO attributes (attributeId, noteId, type, name, value, position, dateCreated, dateModified, isDeleted, hash)
SELECT relationId, sourceNoteId, 'relation', name, targetNoteId, position, dateCreated, dateModified, isDeleted, hash FROM relations;
@@ -0,0 +1 @@
ALTER TABLE attributes ADD isInheritable int DEFAULT 0 NULL;
@@ -0,0 +1,4 @@
DROP TABLE relations;
DROP TABLE labels;
DELETE FROM sync WHERE entityName = 'relations' OR entityName = 'labels';
@@ -0,0 +1 @@
UPDATE attributes SET name = 'template' WHERE name = 'inheritAttributes';
@@ -0,0 +1,5 @@
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
VALUES ('leftPaneMinWidth', '350', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
VALUES ('leftPaneWidthPercent', '20', '2018-07-29T18:31:00.874Z', '2018-07-29T18:31:00.874Z', 0);
@@ -0,0 +1 @@
update branches set parentNoteId = 'none' where branchId = 'root'
+75
View File
@@ -0,0 +1,75 @@
-- first fix deleted status of existing images
UPDATE note_images SET isDeleted = 1 WHERE noteId IN (SELECT noteId FROM notes WHERE isDeleted = 1);
-- we don't need set data to null because table is going to be dropped anyway and we want image size into attribute
UPDATE images SET isDeleted = 1 WHERE imageId NOT IN (SELECT imageId FROM note_images WHERE isDeleted = 0);
-- allow null for note content (for deleted notes)
CREATE TABLE IF NOT EXISTS "notes_mig" (
`noteId` TEXT NOT NULL,
`title` TEXT NOT NULL DEFAULT "note",
`content` TEXT NULL DEFAULT NULL,
`isProtected` INT NOT NULL DEFAULT 0,
`type` TEXT NOT NULL DEFAULT 'text',
`mime` TEXT NOT NULL DEFAULT 'text/html',
`hash` TEXT DEFAULT "" NOT NULL,
`isDeleted` INT NOT NULL DEFAULT 0,
`dateCreated` TEXT NOT NULL,
`dateModified` TEXT NOT NULL,
PRIMARY KEY(`noteId`)
);
INSERT INTO notes_mig (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified, type, mime, hash)
SELECT noteId, title, content, isProtected, isDeleted, dateCreated, dateModified, type, mime, hash FROM notes;
DROP TABLE notes;
ALTER TABLE notes_mig RENAME TO notes;
CREATE TABLE "links" (
`linkId` TEXT NOT NULL,
`noteId` TEXT NOT NULL,
`targetNoteId` TEXT NOT NULL,
`type` TEXT NOT NULL,
`hash` TEXT DEFAULT "" NOT NULL,
`isDeleted` INTEGER NOT NULL DEFAULT 0,
`dateCreated` TEXT NOT NULL,
`dateModified` TEXT NOT NULL,
PRIMARY KEY(`linkId`)
);
INSERT INTO links (linkId, noteId, targetNoteId, type, isDeleted, dateCreated, dateModified)
SELECT 'L' || SUBSTR(noteImageId, 2), noteId, imageId, 'image', isDeleted, dateCreated, dateModified FROM note_images;
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified, hash, dateCreated)
SELECT 'B' || SUBSTR(noteImageId, 2), imageId, noteId, 100, '', 0, isDeleted, dateModified, hash, dateCreated FROM note_images;
DROP TABLE note_images;
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified, type, mime, hash)
SELECT imageId, name, data, 0, isDeleted, dateCreated, dateModified, 'image', 'image/' || format, hash FROM images;
INSERT INTO attributes (attributeId, noteId, type, name, value, position, dateCreated, dateModified, isDeleted, hash, isInheritable)
SELECT 'O' || SUBSTR(imageId, 2), imageId, 'label', 'originalFileName', name, 0, dateCreated, dateModified, isDeleted, '', 0 FROM images;
INSERT INTO attributes (attributeId, noteId, type, name, value, position, dateCreated, dateModified, isDeleted, hash, isInheritable)
SELECT 'F' || SUBSTR(imageId, 2), imageId, 'label', 'fileSize', LENGTH(data), 0, dateCreated, dateModified, isDeleted, '', 0 FROM images;
DROP TABLE images;
INSERT INTO sync (entityName, entityId, sourceId, syncDate)
SELECT 'attributes', 'O' || SUBSTR(entityId, 2), sourceId, syncDate FROM sync WHERE entityName = 'images';
INSERT INTO sync (entityName, entityId, sourceId, syncDate)
SELECT 'attributes', 'F' || SUBSTR(entityId, 2), sourceId, syncDate FROM sync WHERE entityName = 'images';
UPDATE sync SET entityName = 'notes' WHERE entityName = 'images';
INSERT INTO sync (entityName, entityId, sourceId, syncDate)
SELECT 'links', 'L' || SUBSTR(entityId, 2), sourceId, syncDate FROM sync WHERE entityName = 'note_images';
INSERT INTO sync (entityName, entityId, sourceId, syncDate)
SELECT 'branches', 'B' || SUBSTR(entityId, 2), sourceId, syncDate FROM sync WHERE entityName = 'note_images';
DELETE FROM sync WHERE entityName = 'note_images';
DELETE FROM sync WHERE entityName = 'images';
+14
View File
@@ -0,0 +1,14 @@
create index IDX_links_noteId_index
on links (noteId);
create index IDX_links_targetNoteId_index
on links (targetNoteId);
create index IDX_attributes_name_index
on attributes (name);
create index IDX_attributes_noteId_index
on attributes (noteId);
create index IDX_attributes_value_index
on attributes (value);
@@ -0,0 +1 @@
UPDATE attributes SET isDeleted = 1 WHERE noteId IN (SELECT noteId FROM notes WHERE isDeleted = 1);
@@ -0,0 +1 @@
UPDATE attributes SET isDeleted = 1 WHERE type = 'relation' AND value NOT IN (SELECT noteId FROM notes WHERE notes.isDeleted = 0);
@@ -0,0 +1 @@
UPDATE attributes SET value = replace(value, 'mirrorRelation', 'inverseRelation') WHERE type = 'relation-definition';
@@ -0,0 +1 @@
UPDATE attributes SET name = 'archived' where name = 'hideInAutocomplete';
@@ -0,0 +1,2 @@
INSERT INTO options (name, value, dateCreated, dateModified, isSynced)
VALUES ('hoistedNoteId', 'root', '2018-12-11T18:31:00.874Z', '2018-12-11T18:31:00.874Z', 0);
+62
View File
@@ -0,0 +1,62 @@
const sql = require('../../src/services/sql');
function prependIv(cipherText, ivText) {
const arr = ivText.split("").map(c => parseInt(c) || 0);
const iv = Buffer.from(arr);
const payload = Buffer.from(cipherText, 'base64');
const complete = Buffer.concat([iv, payload]);
return complete.toString('base64');
}
async function updateEncryptedDataKey() {
const encryptedDataKey = await sql.getValue("SELECT value FROM options WHERE name = 'encryptedDataKey'");
const encryptedDataKeyIv = await sql.getValue("SELECT value FROM options WHERE name = 'encryptedDataKeyIv'");
const newEncryptedDataKey = prependIv(encryptedDataKey, encryptedDataKeyIv);
await sql.execute("UPDATE options SET value = ? WHERE name = 'encryptedDataKey'", [newEncryptedDataKey]);
await sql.execute("DELETE FROM options WHERE name = 'encryptedDataKeyIv'");
await sql.execute("DELETE FROM sync WHERE entityName = 'options' AND entityId = 'encryptedDataKeyIv'");
}
async function updateNotes() {
const protectedNotes = await sql.getRows("SELECT noteId, title, content FROM notes WHERE isProtected = 1");
for (const note of protectedNotes) {
if (note.title !== null) {
note.title = prependIv(note.title, "0" + note.noteId);
}
if (note.content !== null) {
note.content = prependIv(note.content, "1" + note.noteId);
}
await sql.execute("UPDATE notes SET title = ?, content = ? WHERE noteId = ?", [note.title, note.content, note.noteId]);
}
}
async function updateNoteRevisions() {
const protectedNoteRevisions = await sql.getRows("SELECT noteRevisionId, title, content FROM note_revisions WHERE isProtected = 1");
for (const noteRevision of protectedNoteRevisions) {
if (noteRevision.title !== null) {
noteRevision.title = prependIv(noteRevision.title, "0" + noteRevision.noteRevisionId);
}
if (noteRevision.content !== null) {
noteRevision.content = prependIv(noteRevision.content, "1" + noteRevision.noteRevisionId);
}
await sql.execute("UPDATE note_revisions SET title = ?, content = ? WHERE noteRevisionId = ?", [noteRevision.title, noteRevision.content, noteRevision.noteRevisionId]);
}
}
module.exports = async () => {
await updateEncryptedDataKey();
await updateNotes();
await updateNoteRevisions();
};

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