Compare commits

..

1 Commits

Author SHA1 Message Date
Codex 61968adf94 fix: reload settings when initial authentication finishes 2026-10-04 17:31:37 +08:00
3 changed files with 8 additions and 1 deletions
+1 -1
View File
@@ -1 +1 @@
0.1.26 0.1.27
+6
View File
@@ -54,3 +54,9 @@ test('image conversion resizes oversized output and closes its decoded bitmap',a
assert.equal(await c.readImage({type:'image/png',size:100},960),'data:image/png;base64,AA=='); assert.equal(await c.readImage({type:'image/png',size:100},960),'data:image/png;base64,AA==');
assert.equal(canvas.width,768);assert.equal(canvas.height,384);assert.equal(closed,1); assert.equal(canvas.width,768);assert.equal(canvas.height,384);assert.equal(closed,1);
}); });
test('settings opened before login resolves reloads once after the account is known',()=>{
let loads=0;const c=vm.createContext({applyBranding(){},applyAppearance(){},currentUser:{id:'root'},appearanceOwner:'',activePage:'settings',branding:{},loadSettings(){loads++;}});
vm.runInContext(part(source,'function onAppearanceSession(','function resetAppearance('),c);
c.onAppearanceSession({values:{},defaults:{},revision:0});c.onAppearanceSession({values:{},defaults:{},revision:0});
assert.equal(loads,1);assert.equal(c.appearanceOwner,'root');
});
+1
View File
@@ -26,6 +26,7 @@ function onAppearanceSession(preferences){
applyBranding();if(!currentUser||!preferences)return; applyBranding();if(!currentUser||!preferences)return;
const first=appearanceOwner!==currentUser.id;appearanceOwner=currentUser.id; const first=appearanceOwner!==currentUser.id;appearanceOwner=currentUser.id;
personalValues=preferences.values;personalRevision=preferences.revision;branding.defaults=preferences.defaults;applyAppearance(); personalValues=preferences.values;personalRevision=preferences.revision;branding.defaults=preferences.defaults;applyAppearance();
if(first&&activePage==='settings'){loadSettings();return;}
if(first&&activePage==='households'){ if(first&&activePage==='households'){
let page=effectiveAppearance().startPage; let page=effectiveAppearance().startPage;
if(page==='heritage'&&(currentHome()?.kind&&currentHome().kind!=='home'||!isAdmin()&&currentUser.familyAccess==='none'&&!['read','edit'].includes(currentUser.heritageAccess)))page='overview'; if(page==='heritage'&&(currentHome()?.kind&&currentHome().kind!=='home'||!isAdmin()&&currentUser.familyAccess==='none'&&!['read','edit'].includes(currentUser.heritageAccess)))page='overview';