mirror of
https://github.com/R0m1k3/xtremflow.git
synced 2026-10-11 17:30:00 +02:00
The font files I vendored under assets/google_fonts were not fonts. A
valid TTF starts with 00 01 00 00; these started with 80 18 01 00 and
3C A3 00 00. They came from the legacy fonts.googleapis.com endpoint,
and I shipped them without checking the signature.
Skia rejected every one of them, which is what produced the console
errors seen in production:
Failed to parse font family "Karla_regular"
Failed to parse font family "Fraunces_600"
so the whole app rendered in a fallback font instead of Fraunces/Karla.
Removing them restores the working path: google_fonts fetches from
fonts.gstatic.com at runtime, which is what main did before.
This gives up the startup win claimed in 1feeaae. Bundling properly is
still possible but needs static per-weight instances: the only files
google/fonts publishes for these two families are variable fonts, and
google_fonts cannot map a weight onto them in asset mode. A note in
pubspec.yaml records this so the mistake is not repeated.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
74 lines
1.6 KiB
YAML
74 lines
1.6 KiB
YAML
name: xtremflow
|
|
description: High-performance IPTV Web Application with Xtream Codes API
|
|
publish_to: 'none'
|
|
version: 1.0.0+1
|
|
|
|
environment:
|
|
sdk: '>=3.0.0 <4.0.0'
|
|
|
|
dependencies:
|
|
flutter:
|
|
sdk: flutter
|
|
|
|
# State Management
|
|
flutter_riverpod: ^2.6.1
|
|
riverpod_annotation: ^2.6.1
|
|
|
|
# Local Database (Web IndexedDB)
|
|
hive: ^2.2.3
|
|
hive_flutter: ^1.1.0
|
|
|
|
# Networking
|
|
dio: ^5.7.0
|
|
dio_cache_interceptor: ^3.5.1
|
|
http: ^1.2.2
|
|
|
|
# Routing
|
|
go_router: ^13.2.5
|
|
|
|
# Video Player
|
|
video_player: ^2.9.1
|
|
video_player_web: ^2.3.0
|
|
video_player_web_hls: ^1.3.0
|
|
video_player_win: ^3.2.2
|
|
chewie: ^1.8.3
|
|
|
|
# UI Components
|
|
google_fonts: ^6.2.1
|
|
cached_network_image: ^3.3.1
|
|
pointer_interceptor: ^0.10.1
|
|
lottie: ^2.7.0
|
|
percent_indicator: ^4.1.0
|
|
|
|
# Security & Utils
|
|
crypto: ^3.0.3
|
|
uuid: ^4.4.0
|
|
intl: ^0.19.0
|
|
equatable: ^2.0.5
|
|
shared_preferences: ^2.3.2
|
|
|
|
# Subtitles & Media
|
|
subtitle: ^0.1.4
|
|
|
|
|
|
dev_dependencies:
|
|
flutter_test:
|
|
sdk: flutter
|
|
flutter_lints: ^3.0.2
|
|
|
|
# Code Generation
|
|
build_runner: ^2.4.13
|
|
riverpod_generator: ^2.4.0
|
|
hive_generator: ^2.0.1
|
|
|
|
flutter:
|
|
uses-material-design: true
|
|
|
|
# NOTE : ne pas re-embarquer les polices via assets/google_fonts/ sans
|
|
# verifier la signature des fichiers (un TTF valide commence par
|
|
# 00 01 00 00). Une tentative precedente a embarque des fichiers invalides
|
|
# que Skia refusait, avec pour resultat "Failed to parse font family" et un
|
|
# rendu en police de repli. Les seuls fichiers officiels disponibles sont
|
|
# des polices VARIABLES, que google_fonts ne sait pas mapper par graisse en
|
|
# mode assets : un embarquement correct demande des instances statiques.
|