diff --git a/src/app/shared/stores/addons/addons.state.spec.ts b/src/app/shared/stores/addons/addons.state.spec.ts index b01e35596..5ed772577 100644 --- a/src/app/shared/stores/addons/addons.state.spec.ts +++ b/src/app/shared/stores/addons/addons.state.spec.ts @@ -370,7 +370,7 @@ describe('State: Addons', () => { supportedFeatures: [], type: 'authorized-storage-accounts', credentialsFormat: '', // No credentialsFormat in a PATCH response - iconUrl: '', // No iconUrl in a PATCH response + iconUrl: 'https://osf.io/assets/images/logo.svg', // iconUrl should be preserved after OAuth PATCH response if it existed before }) ); diff --git a/src/app/shared/stores/addons/addons.state.ts b/src/app/shared/stores/addons/addons.state.ts index b3866375f..8618683f8 100644 --- a/src/app/shared/stores/addons/addons.state.ts +++ b/src/app/shared/stores/addons/addons.state.ts @@ -181,6 +181,10 @@ export class AddonsState { const existing = state.authorizedStorageAddons.data.find( (existingAddon: AuthorizedAccountModel) => existingAddon.id === addon.id ); + + if (existing && !addon.iconUrl) { + addon.iconUrl = existing.iconUrl; + } const updatedData = existing ? state.authorizedStorageAddons.data.map((existingAddon: AuthorizedAccountModel) => existingAddon.id === addon.id ? { ...existingAddon, ...addon } : existingAddon