Skip to content

Commit 0ed3ebe

Browse files
fix(labels): Prevent duplicate labels POST call (#424) (#425)
* fix(labels): Prevent duplicate labels POST call * Refresh labels only for same target (cherry picked from commit 5a9b7be) Co-authored-by: Janelle Law <[email protected]>
1 parent 1941950 commit 0ed3ebe

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

src/app/Recordings/ActiveRecordingsTable.tsx

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,9 +193,21 @@ export const ActiveRecordingsTable: React.FunctionComponent<ActiveRecordingsTabl
193193

194194
React.useEffect(() => {
195195
addSubscription(
196-
context.notificationChannel.messages(NotificationCategory.RecordingMetadataUpdated)
197-
.subscribe(v => setRecordings(old => old.map(
198-
o => o.name == v.message.recordingName ? { ...o, metadata: { labels: v.message.metadata.labels } } : o)))
196+
combineLatest([
197+
context.target.target(),
198+
context.notificationChannel.messages(NotificationCategory.RecordingMetadataUpdated),
199+
])
200+
.subscribe(parts => {
201+
const currentTarget = parts[0];
202+
const event = parts[1];
203+
if (currentTarget.connectUrl != event.message.target) {
204+
return;
205+
}
206+
setRecordings(old => old.map(
207+
o => o.name == event.message.recordingName
208+
? { ...o, metadata: { labels: event.message.metadata.labels } }
209+
: o));
210+
})
199211
);
200212
}, [addSubscription, context, context.notificationChannel, setRecordings]);
201213

src/app/Shared/Services/Api.service.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -536,7 +536,9 @@ export class ApiService {
536536
}
537537

538538
postTargetRecordingMetadata(recordingName: string, labels: RecordingLabel[]): Observable<string> {
539-
return this.target.target().pipe(concatMap(target =>
539+
return this.target.target().pipe(
540+
first(),
541+
concatMap(target =>
540542
this.sendRequest(
541543
'beta', `targets/${encodeURIComponent(target.connectUrl)}/recordings/${encodeURIComponent(recordingName)}/metadata/labels`,
542544
{

0 commit comments

Comments
 (0)