From ada4817a22fc65d5ce4cf017ea4395c0fb40db0b Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Mon, 16 Feb 2026 09:57:07 -0800 Subject: [PATCH] Fix member view crash by deferring wa-select value setting until defined --- static/trip.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/static/trip.js b/static/trip.js index 21bbb18..7b292c9 100644 --- a/static/trip.js +++ b/static/trip.js @@ -646,6 +646,8 @@ async function renderMemberView(me) { ? ['', 'prefer', 'prefer_not'] : ['', 'must_not']; + const pendingSelects = []; + for (const myStudent of me.students) { const card = document.createElement('wa-card'); const label = document.createElement('span'); @@ -678,8 +680,7 @@ async function renderMemberView(me) { select.appendChild(opt); } const existing = myConstraints[other.id]; - const initVal = existing ? existing.kind : ''; - select.updateComplete.then(() => { select.value = initVal; }); + pendingSelects.push({ select, value: existing ? existing.kind : '' }); select.addEventListener('change', async (e) => { const val = e.target.value; @@ -704,4 +705,10 @@ async function renderMemberView(me) { } container.appendChild(card); } + + await customElements.whenDefined('wa-select'); + for (const { select, value } of pendingSelects) { + await select.updateComplete; + select.value = value; + } }