Use URL not URI field for Threads and Bsky statuses

Fixes Issues #79 and #87
This commit is contained in:
Hank Grabowski 2024-06-24 20:27:37 -04:00
parent d25f7adae8
commit 44e75ab290

View file

@ -34,6 +34,10 @@ extension TimelineEntryMastodonExtensions on TimelineEntry {
return null;
});
final networkInfo = json['application'] != null
? TimelineNetworkInfoMastodonExtensions.fromJson(json['application'])
: TimelineNetworkInfo.empty;
final connectionManager = getIt<ActiveProfileSelector<ConnectionsManager>>()
.getForProfile(activeProfile)
.fold(
@ -104,7 +108,10 @@ extension TimelineEntryMastodonExtensions on TimelineEntry {
const title = '';
final spoilerText = json['spoiler_text'] ?? '';
final externalLink = json['uri'] ?? '';
final externalLink = switch (networkInfo.network) {
KnownNetworks.bluesky || KnownNetworks.threads => json['url'] ?? '',
_ => json['uri'] ?? '',
};
const actualLocationData = LocationData();
final modificationTimestamp = timestamp;
@ -145,10 +152,6 @@ extension TimelineEntryMastodonExtensions on TimelineEntry {
final connection = ConnectionMastodonExtensions.fromJson(json['account']);
connectionManager?.upsertConnection(connection);
final networkInfo = json['application'] != null
? TimelineNetworkInfoMastodonExtensions.fromJson(json['application'])
: TimelineNetworkInfo.empty;
return TimelineEntry(
creationTimestamp: timestamp,
modificationTimestamp: modificationTimestamp,