From 3ff682e7e941962752247523744113db88c9929a Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Fri, 6 Nov 2020 00:23:43 +0000 Subject: [PATCH] --- ayanova/devdocs/todo.txt | 56 +++++++------------------ ayanova/devdocs/tools.txt | 10 +++++ ayanova/src/components/wiki-control.vue | 4 ++ 3 files changed, 28 insertions(+), 42 deletions(-) diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index c9bcd7ed..4e248c88 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -1,43 +1,3 @@ -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@@@@@@@@@@@@@ ROADMAP STAGE 5 - FINALIZE ALL NON BIZ OBJECT SPECIFIC FUNCTIONALITY -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ - - - - - - -todo: how to and search for memory leaks, excercise all forms and make sure now - https://developers.google.com/web/tools/chrome-devtools/memory-problems - https://nolanlawson.com/2020/02/19/fixing-memory-leaks-in-web-applications/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@ ROADMAP STAGE 6 - "REALITY" All in on porting over all the real objects from v7 @@ -74,14 +34,16 @@ EACH OBJECT DEV CYCLE: -OBJECT ORDER +OBJECT ORDER {FILL THIS IN NEXT} {LIST OF OBJECTS IN ORDER OF IMPLEMENTATION HERE} -POST "REALITY" OR IN PARALLEL: +------------------------------------------------------------------------------------------ + +POST "REALITY" OR IN PARALLEL "REALITY" related items: todo: Schedule form - This one is big but requires the data to be there so as soon as implement enough things that are scheduleable then do this @@ -177,6 +139,16 @@ todo: Documentation POST "REALITY" Parts of it can be done post-release for sure + +todo: ONGOING search for memory leaks + The 7 times system seems to work the best + Excercise item a few times to settle it in memory, take heap snapshot, force gc, take total of 3 heap snapshots forcing gc each times + Excercise item 7 times exactly, take 3 more heap snapshots forcing gc before each one + Compare snapshot 6 to snapshot 3 look for Delta 7 times items to find leak + https://developers.google.com/web/tools/chrome-devtools/memory-problems + https://nolanlawson.com/2020/02/19/fixing-memory-leaks-in-web-applications/ + + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@ ROADMAP STAGE 7 - EXTENSIONS (was plugins) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ diff --git a/ayanova/devdocs/tools.txt b/ayanova/devdocs/tools.txt index 75cb9e90..1afc0a57 100644 --- a/ayanova/devdocs/tools.txt +++ b/ayanova/devdocs/tools.txt @@ -205,3 +205,13 @@ package.json with eslint settings: "testURL": "http://localhost/" } } + + + +todo: ONGOING search for memory leaks + The 7 times system seems to work the best + Excercise item a few times to settle it in memory, take heap snapshot, force gc, take total of 3 heap snapshots forcing gc each times + Excercise item 7 times exactly, take 3 more heap snapshots forcing gc before each one + Compare snapshot 6 to snapshot 3 look for Delta 7 times items to find leak + https://developers.google.com/web/tools/chrome-devtools/memory-problems + https://nolanlawson.com/2020/02/19/fixing-memory-leaks-in-web-applications/ diff --git a/ayanova/src/components/wiki-control.vue b/ayanova/src/components/wiki-control.vue index c1dc760a..c44b170f 100644 --- a/ayanova/src/components/wiki-control.vue +++ b/ayanova/src/components/wiki-control.vue @@ -349,6 +349,10 @@ export default { } }); }, + beforeDestroy() { + //cleanup + DOMPurify.removeAllHooks(); + }, data() { return { localVal: this.value,