diff --git a/server/src/main/resources/html/static/recordings.js b/server/src/main/resources/html/static/recordings.js
index 00dadfc1..ee1d8eef 100644
--- a/server/src/main/resources/html/static/recordings.js
+++ b/server/src/main/resources/html/static/recordings.js
@@ -125,19 +125,18 @@ function syncRecordings(recordings) {
}
// update existing recordings
- for ( let i in recordings) {
- let recording = recordings[i];
- for ( let j in observableRecordingsArray()) {
- let r = observableRecordingsArray()[j];
- if (recording.id === r.id) {
- r.progress = recording.progress;
- r.sizeInByte = recording.sizeInByte;
- r.status = recording.status;
- r.startDate = recording.startDate;
- r.ko_progressString(recording.progress === -1 ? '' : (recording.progress + '%'));
- r.ko_size(calculateSize(recording.sizeInByte));
- r.ko_status(recording.status);
- }
+ const recordingsMap = new Map(observableRecordingsArray().map(r => [r.id, r]));
+
+ for (let recording of recordings) {
+ const r = recordingsMap.get(recording.id);
+ if (r) {
+ r.progress = recording.progress;
+ r.sizeInByte = recording.sizeInByte;
+ r.status = recording.status;
+ r.startDate = recording.startDate;
+ r.ko_progressString(recording.progress === -1 ? '' : (recording.progress + '%'));
+ r.ko_size(calculateSize(recording.sizeInByte));
+ r.ko_status(recording.status);
}
}
}