Closed dskvr closed 11 months ago
Somehow introduced a memory leak in the merge... Was memleak tested before shipping. Weird.
One down. before
TEST RESULTS
--------------------
Test : Go to /relays and back
Memory change: +628 kB
Leak detected: Yes
Leaking objects:
╔═══════════════════════╤═════════╤════════════════════════╗
║ Object │ # added │ Retained size increase ║
╟───────────────────────┼─────────┼────────────────────────╢
║ D │ 11 │ +136 kB ║
╟───────────────────────┼─────────┼────────────────────────╢
║ WebSocket │ 11 │ +12.2 kB ║
╟───────────────────────┼─────────┼────────────────────────╢
║ n │ 11 │ +15.1 kB ║
╟───────────────────────┼─────────┼────────────────────────╢
║ Element │ 38 │ +3.35 kB ║
╟───────────────────────┼─────────┼────────────────────────╢
║ EventListener │ 44 │ +6.17 kB ║
╟───────────────────────┼─────────┼────────────────────────╢
║ V8EventHandlerNonNull │ 44 │ +3 kB ║
╟───────────────────────┼─────────┼────────────────────────╢
║ Object │ 999 │ +507 kB ║
╚═══════════════════════╧═════════╧════════════════════════╝
Leaking DOM nodes (+152.85714285714286 total):
╔═════════════╤═══════════════════╗
║ Description │ # added ║
╟─────────────┼───────────────────╢
║ span │ 90.42857142857143 ║
╚═════════════╧═══════════════════╝
--------------------
after
TEST RESULTS
--------------------
Test : Go to /relays and back
Memory change: -26.4 kB
Leak detected: No
Leaking objects:
╔═══════════╤═════════╤════════════════════════╗
║ Object │ # added │ Retained size increase ║
╟───────────┼─────────┼────────────────────────╢
║ Generator │ 1 │ +168 B ║
╚═══════════╧═════════╧════════════════════════╝
Leaking DOM nodes (+27.142857142857142 total):
╔══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╤═════════════════════╗
║ Description │ # added ║
╟──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────╢
║ span │ 18.142857142857142 ║
╟──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────╢
║ tr.loaded.bg-gray-50.hover:bg-slate-200.dark:bg-transparent.dark:hover:bg-slate-200/5.xl:text-xl.xl:h-9.h-1 │ 3.7142857142857144 ║
╟──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────╢
║ span.w-4.h-4.bg-green-500.ml-2.block.relative │ 1.8571428571428572 ║
╟──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────╢
║ span.verified-shape-wrapper.cursor-pointer │ 2.7142857142857144 ║
╟──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────╢
║ span.shape.verified │ 2.7142857142857144 ║
╟──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────╢
║ span.text-green-600/100.dark:text-green-600/80 │ 2.5714285714285716 ║
╟──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────╢
║ span.m-auto.block.bg-green-500.text-xl.m-auth.h-5.w-5.rounded-2xl │ 4.142857142857143 ║
╟──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────╢
║ span.m-auto.block.align-middle.bg-green-500.text-xl.m-auth.h-5.w-5.rounded-2xl │ 5.142857142857143 ║
╟──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────╢
║ tr.loaded.bg-slate-100.bg-gray-50.hover:bg-slate-200.dark:bg-transparent.dark:hover:bg-slate-200/5.xl:text-xl.xl:h-9.h-1 │ 3.857142857142857 ║
╟──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────╢
║ span.w-4.h-4.bg-orange-500.ml-2.block.relative │ 2.2857142857142856 ║
╟──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────╢
║ span.m-auto.block.align-middle.bg-red-500.text-xl.m-auth.h-5.w-5.rounded-2xl │ 10 ║
╟──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────╢
║ span.text-green-600/80.dark:text-green-400/50 │ 0.2857142857142857 ║
╟──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────╢
║ span.text-orange-500 │ 0.14285714285714285 ║
╟──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────╢
║ span.text-red-400.dark:text-red-600 │ 0.5714285714285714 ║
╟──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────╢
║ span.w-4.h-4.bg-red-500.ml-2.block.relative │ 3.4285714285714284 ║
╟──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────╢
║ span.m-auto.block.bg-red-500.text-xl.m-auth.h-5.w-5.rounded-2xl │ 3.4285714285714284 ║
╚══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╧═════════════════════╝
Leaking collections:
╔═══════╤════════╤════════════╤══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
║ Type │ Change │ Preview │ Size increased at ║
╟───────┼────────┼────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ Array │ +11 │ [Set, ...] │ trackEffects webpack-internal:///./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js:326:23 ║
║ │ │ │ track webpack-internal:///./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js:310:5 ║
║ │ │ │ Object.get webpack-internal:///./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js:499:7 ║
║ │ │ │ Proxy.eval webpack-internal:///./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/relays/blocks/MapSummary.vue?vue&type=script&lang=js:144:32 ║
║ │ │ │ eval webpack-internal:///./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/relays/blocks/MapSummary.vue?vue&type=template&id=f7794994&scoped=true:65:21 ║
║ │ │ │ renderList webpack-internal:///./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js:2951:16 ║
║ │ │ │ eval webpack-internal:///./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/relays/blocks/MapSummary.vue?vue&type=template&id=f7794994&scoped=true:59:216 ║
║ │ │ │ Proxy.renderFnWithContext webpack-internal:///./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js:933:13 ║
║ │ │ │ Proxy.render webpack-internal:///./node_modules/@vue-leaflet/vue-leaflet/dist/vue-leaflet.esm.js:1993:40 ║
╚═══════╧════════╧════════════╧══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
--------------------
Still have more to do but at least the browser won't crash.
The statistics leak is likely related to a method in the DOM.
Describe the bug Browser crashes when clicking 'favorites'
To Reproduce Steps to reproduce the behavior: click favorites
Expected behavior Doesn't crash
Screenshots
Desktop (please complete the following information): Chrome, Firefox, Brave
Smartphone (please complete the following information): None, works on Mobile
Additional context Doesn't occur locally