fluffychat merge

This commit is contained in:
ggurdin 2026-02-05 16:00:42 -05:00
commit bf20e4caf7
No known key found for this signature in database
GPG key ID: A01CB41737CBB478
3 changed files with 27 additions and 23 deletions

View file

@ -125,14 +125,14 @@ class HtmlMessage extends StatelessWidget {
'rt',
'html',
'body',
// Workaround for https://github.com/krille-chan/fluffychat/issues/507
'tg-forward',
// #Pangea
'token',
'nontoken',
// Pangea#
};
static const Set<String> ignoredHtmlTags = {'mx-reply'};
/// We add line breaks before these tags:
static const Set<String> blockHtmlTags = {
'p',
@ -390,6 +390,11 @@ class HtmlMessage extends StatelessWidget {
// We must not render elements nested more than 100 elements deep:
if (depth >= 100) return const TextSpan();
if (node is dom.Element &&
ignoredHtmlTags.contains(node.localName?.toLowerCase())) {
return const TextSpan();
}
// This is a text node or not permitted node, so we render it as text:
if (node is! dom.Element || !allowedHtmlTags.contains(node.localName)) {
var text = node.text ?? '';
@ -682,19 +687,21 @@ class HtmlMessage extends StatelessWidget {
// Pangea#
TextSpan(
children: [
if (node.parent?.localName == 'ul')
// #Pangea
// const TextSpan(text: ''),
TextSpan(text: '', style: existingStyle),
// Pangea#
if (node.parent?.localName == 'ol')
TextSpan(
text:
'${(node.parent?.nodes.whereType<dom.Element>().toList().indexOf(node) ?? 0) + (int.tryParse(node.parent?.attributes['start'] ?? '1') ?? 1)}. ',
if (!isCheckbox) ...[
if (node.parent?.localName == 'ul')
// #Pangea
style: existingStyle,
// Pangea#
),
// const TextSpan(text: ''),
TextSpan(text: '', style: existingStyle),
// Pangea#
if (node.parent?.localName == 'ol')
TextSpan(
text:
'${(node.parent?.nodes.whereType<dom.Element>().toList().indexOf(node) ?? 0) + (int.tryParse(node.parent?.attributes['start'] ?? '1') ?? 1)}. ',
// #Pangea
style: existingStyle,
// Pangea#
),
],
if (node.className == 'task-list-item')
WidgetSpan(
child: Padding(

View file

@ -1384,12 +1384,11 @@ packages:
license_checker:
dependency: "direct dev"
description:
path: "."
ref: HEAD
resolved-ref: "38a65ff5b4b65db092b11dad999081388f75ece8"
url: "https://github.com/krille-chan/license_checker.git"
source: git
version: "1.6.0"
name: license_checker
sha256: "8a35b6946e50811e070ac6fe4717ee431cd1a334e080df2116956b54b0bb0d0f"
url: "https://pub.dev"
source: hosted
version: "1.6.2"
linkify:
dependency: "direct main"
description:

View file

@ -134,9 +134,7 @@ dev_dependencies:
import_sorter: ^4.6.0
integration_test:
sdk: flutter
# Waiting for https://github.com/rufman/license_checker/pull/47
license_checker:
git: https://github.com/krille-chan/license_checker.git
license_checker: ^1.6.2
pedantic: ^1.11.0
sentry_dart_plugin: ^1.0.0
translations_cleaner: ^0.0.5