mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 02:16:05 +01:00 
			
		
		
		
	notes are now created with correct local dates
This commit is contained in:
		| @@ -39,7 +39,7 @@ CREATE TABLE IF NOT EXISTS "note_revisions_mig" ( | ||||
|                                               hash TEXT DEFAULT "" NOT NULL); | ||||
|  | ||||
| INSERT INTO note_revisions_mig (noteRevisionId, noteId, title, content, isProtected, utcDateModifiedFrom, utcDateModifiedTo, dateModifiedFrom, dateModifiedTo, type, mime, hash) | ||||
| SELECT noteRevisionId, noteId, title, content, isProtected, REPLACE(dateModifiedFrom, 'T', ' '), REPLACE(dateModifiedTo, 'T', ' '), REPLACE(REPLACE(dateModifiedFrom, 'T', ' '), 'Z', '+00:00'), REPLACE(REPLACE(dateModifiedTo, 'T', ' '), 'Z', '+00:00'), type, mime, hash FROM note_revisions; | ||||
| SELECT noteRevisionId, noteId, title, content, isProtected, REPLACE(dateModifiedFrom, 'T', ' '), REPLACE(dateModifiedTo, 'T', ' '), REPLACE(REPLACE(dateModifiedFrom, 'T', ' '), 'Z', '+0000'), REPLACE(REPLACE(dateModifiedTo, 'T', ' '), 'Z', '+0000'), type, mime, hash FROM note_revisions; | ||||
|  | ||||
| DROP TABLE note_revisions; | ||||
| ALTER TABLE note_revisions_mig RENAME TO note_revisions; | ||||
| @@ -192,7 +192,7 @@ CREATE TABLE IF NOT EXISTS "notes_mig" ( | ||||
| ); | ||||
|  | ||||
| INSERT INTO notes_mig (noteId, title, isProtected, type, mime, hash, isDeleted, dateCreated, dateModified, utcDateCreated, utcDateModified) | ||||
|   SELECT noteId, title, isProtected, type, mime, hash, isDeleted, REPLACE(REPLACE(dateCreated, 'T', ' '), 'Z', '+00:00'), REPLACE(REPLACE(dateModified, 'T', ' '), 'Z', '+00:00'), REPLACE(dateCreated, 'T', ' '), REPLACE(dateModified, 'T', ' ') FROM notes; | ||||
|   SELECT noteId, title, isProtected, type, mime, hash, isDeleted, REPLACE(REPLACE(dateCreated, 'T', ' '), 'Z', '+0000'), REPLACE(REPLACE(dateModified, 'T', ' '), 'Z', '+0000'), REPLACE(dateCreated, 'T', ' '), REPLACE(dateModified, 'T', ' ') FROM notes; | ||||
|  | ||||
| DROP TABLE notes; | ||||
| ALTER TABLE notes_mig RENAME TO notes; | ||||
|   | ||||
| @@ -91,7 +91,7 @@ app.on('ready', async () => { | ||||
|         const dateNoteService = require('./src/services/date_notes'); | ||||
|         const dateUtils = require('./src/services/date_utils'); | ||||
|  | ||||
|         const parentNote = await dateNoteService.getDateNote(dateUtils.nowLocalDate()); | ||||
|         const parentNote = await dateNoteService.getDateNote(dateUtils.localNowDate()); | ||||
|  | ||||
|         // window may be hidden / not in focus | ||||
|         mainWindow.focus(); | ||||
|   | ||||
							
								
								
									
										596
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										596
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -508,9 +508,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "ajv-keywords": { | ||||
|       "version": "3.2.0", | ||||
|       "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", | ||||
|       "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", | ||||
|       "version": "3.4.0", | ||||
|       "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", | ||||
|       "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "ansi-align": { | ||||
| @@ -590,38 +590,38 @@ | ||||
|       "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" | ||||
|     }, | ||||
|     "app-builder-bin": { | ||||
|       "version": "2.6.3", | ||||
|       "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.6.3.tgz", | ||||
|       "integrity": "sha512-JL8C41e6yGIchFsHP/q15aGNedAaUakLhkV6ER0Yxafx08sRnlDnlkAkEIKjX7edg/4i7swpGa6CBv1zX9GgCA==", | ||||
|       "version": "2.6.4", | ||||
|       "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.6.4.tgz", | ||||
|       "integrity": "sha512-wC9HYqiC1XqpunT/9y2VuF90KbarnIHL90Tv8BD3TITTgbVIdRTXAsvWvmaR/ImvAX0+l5Z3jZtXjdJ7Pw3bLQ==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "app-builder-lib": { | ||||
|       "version": "20.38.5", | ||||
|       "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.38.5.tgz", | ||||
|       "integrity": "sha512-vVgM9d9twwlhr+8vNAJOAD9dyVBRk7reuVa1BE1OmvaHb1M+fS8KpvcDKVdBqX9KDHy7zSc57mnIcHgax4/XMA==", | ||||
|       "version": "20.39.0", | ||||
|       "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.39.0.tgz", | ||||
|       "integrity": "sha512-lkxGyBrQwueYb3ViqHt5WjyzVVBQqXMXc7TF+JqkuuUWp5DF7SXAYZYd+rsR3gmCbdNxw4SPIEmWmm+I9LK2gw==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "7zip-bin": "~4.1.0", | ||||
|         "app-builder-bin": "2.6.3", | ||||
|         "app-builder-bin": "2.6.4", | ||||
|         "async-exit-hook": "^2.0.1", | ||||
|         "bluebird-lst": "^1.0.6", | ||||
|         "builder-util": "9.6.2", | ||||
|         "builder-util-runtime": "8.1.1", | ||||
|         "bluebird-lst": "^1.0.7", | ||||
|         "builder-util": "9.7.0", | ||||
|         "builder-util-runtime": "8.2.0", | ||||
|         "chromium-pickle-js": "^0.2.0", | ||||
|         "debug": "^4.1.1", | ||||
|         "ejs": "^2.6.1", | ||||
|         "electron-osx-sign": "0.4.11", | ||||
|         "electron-publish": "20.38.5", | ||||
|         "fs-extra-p": "^7.0.0", | ||||
|         "electron-publish": "20.39.0", | ||||
|         "fs-extra-p": "^7.0.1", | ||||
|         "hosted-git-info": "^2.7.1", | ||||
|         "is-ci": "^2.0.0", | ||||
|         "isbinaryfile": "^4.0.0", | ||||
|         "js-yaml": "^3.12.1", | ||||
|         "lazy-val": "^1.0.3", | ||||
|         "lazy-val": "^1.0.4", | ||||
|         "minimatch": "^3.0.4", | ||||
|         "normalize-package-data": "^2.4.0", | ||||
|         "normalize-package-data": "^2.5.0", | ||||
|         "plist": "^3.0.1", | ||||
|         "read-config-file": "3.2.1", | ||||
|         "read-config-file": "3.2.2", | ||||
|         "sanitize-filename": "^1.6.1", | ||||
|         "semver": "^5.6.0", | ||||
|         "temp-file": "^3.3.2" | ||||
| @@ -633,12 +633,6 @@ | ||||
|           "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "esprima": { | ||||
|           "version": "4.0.1", | ||||
|           "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", | ||||
|           "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "is-ci": { | ||||
|           "version": "2.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", | ||||
| @@ -648,20 +642,25 @@ | ||||
|             "ci-info": "^2.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "isbinaryfile": { | ||||
|           "version": "4.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.0.tgz", | ||||
|           "integrity": "sha512-RBtmso6l2mCaEsUvXngMTIjg3oheXo0MgYzzfT6sk44RYggPnm9fT+cQJAmzRnJIxPHXg9FZglqDJGW28dvcqA==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "js-yaml": { | ||||
|           "version": "3.12.1", | ||||
|           "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", | ||||
|           "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", | ||||
|         "normalize-package-data": { | ||||
|           "version": "2.5.0", | ||||
|           "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", | ||||
|           "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "argparse": "^1.0.7", | ||||
|             "esprima": "^4.0.0" | ||||
|             "hosted-git-info": "^2.1.4", | ||||
|             "resolve": "^1.10.0", | ||||
|             "semver": "2 || 3 || 4 || 5", | ||||
|             "validate-npm-package-license": "^3.0.1" | ||||
|           } | ||||
|         }, | ||||
|         "resolve": { | ||||
|           "version": "1.10.0", | ||||
|           "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", | ||||
|           "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "path-parse": "^1.0.6" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
| @@ -1070,12 +1069,20 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "bluebird-lst": { | ||||
|       "version": "1.0.6", | ||||
|       "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.6.tgz", | ||||
|       "integrity": "sha512-CBWFoPuUPpcvMUxfyr8DKdI5d4kjxFl1h39+VbKxP3KJWJHEsLtuT4pPLkjpxCGU6Ask21tvbnftWXdqIxYldQ==", | ||||
|       "version": "1.0.7", | ||||
|       "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.7.tgz", | ||||
|       "integrity": "sha512-5ix04IbXVIZ6nSRM4aZnwQfk40Td0D57WAl8LfhnICF6XwT4efCZYh0veOHvfDmgpbqE4ju5L5XEAMIcAe13Kw==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "bluebird": "^3.5.2" | ||||
|         "bluebird": "^3.5.3" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "bluebird": { | ||||
|           "version": "3.5.3", | ||||
|           "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", | ||||
|           "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", | ||||
|           "dev": true | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "bmp-js": { | ||||
| @@ -1319,18 +1326,18 @@ | ||||
|       } | ||||
|     }, | ||||
|     "builder-util": { | ||||
|       "version": "9.6.2", | ||||
|       "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-9.6.2.tgz", | ||||
|       "integrity": "sha512-cWl/0/Q851lesMmXp1IjreeAX1QAWA9e+iU2IT61oh+CvMYJnDwao2m9ZCHammdw2zllrwWu4fOC3gvsb/yOCw==", | ||||
|       "version": "9.7.0", | ||||
|       "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-9.7.0.tgz", | ||||
|       "integrity": "sha512-QA2RxbaSKvaFVNGcYsjmlkTn03tcdPxgIxHCOgw38G7NK91QWc76RBY9+T1sU8BLVEZJ4qNRWx+pd5rG9tTi+Q==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "7zip-bin": "~4.1.0", | ||||
|         "app-builder-bin": "2.6.3", | ||||
|         "bluebird-lst": "^1.0.6", | ||||
|         "builder-util-runtime": "^8.1.1", | ||||
|         "app-builder-bin": "2.6.4", | ||||
|         "bluebird-lst": "^1.0.7", | ||||
|         "builder-util-runtime": "^8.2.0", | ||||
|         "chalk": "^2.4.2", | ||||
|         "debug": "^4.1.1", | ||||
|         "fs-extra-p": "^7.0.0", | ||||
|         "fs-extra-p": "^7.0.1", | ||||
|         "is-ci": "^2.0.0", | ||||
|         "js-yaml": "^3.12.1", | ||||
|         "source-map-support": "^0.5.10", | ||||
| @@ -1364,12 +1371,6 @@ | ||||
|           "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "esprima": { | ||||
|           "version": "4.0.1", | ||||
|           "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", | ||||
|           "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "is-ci": { | ||||
|           "version": "2.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", | ||||
| @@ -1379,16 +1380,6 @@ | ||||
|             "ci-info": "^2.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "js-yaml": { | ||||
|           "version": "3.12.1", | ||||
|           "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", | ||||
|           "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "argparse": "^1.0.7", | ||||
|             "esprima": "^4.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "supports-color": { | ||||
|           "version": "5.5.0", | ||||
|           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", | ||||
| @@ -1401,14 +1392,14 @@ | ||||
|       } | ||||
|     }, | ||||
|     "builder-util-runtime": { | ||||
|       "version": "8.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.1.1.tgz", | ||||
|       "integrity": "sha512-+ieS4PMB33vVE2S3ZNWBEQJ1zKmAs/agrBdh7XadE1lKLjrH4aXYuOh9OOGdxqIRldhlhNBaF+yKMMEFOdNVig==", | ||||
|       "version": "8.2.0", | ||||
|       "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.2.0.tgz", | ||||
|       "integrity": "sha512-2Q3YrxANTrDs2NjSG5mbNGLPuUhPnSNYF9w5i4jWfHcNfQ3TgRrGXq4UfnkCiZVX8Axp4eAOSscaLLScKp/XLg==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "bluebird-lst": "^1.0.6", | ||||
|         "bluebird-lst": "^1.0.7", | ||||
|         "debug": "^4.1.1", | ||||
|         "fs-extra-p": "^7.0.0", | ||||
|         "fs-extra-p": "^7.0.1", | ||||
|         "sax": "^1.2.4" | ||||
|       } | ||||
|     }, | ||||
| @@ -2501,27 +2492,21 @@ | ||||
|       } | ||||
|     }, | ||||
|     "dmg-builder": { | ||||
|       "version": "6.5.4", | ||||
|       "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-6.5.4.tgz", | ||||
|       "integrity": "sha512-EaEkF8weXez3iAwgYffjcYfumauUh5x+BggMgn/IuihNIA5/WfzRAUR4wMq9aII2zwArlw+rIrX6ZHKbmtkQmA==", | ||||
|       "version": "6.6.0", | ||||
|       "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-6.6.0.tgz", | ||||
|       "integrity": "sha512-voodd3qdpdRiaciFZTfrFq/e82UPmUqSJq6R3Wc2Ql6XqXYLQcKo1h9rSZiivwls8PqE4Mk1IHTIOwmvJaq+MA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "app-builder-lib": "~20.38.5", | ||||
|         "bluebird-lst": "^1.0.6", | ||||
|         "builder-util": "~9.6.2", | ||||
|         "fs-extra-p": "^7.0.0", | ||||
|         "app-builder-lib": "~20.39.0", | ||||
|         "bluebird-lst": "^1.0.7", | ||||
|         "builder-util": "~9.7.0", | ||||
|         "fs-extra-p": "^7.0.1", | ||||
|         "iconv-lite": "^0.4.24", | ||||
|         "js-yaml": "^3.12.1", | ||||
|         "parse-color": "^1.0.0", | ||||
|         "sanitize-filename": "^1.6.1" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "esprima": { | ||||
|           "version": "4.0.1", | ||||
|           "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", | ||||
|           "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "iconv-lite": { | ||||
|           "version": "0.4.24", | ||||
|           "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", | ||||
| @@ -2530,16 +2515,6 @@ | ||||
|           "requires": { | ||||
|             "safer-buffer": ">= 2.1.2 < 3" | ||||
|           } | ||||
|         }, | ||||
|         "js-yaml": { | ||||
|           "version": "3.12.1", | ||||
|           "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", | ||||
|           "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "argparse": "^1.0.7", | ||||
|             "esprima": "^4.0.0" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
| @@ -2720,26 +2695,32 @@ | ||||
|       } | ||||
|     }, | ||||
|     "electron-builder": { | ||||
|       "version": "20.38.5", | ||||
|       "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.38.5.tgz", | ||||
|       "integrity": "sha512-p88IDHhH2J4hA6KwRBJY+OfVZuFtFIShY3Uh/TwYAfbX0v1RhKZytuGdO8sty2zcWxDYX74xDBv+X9oN6qEIRQ==", | ||||
|       "version": "20.39.0", | ||||
|       "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.39.0.tgz", | ||||
|       "integrity": "sha512-50SNZ/G+iE9MpTwxzeHt1Cqg8jZKeFLuJ9wubR4e/8VIzAe0ERUmwAQw+77UrlwXZD/PKKoYblc0Sr08Vm4exg==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "app-builder-lib": "20.38.5", | ||||
|         "bluebird-lst": "^1.0.6", | ||||
|         "builder-util": "9.6.2", | ||||
|         "builder-util-runtime": "8.1.1", | ||||
|         "app-builder-lib": "20.39.0", | ||||
|         "bluebird-lst": "^1.0.7", | ||||
|         "builder-util": "9.7.0", | ||||
|         "builder-util-runtime": "8.2.0", | ||||
|         "chalk": "^2.4.2", | ||||
|         "dmg-builder": "6.5.4", | ||||
|         "fs-extra-p": "^7.0.0", | ||||
|         "dmg-builder": "6.6.0", | ||||
|         "fs-extra-p": "^7.0.1", | ||||
|         "is-ci": "^2.0.0", | ||||
|         "lazy-val": "^1.0.3", | ||||
|         "read-config-file": "3.2.1", | ||||
|         "lazy-val": "^1.0.4", | ||||
|         "read-config-file": "3.2.2", | ||||
|         "sanitize-filename": "^1.6.1", | ||||
|         "update-notifier": "^2.5.0", | ||||
|         "yargs": "^12.0.5" | ||||
|         "yargs": "^13.2.1" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "ansi-regex": { | ||||
|           "version": "3.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", | ||||
|           "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "ansi-styles": { | ||||
|           "version": "3.2.1", | ||||
|           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||||
| @@ -2749,6 +2730,12 @@ | ||||
|             "color-convert": "^1.9.0" | ||||
|           } | ||||
|         }, | ||||
|         "camelcase": { | ||||
|           "version": "5.2.0", | ||||
|           "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.2.0.tgz", | ||||
|           "integrity": "sha512-IXFsBS2pC+X0j0N/GE7Dm7j3bsEBp+oTpb7F50dwEVX7rf3IgwO9XatnegTsDtniKCUtEJH4fSU6Asw7uoVLfQ==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "chalk": { | ||||
|           "version": "2.4.2", | ||||
|           "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", | ||||
| @@ -2766,6 +2753,87 @@ | ||||
|           "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "cliui": { | ||||
|           "version": "4.1.0", | ||||
|           "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", | ||||
|           "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "string-width": "^2.1.1", | ||||
|             "strip-ansi": "^4.0.0", | ||||
|             "wrap-ansi": "^2.0.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "string-width": { | ||||
|               "version": "2.1.1", | ||||
|               "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", | ||||
|               "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "is-fullwidth-code-point": "^2.0.0", | ||||
|                 "strip-ansi": "^4.0.0" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "cross-spawn": { | ||||
|           "version": "6.0.5", | ||||
|           "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", | ||||
|           "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "nice-try": "^1.0.4", | ||||
|             "path-key": "^2.0.1", | ||||
|             "semver": "^5.5.0", | ||||
|             "shebang-command": "^1.2.0", | ||||
|             "which": "^1.2.9" | ||||
|           } | ||||
|         }, | ||||
|         "execa": { | ||||
|           "version": "1.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", | ||||
|           "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "cross-spawn": "^6.0.0", | ||||
|             "get-stream": "^4.0.0", | ||||
|             "is-stream": "^1.1.0", | ||||
|             "npm-run-path": "^2.0.0", | ||||
|             "p-finally": "^1.0.0", | ||||
|             "signal-exit": "^3.0.0", | ||||
|             "strip-eof": "^1.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "find-up": { | ||||
|           "version": "3.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", | ||||
|           "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "locate-path": "^3.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "get-caller-file": { | ||||
|           "version": "2.0.5", | ||||
|           "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", | ||||
|           "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "get-stream": { | ||||
|           "version": "4.1.0", | ||||
|           "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", | ||||
|           "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "pump": "^3.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "invert-kv": { | ||||
|           "version": "2.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", | ||||
|           "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "is-ci": { | ||||
|           "version": "2.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", | ||||
| @@ -2775,6 +2843,109 @@ | ||||
|             "ci-info": "^2.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "is-fullwidth-code-point": { | ||||
|           "version": "2.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", | ||||
|           "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "lcid": { | ||||
|           "version": "2.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", | ||||
|           "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "invert-kv": "^2.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "locate-path": { | ||||
|           "version": "3.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", | ||||
|           "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "p-locate": "^3.0.0", | ||||
|             "path-exists": "^3.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "os-locale": { | ||||
|           "version": "3.1.0", | ||||
|           "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", | ||||
|           "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "execa": "^1.0.0", | ||||
|             "lcid": "^2.0.0", | ||||
|             "mem": "^4.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "p-limit": { | ||||
|           "version": "2.2.0", | ||||
|           "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", | ||||
|           "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "p-try": "^2.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "p-locate": { | ||||
|           "version": "3.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", | ||||
|           "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "p-limit": "^2.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "p-try": { | ||||
|           "version": "2.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", | ||||
|           "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "require-main-filename": { | ||||
|           "version": "2.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", | ||||
|           "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "string-width": { | ||||
|           "version": "3.1.0", | ||||
|           "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", | ||||
|           "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "emoji-regex": "^7.0.1", | ||||
|             "is-fullwidth-code-point": "^2.0.0", | ||||
|             "strip-ansi": "^5.1.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "ansi-regex": { | ||||
|               "version": "4.1.0", | ||||
|               "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", | ||||
|               "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "strip-ansi": { | ||||
|               "version": "5.1.0", | ||||
|               "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.1.0.tgz", | ||||
|               "integrity": "sha512-TjxrkPONqO2Z8QDCpeE2j6n0M6EwxzyDgzEeGp+FbdvaJAt//ClYi6W5my+3ROlC/hZX2KACUwDfK49Ka5eDvg==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "ansi-regex": "^4.1.0" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "strip-ansi": { | ||||
|           "version": "4.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", | ||||
|           "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "ansi-regex": "^3.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "supports-color": { | ||||
|           "version": "5.5.0", | ||||
|           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", | ||||
| @@ -2783,6 +2954,47 @@ | ||||
|           "requires": { | ||||
|             "has-flag": "^3.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "which-module": { | ||||
|           "version": "2.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", | ||||
|           "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "y18n": { | ||||
|           "version": "4.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", | ||||
|           "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "yargs": { | ||||
|           "version": "13.2.2", | ||||
|           "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz", | ||||
|           "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "cliui": "^4.0.0", | ||||
|             "find-up": "^3.0.0", | ||||
|             "get-caller-file": "^2.0.1", | ||||
|             "os-locale": "^3.1.0", | ||||
|             "require-directory": "^2.1.1", | ||||
|             "require-main-filename": "^2.0.0", | ||||
|             "set-blocking": "^2.0.0", | ||||
|             "string-width": "^3.0.0", | ||||
|             "which-module": "^2.0.0", | ||||
|             "y18n": "^4.0.0", | ||||
|             "yargs-parser": "^13.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "yargs-parser": { | ||||
|           "version": "13.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz", | ||||
|           "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "camelcase": "^5.0.0", | ||||
|             "decamelize": "^1.2.0" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
| @@ -3041,13 +3253,22 @@ | ||||
|           "requires": { | ||||
|             "ms": "2.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "isbinaryfile": { | ||||
|           "version": "3.0.3", | ||||
|           "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", | ||||
|           "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "buffer-alloc": "^1.2.0" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "electron-packager": { | ||||
|       "version": "13.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-13.1.0.tgz", | ||||
|       "integrity": "sha512-XHoDqgG90NGBfgUJ3NcOmELAuvHucOIYzi7AhZKIC8FivRR45PDs0pXSf53OqTXXOkdL/1xSveogvJLjKJwkAQ==", | ||||
|       "version": "13.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-13.1.1.tgz", | ||||
|       "integrity": "sha512-3Drgcw8OEOP3Psw/PprloAFJSkSUSQgjUq3AmWffJGB3Kj5WXmZl6A3GOUs8aT7bP/8GWg4oYqSiCSnA5PQkdQ==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "asar": "^1.0.0", | ||||
| @@ -3070,9 +3291,9 @@ | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "camelcase": { | ||||
|           "version": "5.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", | ||||
|           "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", | ||||
|           "version": "5.2.0", | ||||
|           "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.2.0.tgz", | ||||
|           "integrity": "sha512-IXFsBS2pC+X0j0N/GE7Dm7j3bsEBp+oTpb7F50dwEVX7rf3IgwO9XatnegTsDtniKCUtEJH4fSU6Asw7uoVLfQ==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "pify": { | ||||
| @@ -3094,17 +3315,17 @@ | ||||
|       } | ||||
|     }, | ||||
|     "electron-publish": { | ||||
|       "version": "20.38.5", | ||||
|       "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.38.5.tgz", | ||||
|       "integrity": "sha512-EhdPm6t0nKDfa0r3KjV1kSFcz03VrzgJRv7v5nHkkpQZB6OSmDNlHq7k66NBwQhPK3i4CK+uvehljZAP28vbCA==", | ||||
|       "version": "20.39.0", | ||||
|       "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.39.0.tgz", | ||||
|       "integrity": "sha512-PWrGUru994CSmtsA56GnjyLB3EnIS3zyEmrW0hDXtwuctZLGMnrxjK/7WEORYkgTQ/GufD5b/8T05Q2Kr42nqQ==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "bluebird-lst": "^1.0.6", | ||||
|         "builder-util": "~9.6.2", | ||||
|         "builder-util-runtime": "^8.1.1", | ||||
|         "bluebird-lst": "^1.0.7", | ||||
|         "builder-util": "~9.7.0", | ||||
|         "builder-util-runtime": "^8.2.0", | ||||
|         "chalk": "^2.4.2", | ||||
|         "fs-extra-p": "^7.0.0", | ||||
|         "lazy-val": "^1.0.3", | ||||
|         "fs-extra-p": "^7.0.1", | ||||
|         "lazy-val": "^1.0.4", | ||||
|         "mime": "^2.4.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
| @@ -3218,6 +3439,12 @@ | ||||
|         "shimmer": "^1.2.0" | ||||
|       } | ||||
|     }, | ||||
|     "emoji-regex": { | ||||
|       "version": "7.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", | ||||
|       "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "encodeurl": { | ||||
|       "version": "1.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", | ||||
| @@ -4462,9 +4689,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "file-type": { | ||||
|       "version": "10.8.0", | ||||
|       "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.8.0.tgz", | ||||
|       "integrity": "sha512-287YScp3cpRWzhM+/E+A85O4FJi4dHus0eA6eBUzkRc08d/JAwqeczU/nwLstRuzzq/S7TqvQg9mhv7xVsdINQ==" | ||||
|       "version": "10.9.0", | ||||
|       "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.9.0.tgz", | ||||
|       "integrity": "sha512-9C5qtGR/fNibHC5gzuMmmgnjH3QDDLKMa8lYe9CiZVmAnI4aUaoMh40QyUPzzs0RYo837SOBKh7TYwle4G8E4w==" | ||||
|     }, | ||||
|     "filename-regex": { | ||||
|       "version": "2.0.1", | ||||
| @@ -4798,13 +5025,13 @@ | ||||
|       } | ||||
|     }, | ||||
|     "fs-extra-p": { | ||||
|       "version": "7.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-7.0.0.tgz", | ||||
|       "integrity": "sha512-5tg5jBOd0xIXjwj4PDnafOXL5TyPVzjxLby4DPKev53wurEXp7IsojBaD4Lj5M5w7jxw0pbkEU0fFEPmcKoMnA==", | ||||
|       "version": "7.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-7.0.1.tgz", | ||||
|       "integrity": "sha512-yhd2OV0HnHt2oitlp+X9hl2ReX4X/7kQeL7/72qzPHTZj5eUPGzAKOvEglU02Fa1OeG2rSy/aKB4WGVaLiF8tw==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "bluebird-lst": "^1.0.6", | ||||
|         "fs-extra": "^7.0.0" | ||||
|         "bluebird-lst": "^1.0.7", | ||||
|         "fs-extra": "^7.0.1" | ||||
|       } | ||||
|     }, | ||||
|     "fs-minipass": { | ||||
| @@ -5550,9 +5777,9 @@ | ||||
|       "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" | ||||
|     }, | ||||
|     "helmet": { | ||||
|       "version": "3.15.1", | ||||
|       "resolved": "https://registry.npmjs.org/helmet/-/helmet-3.15.1.tgz", | ||||
|       "integrity": "sha512-hgoNe/sjKlKNvJ3g9Gz149H14BjMMWOCmW/DTXl7IfyKGtIK37GePwZrHNfr4aPXdKVyXcTj26RgRFbPKDy9lw==", | ||||
|       "version": "3.16.0", | ||||
|       "resolved": "https://registry.npmjs.org/helmet/-/helmet-3.16.0.tgz", | ||||
|       "integrity": "sha512-rsTKRogc5OYGlvSHuq5QsmOsOzF6uDoMqpfh+Np8r23+QxDq+SUx90Rf8HyIKQVl7H6NswZEwfcykinbAeZ6UQ==", | ||||
|       "requires": { | ||||
|         "depd": "2.0.0", | ||||
|         "dns-prefetch-control": "0.1.0", | ||||
| @@ -5564,8 +5791,8 @@ | ||||
|         "helmet-csp": "2.7.1", | ||||
|         "hide-powered-by": "1.0.0", | ||||
|         "hpkp": "2.0.0", | ||||
|         "hsts": "2.1.0", | ||||
|         "ienoopen": "1.0.0", | ||||
|         "hsts": "2.2.0", | ||||
|         "ienoopen": "1.1.0", | ||||
|         "nocache": "2.0.0", | ||||
|         "referrer-policy": "1.1.0", | ||||
|         "x-xss-protection": "1.1.0" | ||||
| @@ -5616,9 +5843,19 @@ | ||||
|       "integrity": "sha1-EOFCJk52IVpdMMROxD3mTe5tFnI=" | ||||
|     }, | ||||
|     "hsts": { | ||||
|       "version": "2.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/hsts/-/hsts-2.1.0.tgz", | ||||
|       "integrity": "sha512-zXhh/DqgrTXJ7erTN6Fh5k/xjMhDGXCqdYN3wvxUvGUQvnxcFfUd8E+6vLg/nk3ss1TYMb+DhRl25fYABioTvA==" | ||||
|       "version": "2.2.0", | ||||
|       "resolved": "https://registry.npmjs.org/hsts/-/hsts-2.2.0.tgz", | ||||
|       "integrity": "sha512-ToaTnQ2TbJkochoVcdXYm4HOCliNozlviNsg+X2XQLQvZNI/kCHR9rZxVYpJB3UPcHz80PgxRyWQ7PdU1r+VBQ==", | ||||
|       "requires": { | ||||
|         "depd": "2.0.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "depd": { | ||||
|           "version": "2.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", | ||||
|           "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "html": { | ||||
|       "version": "1.0.0", | ||||
| @@ -5717,9 +5954,9 @@ | ||||
|       "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" | ||||
|     }, | ||||
|     "ienoopen": { | ||||
|       "version": "1.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/ienoopen/-/ienoopen-1.0.0.tgz", | ||||
|       "integrity": "sha1-NGpCj0dKrI9QzzeE6i0PFvYr2ms=" | ||||
|       "version": "1.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/ienoopen/-/ienoopen-1.1.0.tgz", | ||||
|       "integrity": "sha512-MFs36e/ca6ohEKtinTJ5VvAJ6oDRAYFdYXweUnGY9L9vcoqFOU4n2ZhmJ0C4z/cwGZ3YIQRSB3XZ1+ghZkY5NQ==" | ||||
|     }, | ||||
|     "ignore": { | ||||
|       "version": "3.3.10", | ||||
| @@ -5735,18 +5972,11 @@ | ||||
|       } | ||||
|     }, | ||||
|     "image-type": { | ||||
|       "version": "3.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/image-type/-/image-type-3.0.0.tgz", | ||||
|       "integrity": "sha1-FQKvMTX5BuEiyHfDHpSve3qRRsU=", | ||||
|       "version": "4.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/image-type/-/image-type-4.0.0.tgz", | ||||
|       "integrity": "sha512-V1NCIexmmA9dBoO07NOFXe2nTU06siLuuaGD1zLRbLfTYmGMLPShPakPf3ts6J0ctdpLpJRKFcJWKjuacwZzWA==", | ||||
|       "requires": { | ||||
|         "file-type": "^4.1.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "file-type": { | ||||
|           "version": "4.4.0", | ||||
|           "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", | ||||
|           "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=" | ||||
|         } | ||||
|         "file-type": "^10.9.0" | ||||
|       } | ||||
|     }, | ||||
|     "imagemin": { | ||||
| @@ -6471,13 +6701,10 @@ | ||||
|       "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" | ||||
|     }, | ||||
|     "isbinaryfile": { | ||||
|       "version": "3.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", | ||||
|       "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "buffer-alloc": "^1.2.0" | ||||
|       } | ||||
|       "version": "4.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.0.tgz", | ||||
|       "integrity": "sha512-RBtmso6l2mCaEsUvXngMTIjg3oheXo0MgYzzfT6sk44RYggPnm9fT+cQJAmzRnJIxPHXg9FZglqDJGW28dvcqA==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "isexe": { | ||||
|       "version": "2.0.0", | ||||
| @@ -6709,9 +6936,9 @@ | ||||
|       "integrity": "sha1-va6+rTD42CQDnODOFJ1Nqge6H6w=" | ||||
|     }, | ||||
|     "lazy-val": { | ||||
|       "version": "1.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.3.tgz", | ||||
|       "integrity": "sha512-pjCf3BYk+uv3ZcPzEVM0BFvO9Uw58TmlrU0oG5tTrr9Kcid3+kdKxapH8CjdYmVa2nO5wOoZn2rdvZx2PKj/xg==", | ||||
|       "version": "1.0.4", | ||||
|       "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz", | ||||
|       "integrity": "sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "lazystream": { | ||||
| @@ -9749,26 +9976,26 @@ | ||||
|       } | ||||
|     }, | ||||
|     "read-config-file": { | ||||
|       "version": "3.2.1", | ||||
|       "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-3.2.1.tgz", | ||||
|       "integrity": "sha512-yW4hZZXdNN+Paij5JVAiTv1lUsAN5QRBU5NqotQqwYdVkUczSmDzm66VLu0eojiZt2zFeYptTFDAYlalDGuHdA==", | ||||
|       "version": "3.2.2", | ||||
|       "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-3.2.2.tgz", | ||||
|       "integrity": "sha512-PuFpMgZF01VB0ydH1dfitAxCP/fh+qnfbA9cYNIPoxPbz0SMngsrafCtaHDWfER7MwlDz4fmrNBhPkakxxFpTg==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "ajv": "^6.7.0", | ||||
|         "ajv-keywords": "^3.2.0", | ||||
|         "bluebird-lst": "^1.0.6", | ||||
|         "ajv": "^6.9.2", | ||||
|         "ajv-keywords": "^3.4.0", | ||||
|         "bluebird-lst": "^1.0.7", | ||||
|         "dotenv": "^6.2.0", | ||||
|         "dotenv-expand": "^4.2.0", | ||||
|         "fs-extra-p": "^7.0.0", | ||||
|         "fs-extra-p": "^7.0.1", | ||||
|         "js-yaml": "^3.12.1", | ||||
|         "json5": "^2.1.0", | ||||
|         "lazy-val": "^1.0.3" | ||||
|         "lazy-val": "^1.0.4" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "ajv": { | ||||
|           "version": "6.7.0", | ||||
|           "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.7.0.tgz", | ||||
|           "integrity": "sha512-RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg==", | ||||
|           "version": "6.10.0", | ||||
|           "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", | ||||
|           "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "fast-deep-equal": "^2.0.1", | ||||
| @@ -9777,28 +10004,12 @@ | ||||
|             "uri-js": "^4.2.2" | ||||
|           } | ||||
|         }, | ||||
|         "esprima": { | ||||
|           "version": "4.0.1", | ||||
|           "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", | ||||
|           "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "fast-deep-equal": { | ||||
|           "version": "2.0.1", | ||||
|           "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", | ||||
|           "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "js-yaml": { | ||||
|           "version": "3.12.1", | ||||
|           "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", | ||||
|           "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "argparse": "^1.0.7", | ||||
|             "esprima": "^4.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "json-schema-traverse": { | ||||
|           "version": "0.4.1", | ||||
|           "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", | ||||
| @@ -10668,9 +10879,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "source-map-support": { | ||||
|       "version": "0.5.10", | ||||
|       "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", | ||||
|       "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", | ||||
|       "version": "0.5.11", | ||||
|       "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.11.tgz", | ||||
|       "integrity": "sha512-//sajEx/fGL3iw6fltKMdPvy8kL3kJ2O3iuYlRoT3k9Kb4BjOoZ+BZzaNHeuaruSt+Kf3Zk9tnfAQg9/AJqUVQ==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "buffer-from": "^1.0.0", | ||||
| @@ -10977,11 +11188,6 @@ | ||||
|         "escape-string-regexp": "^1.0.2" | ||||
|       } | ||||
|     }, | ||||
|     "striptags": { | ||||
|       "version": "3.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/striptags/-/striptags-3.1.1.tgz", | ||||
|       "integrity": "sha1-yMPn/db7S7OjKjt1LltePjgJPr0=" | ||||
|     }, | ||||
|     "sum-up": { | ||||
|       "version": "1.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz", | ||||
| @@ -12142,9 +12348,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "ws": { | ||||
|       "version": "6.1.4", | ||||
|       "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", | ||||
|       "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", | ||||
|       "version": "6.2.0", | ||||
|       "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.0.tgz", | ||||
|       "integrity": "sha512-deZYUNlt2O4buFCa3t5bKLf8A7FPP/TVjwOeVNpw818Ma5nk4MLXls2eoEGS39o8119QIYxTrTDoPQ5B/gTD6w==", | ||||
|       "requires": { | ||||
|         "async-limiter": "~1.0.0" | ||||
|       } | ||||
|   | ||||
							
								
								
									
										12
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								package.json
									
									
									
									
									
								
							| @@ -36,13 +36,13 @@ | ||||
|     "electron-window-state": "^5.0.3", | ||||
|     "express": "4.16.4", | ||||
|     "express-session": "1.15.6", | ||||
|     "file-type": "10.8.0", | ||||
|     "file-type": "10.9.0", | ||||
|     "fs-extra": "7.0.1", | ||||
|     "get-port": "4.2.0", | ||||
|     "helmet": "3.15.1", | ||||
|     "helmet": "3.16.0", | ||||
|     "html": "1.0.0", | ||||
|     "html2plaintext": "^2.1.2", | ||||
|     "image-type": "3.0.0", | ||||
|     "image-type": "4.0.0", | ||||
|     "imagemin": "6.1.0", | ||||
|     "imagemin-giflossy": "5.1.10", | ||||
|     "imagemin-mozjpeg": "8.0.0", | ||||
| @@ -67,16 +67,16 @@ | ||||
|     "tar-stream": "2.0.1", | ||||
|     "turndown": "5.0.3", | ||||
|     "unescape": "1.0.1", | ||||
|     "ws": "6.1.4", | ||||
|     "ws": "6.2.0", | ||||
|     "xml2js": "0.4.19" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "devtron": "1.4.0", | ||||
|     "electron": "4.0.3", | ||||
|     "electron-builder": "20.38.5", | ||||
|     "electron-builder": "20.39.0", | ||||
|     "electron-compile": "6.4.4", | ||||
|     "electron-installer-debian": "^1.1.1", | ||||
|     "electron-packager": "13.1.0", | ||||
|     "electron-packager": "13.1.1", | ||||
|     "electron-rebuild": "1.8.4", | ||||
|     "lorem-ipsum": "1.0.6", | ||||
|     "tape": "4.10.1", | ||||
|   | ||||
| @@ -24,7 +24,7 @@ class ApiToken extends Entity { | ||||
|         } | ||||
|  | ||||
|         if (!this.utcDateCreated) { | ||||
|             this.utcDateCreated = dateUtils.nowDate(); | ||||
|             this.utcDateCreated = dateUtils.utcNowDateTime(); | ||||
|         } | ||||
|  | ||||
|         super.beforeSaving(); | ||||
|   | ||||
| @@ -96,13 +96,13 @@ class Attribute extends Entity { | ||||
|         } | ||||
|  | ||||
|         if (!this.utcDateCreated) { | ||||
|             this.utcDateCreated = dateUtils.nowDate(); | ||||
|             this.utcDateCreated = dateUtils.utcNowDateTime(); | ||||
|         } | ||||
|  | ||||
|         super.beforeSaving(); | ||||
|  | ||||
|         if (this.isChanged) { | ||||
|             this.utcDateModified = dateUtils.nowDate(); | ||||
|             this.utcDateModified = dateUtils.utcNowDateTime(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -50,13 +50,13 @@ class Branch extends Entity { | ||||
|         } | ||||
|  | ||||
|         if (!this.utcDateCreated) { | ||||
|             this.utcDateCreated = dateUtils.nowDate(); | ||||
|             this.utcDateCreated = dateUtils.utcNowDateTime(); | ||||
|         } | ||||
|  | ||||
|         super.beforeSaving(); | ||||
|  | ||||
|         if (this.isChanged) { | ||||
|             this.utcDateModified = dateUtils.nowDate(); | ||||
|             this.utcDateModified = dateUtils.utcNowDateTime(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -37,13 +37,13 @@ class Link extends Entity { | ||||
|         } | ||||
|  | ||||
|         if (!this.utcDateCreated) { | ||||
|             this.utcDateCreated = dateUtils.nowDate(); | ||||
|             this.utcDateCreated = dateUtils.utcNowDateTime(); | ||||
|         } | ||||
|  | ||||
|         super.beforeSaving(); | ||||
|  | ||||
|         if (this.isChanged) { | ||||
|             this.utcDateModified = dateUtils.nowDate(); | ||||
|             this.utcDateModified = dateUtils.utcNowDateTime(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -25,6 +25,8 @@ const STRING_MIME_TYPES = ["application/x-javascript"]; | ||||
|  * @property {string} title - note title | ||||
|  * @property {boolean} isProtected - true if note is protected | ||||
|  * @property {boolean} isDeleted - true if note is deleted | ||||
|  * @property {string} dateCreated - local date time (with offset) | ||||
|  * @property {string} dateModified - local date time (with offset) | ||||
|  * @property {string} utcDateCreated | ||||
|  * @property {string} utcDateModified | ||||
|  * | ||||
| @@ -660,14 +662,19 @@ class Note extends Entity { | ||||
|             this.isDeleted = false; | ||||
|         } | ||||
|  | ||||
|         if (!this.dateCreated) { | ||||
|             this.dateCreated = dateUtils.localNowDateTime(); | ||||
|         } | ||||
|  | ||||
|         if (!this.utcDateCreated) { | ||||
|             this.utcDateCreated = dateUtils.nowDate(); | ||||
|             this.utcDateCreated = dateUtils.utcNowDateTime(); | ||||
|         } | ||||
|  | ||||
|         super.beforeSaving(); | ||||
|  | ||||
|         if (this.isChanged) { | ||||
|             this.utcDateModified = dateUtils.nowDate(); | ||||
|             this.dateModified = dateUtils.localNowDateTime(); | ||||
|             this.utcDateModified = dateUtils.utcNowDateTime(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -67,13 +67,13 @@ class NoteContent extends Entity { | ||||
|  | ||||
|     beforeSaving() { | ||||
|         if (!this.utcDateCreated) { | ||||
|             this.utcDateCreated = dateUtils.nowDate(); | ||||
|             this.utcDateCreated = dateUtils.utcNowDateTime(); | ||||
|         } | ||||
|  | ||||
|         super.beforeSaving(); | ||||
|  | ||||
|         if (this.isChanged) { | ||||
|             this.utcDateModified = dateUtils.nowDate(); | ||||
|             this.utcDateModified = dateUtils.utcNowDateTime(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -14,6 +14,8 @@ const repository = require('../services/repository'); | ||||
|  * @param {string} title | ||||
|  * @param {string} content | ||||
|  * @param {string} isProtected | ||||
|  * @param {string} dateModifiedFrom | ||||
|  * @param {string} dateModifiedTo | ||||
|  * @param {string} utcDateModifiedFrom | ||||
|  * @param {string} utcDateModifiedTo | ||||
|  * | ||||
| @@ -22,7 +24,7 @@ const repository = require('../services/repository'); | ||||
| class NoteRevision extends Entity { | ||||
|     static get entityName() { return "note_revisions"; } | ||||
|     static get primaryKeyName() { return "noteRevisionId"; } | ||||
|     static get hashedProperties() { return ["noteRevisionId", "noteId", "title", "content", "isProtected", "utcDateModifiedFrom", "utcDateModifiedTo"]; } | ||||
|     static get hashedProperties() { return ["noteRevisionId", "noteId", "title", "content", "isProtected", "dateModifiedFrom", "dateModifiedTo", "utcDateModifiedFrom", "utcDateModifiedTo"]; } | ||||
|  | ||||
|     constructor(row) { | ||||
|         super(row); | ||||
|   | ||||
| @@ -29,7 +29,7 @@ class Option extends Entity { | ||||
|         super.beforeSaving(); | ||||
|  | ||||
|         if (this.isChanged) { | ||||
|             this.utcDateModified = dateUtils.nowDate(); | ||||
|             this.utcDateModified = dateUtils.utcNowDateTime(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -24,7 +24,7 @@ class RecentNote extends Entity { | ||||
|         } | ||||
|  | ||||
|         if (!this.utcDateCreated) { | ||||
|             this.utcDateCreated = dateUtils.nowDate(); | ||||
|             this.utcDateCreated = dateUtils.utcNowDateTime(); | ||||
|         } | ||||
|  | ||||
|         super.beforeSaving(); | ||||
|   | ||||
							
								
								
									
										1
									
								
								src/public/libraries/dayjs.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								src/public/libraries/dayjs.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -35,8 +35,8 @@ function BackendScriptApi(currentNote, apiParams) { | ||||
|  | ||||
|     this.utils = { | ||||
|         unescapeHtml: utils.unescapeHtml, | ||||
|         isoDateTimeStr: dateUtils.dateStr, | ||||
|         isoDateStr: date => dateUtils.dateStr(date).substr(0, 10) | ||||
|         isoDateTimeStr: dateUtils.utcDateStr, | ||||
|         isoDateStr: date => dateUtils.utcDateStr(date).substr(0, 10) | ||||
|     }; | ||||
|  | ||||
|     /** | ||||
|   | ||||
| @@ -24,7 +24,7 @@ async function periodBackup(optionName, fileName, periodInSeconds) { | ||||
|     if (now.getTime() - lastDailyBackupDate.getTime() > periodInSeconds * 1000) { | ||||
|         await backupNow(fileName); | ||||
|  | ||||
|         await optionService.setOption(optionName, dateUtils.nowDate()); | ||||
|         await optionService.setOption(optionName, dateUtils.utcNowDateTime()); | ||||
|     } | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -144,7 +144,7 @@ async function getWeekNote(dateStr, options = {}) { | ||||
|  | ||||
|     const dateObj = getStartOfTheWeek(dateUtils.parseLocalDate(dateStr), startOfTheWeek); | ||||
|  | ||||
|     dateStr = dateUtils.dateStr(dateObj); | ||||
|     dateStr = dateUtils.utcDateStr(dateObj); | ||||
|  | ||||
|     return getDateNote(dateStr); | ||||
| } | ||||
|   | ||||
| @@ -1,8 +1,14 @@ | ||||
| function nowDate() { | ||||
|     return dateStr(new Date()); | ||||
| const dayjs = require('dayjs'); | ||||
|  | ||||
| function utcNowDateTime() { | ||||
|     return utcDateStr(new Date()); | ||||
| } | ||||
|  | ||||
| function nowLocalDate() { | ||||
| function localNowDateTime() { | ||||
|     return dayjs().format('YYYY-MM-DD HH:mm:ss.SSSZZ') | ||||
| } | ||||
|  | ||||
| function localNowDate() { | ||||
|     const date = new Date(); | ||||
|  | ||||
|     return date.getFullYear() + "-" + pad(date.getMonth() + 1) + "-" + pad(date.getDate()); | ||||
| @@ -12,8 +18,8 @@ function pad(num) { | ||||
|     return num <= 9 ? `0${num}` : `${num}`; | ||||
| } | ||||
|  | ||||
| function dateStr(date) { | ||||
|     return date.toISOString(); | ||||
| function utcDateStr(date) { | ||||
|     return date.toISOString().replace('T', ' '); | ||||
| } | ||||
|  | ||||
| /** | ||||
| @@ -47,9 +53,10 @@ function getDateTimeForFile() { | ||||
| } | ||||
|  | ||||
| module.exports = { | ||||
|     nowDate, | ||||
|     nowLocalDate, | ||||
|     dateStr, | ||||
|     utcNowDateTime, | ||||
|     localNowDateTime, | ||||
|     localNowDate, | ||||
|     utcDateStr, | ||||
|     parseDate, | ||||
|     parseDateTime, | ||||
|     parseLocalDate, | ||||
|   | ||||
| @@ -12,7 +12,7 @@ async function addNoteEvent(noteId, comment) { | ||||
|         eventId: utils.newEntityId(), | ||||
|         noteId : noteId, | ||||
|         comment: comment, | ||||
|         utcDateCreated: dateUtils.nowDate() | ||||
|         utcDateCreated: dateUtils.utcNowDateTime() | ||||
|     }); | ||||
|  | ||||
|     log.info("Event log for " + noteId + ": " + comment); | ||||
|   | ||||
| @@ -64,7 +64,8 @@ async function migrate() { | ||||
|                     throw new Error("Unknown migration type " + mig.type); | ||||
|                 } | ||||
|  | ||||
|                 await optionService.setOption("dbVersion", mig.dbVersion); | ||||
|                 // not using repository because of changed utcDateModified column in migration 129 | ||||
|                 await sql.execute(`UPDATE options SET value = ? WHERE name = ?`, [mig.dbVersion, "dbVersion"]); | ||||
|             }); | ||||
|  | ||||
|             log.info("Migration to version " + mig.dbVersion + " has been successful."); | ||||
|   | ||||
| @@ -299,7 +299,7 @@ async function saveNoteRevision(note) { | ||||
|     const now = new Date(); | ||||
|     const noteRevisionSnapshotTimeInterval = parseInt(await optionService.getOption('noteRevisionSnapshotTimeInterval')); | ||||
|  | ||||
|     const revisionCutoff = dateUtils.dateStr(new Date(now.getTime() - noteRevisionSnapshotTimeInterval * 1000)); | ||||
|     const revisionCutoff = dateUtils.utcDateStr(new Date(now.getTime() - noteRevisionSnapshotTimeInterval * 1000)); | ||||
|  | ||||
|     const existingNoteRevisionId = await sql.getValue( | ||||
|         "SELECT noteRevisionId FROM note_revisions WHERE noteId = ? AND utcDateModifiedTo >= ?", [note.noteId, revisionCutoff]); | ||||
| @@ -315,8 +315,10 @@ async function saveNoteRevision(note) { | ||||
|             type: note.type, | ||||
|             mime: note.mime, | ||||
|             isProtected: false, // will be fixed in the protectNoteRevisions() call | ||||
|             dateModifiedFrom: note.dateModified, | ||||
|             dateModifiedTo: dateUtils.localNowDateTime(), | ||||
|             utcDateModifiedFrom: note.utcDateModified, | ||||
|             utcDateModifiedTo: dateUtils.nowDate() | ||||
|             utcDateModifiedTo: dateUtils.utcNowDateTime() | ||||
|         }).save(); | ||||
|     } | ||||
| } | ||||
| @@ -405,9 +407,9 @@ async function cleanupDeletedNotes() { | ||||
|     // it's better to not use repository for this because it will complain about saving protected notes | ||||
|     // out of protected session | ||||
|  | ||||
|     await sql.execute("UPDATE note_contents SET content = NULL WHERE content IS NOT NULL AND noteId IN (SELECT noteId FROM notes WHERE isDeleted = 1 AND notes.utcDateModified <= ?)", [dateUtils.dateStr(cutoffDate)]); | ||||
|     await sql.execute("UPDATE note_contents SET content = NULL WHERE content IS NOT NULL AND noteId IN (SELECT noteId FROM notes WHERE isDeleted = 1 AND notes.utcDateModified <= ?)", [dateUtils.utcDateStr(cutoffDate)]); | ||||
|  | ||||
|     await sql.execute("UPDATE note_revisions SET content = NULL WHERE note_revisions.content IS NOT NULL AND noteId IN (SELECT noteId FROM notes WHERE isDeleted = 1 AND notes.utcDateModified <= ?)", [dateUtils.dateStr(cutoffDate)]); | ||||
|     await sql.execute("UPDATE note_revisions SET content = NULL WHERE note_revisions.content IS NOT NULL AND noteId IN (SELECT noteId FROM notes WHERE isDeleted = 1 AND notes.utcDateModified <= ?)", [dateUtils.utcDateStr(cutoffDate)]); | ||||
| } | ||||
|  | ||||
| sqlInit.dbReady.then(() => { | ||||
|   | ||||
| @@ -31,9 +31,9 @@ async function initSyncedOptions(username, password) { | ||||
| async function initNotSyncedOptions(initialized, startNotePath = 'root', syncServerHost = '', syncProxy = '') { | ||||
|     await optionService.createOption('startNotePath', startNotePath, false); | ||||
|     await optionService.createOption('hoistedNoteId', 'root', false); | ||||
|     await optionService.createOption('lastDailyBackupDate', dateUtils.nowDate(), false); | ||||
|     await optionService.createOption('lastWeeklyBackupDate', dateUtils.nowDate(), false); | ||||
|     await optionService.createOption('lastMonthlyBackupDate', dateUtils.nowDate(), false); | ||||
|     await optionService.createOption('lastDailyBackupDate', dateUtils.utcNowDateTime(), false); | ||||
|     await optionService.createOption('lastWeeklyBackupDate', dateUtils.utcNowDateTime(), false); | ||||
|     await optionService.createOption('lastMonthlyBackupDate', dateUtils.utcNowDateTime(), false); | ||||
|     await optionService.createOption('dbVersion', appInfo.dbVersion, false); | ||||
|  | ||||
|     await optionService.createOption('lastSyncedPull', 0, false); | ||||
|   | ||||
| @@ -8,7 +8,7 @@ const cls = require('./cls'); | ||||
| async function saveSourceId(sourceId) { | ||||
|     await sql.insert("source_ids", { | ||||
|         sourceId: sourceId, | ||||
|         utcDateCreated: dateUtils.nowDate() | ||||
|         utcDateCreated: dateUtils.utcNowDateTime() | ||||
|     }); | ||||
|  | ||||
|     await refreshSourceIds(); | ||||
|   | ||||
| @@ -79,7 +79,7 @@ async function login() { | ||||
| } | ||||
|  | ||||
| async function doLogin() { | ||||
|     const timestamp = dateUtils.nowDate(); | ||||
|     const timestamp = dateUtils.utcNowDateTime(); | ||||
|  | ||||
|     const documentSecret = await optionService.getOption('documentSecret'); | ||||
|     const hash = utils.hmac(documentSecret, timestamp); | ||||
|   | ||||
| @@ -48,7 +48,7 @@ async function addEntitySync(entityName, entityId, sourceId) { | ||||
|     await sql.replace("sync", { | ||||
|         entityName: entityName, | ||||
|         entityId: entityId, | ||||
|         utcSyncDate: dateUtils.nowDate(), | ||||
|         utcSyncDate: dateUtils.utcNowDateTime(), | ||||
|         sourceId: sourceId || cls.getSourceId() || sourceIdService.getCurrentSourceId() | ||||
|     }); | ||||
| } | ||||
| @@ -78,7 +78,7 @@ async function fillSyncRows(entityName, entityKey, condition = '') { | ||||
|                 entityName: entityName, | ||||
|                 entityId: entityId, | ||||
|                 sourceId: "SYNC_FILL", | ||||
|                 utcSyncDate: dateUtils.nowDate() | ||||
|                 utcSyncDate: dateUtils.utcNowDateTime() | ||||
|             }); | ||||
|         } | ||||
|     } | ||||
|   | ||||
| @@ -263,6 +263,8 @@ | ||||
|  | ||||
| <script src="libraries/autocomplete.jquery.min.js"></script> | ||||
|  | ||||
| <script src="libraries/dayjs.min.js"></script> | ||||
|  | ||||
| <link href="stylesheets/style.css" rel="stylesheet"> | ||||
| <link href="stylesheets/desktop.css" rel="stylesheet"> | ||||
|  | ||||
|   | ||||
| @@ -19,11 +19,13 @@ | ||||
|                     <button class="btn btn-danger" id="sql-console-execute">Execute <kbd>CTRL+ENTER</kbd></button> | ||||
|                 </div> | ||||
|  | ||||
|                 <table id="sql-console-results" class="table table-striped" style="overflow: scroll; width: 100%;"> | ||||
|                 <div style="width: 100%; overflow: auto;"> <!-- This is necessary for the table to be scrollable --> | ||||
|                     <table id="sql-console-results" class="table table-striped"> | ||||
|                         <thead></thead> | ||||
|                         <tbody></tbody> | ||||
|                     </table> | ||||
|                 </div> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
| </div> | ||||
| @@ -84,6 +84,8 @@ | ||||
|  | ||||
| <script src="libraries/jquery.min.js"></script> | ||||
|  | ||||
| <script src="libraries/dayjs.min.js"></script> | ||||
|  | ||||
| <link href="libraries/fancytree/skin-win8/ui.fancytree.css" rel="stylesheet"> | ||||
| <script src="libraries/fancytree/jquery.fancytree-all-deps.min.js"></script> | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user