bump deps

fixes #119
This commit is contained in:
Henry Hiles 2026-10-11 13:43:13 -04:00
commit f198888635
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
5 changed files with 179 additions and 197 deletions

View file

@ -18,147 +18,137 @@ class const Html(
super.key,
}) extends ConsumerWidget {
@override
Widget
build(BuildContext context, WidgetRef ref)
// needed until https://github.com/daohoangson/flutter_widget_from_html/issues/1618 is resolved
=> MaterialUiCompatibilityBridge(
child: HtmlWidget(
html,
buildAsync: false,
textStyle: textStyle,
customWidgetBuilder: (element) {
if (element.attributes.keys.contains("data-mx-profile-fallback")) {
return SizedBox.shrink();
}
Widget build(BuildContext context, WidgetRef ref) => HtmlWidget(
html,
buildAsync: false,
textStyle: textStyle,
customWidgetBuilder: (element) {
if (element.attributes.keys.contains("data-mx-profile-fallback")) {
return SizedBox.shrink();
}
if (element.attributes.keys.contains("data-mx-spoiler")) {
return InlineCustomWidget(child: SpoilerText(element.text));
}
if (element.attributes.keys.contains("data-mx-spoiler")) {
return InlineCustomWidget(child: SpoilerText(element.text));
}
final height =
int.tryParse(element.attributes["height"] ?? "") ??
(element.attributes.keys.contains("data-mx-emoticon")
? 32
: null) ??
300;
final width = int.tryParse(element.attributes["width"] ?? "");
final src = Uri.tryParse(element.attributes["src"] ?? "");
final height =
int.tryParse(element.attributes["height"] ?? "") ??
(element.attributes.keys.contains("data-mx-emoticon") ? 32 : null) ??
300;
final width = int.tryParse(element.attributes["width"] ?? "");
final src = Uri.tryParse(element.attributes["src"] ?? "");
return switch (element.localName) {
"code" =>
element.parent?.localName == "pre"
? CodeBlock(
element.text,
lang: element.className.replaceAll("language-", ""),
)
: InlineCustomWidget(
child: ClipRRect(
borderRadius: .all(.circular(4)),
child: Container(
padding: .all(8),
color: Theme.of(context)
.colorScheme
.surfaceContainerHighest,
child: SelectableText(
element.text,
style: .new(fontFamily: "bundled-mono"),
),
return switch (element.localName) {
"code" =>
element.parent?.localName == "pre"
? CodeBlock(
element.text,
lang: element.className.replaceAll("language-", ""),
)
: InlineCustomWidget(
child: ClipRRect(
borderRadius: .all(.circular(4)),
child: Container(
padding: .all(8),
color: Theme.of(context)
.colorScheme
.surfaceContainerHighest,
child: SelectableText(
element.text,
style: .new(fontFamily: "bundled-mono"),
),
),
),
),
"blockquote" => Quoted(
Html(element.innerHtml, textStyle: textStyle, roomId: roomId),
),
"a" =>
element.attributes["href"]?.linkInfo == null
? null
: InlineCustomWidget(
child: MentionChip(element.attributes["href"]!, roomId),
),
"img" =>
src == null
? SizedBox.shrink()
: InlineCustomWidget(
alignment: PlaceholderAlignment.middle,
child: ExpandableImage(
.new(mxc: src),
child: Image(
image: MxcImage(ref, .new(mxc: src)),
errorBuilder: (_, error, _) => Text(
"Image Failed to Load",
style: .new(
color: Theme.of(context).colorScheme.error,
),
),
height: height.toDouble(),
width: width?.toDouble(),
loadingBuilder: (_, child, loadingProgress) =>
loadingProgress == null
? child
: CircularProgressIndicator(),
),
),
),
// Allowed elements list
("del" ||
"h1" ||
"h2" ||
"h3" ||
"h4" ||
"h5" ||
"h6" ||
"p" ||
"ul" ||
"ol" ||
"sup" ||
"sub" ||
"li" ||
"b" ||
"i" ||
"u" ||
"strong" ||
"em" ||
"s" ||
"code" ||
"hr" ||
"br" ||
"div" ||
"table" ||
"thead" ||
"tbody" ||
"tr" ||
"th" ||
"td" ||
"caption" ||
"pre" ||
"span" ||
"details" ||
"summary") =>
null,
_ => SizedBox.shrink(),
};
},
customStylesBuilder: (element) => {
"width": "auto",
...Map.fromEntries(
element.attributes
.mapTo<MapEntry<String, String>?>(
(key, value) => switch (key) {
"data-mx-color" => .new("color", value),
"data-mx-bg-color" => .new("background-color", value),
_ => null,
},
)
.nonNulls,
"blockquote" => Quoted(
Html(element.innerHtml, textStyle: textStyle, roomId: roomId),
),
},
onTapUrl: (url) =>
ref.watch(LaunchHelper.provider).launchUrl(.parse(url)),
),
"a" =>
element.attributes["href"]?.linkInfo == null
? null
: InlineCustomWidget(
child: MentionChip(element.attributes["href"]!, roomId),
),
"img" =>
src == null
? SizedBox.shrink()
: InlineCustomWidget(
alignment: PlaceholderAlignment.middle,
child: ExpandableImage(
.new(mxc: src),
child: Image(
image: MxcImage(ref, .new(mxc: src)),
errorBuilder: (_, error, _) => Text(
"Image Failed to Load",
style: .new(color: Theme.of(context).colorScheme.error),
),
height: height.toDouble(),
width: width?.toDouble(),
loadingBuilder: (_, child, loadingProgress) =>
loadingProgress == null
? child
: CircularProgressIndicator(),
),
),
),
// Allowed elements list
("del" ||
"h1" ||
"h2" ||
"h3" ||
"h4" ||
"h5" ||
"h6" ||
"p" ||
"ul" ||
"ol" ||
"sup" ||
"sub" ||
"li" ||
"b" ||
"i" ||
"u" ||
"strong" ||
"em" ||
"s" ||
"code" ||
"hr" ||
"br" ||
"div" ||
"table" ||
"thead" ||
"tbody" ||
"tr" ||
"th" ||
"td" ||
"caption" ||
"pre" ||
"span" ||
"details" ||
"summary") =>
null,
_ => SizedBox.shrink(),
};
},
customStylesBuilder: (element) => {
"width": "auto",
...Map.fromEntries(
element.attributes
.mapTo<MapEntry<String, String>?>(
(key, value) => switch (key) {
"data-mx-color" => .new("color", value),
"data-mx-bg-color" => .new("background-color", value),
_ => null,
},
)
.nonNulls,
),
},
onTapUrl: (url) => ref.watch(LaunchHelper.provider).launchUrl(.parse(url)),
);
}

View file

@ -6,9 +6,9 @@
#include "generated_plugin_registrant.h"
#include <app_links_linux/app_links_plugin_linux.h>
#include <dynamic_color/dynamic_color_plugin.h>
#include <file_selector_linux/file_selector_plugin.h>
#include <gtk/gtk_plugin.h>
#include <media_kit_libs_linux/media_kit_libs_linux_plugin.h>
#include <media_kit_video/media_kit_video_plugin.h>
#include <screen_retriever_linux/screen_retriever_linux_plugin.h>
@ -17,15 +17,15 @@
#include <window_manager/window_manager_plugin.h>
void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) app_links_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "AppLinksPluginLinux");
app_links_plugin_linux_register_with_registrar(app_links_linux_registrar);
g_autoptr(FlPluginRegistrar) dynamic_color_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "DynamicColorPlugin");
dynamic_color_plugin_register_with_registrar(dynamic_color_registrar);
g_autoptr(FlPluginRegistrar) file_selector_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin");
file_selector_plugin_register_with_registrar(file_selector_linux_registrar);
g_autoptr(FlPluginRegistrar) gtk_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "GtkPlugin");
gtk_plugin_register_with_registrar(gtk_registrar);
g_autoptr(FlPluginRegistrar) media_kit_libs_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "MediaKitLibsLinuxPlugin");
media_kit_libs_linux_plugin_register_with_registrar(media_kit_libs_linux_registrar);

View file

@ -3,9 +3,9 @@
#
list(APPEND FLUTTER_PLUGIN_LIST
app_links_linux
dynamic_color
file_selector_linux
gtk
media_kit_libs_linux
media_kit_video
screen_retriever_linux

View file

@ -5,26 +5,26 @@ packages:
dependency: transitive
description:
name: _fe_analyzer_shared
sha256: fdcd9f70f9eb80df3bc5ed0fa67280df2595fd481948df8a9ab082e6a40ad04b
sha256: "48e48f73a431eb269eec66d243a63a07ed90ef9417a74047a3b98d52338626ad"
url: "https://pub.dev"
source: hosted
version: "108.0.0"
version: "109.0.0"
analysis_server_plugin:
dependency: transitive
description:
name: analysis_server_plugin
sha256: "3460f040e1f77647fcd82db9bd3bb117de04d04a3d67c39ad361794331147a4e"
sha256: "9f293f95cf41cb513a9a4f322354e2fa5483125e0f18bbeca254543ac9c3dda6"
url: "https://pub.dev"
source: hosted
version: "0.3.23"
version: "0.3.24"
analyzer:
dependency: transitive
description:
name: analyzer
sha256: a51c769bff3b6dfbe9d60199b8606d808290702a296bef0c26a4ca391d414e46
sha256: "6d377901d198536b648172974d9d4f277910502cad92193466869cac0ff34990"
url: "https://pub.dev"
source: hosted
version: "14.4.0"
version: "14.5.0"
analyzer_buffer:
dependency: transitive
description:
@ -37,26 +37,26 @@ packages:
dependency: transitive
description:
name: analyzer_plugin
sha256: "9a3518eb84e8e26665874d9867534961d855493e9c5eb0eb55cbd46edd995529"
sha256: "2c59e6fba4971dc9ece97acd55b4f95b67a98e6ae0a55bff6f9dfc2bb59e8b1a"
url: "https://pub.dev"
source: hosted
version: "0.14.17"
version: "0.14.18"
app_links:
dependency: "direct main"
description:
name: app_links
sha256: f8db46d2ea9ff6f3a37191a7fd5b7813da1253ace8c32c1b9eadace41d1188ea
sha256: "08ba88bf19d9edea33130cb71c8ced2cb982b4e00b82efef4a434d1357bc69c3"
url: "https://pub.dev"
source: hosted
version: "7.2.1"
version: "7.2.2"
app_links_linux:
dependency: transitive
description:
name: app_links_linux
sha256: f5f7173a78609f3dfd4c2ff2c95bd559ab43c80a87dc6a095921d96c05688c81
sha256: "9ccb5802085a1e57bb07b6256fd1d61a78c7ec104944d4965e62938b4fefd9cb"
url: "https://pub.dev"
source: hosted
version: "1.0.3"
version: "1.0.4"
app_links_platform_interface:
dependency: transitive
description:
@ -69,18 +69,18 @@ packages:
dependency: transitive
description:
name: app_links_web
sha256: af060ed76183f9e2b87510a9480e56a5352b6c249778d07bd2c95fc35632a555
sha256: "382d32c6f486f15b1d7f5d6a37a70a481a4fc08382eef419d373169921a3e765"
url: "https://pub.dev"
source: hosted
version: "1.0.4"
version: "1.0.5"
archive:
dependency: transitive
description:
name: archive
sha256: "6c5bcd986e06b94e3c40244af471750840a3d2341d1f9763a1100a14add517b4"
sha256: f773153144ce0456ae77d96bd247f2efd58efe4f3e5ad42616d0385c031aea11
url: "https://pub.dev"
source: hosted
version: "4.3.0"
version: "4.5.1"
args:
dependency: transitive
description:
@ -141,10 +141,10 @@ packages:
dependency: "direct dev"
description:
name: build_runner
sha256: "894c243f6bc32015fec466ce30a6925bd537a77a426ee5bf481120477eb3de67"
sha256: "6feadd32d90a68253c1f7b4fcff76adb4b41ad32a53f8bad835dc65f01ac9dc5"
url: "https://pub.dev"
source: hosted
version: "2.16.1"
version: "2.16.2"
built_collection:
dependency: transitive
description:
@ -261,10 +261,10 @@ packages:
dependency: transitive
description:
name: cupertino_ui
sha256: c23816577a1280cff409e989541767887011f8f1d8c1863a794ed308af46f2a9
sha256: e9dfe7fac704028f8928cbe4028a0be5e8a709498e8daf8247de99e99a32aef3
url: "https://pub.dev"
source: hosted
version: "1.1.1"
version: "1.0.2"
dart_style:
dependency: transitive
description:
@ -333,10 +333,10 @@ packages:
dependency: "direct main"
description:
name: fast_immutable_collections
sha256: "58cec99fc068427c71901e82d4b31b232240ebe6e61200993c2cb91bcada0ff6"
sha256: "3f791151fe63e27beffdba12835db33c60031e324351f683879ebe18d1b10588"
url: "https://pub.dev"
source: hosted
version: "11.2.0"
version: "11.2.1"
ffi:
dependency: "direct main"
description:
@ -357,10 +357,10 @@ packages:
dependency: "direct main"
description:
name: ffigen
sha256: "31b2ca630cede89babbbf31688d20b735967c51bf60572b06ec16718e5a7f1ec"
sha256: "6f55d99ac1857fc063b58c3b31753df2bba417028ba98d30c6d625a385855064"
url: "https://pub.dev"
source: hosted
version: "22.0.0"
version: "23.0.0"
file:
dependency: transitive
description:
@ -569,10 +569,10 @@ packages:
dependency: "direct main"
description:
name: flutter_widget_from_html_core
sha256: "530f2e3cc57be1a00f8bfae1b0000064e8a6df0cf1fb4d48a80f85afde9b39b7"
sha256: "4eb6b5ece5fa5a2c6b35f621433aa36d5f115cc45e8638c7fac0d709561ea9f6"
url: "https://pub.dev"
source: hosted
version: "0.17.4"
version: "0.18.0-beta.1"
fluttertagger:
dependency: "direct main"
description:
@ -621,14 +621,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.3.2"
gtk:
dependency: transitive
description:
name: gtk
sha256: "4ff85b2a16724029dd9e5bbb5a94b6918f9973f74ba571c949d2002801879cf5"
url: "https://pub.dev"
source: hosted
version: "2.2.0"
hooks:
dependency: "direct main"
description:
@ -689,26 +681,26 @@ packages:
dependency: transitive
description:
name: image
sha256: a1e7f4951e538a568e14b856702afc9ae1d2f4b202daced8d22c1b9cd211ce89
sha256: "89ed75b2f8231fe676808c5564f9590d728024ded7ac782a7ed8474f1c95b72a"
url: "https://pub.dev"
source: hosted
version: "4.10.1"
version: "4.12.0"
image_picker:
dependency: "direct main"
description:
name: image_picker
sha256: d8402284df184bc05f4a2210c6c23983b0720f4cd87cbd05c5390a78af602667
sha256: e71b1bd9e40124041128d60fc3034c7b1598e1bba4e570bba0c70301c817013a
url: "https://pub.dev"
source: hosted
version: "1.2.3"
version: "1.2.4"
image_picker_android:
dependency: transitive
description:
name: image_picker_android
sha256: "0a55d645a670d6ae11efa948f955ae904afa472f1344fc15a7ddacc20c1e7219"
sha256: "8a7823d5d3e884f7780829d85d92110d072bdcd9ed48e2be158d2abe91a912d4"
url: "https://pub.dev"
source: hosted
version: "0.8.13+23"
version: "0.8.13+25"
image_picker_for_web:
dependency: transitive
description:
@ -721,10 +713,10 @@ packages:
dependency: transitive
description:
name: image_picker_ios
sha256: "852a7762962f3bb3ad54ef1d342669e41557f466033a676baa8876b367cf4050"
sha256: "4fb88d4350ffc208c2a09fc321db1f80282688716b8cfe10c8c80acc5ae8934a"
url: "https://pub.dev"
source: hosted
version: "0.8.13+8"
version: "0.8.13+10"
image_picker_linux:
dependency: transitive
description:
@ -745,10 +737,10 @@ packages:
dependency: transitive
description:
name: image_picker_platform_interface
sha256: "567e056716333a1647c64bb6bd873cff7622233a5c3f694be28a583d4715690c"
sha256: "2dee4b4e3be429db71472c9c559c981498070a61af1ba82e0e4986fc5dadc042"
url: "https://pub.dev"
source: hosted
version: "2.11.1"
version: "2.11.2"
image_picker_windows:
dependency: transitive
description:
@ -906,10 +898,10 @@ packages:
dependency: "direct main"
description:
name: material_ui
sha256: "32d98f11cf5942a095a8c3e01b03e4de3b17941437713dcf36b1088fb62e23d2"
sha256: "98ab9eda579ecae623e4b376c603035c5def78ce706f735f30bd632af5814695"
url: "https://pub.dev"
source: hosted
version: "1.5.0"
version: "1.6.0"
measure_size:
dependency: "direct main"
description:
@ -1027,10 +1019,10 @@ packages:
dependency: transitive
description:
name: objective_c
sha256: ad56fd53a78ff6b1472fa59ff2a4e8b8ccabafc586fc263a1dfad0b99b5553e3
sha256: "5c80c2ad6e2c0397de5db38c6d653e69616a3397e13aa7633bf39eb668f2041b"
url: "https://pub.dev"
source: hosted
version: "9.6.0"
version: "9.6.2"
package_config:
dependency: transitive
description:
@ -1043,10 +1035,10 @@ packages:
dependency: "direct main"
description:
name: package_info_plus
sha256: "127e1751e37ffb2ff4658beeaca77bad0c27bf5f932bd3a501c2296926d4b481"
sha256: "73ef2cd5c11a7548f9b7f6fc2a4f6113de2e64aa2a70de63feede95548822908"
url: "https://pub.dev"
source: hosted
version: "10.2.1"
version: "10.2.2"
package_info_plus_platform_interface:
dependency: transitive
description:
@ -1291,10 +1283,10 @@ packages:
dependency: "direct main"
description:
name: shared_preferences
sha256: c3025c5534b01739267eb7d76959bbc25a6d10f6988e1c2a3036940133dd10bf
sha256: "1e85e0dccf5b4a016077fea7dfbb4a7cb39c759ac1596fcf60c06deadb7da91f"
url: "https://pub.dev"
source: hosted
version: "2.5.5"
version: "2.5.6"
shared_preferences_android:
dependency: transitive
description:
@ -1554,10 +1546,10 @@ packages:
dependency: "direct main"
description:
name: url_launcher
sha256: f6a7e5c4835bb4e3026a04793a4199ca2d14c739ec378fdfe23fc8075d0439f8
sha256: e8cc955c97e06df9879140a1fe301f3d493f01b7c62dec7f46834be31d7e9fda
url: "https://pub.dev"
source: hosted
version: "6.3.2"
version: "6.3.3"
url_launcher_android:
dependency: transitive
description:

View file

@ -47,27 +47,27 @@ dependencies:
flutter_riverpod: 3.4.3
hooks_riverpod: 3.4.3
intl: 0.20.3
fast_immutable_collections: 11.2.0
fast_immutable_collections: 11.2.1
path_provider: 2.1.6
url_launcher: 6.3.2
url_launcher: 6.3.3
freezed_annotation: 3.1.0
image_picker: 1.2.3
image_picker: 1.2.4
path: 1.9.1
dynamic_color: 2.1.0
collection: 1.19.1
window_manager: 0.5.2
color_hash: 1.0.1
flutter_widget_from_html_core: 0.17.4
flutter_widget_from_html_core: 0.18.0-beta.1
flutter_svg: 2.3.0
json_annotation: 4.12.0
shared_preferences: 2.5.5
shared_preferences: 2.5.6
fluttertagger: 2.3.2
dynamic_polls: 0.0.8
flutter_hooks: 0.21.3+1
ffi: 2.2.0
hooks: 2.2.0
code_assets: 2.1.0
ffigen: 22.0.0
ffigen: 23.0.0
timeago: 3.7.1
http: 1.6.0
flutter_linkify: 6.0.0
@ -85,10 +85,10 @@ dependencies:
path: packages/navigation_rail_m3e
m3e_card_list: 1.0.0
xdg_directories: 1.1.0
package_info_plus: 10.2.1
app_links: 7.2.1
package_info_plus: 10.2.2
app_links: 7.2.2
file_selector: 1.1.0
material_ui: 1.5.0
material_ui: 1.6.0
unifiedpush: 6.2.0
unifiedpush_storage_shared_preferences: 1.0.0
flutter_local_notifications: 22.3.1
@ -99,7 +99,7 @@ dependencies:
ref: quad/nexus
dev_dependencies:
build_runner: 2.16.1
build_runner: 2.16.2
flutter_lints: 6.0.0
freezed: 4.0.2
riverpod_lint: 3.1.9