-
Notifications
You must be signed in to change notification settings - Fork 113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ensure default AppProvider is top of list and keep mime type order from config #2138
Conversation
Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would create a changelog item based on your changes. |
…pe list. Providers are ordered according to the config. Changed config from using a map to a list, for keeping the order.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks ok to me, @ishank011 what do you think?
list of AppProviders. | ||
The config for the Providers and Mime Types for the AppRegistry changed, | ||
using a list instead of a map. In fact the list of mime types returned by | ||
ListSupportedMimeTypes is now ordered according the config. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When looking at a single entry in the list app providers response the provider infos do not let clients find out if they are dealing with the default provider or not. When listing them in the UI the list might be stored in a map, losing the order again.
We should expose the 'default' provider with a dedicated property in https://cs3org.github.io/cs3apis/#cs3.app.registry.v1beta1.ProviderInfo
A priority
property might be more flexible.
Anyway, for humans, relying on the order of a list is good enough when dealing with checklists on paper, but for machines it is not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is true, but the order is important as well from a UI perspective - to make sure the interface is stable and does not get reshuffled.
Now given the "rush" to get the first deployment really out, I suggested to go ahead with just the reordering, to avoid another round of CS3APIs (likely breaking) change. But I agree we could make this fully explicit as a property.
Now for each mime type, when asking for the list of mime types, the default AppProvider, set both using the config and the SetDefaultProviderForMimeType method, is always in the top of the list of AppProviders.
The config for the Providers and Mime Types for the AppRegistry changed, using a list instead of a map. In fact the list of mime types returned by ListSupportedMimeTypes is now ordered according the config.