diff --git a/frontend/app/duck/search.js b/frontend/app/duck/search.js index a70995ba4..b968cf67e 100644 --- a/frontend/app/duck/search.js +++ b/frontend/app/duck/search.js @@ -73,7 +73,11 @@ function reducer(state = initialState, action = {}) { case EDIT: return state.mergeIn(['instance'], action.instance).set('currentPage', 1); case APPLY: - return action.fromUrl ? state.set('instance', Filter(action.filter)).set('currentPage', 1) : state.mergeIn(['instance'], action.filter).set('currentPage', 1); + if (action.fromUrl) { + return state.set('instance', Filter(action.filter)).set('currentPage', 1) + } else { + return action.filter ? state.mergeIn(['instance'], action.filter).set('currentPage', 1) : state.mergeIn(['instance'], action.filter) + } case success(FETCH): return state.set('instance', action.data); case success(FETCH_LIST): diff --git a/frontend/app/mstore/types/session.ts b/frontend/app/mstore/types/session.ts index 6a9444a27..ba7d73882 100644 --- a/frontend/app/mstore/types/session.ts +++ b/frontend/app/mstore/types/session.ts @@ -18,6 +18,7 @@ export default class Session { sessionId: string = ""; viewed: boolean = false duration: number = 0 + durationMs: number = 0 metadata: any = Map() startedAt: number = 0 userBrowser: string = "" @@ -49,6 +50,7 @@ export default class Session { this.sessionId = session.sessionId this.viewed = session.viewed this.duration = Duration.fromMillis(session.duration < 1000 ? 1000 : session.duration); + this.durationMs = session.duration this.metadata = session.metadata this.startedAt = startedAt this.userBrowser = session.userBrowser diff --git a/frontend/app/player/common/types.ts b/frontend/app/player/common/types.ts index 9d49d1b2a..222719bc7 100644 --- a/frontend/app/player/common/types.ts +++ b/frontend/app/player/common/types.ts @@ -39,6 +39,7 @@ export interface SessionFilesInfo { milliseconds: number valueOf: () => number } + durationMs: number videoURL: string[] domURL: string[] devtoolsURL: string[] diff --git a/frontend/app/player/web/MessageManager.ts b/frontend/app/player/web/MessageManager.ts index 00b96d1aa..9a26ffa27 100644 --- a/frontend/app/player/web/MessageManager.ts +++ b/frontend/app/player/web/MessageManager.ts @@ -239,7 +239,7 @@ export default class MessageManager { if ( this.waitingForFiles || (this.lastMessageTime <= t && - t !== this.session.duration.milliseconds) + t < this.session.durationMs) ) { this.setMessagesLoading(true); } diff --git a/frontend/app/types/session/session.ts b/frontend/app/types/session/session.ts index 589175733..59fbc4a85 100644 --- a/frontend/app/types/session/session.ts +++ b/frontend/app/types/session/session.ts @@ -73,6 +73,7 @@ export interface ISession { live: boolean; startedAt: number; duration: number; + durationMs: number; events: InjectedEvent[]; crashes: IosCrash[] stackEvents: StackEvent[]; @@ -169,6 +170,7 @@ export default class Session { live: ISession['live']; startedAt: ISession['startedAt']; duration: Duration; + durationMs: ISession['durationMs']; events: ISession['events']; stackEvents: ISession['stackEvents']; metadata: ISession['metadata']; @@ -340,6 +342,7 @@ export default class Session { notesWithEvents: mixedEventsWithIssues, frustrations: frustrationList, uxtVideo: uxtVideo[0], + durationMs: session.duration, }); }