fix: fetch fresh version before saving contacts — rescrape bumps version making eVersion stale

This commit is contained in:
James 2026-03-20 01:29:51 -04:00
parent ae01ef8531
commit 8f6c6898c7
1 changed files with 8 additions and 4 deletions

View File

@ -546,21 +546,25 @@
const errEl = document.getElementById('editModalError');
btn.disabled = true; btn.textContent = 'Saving...';
try {
const version = parseInt(document.getElementById('eVersion').value) || 1;
// Always fetch fresh version to avoid stale version conflicts
const freshRes = await fetchAPI('/api/orgs/' + editingOrgId);
const freshOrg = await freshRes.json();
const version = freshOrg.version || 1;
document.getElementById('eVersion').value = version;
const mRes = await fetchAPI('/api/orgs/' + editingOrgId + '/members', {
method: 'PUT',
body: JSON.stringify({ members: editingMembers, version })
});
const mData = await mRes.json();
if (!mRes.ok) throw new Error(mData.error || 'Failed to save');
document.getElementById('eVersion').value = mData.version || version + 1;
document.getElementById('eVersion').value = mData.version;
btn.disabled = false; btn.textContent = 'Save Changes';
if (window._orgsMap && window._orgsMap[editingOrgId]) {
window._orgsMap[editingOrgId].members = editingMembers;
window._orgsMap[editingOrgId].version = mData.version || version + 1;
window._orgsMap[editingOrgId].version = mData.version;
}
} catch(e) {
errEl.textContent = 'Save failed: ' + e.message + ' — contacts were added locally, click Save Changes to retry.';
errEl.textContent = 'Save failed: ' + e.message;
errEl.classList.remove('hidden');
btn.disabled = false; btn.textContent = 'Save Changes';
}