all lists on 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal