Skip to content

Conversation

@jjw24
Copy link
Member

@jjw24 jjw24 commented Jun 21, 2021

Restored old class and interface for backwards compatibility with Everything plugin v1.4.9 in v1.8.0 Flow release

@taooceros
Copy link
Member

Why change that to ISettingSavable? I remember in #427, we have moved all saving for JsonSetting in Flow, so ISavable is for other things that needs to be saved.

@jjw24
Copy link
Member Author

jjw24 commented Jun 21, 2021

because the old interface from Everything needs ISavable interface. Do we want to change it from ISettingsSavable to another name to reflect the purpose for other things that needs to be saved?

@jjw24
Copy link
Member Author

jjw24 commented Jun 21, 2021

also because we changed JsonStrorage class name to JsonStorage

@taooceros
Copy link
Member

Hmmm, but currently, ISavable is not be used as only saving setting. We add a auto json settings save to ISavable, so plugins don't need to implement ISavable when they want to save setting. They only implement ISavable if they want to save other things (such as Program plugin's cache).

@jjw24
Copy link
Member Author

jjw24 commented Jun 21, 2021

i may have made the code a little messy but the intention is, ISavable interface because is used by Everything's infra dll, we need to keep it for backwards compatibility. Therefore we cant have another ISavable. We can rename the ISavable(currently in this pr is ISettingsSavable) to something else.

@jjw24
Copy link
Member Author

jjw24 commented Jun 21, 2021

Also the dll expects ISavable to be in Flow.Launcher.Infrastructure/Storage/ btw, so we cant just point it to the one in the Plugin project

@taooceros
Copy link
Member

Maybe not that hard. Let ISavable (in infrasturature) implement ISettingSavable shall work. No need for manually check for everything plugin.

@taooceros
Copy link
Member

@jjw24 I still consider ISavable is better than ISettingsSavable in this case. Since ISavable (Infrastructure) is only be used in everything plugin, keeping both interface as the same name won't be confused, and we can mark ISavable in Infrastructure as Obsolete.

@jjw24 jjw24 changed the title Handle incompatible plugins- add backwards compatibility for Everything plugin Add backwards compatibility for Everything plugin v1.4.9 Jun 21, 2021
@jjw24 jjw24 added the enhancement New feature or request label Jun 21, 2021
@jjw24
Copy link
Member Author

jjw24 commented Jun 21, 2021

all done @taooceros

@jjw24 jjw24 enabled auto-merge June 21, 2021 12:08
@jjw24 jjw24 merged commit b31fddd into dev Jun 21, 2021
@jjw24 jjw24 deleted the everythingplugin_backwards_compatibility branch June 21, 2021 13:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants