fix: fetch fresh version before saving contacts — rescrape bumps version making eVersion stale
This commit is contained in:
parent
ae01ef8531
commit
8f6c6898c7
|
|
@ -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';
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue