Communicate an extension's deprecated status
waderyan opened this issue ยท 16 comments
The Marketplace is adding functionality to deprecate extensions.
We'll want to indicate something to the user in product. Something like
This extension is deprecated and is no longer maintained, however, you are free to continue using it.
@joaomoreno any way you would change the messaging? any thoughts on the UI?
I was thinking something along these lines.
Ping @hamenon
@waderyan We should probably also add a decoration to the extension in the list, not only in the editor. I'd make it less prominent, yet still catchy. I can sketch something up.
@AkashGutha I'd not make it into a badge notification since it's not really urgent to the user.
From MP mail it looks like there is no difference to them between unpublish and deprecate. This means we can keep vsce the same, as the language is a sufficient warning.
read(`This will FOREVER delete '${ fullName }'! Are you sure? [y/N] `)
A UI change here will communicate the unpublish status.
I'd make it less prominent, yet still catchy. I can sketch something up.
Sounds great.
Ping @hamenon
Note:
API is providing an unpublished flag in the JSON response
Marketplace will use the language of "unpublished" so to stay consistent we should use "unpublished" and not use "deprecated."
So... when people search for extensions, the unpublished ones will still appear in the results?
The API will still give all extension in the result. The ones that are unpublished will include an unpublished flag as Wade mentioned. On the website we have logic to not display an extension in the results if it is unpublished. Ideally I think we should do so for the search on the editor side of things as well so that the results are consistent across the site and the editor.
@hamenon can you provide the exact syntax of the unpublished flag so we can get this in on our end?
In the extension query response there is a field called flags for each extensions. If an extension is unpublished the word "unpublished" will be present in the flags.
Ex: flags picked from another extension "flags": "validated, public, unpublished",
Thanks!
@hamenon Is there any way I can query for all non unpublished extensions?
@hamenon Ping. Today's the last chance we could get it in the September release.
@joaomoreno as @hamenon said . it would better to implement the same kind of filtering on client side since the API doesn't provide a way to filter data on server side.
That's not so great.
Client filtering works terribly in a paging UI. If the server says there are 10000 items, and we render a paging view for 10000 items, and it turns out that 100 need to be filtered out, how will they render when coming into view? An empty rectangle? An uninstallable extension?
Additionally, why would the server waste its time collecting and sending us data for which we have no use?
Server-side filtering is necessary for this to happen.
@joaomoreno yes ! that is true. but the feature to be implemented this would be the only way till the visualstudio marketplace code is fixed.
Can't we do the filtering before rendering the UI. that should do the work.
Check each extension for unpublished flag, only add to the collection if it is is published.
Copying @modigrv response here as well.
We can query to get just the published extensions, ie. exclude unpublished extensions.
For every extension which is unpublished, has a flag named Unpublished (0x1000).
In the extensions query we have made a separate filter named ExcludeWithFlags ( FilterType : 12) with value as the flag value to be excluded (Integer equivalent in string form) as โ4096โ, or if there are multiple flags to be excluded OR all of them and then use that integer value as value for the filter.
I think for your case only the FilterType : 12 and value : โ4096โ will do the work and exclude all extensions which are marked with unpublished flag.


