Fix Ember not re-using DOM elements on block updates

Causing serious performance issues without the stable key
This commit is contained in:
2026-07-26 16:40:08 +02:00
parent 3cab203498
commit f7ee864071
2 changed files with 3 additions and 2 deletions
@@ -73,6 +73,7 @@ export default Component.extend({
.filter(Boolean); .filter(Boolean);
return EmberObject.create({ return EmberObject.create({
key: raw.groupId || `c-${first.id}`,
groupId: raw.groupId, groupId: raw.groupId,
items, items,
contributors, contributors,
@@ -30,7 +30,7 @@
{{/if}} {{/if}}
<ul class="item-list contribution-list {{if @loading 'loading'}}"> <ul class="item-list contribution-list {{if @loading 'loading'}}">
{{#each this.groupedContributions as |group|}} {{#each this.groupedContributions key="key" as |group|}}
{{#if group.isGrouped}} {{#if group.isGrouped}}
<li role="button" data-group-id={{group.groupId}} <li role="button" data-group-id={{group.groupId}}
{{action "toggleGroup" group}} {{action "toggleGroup" group}}
@@ -77,7 +77,7 @@
{{/each}} {{/each}}
{{/if}} {{/if}}
{{else}} {{else}}
{{#each group.items as |contribution|}} {{#each group.items key="id" as |contribution|}}
<li role="button" data-contribution-id={{contribution.id}} <li role="button" data-contribution-id={{contribution.id}}
{{action "openContributionDetails" contribution}} {{action "openContributionDetails" contribution}}
class="{{item-status contribution}}{{if (eq contribution.id @selectedContributionId) " selected"}}"> class="{{item-status contribution}}{{if (eq contribution.id @selectedContributionId) " selected"}}">