feat: featured flag on StoreEntry (v0.10.1)

Picks up the new `featured: bool` field in the StoreEntry
proto. No new client method — the flag is plumbed through
SearchStore. Studio reads it directly off the entry.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-05-07 21:05:03 +02:00
parent 6efbdb2ff9
commit df6ab995d3
3 changed files with 22 additions and 2 deletions

View file

@ -2517,6 +2517,7 @@ class StoreEntry extends $pb.GeneratedMessage {
$core.String? bestVersion,
$core.String? status,
$core.bool? installed,
$core.bool? featured,
}) {
final $result = create();
if (name != null) {
@ -2561,6 +2562,9 @@ class StoreEntry extends $pb.GeneratedMessage {
if (installed != null) {
$result.installed = installed;
}
if (featured != null) {
$result.featured = featured;
}
return $result;
}
StoreEntry._() : super();
@ -2582,6 +2586,7 @@ class StoreEntry extends $pb.GeneratedMessage {
..aOS(12, _omitFieldNames ? '' : 'bestVersion')
..aOS(13, _omitFieldNames ? '' : 'status')
..aOB(14, _omitFieldNames ? '' : 'installed')
..aOB(15, _omitFieldNames ? '' : 'featured')
..hasRequiredFields = false
;
@ -2708,6 +2713,20 @@ class StoreEntry extends $pb.GeneratedMessage {
$core.bool hasInstalled() => $_has(13);
@$pb.TagNumber(14)
void clearInstalled() => $_clearField(14);
/// True iff the store-index marks this module as editorially
/// featured. Studio renders featured entries in a separate
/// strip above the main grid. Curated quarterly in the hub's
/// bundled seed.yaml same review cadence as the curated
/// model database.
@$pb.TagNumber(15)
$core.bool get featured => $_getBF(14);
@$pb.TagNumber(15)
set featured($core.bool v) { $_setBool(14, v); }
@$pb.TagNumber(15)
$core.bool hasFeatured() => $_has(14);
@$pb.TagNumber(15)
void clearFeatured() => $_clearField(15);
}
class ChannelStatusResponse extends $pb.GeneratedMessage {

View file

@ -651,6 +651,7 @@ const StoreEntry$json = {
{'1': 'best_version', '3': 12, '4': 1, '5': 9, '10': 'bestVersion'},
{'1': 'status', '3': 13, '4': 1, '5': 9, '10': 'status'},
{'1': 'installed', '3': 14, '4': 1, '5': 8, '10': 'installed'},
{'1': 'featured', '3': 15, '4': 1, '5': 8, '10': 'featured'},
],
};
@ -664,7 +665,7 @@ final $typed_data.Uint8List storeEntryDescriptor = $convert.base64Decode(
'JlcXVpcmVzX3NlcnZpY2VzGAkgAygJUhByZXF1aXJlc1NlcnZpY2VzEhgKB2xpY2Vuc2UYCiAB'
'KAlSB2xpY2Vuc2USHgoKcmVwb3NpdG9yeRgLIAEoCVIKcmVwb3NpdG9yeRIhCgxiZXN0X3Zlcn'
'Npb24YDCABKAlSC2Jlc3RWZXJzaW9uEhYKBnN0YXR1cxgNIAEoCVIGc3RhdHVzEhwKCWluc3Rh'
'bGxlZBgOIAEoCFIJaW5zdGFsbGVk');
'bGxlZBgOIAEoCFIJaW5zdGFsbGVkEhoKCGZlYXR1cmVkGA8gASgIUghmZWF0dXJlZA==');
@$core.Deprecated('Use channelStatusResponseDescriptor instead')
const ChannelStatusResponse$json = {