feat(market): embed offer photos inline instead of a media server
Replace the Blossom media-server approach with a fully decentralized one: generate a small (~320px) JPEG thumbnail from the lot's cover photo and embed it in the offer event as a data: URI, so photos ride the relays with no server and no IP leak. The full photo stays in the encrypted inventory. - offer_thumbnail.dart: downscale-until-it-fits data-URI builder + decoder - market_widgets: render data: URIs from memory, http(s) URLs from network - offers_cubit: publish a thumbnail (best-effort) in place of an upload - drop MediaTransport/Blossom from commons_core (http/crypto deps) and the media-server setting; parked on branch parked/offer-photos-blossom Relay event-size limits cap the image to a thumbnail; higher-res sharing would need the parked Blossom path.
This commit is contained in:
parent
5017ea51e0
commit
2b419e6516
24 changed files with 230 additions and 411 deletions
|
|
@ -1285,12 +1285,6 @@ class Translations$market$en {
|
|||
|
||||
/// en: 'Photo'
|
||||
String get photo => 'Photo';
|
||||
|
||||
/// en: 'Photo server'
|
||||
String get mediaServerLabel => 'Photo server';
|
||||
|
||||
/// en: 'Where offer photos are hosted so others can see them. Leave empty to share without photos.'
|
||||
String get mediaServerHelp => 'Where offer photos are hosted so others can see them. Leave empty to share without photos.';
|
||||
}
|
||||
|
||||
// Path: profile
|
||||
|
|
@ -2230,8 +2224,6 @@ extension on Translations {
|
|||
'market.copyId' => 'Copy code',
|
||||
'market.idCopied' => 'Code copied',
|
||||
'market.photo' => 'Photo',
|
||||
'market.mediaServerLabel' => 'Photo server',
|
||||
'market.mediaServerHelp' => 'Where offer photos are hosted so others can see them. Leave empty to share without photos.',
|
||||
'profile.title' => 'Your profile',
|
||||
'profile.name' => 'Display name',
|
||||
'profile.nameHint' => 'How others see you',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue