Swap shows only the new media, no guessed endings, quieter screen
- A swap stops the previous media at once; buffer counts only for the media the player holds (client) and the current mediaId (server), so the old video can no longer start the new one. - The automatic frozen-picture reload is gone (false alarms on still scenes); Reload video stays. - The "Next episode" pill shows only from a known ending. - A web link's thumbnail is its cover, under the video's own name. - While playing, the unread chip stays off the picture; chat pop-ups can be All / Only when paused / Off. - Server fetch failures say when the server has no cookies. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ab133dd82f
commit
27b4ec2c96
25 files changed
+274
-485
No files matched your search
@@ -374,19 +374,19 @@ void main() {
|
||||
final app = shellToastFor(ToastItem(id: 3, text: 'Bob joined', at: at), who);
|
||||
expect(app.who, isNull);
|
||||
expect(app.text, 'Bob joined');
|
||||
final froze = shellToastFor(ToastItem(id: 4, text: 'Video froze — reloaded', at: at), who);
|
||||
expect(froze.who, isNull);
|
||||
final notice = shellToastFor(ToastItem(id: 4, text: 'Shaders off', at: at), who);
|
||||
expect(notice.who, isNull);
|
||||
});
|
||||
|
||||
testWidgets('toasts slide in with an avatar and leave after their time', (tester) async {
|
||||
await tester.pumpWidget(const MaterialApp(home: Scaffold(body: PartyToasts(life: Duration(seconds: 1)))));
|
||||
coord.toasts.value = [ToastItem(id: 1, text: 'Video froze — reloaded', at: DateTime.now())];
|
||||
coord.toasts.value = [ToastItem(id: 1, text: 'Shaders off', at: DateTime.now())];
|
||||
await tester.pump();
|
||||
await tester.pump();
|
||||
expect(find.text('Video froze — reloaded'), findsOneWidget);
|
||||
expect(find.text('Shaders off'), findsOneWidget);
|
||||
await tester.pump(const Duration(seconds: 1));
|
||||
await tester.pumpAndSettle();
|
||||
expect(find.text('Video froze — reloaded'), findsNothing);
|
||||
expect(find.text('Shaders off'), findsNothing);
|
||||
});
|
||||
|
||||
testWidgets('status avatar fills its box at any size', (tester) async {
|
||||
|
||||
Reference in new issue
Block a user