feat(profile): default avatars via DiceBear "thumbs" (CC0), drop boring_avatars

Replace the flutter_boring_avatars fallback with a friendly DiceBear
"thumbs" face, generated offline (dicebear_core) and deterministically
from the pubkey, rendered as SVG (flutter_svg). The thumbs style is
CC0 1.0 (public domain) — no attribution, AGPL-clean — unlike Multiavatar
whose custom licence restricts use. Style parsed once and per-pubkey SVG
memoized; the CC0 <metadata> block is stripped to keep flutter_svg quiet.
This commit is contained in:
vjrj 2026-07-12 14:12:37 +02:00
parent 1c2b3d5e8d
commit 109c85298c
6 changed files with 153 additions and 45 deletions

View file

@ -297,6 +297,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.7.14"
dicebear_core:
dependency: transitive
description:
name: dicebear_core
sha256: "7a38725ed8895feeeb6d34a6a0946322a03649077fa49f9a711530e035fb53f2"
url: "https://pub.dev"
source: hosted
version: "10.3.0"
dicebear_schema:
dependency: transitive
description:
name: dicebear_schema
sha256: dfbaa477e4e7ed1500ae8f0263ecf7db3081c492489b817a401a52e21e0ace9c
url: "https://pub.dev"
source: hosted
version: "1.3.0"
dicebear_styles:
dependency: transitive
description:
name: dicebear_styles
sha256: "4761fc26da7eb12b5b499be4efbd7cadc9186e301095199bbf424a3150bcd866"
url: "https://pub.dev"
source: hosted
version: "10.2.0"
drift:
dependency: transitive
description:
@ -414,14 +438,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "9.1.1"
flutter_boring_avatars:
dependency: transitive
description:
name: flutter_boring_avatars
sha256: c4439a5e6753db58debd8d85a92e9747727e5f5c05cc1f3a252ba70d2c1df720
url: "https://pub.dev"
source: hosted
version: "2.1.0"
flutter_driver:
dependency: transitive
description: flutter
@ -536,6 +552,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.1.2"
flutter_svg:
dependency: transitive
description:
name: flutter_svg
sha256: "35882981abcbfb8c15b286f0cd690ff25bac12d95eff3e25ee207f37d4c42e7f"
url: "https://pub.dev"
source: hosted
version: "2.3.0"
flutter_tesseract_ocr:
dependency: transitive
description:
@ -812,6 +836,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.12.0"
json_schema:
dependency: transitive
description:
name: json_schema
sha256: f37d9c3fdfe8c9aae55fdfd5af815d24ce63c3a0f6a2c1f0982c30f43643fa1a
url: "https://pub.dev"
source: hosted
version: "5.2.2"
leak_tracker:
dependency: transitive
description:
@ -1124,6 +1156,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.0.2"
quiver:
dependency: transitive
description:
name: quiver
sha256: ea0b925899e64ecdfbf9c7becb60d5b50e706ade44a85b2363be2a22d88117d2
url: "https://pub.dev"
source: hosted
version: "3.2.2"
recase:
dependency: transitive
description:
@ -1140,6 +1180,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.6.0"
rfc_6901:
dependency: transitive
description:
name: rfc_6901
sha256: "6a43b1858dca2febaf93e15639aa6b0c49ccdfd7647775f15a499f872b018154"
url: "https://pub.dev"
source: hosted
version: "0.2.1"
serial_csv:
dependency: transitive
description:
@ -1361,6 +1409,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.3.1"
uri:
dependency: transitive
description:
name: uri
sha256: "889eea21e953187c6099802b7b4cf5219ba8f3518f604a1033064d45b1b8268a"
url: "https://pub.dev"
source: hosted
version: "1.0.0"
url_launcher:
dependency: transitive
description:
@ -1433,6 +1489,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.5.3"
vector_graphics:
dependency: transitive
description:
name: vector_graphics
sha256: "2306c03da2ba81724afeb589c351ebbc0aa7d86005925be8f8735856dbe5e42d"
url: "https://pub.dev"
source: hosted
version: "1.2.2"
vector_graphics_codec:
dependency: transitive
description:
name: vector_graphics_codec
sha256: "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146"
url: "https://pub.dev"
source: hosted
version: "1.1.13"
vector_graphics_compiler:
dependency: transitive
description:
name: vector_graphics_compiler
sha256: "142a9146f447d15b10bdc00e21d5f4d83e5b32bb5f8f8f5a04c75311344923a3"
url: "https://pub.dev"
source: hosted
version: "1.2.6"
vector_math:
dependency: transitive
description: