forked from Foxyz/sync_replay_project
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
@@ -429,6 +429,24 @@ void main() {
|
||||
expect(engine.members['b']!.inSet, isTrue);
|
||||
expect(engine.transport, Transport.held);
|
||||
});
|
||||
|
||||
test("the previous media's buffer never starts the new one", () {
|
||||
join('a', 'alice');
|
||||
join('b', 'bob');
|
||||
engine.applyReady('a', true);
|
||||
engine.applyReady('b', true);
|
||||
engine.applySwap('a', ep2);
|
||||
final oldEvent = engine.eventId - 1;
|
||||
// Sent before the swap reached the clients, landing after it.
|
||||
engine.applyReport('a', 30, 20.0, oldEvent, mediaId: 1);
|
||||
engine.applyReport('b', 30, 20.0, oldEvent, mediaId: 1);
|
||||
expect(engine.members['a']!.buffered, 0);
|
||||
engine.tick();
|
||||
expect(engine.transport, Transport.held);
|
||||
engine.applyReport('a', 0, 6.0, engine.eventId, mediaId: 2);
|
||||
engine.applyReport('b', 0, 6.0, engine.eventId, mediaId: 2);
|
||||
expect(engine.transport, Transport.playing);
|
||||
});
|
||||
});
|
||||
|
||||
group('force with actor feed', () {
|
||||
|
||||
Reference in new issue
Block a user