From 5d4ef674e919fb1b7c886b63d3d6eedff0a95576 Mon Sep 17 00:00:00 2001 From: poppingmoon <63451158+poppingmoon@users.noreply.github.com> Date: Sat, 15 Mar 2025 08:09:07 +0900 Subject: [PATCH] fix: disable bidirectional isolates for Linux --- lib/view/page/drive_page.dart | 14 ++++++++++---- lib/view/page/user/user_home.dart | 6 ++++-- lib/view/widget/mfm.dart | 3 ++- lib/view/widget/note_header.dart | 6 ++++-- lib/view/widget/timeline_header.dart | 6 ++++-- 5 files changed, 24 insertions(+), 11 deletions(-) diff --git a/lib/view/page/drive_page.dart b/lib/view/page/drive_page.dart index cd3ededb4..7fcb81b42 100644 --- a/lib/view/page/drive_page.dart +++ b/lib/view/page/drive_page.dart @@ -137,10 +137,16 @@ class DrivePage extends HookConsumerWidget { onPressed: () => context.push('/settings/accounts/$account/drive'), child: Text( - '${t.misskey.inUse}: ' - '${Unicode.LRI}' - '${prettyBytes(stats.usage)} / ${prettyBytes(stats.capacity)}' - '${Unicode.PDI}', + [ + '${t.misskey.inUse}: ', + if (defaultTargetPlatform != TargetPlatform.linux) + Unicode.LRI, + prettyBytes(stats.usage), + ' / ', + prettyBytes(stats.capacity), + if (defaultTargetPlatform != TargetPlatform.linux) + Unicode.PDI, + ].join(), ), ), if (!selectFiles && !selectFolder) diff --git a/lib/view/page/user/user_home.dart b/lib/view/page/user/user_home.dart index cf948d88a..6f005a364 100644 --- a/lib/view/page/user/user_home.dart +++ b/lib/view/page/user/user_home.dart @@ -202,7 +202,8 @@ class _UserHome extends ConsumerWidget { Text.rich( TextSpan( children: [ - const TextSpan(text: Unicode.LRI), + if (defaultTargetPlatform != TargetPlatform.linux) + const TextSpan(text: Unicode.LRI), TextSpan(text: '@${user.username}'), TextSpan( text: '@${toUnicode(user.host ?? account.host)}', @@ -212,7 +213,8 @@ class _UserHome extends ConsumerWidget { ).colorScheme.onSurface.withValues(alpha: 0.5), ), ), - const TextSpan(text: Unicode.PDI), + if (defaultTargetPlatform != TargetPlatform.linux) + const TextSpan(text: Unicode.PDI), if (user.isLocked) const WidgetSpan( alignment: PlaceholderAlignment.middle, diff --git a/lib/view/widget/mfm.dart b/lib/view/widget/mfm.dart index 035830b2a..9b168e9af 100644 --- a/lib/view/widget/mfm.dart +++ b/lib/view/widget/mfm.dart @@ -1178,7 +1178,8 @@ class _Mfm extends StatelessWidget { @override Widget build(BuildContext context) { final needsIsolate = - builder != null || (trailingSpans?.isNotEmpty ?? false); + (builder != null || (trailingSpans?.isNotEmpty ?? false)) && + defaultTargetPlatform != TargetPlatform.linux; final span = TextSpan( children: [ ...?leadingSpans, diff --git a/lib/view/widget/note_header.dart b/lib/view/widget/note_header.dart index f652d29fb..9e8d56e32 100644 --- a/lib/view/widget/note_header.dart +++ b/lib/view/widget/note_header.dart @@ -70,7 +70,8 @@ class NoteHeader extends HookConsumerWidget { ), ), const WidgetSpan(child: SizedBox(width: 4.0)), - const TextSpan(text: Unicode.LRI), + if (defaultTargetPlatform != TargetPlatform.linux) + const TextSpan(text: Unicode.LRI), TextSpan(text: '@${note.user.username}'), if (note.user case User(:final host?)) TextSpan( @@ -79,7 +80,8 @@ class NoteHeader extends HookConsumerWidget { color: style.color?.withValues(alpha: 0.5), ), ), - const TextSpan(text: Unicode.PDI), + if (defaultTargetPlatform != TargetPlatform.linux) + const TextSpan(text: Unicode.PDI), const WidgetSpan(child: SizedBox(width: 2.0)), for (final role in note.user.badgeRoles) if (role case UserBadgeRole(:final iconUrl?)) diff --git a/lib/view/widget/timeline_header.dart b/lib/view/widget/timeline_header.dart index 125c9e629..dcce33065 100644 --- a/lib/view/widget/timeline_header.dart +++ b/lib/view/widget/timeline_header.dart @@ -119,7 +119,8 @@ class TimelineHeader extends HookConsumerWidget { ), if (oneLine) ...[ const WidgetSpan(child: SizedBox(width: 8.0)), - const TextSpan(text: Unicode.LRI), + if (defaultTargetPlatform != TargetPlatform.linux) + const TextSpan(text: Unicode.LRI), TextSpan( text: tabSettings.account.toString(), style: DefaultTextStyle.of(context).style.apply( @@ -128,7 +129,8 @@ class TimelineHeader extends HookConsumerWidget { ).colorScheme.onSurface.withValues(alpha: 0.85), ), ), - const TextSpan(text: Unicode.PDI), + if (defaultTargetPlatform != TargetPlatform.linux) + const TextSpan(text: Unicode.PDI), ], ], ),