Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
3b81ab5
Voice search that explains failures, follows the app language, and an…
professorDeveloper Nov 7, 2026
38adc47
Mangayomi: per-source install, remove, update and enable
professorDeveloper Nov 7, 2026
deeea5f
Show Auto Resolve progress with stop and a cap
professorDeveloper Nov 7, 2026
d833df2
Translate manga pages inside the reader
professorDeveloper Nov 7, 2026
2634256
Check profile PINs offline, add biometric unlock and a skip-picker se…
professorDeveloper Nov 7, 2026
b670d96
Add external Zangetsu repos, run on the device
professorDeveloper Nov 7, 2026
40df888
Add a live Contributors section to About and a GitHub star prompt
professorDeveloper Nov 7, 2026
0d69c7e
Drop a const around a theme colour in the contributors skeleton
professorDeveloper Nov 7, 2026
5c6d179
Hide intl's TextDirection in the overlay; drop a redundant null check
professorDeveloper Nov 7, 2026
e3c6560
Add episode comments, spoiler hiding and timed reactions
professorDeveloper Nov 7, 2026
4654213
Add XP, levels and profile cosmetics
professorDeveloper Nov 7, 2026
4e27dfc
Watch party: host controls, friend invites, chat history, better sync
professorDeveloper Nov 7, 2026
3cdb1f1
Match the episode repository with a pattern
professorDeveloper Nov 7, 2026
8832adc
Play through the window in the scheduler test
professorDeveloper Nov 7, 2026
70049aa
Merge commit 'refs/prsim/59' into check/next-3.3.0-all
professorDeveloper Nov 7, 2026
3663de3
Merge commit 'refs/prsim/58' into check/next-3.3.0-all
professorDeveloper Nov 7, 2026
c466264
Merge commit 'refs/prsim/62' into check/next-3.3.0-all
professorDeveloper Nov 7, 2026
3c1f5b1
Merge commit 'refs/prsim/64' into check/next-3.3.0-all
professorDeveloper Nov 7, 2026
a49371b
Merge commit 'refs/prsim/61' into check/next-3.3.0-all
professorDeveloper Nov 7, 2026
50bec2d
Merge commit 'refs/prsim/60' into check/next-3.3.0-all
professorDeveloper Nov 7, 2026
00f3f8b
Merge commit 'refs/prsim/65' into check/next-3.3.0-all
professorDeveloper Nov 7, 2026
d389d19
Merge commit 'refs/prsim/66' into check/next-3.3.0-all
professorDeveloper Nov 7, 2026
e81dcb7
Merge commit 'refs/prsim/67' into check/next-3.3.0-all
professorDeveloper Nov 7, 2026
9249bda
Support: never leave a request spinning; player: no raw mpv address a…
professorDeveloper Nov 7, 2026
62cf521
Merge remote-tracking branch 'origin/release/3.2.1' into fix/3.2.1-po…
professorDeveloper Nov 7, 2026
09cae34
3.2.1: UI polish for the new features
professorDeveloper Nov 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion assets/translations/ar.json
Original file line number Diff line number Diff line change
Expand Up @@ -1215,6 +1215,8 @@
"connect_failed_msg": "تحقّق من اتصالك بالإنترنت وحاول مرة أخرى.",
"settings_title": "إعدادات الغرفة",
"room_size": "حجم الغرفة",
"room_size_less": "عدد أقل من الأشخاص",
"room_size_more": "عدد أكبر من الأشخاص",
"only_host_setting": "المضيف وحده يتحكم في التشغيل",
"lock_room": "قفل الغرفة",
"lock_room_hint": "لا يمكن لأحد جديد الانضمام",
Expand Down Expand Up @@ -3138,7 +3140,9 @@
"error_attachment_type": "صور jpg أو png أو webp فقط.",
"error_attachment_size": "يجب ألا يتجاوز حجم كل صورة 5 ميغابايت.",
"error_attachment_count": "5 لقطات شاشة كحد أقصى في الرسالة.",
"suggest": "تتكرر المشكلة؟ راسل الدعم"
"suggest": "تتكرر المشكلة؟ راسل الدعم",
"error_offline": "أنت غير متصل أو انقطع الاتصال. تحقق من الإنترنت ثم حاول مرة أخرى.",
"not_sent": "لم يُرسل: {}"
},
"zangetsu": {
"title": "مصادر Zangetsu",
Expand Down
6 changes: 5 additions & 1 deletion assets/translations/ckb.json
Original file line number Diff line number Diff line change
Expand Up @@ -1215,6 +1215,8 @@
"connect_failed_msg": "هێڵی ئینتەرنێتەکەت بپشکنە و دووبارە هەوڵبدەرەوە.",
"settings_title": "ڕێکخستنەکانی ژوور",
"room_size": "قەبارەی ژوور",
"room_size_less": "کەسی کەمتر",
"room_size_more": "کەسی زیاتر",
"only_host_setting": "تەنها خانەخوێ لێدان کۆنترۆڵ دەکات",
"lock_room": "قفڵکردنی ژوور",
"lock_room_hint": "کەسی نوێ ناتوانێت بەشداربێت",
Expand Down Expand Up @@ -3134,7 +3136,9 @@
"error_attachment_type": "تەنها وێنەی jpg یان png یان webp.",
"error_attachment_size": "هەر وێنەیەک دەبێت 5 MB یان کەمتر بێت.",
"error_attachment_count": "لە هەر نامەیەکدا زۆرترین 5 وێنەی شاشە.",
"suggest": "دووبارە دەبێتەوە؟ بۆ پشتگیری بنووسە"
"suggest": "دووبارە دەبێتەوە؟ بۆ پشتگیری بنووسە",
"error_offline": "تۆ دەرهێڵیت یان پەیوەندی پچڕا. ئینتەرنێتەکەت بپشکنە و دووبارە هەوڵ بدەرەوە.",
"not_sent": "نەنێردرا: {}"
},
"zangetsu": {
"title": "سەرچاوەکانی Zangetsu",
Expand Down
6 changes: 5 additions & 1 deletion assets/translations/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -1215,6 +1215,8 @@
"connect_failed_msg": "Prüfe deine Internetverbindung und versuche es erneut.",
"settings_title": "Raumeinstellungen",
"room_size": "Raumgröße",
"room_size_less": "Weniger Personen",
"room_size_more": "Mehr Personen",
"only_host_setting": "Nur der Host steuert die Wiedergabe",
"lock_room": "Raum sperren",
"lock_room_hint": "Niemand Neues kann beitreten",
Expand Down Expand Up @@ -3134,7 +3136,9 @@
"error_attachment_type": "Nur jpg-, png- oder webp-Bilder.",
"error_attachment_size": "Jedes Bild darf höchstens 5 MB groß sein.",
"error_attachment_count": "Höchstens 5 Screenshots pro Nachricht.",
"suggest": "Passiert das öfter? Schreib dem Support"
"suggest": "Passiert das öfter? Schreib dem Support",
"error_offline": "Du bist offline oder die Verbindung ist abgebrochen. Prüfe dein Internet und versuche es erneut.",
"not_sent": "Nicht gesendet: {}"
},
"zangetsu": {
"title": "Zangetsu-Quellen",
Expand Down
6 changes: 5 additions & 1 deletion assets/translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -1215,6 +1215,8 @@
"connect_failed_msg": "Check your internet connection and try again.",
"settings_title": "Room settings",
"room_size": "Room size",
"room_size_less": "Fewer people",
"room_size_more": "More people",
"only_host_setting": "Only host controls playback",
"lock_room": "Lock room",
"lock_room_hint": "No one new can join",
Expand Down Expand Up @@ -3134,7 +3136,9 @@
"error_attachment_type": "Only jpg, png or webp images.",
"error_attachment_size": "Each image must be 5 MB or less.",
"error_attachment_count": "At most 5 screenshots per message.",
"suggest": "Keeps happening? Write to support"
"suggest": "Keeps happening? Write to support",
"error_offline": "You're offline or the connection dropped. Check your internet and try again.",
"not_sent": "Not sent: {}"
},
"zangetsu": {
"title": "Zangetsu Sources",
Expand Down
6 changes: 5 additions & 1 deletion assets/translations/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -1215,6 +1215,8 @@
"connect_failed_msg": "Comprueba tu conexión a internet e inténtalo de nuevo.",
"settings_title": "Ajustes de la sala",
"room_size": "Tamaño de la sala",
"room_size_less": "Menos personas",
"room_size_more": "Más personas",
"only_host_setting": "Solo el anfitrión controla la reproducción",
"lock_room": "Bloquear sala",
"lock_room_hint": "Nadie nuevo puede unirse",
Expand Down Expand Up @@ -3134,7 +3136,9 @@
"error_attachment_type": "Solo imágenes jpg, png o webp.",
"error_attachment_size": "Cada imagen debe pesar 5 MB o menos.",
"error_attachment_count": "Como máximo 5 capturas por mensaje.",
"suggest": "¿Sigue pasando? Escribe a soporte"
"suggest": "¿Sigue pasando? Escribe a soporte",
"error_offline": "No tienes conexión o se cortó. Revisa tu internet e inténtalo de nuevo.",
"not_sent": "No se envió: {}"
},
"zangetsu": {
"title": "Fuentes de Zangetsu",
Expand Down
6 changes: 5 additions & 1 deletion assets/translations/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -1215,6 +1215,8 @@
"connect_failed_msg": "Vérifie ta connexion internet et réessaie.",
"settings_title": "Paramètres du salon",
"room_size": "Taille du salon",
"room_size_less": "Moins de personnes",
"room_size_more": "Plus de personnes",
"only_host_setting": "Seul l'hôte contrôle la lecture",
"lock_room": "Verrouiller le salon",
"lock_room_hint": "Personne de nouveau ne peut rejoindre",
Expand Down Expand Up @@ -3134,7 +3136,9 @@
"error_attachment_type": "Images jpg, png ou webp uniquement.",
"error_attachment_size": "Chaque image doit faire 5 Mo maximum.",
"error_attachment_count": "5 captures maximum par message.",
"suggest": "Ça se reproduit ? Écris au support"
"suggest": "Ça se reproduit ? Écris au support",
"error_offline": "Vous êtes hors ligne ou la connexion a été coupée. Vérifiez votre connexion et réessayez.",
"not_sent": "Non envoyé : {}"
},
"zangetsu": {
"title": "Sources Zangetsu",
Expand Down
6 changes: 5 additions & 1 deletion assets/translations/hi.json
Original file line number Diff line number Diff line change
Expand Up @@ -1215,6 +1215,8 @@
"connect_failed_msg": "अपना इंटरनेट कनेक्शन जाँचें और फिर से कोशिश करें।",
"settings_title": "रूम सेटिंग्स",
"room_size": "रूम का आकार",
"room_size_less": "कम लोग",
"room_size_more": "ज़्यादा लोग",
"only_host_setting": "सिर्फ़ होस्ट प्लेबैक नियंत्रित करता है",
"lock_room": "रूम लॉक करें",
"lock_room_hint": "कोई नया शामिल नहीं हो सकता",
Expand Down Expand Up @@ -3134,7 +3136,9 @@
"error_attachment_type": "सिर्फ़ jpg, png या webp इमेज।",
"error_attachment_size": "हर इमेज 5 MB या उससे छोटी होनी चाहिए।",
"error_attachment_count": "एक मैसेज में ज़्यादा से ज़्यादा 5 स्क्रीनशॉट।",
"suggest": "बार-बार हो रहा है? सपोर्ट को लिखें"
"suggest": "बार-बार हो रहा है? सपोर्ट को लिखें",
"error_offline": "आप ऑफ़लाइन हैं या कनेक्शन टूट गया। इंटरनेट जाँचें और फिर से कोशिश करें।",
"not_sent": "नहीं भेजा गया: {}"
},
"zangetsu": {
"title": "Zangetsu स्रोत",
Expand Down
6 changes: 5 additions & 1 deletion assets/translations/id.json
Original file line number Diff line number Diff line change
Expand Up @@ -1215,6 +1215,8 @@
"connect_failed_msg": "Periksa koneksi internetmu lalu coba lagi.",
"settings_title": "Pengaturan ruang",
"room_size": "Ukuran ruang",
"room_size_less": "Lebih sedikit orang",
"room_size_more": "Lebih banyak orang",
"only_host_setting": "Hanya host yang mengontrol pemutaran",
"lock_room": "Kunci ruang",
"lock_room_hint": "Tidak ada orang baru yang bisa bergabung",
Expand Down Expand Up @@ -3134,7 +3136,9 @@
"error_attachment_type": "Hanya gambar jpg, png, atau webp.",
"error_attachment_size": "Setiap gambar maksimal 5 MB.",
"error_attachment_count": "Maksimal 5 tangkapan layar per pesan.",
"suggest": "Terus terjadi? Hubungi dukungan"
"suggest": "Terus terjadi? Hubungi dukungan",
"error_offline": "Kamu sedang offline atau koneksi terputus. Periksa internet lalu coba lagi.",
"not_sent": "Tidak terkirim: {}"
},
"zangetsu": {
"title": "Sumber Zangetsu",
Expand Down
6 changes: 5 additions & 1 deletion assets/translations/ku.json
Original file line number Diff line number Diff line change
Expand Up @@ -1215,6 +1215,8 @@
"connect_failed_msg": "Girêdana înternetê kontrol bike û dîsa biceribîne.",
"settings_title": "Mîhengên odeyê",
"room_size": "Mezinahiya odeyê",
"room_size_less": "Kesên kêmtir",
"room_size_more": "Kesên zêdetir",
"only_host_setting": "Tenê mazûvan lêdanê kontrol dike",
"lock_room": "Odeyê kilît bike",
"lock_room_hint": "Kesekî nû nikare tevlî bibe",
Expand Down Expand Up @@ -3134,7 +3136,9 @@
"error_attachment_type": "Tenê wêneyên jpg, png an webp.",
"error_attachment_size": "Divê her wêne herî zêde 5 MB be.",
"error_attachment_count": "Di peyamekê de herî zêde 5 dîmenên ekranê.",
"suggest": "Dubare dibe? Ji piştgiriyê re binivîse"
"suggest": "Dubare dibe? Ji piştgiriyê re binivîse",
"error_offline": "Tu offline î an girêdan qut bû. Înternetê kontrol bike û dîsa biceribîne.",
"not_sent": "Nehat şandin: {}"
},
"zangetsu": {
"title": "Çavkaniyên Zangetsu",
Expand Down
6 changes: 5 additions & 1 deletion assets/translations/nl.json
Original file line number Diff line number Diff line change
Expand Up @@ -1215,6 +1215,8 @@
"connect_failed_msg": "Controleer je internetverbinding en probeer het opnieuw.",
"settings_title": "Kamerinstellingen",
"room_size": "Kamergrootte",
"room_size_less": "Minder mensen",
"room_size_more": "Meer mensen",
"only_host_setting": "Alleen de host bedient het afspelen",
"lock_room": "Kamer vergrendelen",
"lock_room_hint": "Niemand nieuw kan meedoen",
Expand Down Expand Up @@ -3134,7 +3136,9 @@
"error_attachment_type": "Alleen jpg-, png- of webp-afbeeldingen.",
"error_attachment_size": "Elke afbeelding mag maximaal 5 MB zijn.",
"error_attachment_count": "Maximaal 5 screenshots per bericht.",
"suggest": "Blijft het gebeuren? Schrijf support"
"suggest": "Blijft het gebeuren? Schrijf support",
"error_offline": "Je bent offline of de verbinding is verbroken. Controleer je internet en probeer het opnieuw.",
"not_sent": "Niet verzonden: {}"
},
"zangetsu": {
"title": "Zangetsu-bronnen",
Expand Down
6 changes: 5 additions & 1 deletion assets/translations/pt.json
Original file line number Diff line number Diff line change
Expand Up @@ -1215,6 +1215,8 @@
"connect_failed_msg": "Verifique sua conexão com a internet e tente de novo.",
"settings_title": "Configurações da sala",
"room_size": "Tamanho da sala",
"room_size_less": "Menos pessoas",
"room_size_more": "Mais pessoas",
"only_host_setting": "Só o anfitrião controla a reprodução",
"lock_room": "Trancar sala",
"lock_room_hint": "Ninguém novo pode entrar",
Expand Down Expand Up @@ -3134,7 +3136,9 @@
"error_attachment_type": "Só imagens jpg, png ou webp.",
"error_attachment_size": "Cada imagem pode ter no máximo 5 MB.",
"error_attachment_count": "No máximo 5 capturas por mensagem.",
"suggest": "Continua acontecendo? Fale com o suporte"
"suggest": "Continua acontecendo? Fale com o suporte",
"error_offline": "Você está offline ou a conexão caiu. Verifique a internet e tente novamente.",
"not_sent": "Não enviado: {}"
},
"zangetsu": {
"title": "Fontes Zangetsu",
Expand Down
6 changes: 5 additions & 1 deletion assets/translations/ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -1215,6 +1215,8 @@
"connect_failed_msg": "Проверьте подключение к интернету и повторите попытку.",
"settings_title": "Настройки комнаты",
"room_size": "Размер комнаты",
"room_size_less": "Меньше участников",
"room_size_more": "Больше участников",
"only_host_setting": "Воспроизведением управляет только хост",
"lock_room": "Закрыть комнату",
"lock_room_hint": "Новые участники не смогут войти",
Expand Down Expand Up @@ -3135,7 +3137,9 @@
"error_attachment_type": "Только изображения jpg, png или webp.",
"error_attachment_size": "Каждое изображение — не больше 5 МБ.",
"error_attachment_count": "Не больше 5 скриншотов в сообщении.",
"suggest": "Повторяется? Напишите в поддержку"
"suggest": "Повторяется? Напишите в поддержку",
"error_offline": "Нет интернета или соединение прервалось. Проверьте подключение и попробуйте снова.",
"not_sent": "Не отправлено: {}"
},
"zangetsu": {
"title": "Источники Zangetsu",
Expand Down
6 changes: 5 additions & 1 deletion assets/translations/tr.json
Original file line number Diff line number Diff line change
Expand Up @@ -1215,6 +1215,8 @@
"connect_failed_msg": "İnternet bağlantını kontrol edip tekrar dene.",
"settings_title": "Oda ayarları",
"room_size": "Oda boyutu",
"room_size_less": "Daha az kişi",
"room_size_more": "Daha fazla kişi",
"only_host_setting": "Oynatmayı yalnızca host kontrol eder",
"lock_room": "Odayı kilitle",
"lock_room_hint": "Yeni kimse katılamaz",
Expand Down Expand Up @@ -3134,7 +3136,9 @@
"error_attachment_type": "Yalnızca jpg, png veya webp görseller.",
"error_attachment_size": "Her görsel en fazla 5 MB olmalı.",
"error_attachment_count": "Mesaj başına en fazla 5 ekran görüntüsü.",
"suggest": "Tekrarlıyor mu? Desteğe yaz"
"suggest": "Tekrarlıyor mu? Desteğe yaz",
"error_offline": "Çevrimdışısın veya bağlantı koptu. İnternetini kontrol edip tekrar dene.",
"not_sent": "Gönderilmedi: {}"
},
"zangetsu": {
"title": "Zangetsu Kaynakları",
Expand Down
6 changes: 5 additions & 1 deletion assets/translations/uz.json
Original file line number Diff line number Diff line change
Expand Up @@ -1215,6 +1215,8 @@
"connect_failed_msg": "Internet aloqangizni tekshirib, qayta urinib ko'ring.",
"settings_title": "Xona sozlamalari",
"room_size": "Xona hajmi",
"room_size_less": "Kamroq odam",
"room_size_more": "Ko‘proq odam",
"only_host_setting": "Ijroni faqat host boshqaradi",
"lock_room": "Xonani qulflash",
"lock_room_hint": "Yangi hech kim qo'shila olmaydi",
Expand Down Expand Up @@ -3134,7 +3136,9 @@
"error_attachment_type": "Faqat jpg, png yoki webp rasm.",
"error_attachment_size": "Har bir rasm 5 MB dan oshmasin.",
"error_attachment_count": "Bitta xabarga ko‘pi bilan 5 ta skrinshot.",
"suggest": "Takrorlanyaptimi? Support’ga yozing"
"suggest": "Takrorlanyaptimi? Support’ga yozing",
"error_offline": "Internet yo'q yoki aloqa uzildi. Internetni tekshirib, qayta urinib ko'ring.",
"not_sent": "Yuborilmadi: {}"
},
"zangetsu": {
"title": "Zangetsu manbalari",
Expand Down
6 changes: 5 additions & 1 deletion assets/translations/vi.json
Original file line number Diff line number Diff line change
Expand Up @@ -1215,6 +1215,8 @@
"connect_failed_msg": "Hãy kiểm tra kết nối mạng và thử lại.",
"settings_title": "Cài đặt phòng",
"room_size": "Kích thước phòng",
"room_size_less": "Ít người hơn",
"room_size_more": "Nhiều người hơn",
"only_host_setting": "Chỉ chủ phòng điều khiển phát",
"lock_room": "Khóa phòng",
"lock_room_hint": "Không ai mới có thể tham gia",
Expand Down Expand Up @@ -3134,7 +3136,9 @@
"error_attachment_type": "Chỉ nhận ảnh jpg, png hoặc webp.",
"error_attachment_size": "Mỗi ảnh tối đa 5 MB.",
"error_attachment_count": "Tối đa 5 ảnh mỗi tin nhắn.",
"suggest": "Vẫn tiếp diễn? Hãy viết cho bộ phận hỗ trợ"
"suggest": "Vẫn tiếp diễn? Hãy viết cho bộ phận hỗ trợ",
"error_offline": "Bạn đang ngoại tuyến hoặc kết nối bị ngắt. Hãy kiểm tra internet rồi thử lại.",
"not_sent": "Chưa gửi được: {}"
},
"zangetsu": {
"title": "Nguồn Zangetsu",
Expand Down
6 changes: 5 additions & 1 deletion assets/translations/yue.json
Original file line number Diff line number Diff line change
Expand Up @@ -1215,6 +1215,8 @@
"connect_failed_msg": "檢查下你嘅網絡連線再試一次。",
"settings_title": "房間設定",
"room_size": "房間人數",
"room_size_less": "少啲人",
"room_size_more": "多啲人",
"only_host_setting": "淨係房主可以控制播放",
"lock_room": "鎖住房間",
"lock_room_hint": "新人唔可以加入",
Expand Down Expand Up @@ -3134,7 +3136,9 @@
"error_attachment_type": "只接受 jpg、png 或 webp 圖片。",
"error_attachment_size": "每張圖唔可以大過 5 MB。",
"error_attachment_count": "每條訊息最多 5 張截圖。",
"suggest": "成日都係咁?搵支援"
"suggest": "成日都係咁?搵支援",
"error_offline": "你而家離線,或者連線斷咗。請檢查網絡再試。",
"not_sent": "未送出:{}"
},
"zangetsu": {
"title": "Zangetsu 來源",
Expand Down
2 changes: 1 addition & 1 deletion lib/core/widgets/star_prompt_banner.dart
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ class _StarPromptBannerState extends State<StarPromptBanner> {
children: [
const Icon(
Icons.star_rounded,
color: Color(0xFFFFC83D),
color: AppColors.rating,
size: 22,
),
const SizedBox(width: 10),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:easy_localization/easy_localization.dart';
import 'package:easy_localization/easy_localization.dart' hide TextDirection;
import 'package:flutter/material.dart';
import 'package:soplay/core/system/platform_utils.dart';
import 'package:soplay/core/theme/app_colors.dart';
Expand Down Expand Up @@ -38,6 +38,9 @@ Future<void> showEpisodeComments(
builder: (_) => SizedBox(height: size.height * 0.75, child: panel),
);
}
// The panel sits on the end edge: it slides in from there, and the inset on
// its inner edge is not its concern.
final rtl = Directionality.of(context) == TextDirection.rtl;
return showGeneralDialog<void>(
context: context,
barrierDismissible: true,
Expand All @@ -51,12 +54,12 @@ Future<void> showEpisodeComments(
height: double.infinity,
child: Material(
color: AppColors.background,
child: SafeArea(left: false, child: panel),
child: SafeArea(left: rtl, right: !rtl, child: panel),
),
),
),
transitionBuilder: (context, animation, _, child) => SlideTransition(
position: Tween(begin: const Offset(1, 0), end: Offset.zero).animate(
position: Tween(begin: Offset(rtl ? -1 : 1, 0), end: Offset.zero).animate(
CurvedAnimation(parent: animation, curve: Curves.easeOutCubic),
),
child: child,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ class _ReactionPickerState extends State<_ReactionPicker> {
),
),
_RoundButton(
tooltip: 'support.send'.tr(),
onTap: _sendText,
child: Icon(Icons.send_rounded, color: AppColors.primary, size: 20),
),
Expand Down Expand Up @@ -152,7 +153,7 @@ class _RoundButton extends StatelessWidget {
autofocus: autofocus,
customBorder: const CircleBorder(),
focusColor: Colors.white24,
child: SizedBox(width: 44, height: 44, child: Center(child: child)),
child: SizedBox(width: 48, height: 48, child: Center(child: child)),
);
return tooltip == null ? button : Tooltip(message: tooltip!, child: button);
}
Expand Down
4 changes: 4 additions & 0 deletions lib/features/detail/domain/playback/playback_fault.dart
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,11 @@ class PlaybackFault {
lower.contains('renderer')) {
return PlaybackFault(PlaybackFaultKind.decoder, raw: raw);
}
// libmpv's "Failed to open <url>": the host answered with a refusal
// (often a 403 without the Referer it expects) or not at all. The raw
// line, with its long address, read as the whole message on screen.
if (lower.contains('source error') ||
lower.contains('failed to open http') ||
lower.contains('failed to recognize file format') ||
lower.contains('unrecognizedinputformat') ||
lower.contains('nodeclaredbrand')) {
Expand Down
Loading
Loading