public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Dominik Csapak <d.csapak@proxmox.com>
To: "Raphaël Flores" <raphael.flores@inrae.fr>, pve-devel@lists.proxmox.com
Subject: Re: [PATCH] fix #8292: ui: node: StatusView: do not mutate the class-level items array
Date: Tue, 10 Nov 2026 13:09:38 +0100	[thread overview]
Message-ID: <9bacc7c5-d0ba-45a4-9b81-8da9c3de22ff@proxmox.com> (raw)
In-Reply-To: <58d748c6-e255-4ce5-9249-4c8c080ce9c5@inrae.fr>



On 11/9/26 3:06 PM, Raphaël Flores wrote:
> Hi Dominik,

Hi,


> 
> thanks for the quick review.
> 
> I've read the Developer Documentation and have sent the signed
> Contributor License Agreement to office@proxmox.com.

thanks for confirmation. I did try to apply the patch,
but `git am` wouldn't let me, probably because of the post diff
message or footer.

Normally comments go after the '---' after the commit
message before the actual diff (i marked the part inline)

would you mind sending the patch again with the comment
(re)moved ?

If you want i can commit the changes under my name if you
don't want to send it again.

> Best regards,
> Raphaël Flores
> 

Best regards
Dominik

> Le 05/11/2026 à 13:26, Dominik Csapak a écrit :
>> Hi,
>>
>> thanks for your contribution
>>
>> The patch itself looks good, but did you see
>> https://pve.proxmox.com/wiki/Developer_Documentation ?
>>
>> especially the part about signing a CLA?
>>
>> We'd need that before we apply patches of yours.
>>
>> best regards
>> Dominik
>>
>> On 11/5/26 12:44 PM, Raphaël Flores wrote:
>>> The repository status widget is appended to `items` in initComponent, 
>>> but
>>> `items` is declared at class level, so every instance of 
>>> PVE.node.StatusView
>>> receives the very same array. Each instantiation therefore left one more
>>> config object in that shared array: the k-th display of a node's 
>>> Summary page
>>> constructed k pmxNodeInfoRepoStatus widgets instead of one, and all 
>>> but one of
>>> them were never destroyed (they stay registered in 
>>> Ext.ComponentManager, with
>>> no DOM node, and are not freed by the cycle collector).
>>>
>>> The node view is rebuilt on every display of the summary panel, so 
>>> the waste
>>> grows quadratically with navigation: 322 displays left 52 004 live 
>>> widget
>>> instances and 208 322 ExtJS components behind, while the DOM stayed 
>>> flat.
>>>
>>> Build a per-instance array instead of pushing onto the shared one.
>>>
>>> Signed-off-by: Raphaël Flores <raphael.flores@inrae.fr>
>>> ---

here is where a comment would go

>>>   www/manager6/node/StatusView.js | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/www/manager6/node/StatusView.js b/www/manager6/node/ 
>>> StatusView.js
>>> index 0046f5d5..08d68a95 100644
>>> --- a/www/manager6/node/StatusView.js
>>> +++ b/www/manager6/node/StatusView.js
>>> @@ -157,7 +157,7 @@ Ext.define('PVE.node.StatusView', {
>>>               nodetab: 'aptrepositories',
>>>           });
>>>
>>> -        me.items.push({
>>> +        me.items = me.items.concat({
>>>               xtype: 'pmxNodeInfoRepoStatus',
>>>               itemId: 'repositoryStatus',
>>>               product: 'Proxmox VE',
>>
>>
>>
>>
>>
>>





  reply	other threads:[~2026-11-10 12:09 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-04 16:08 [PATCH] fix #8292: ui: node: StatusView: do not mutate the class-level items array Raphaël Flores
2026-11-05 12:26 ` Dominik Csapak
2026-11-09 14:06   ` Raphaël Flores
2026-11-10 12:09     ` Dominik Csapak [this message]
2026-11-10 14:28       ` Raphaël Flores
2026-11-10 14:36         ` Raphaël Flores

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9bacc7c5-d0ba-45a4-9b81-8da9c3de22ff@proxmox.com \
    --to=d.csapak@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    --cc=raphael.flores@inrae.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal