22import { logger } from '@jetstream/shared/client-logger' ;
33import { getCanvasPreferences , updateCanvasPreferences } from '@jetstream/shared/data' ;
44import { useObservable } from '@jetstream/shared/ui-utils' ;
5- import { JetstreamEventSaveSoqlQueryFormatOptionsPayload , UserProfileUi } from '@jetstream/types' ;
5+ import { JetstreamEventSaveSoqlQueryFormatOptionsPayload } from '@jetstream/types' ;
66import { AppLoading , fromJetstreamEvents } from '@jetstream/ui-core' ;
77import { fromAppState } from '@jetstream/ui/app-state' ;
88import { initDexieDb } from '@jetstream/ui/db' ;
@@ -59,10 +59,18 @@ export const AppInitializer: FunctionComponent<AppInitializerProps> = ({ allowWi
5959 const org = getCanvasOrg ( ) ;
6060 const preferences = await getCanvasPreferences ( org ) ;
6161 if ( preferences && Object . keys ( preferences ) . length > 0 ) {
62- setUserProfile ( ( prev : UserProfileUi ) => ( {
63- ...prev ,
64- preferences : { ...prev . preferences , ...preferences } ,
65- } ) ) ;
62+ setUserProfile ( ( prev ) => {
63+ if ( prev instanceof Promise ) {
64+ return prev . then ( ( resolved ) => ( {
65+ ...resolved ,
66+ preferences : { ...resolved . preferences , ...preferences } ,
67+ } ) ) ;
68+ }
69+ return {
70+ ...prev ,
71+ preferences : { ...prev . preferences , ...preferences } ,
72+ } ;
73+ } ) ;
6674 }
6775 } catch ( ex ) {
6876 logger . error ( 'Error loading canvas preferences' , ex ) ;
@@ -78,10 +86,18 @@ export const AppInitializer: FunctionComponent<AppInitializerProps> = ({ allowWi
7886 const org = getCanvasOrg ( ) ;
7987 const soqlQueryFormatOptions = onSaveSoqlQueryFormatOptions . value ;
8088 await updateCanvasPreferences ( org , { soqlQueryFormatOptions } ) ;
81- setUserProfile ( ( prev : UserProfileUi ) => ( {
82- ...prev ,
83- preferences : { ...prev . preferences , soqlQueryFormatOptions } ,
84- } ) ) ;
89+ setUserProfile ( ( prev ) => {
90+ if ( prev instanceof Promise ) {
91+ return prev . then ( ( resolved ) => ( {
92+ ...resolved ,
93+ preferences : { ...resolved . preferences , soqlQueryFormatOptions } ,
94+ } ) ) ;
95+ }
96+ return {
97+ ...prev ,
98+ preferences : { ...prev . preferences , soqlQueryFormatOptions } ,
99+ } ;
100+ } ) ;
85101 } catch ( ex ) {
86102 logger . error ( 'Error saving query format options' , ex ) ;
87103 }
0 commit comments