Move basic change state from router to change view model Release-Notes: skip Google-Bug-Id: b/247042673 Change-Id: I3c59896837b18709fbc4bb8584d3abb7354492f1
diff --git a/polygerrit-ui/app/elements/core/gr-router/gr-router.ts b/polygerrit-ui/app/elements/core/gr-router/gr-router.ts index 5d09694..28b7e3b 100644 --- a/polygerrit-ui/app/elements/core/gr-router/gr-router.ts +++ b/polygerrit-ui/app/elements/core/gr-router/gr-router.ts
@@ -360,13 +360,14 @@ if ('repo' in state && state.repo !== undefined && 'changeNum' in state) this.restApiService.setInProjectLookup(state.changeNum, state.repo); - this.routerModel.setState({ - view: state.view, - changeNum: 'changeNum' in state ? state.changeNum : undefined, - patchNum: 'patchNum' in state ? state.patchNum ?? undefined : undefined, - basePatchNum: - 'basePatchNum' in state ? state.basePatchNum ?? undefined : undefined, - }); + this.routerModel.setState({view: state.view}); + // We are trying to reset the change (view) model when navigating to other + // views, because we don't trust our reset logic at the moment. The models + // singletons and might unintentionally keep state from one change to + // another. TODO: Let's find some way to avoid that. + if (state.view !== GerritView.CHANGE) { + this.changeViewModel.setState(undefined); + } this.appElement().params = state; }