@@ -171,9 +171,6 @@ class ViewPage extends React.Component<ViewPageProps> {
171
171
172
172
private listRef = React . createRef < ViewEventList > ( ) ;
173
173
private splitPaneRef = React . createRef < SplitPane > ( ) ;
174
-
175
- @observable
176
- private shouldRestoreViewStateOnRefSet = false ;
177
174
178
175
@observable
179
176
private searchFiltersUnderConsideration : FilterSet | undefined ;
@@ -214,7 +211,7 @@ class ViewPage extends React.Component<ViewPageProps> {
214
211
get selectedEvent ( ) {
215
212
// First try to use the URL-based eventId, then fallback to the persisted selection
216
213
const targetEventId = this . props . eventId || this . props . uiStore . selectedEventId ;
217
-
214
+
218
215
return _ . find ( this . props . eventsStore . events , {
219
216
id : targetEventId
220
217
} ) ;
@@ -245,15 +242,13 @@ class ViewPage extends React.Component<ViewPageProps> {
245
242
this . onBuildRuleFromExchange ,
246
243
this . onPrepareToResendRequest
247
244
) ;
245
+
248
246
componentDidMount ( ) {
249
247
// After first render, scroll to the selected event (or the end of the list) by default:
250
248
requestAnimationFrame ( ( ) => {
251
- if ( this . props . eventId && this . selectedEvent ) {
249
+ if ( ( this . props . eventId || this . props . uiStore . selectedEventId ) && this . selectedEvent ) {
252
250
this . onScrollToCenterEvent ( this . selectedEvent ) ;
253
- } else if ( ! this . props . eventId && this . props . uiStore . selectedEventId ) {
254
- // If no URL eventId but we have a persisted selection, restore it when ref is set
255
- this . shouldRestoreViewStateOnRefSet = true ;
256
- } else {
251
+ } else if ( ! this . props . uiStore . viewScrollPosition ) {
257
252
this . onScrollToEnd ( ) ;
258
253
}
259
254
} ) ;
@@ -466,7 +461,7 @@ class ViewPage extends React.Component<ViewPageProps> {
466
461
contextMenuBuilder = { this . contextMenuBuilder }
467
462
uiStore = { this . props . uiStore }
468
463
469
- ref = { this . setListRef }
464
+ ref = { this . listRef }
470
465
/>
471
466
</ LeftPane >
472
467
< PaneOuterContainer
@@ -508,7 +503,7 @@ class ViewPage extends React.Component<ViewPageProps> {
508
503
onSelected ( event : CollectedEvent | undefined ) {
509
504
// Persist the selected event to UiStore for tab switching
510
505
this . props . uiStore . setSelectedEventId ( event ?. id ) ;
511
-
506
+
512
507
this . props . navigate ( event
513
508
? `/view/${ event . id } `
514
509
: '/view'
@@ -640,19 +635,6 @@ class ViewPage extends React.Component<ViewPageProps> {
640
635
onScrollToEnd ( ) {
641
636
this . listRef . current ?. scrollToEnd ( ) ;
642
637
}
643
-
644
- @action . bound
645
- setListRef = ( ref : ViewEventList | null ) => {
646
- if ( ref ) {
647
- ( this . listRef as any ) . current = ref ;
648
- if ( this . shouldRestoreViewStateOnRefSet ) {
649
- this . shouldRestoreViewStateOnRefSet = false ;
650
- ref . restoreViewState ( ) ;
651
- }
652
- } else {
653
- ( this . listRef as any ) . current = null ;
654
- }
655
- } ;
656
638
}
657
639
658
640
const LeftPane = styled . div `
0 commit comments