Skip to content
Merged
Show file tree
Hide file tree
Changes from 33 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
33f6068
Add temporary angular.json for ng update workaround
cdavalos7 Feb 12, 2026
3f28b0b
Ignoring files temporary for angular upgrade
cdavalos7 Feb 12, 2026
263e502
Updated CLI angular version to 16
cdavalos7 Feb 12, 2026
07fe3ff
Updated @angular/core@16 @angular/cli@16
cdavalos7 Feb 12, 2026
91c5a92
Updated yarn.lock with latest versions in Angular 16
cdavalos7 Feb 13, 2026
2c06191
Fixed multiple issues in build. New patch for bazel/concatjs for comp…
cdavalos7 Feb 16, 2026
fdbafa2
Updated build errors caused by Angular upgrade to 16. Update definiti…
cdavalos7 Feb 16, 2026
892a847
Yarn compatibility for consistency across platforms
cdavalos7 Feb 16, 2026
a8911c2
Updated types for router outlet component. Removed temporary angular.…
cdavalos7 Feb 17, 2026
546e9df
Fix complaining linter in CI about trailing spaces
cdavalos7 Feb 17, 2026
3d18ad4
Fixed unit test breaking by Angular upgrade to v16
cdavalos7 Feb 19, 2026
4e3b0b7
Merge branch 'tensorflow:master' into feature/upgrade15-16
cdavalos7 Feb 23, 2026
60e6d6f
Fixed internal build errors
cdavalos7 Feb 24, 2026
6f2123c
Removed failed solutions in internal build for orbitControl.js depend…
cdavalos7 Feb 24, 2026
b984292
Returned fix with extension .js to OrbitControls script from three l…
cdavalos7 Feb 26, 2026
a00b763
Add temporary angular.json for ng update workaround
cdavalos7 Feb 12, 2026
b02fda5
Ignoring files temporary for angular upgrade
cdavalos7 Feb 12, 2026
91c98f6
Updated CLI angular version to 16
cdavalos7 Feb 12, 2026
6ba9975
Updated @angular/core@16 @angular/cli@16
cdavalos7 Feb 12, 2026
0d3b6ea
Updated yarn.lock with latest versions in Angular 16
cdavalos7 Feb 13, 2026
70f2ad4
Fixed multiple issues in build. New patch for bazel/concatjs for comp…
cdavalos7 Feb 16, 2026
51a7169
Updated build errors caused by Angular upgrade to 16. Update definiti…
cdavalos7 Feb 16, 2026
c2cbf17
Yarn compatibility for consistency across platforms
cdavalos7 Feb 16, 2026
7f530da
Updated types for router outlet component. Removed temporary angular.…
cdavalos7 Feb 17, 2026
06c7996
Fix complaining linter in CI about trailing spaces
cdavalos7 Feb 17, 2026
5264495
Fixed unit test breaking by Angular upgrade to v16
cdavalos7 Feb 19, 2026
1d9e029
Fixed internal build errors
cdavalos7 Feb 24, 2026
9cfb9ec
Removed failed solutions in internal build for orbitControl.js depend…
cdavalos7 Feb 24, 2026
5363ed4
Returned fix with extension .js to OrbitControls script from three l…
cdavalos7 Feb 26, 2026
ad12bd4
Merge branch 'feature/upgrade15-16' of github.com:cdavalos7/tensorboa…
cdavalos7 Mar 5, 2026
d98bcab
Merge branch 'tensorflow:master' into feature/upgrade15-16
cdavalos7 Mar 12, 2026
c0a9bc0
Updated files with internal linter issues. Test signature on spyOn an…
cdavalos7 Mar 20, 2026
1d342a3
Formatting updates
cdavalos7 Mar 20, 2026
d2602aa
Reverted to snake case variable and added a linter disable line
cdavalos7 Mar 23, 2026
5cc0f1d
Revert changes. tslint:disable-next-line:enforce-name-casing to param…
cdavalos7 Mar 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -401,9 +401,12 @@ describe('Debugger effects', () => {
}).compileComponents();

store = TestBed.inject<Store<State>>(Store) as MockStore<State>;
dispatchSpy = spyOn(store, 'dispatch').and.callFake((action: Action) => {
dispatchedActions.push(action);
});
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
dispatchSpy = (spyOn(store, 'dispatch') as jasmine.Spy).and.callFake(
(action: Action) => {
dispatchedActions.push(action);
}
);
store.overrideSelector(getActivePlugin, '');
});

Expand Down Expand Up @@ -436,15 +439,15 @@ describe('Debugger effects', () => {
begin: number,
end: number,
alertsResponse: AlertsResponse,
alert_type?: string
alertType?: string
) {
if (alert_type === undefined) {
if (alertType === undefined) {
return spyOn(TestBed.inject(Tfdbg2HttpServerDataSource), 'fetchAlerts')
.withArgs(runId, begin, end)
.and.returnValue(of(alertsResponse));
} else {
return spyOn(TestBed.inject(Tfdbg2HttpServerDataSource), 'fetchAlerts')
.withArgs(runId, begin, end, alert_type)
.withArgs(runId, begin, end, alertType)
.and.returnValue(of(alertsResponse));
}
}
Expand Down Expand Up @@ -1403,7 +1406,7 @@ describe('Debugger effects', () => {
},
begin: 0,
end: 2,
alert_type: AlertType.INF_NAN_ALERT,
alertType: AlertType.INF_NAN_ALERT,
per_type_alert_limit: 1000,
alerts: [alert0, alert1],
};
Expand Down Expand Up @@ -1657,7 +1660,9 @@ describe('Debugger effects', () => {
.withArgs(runId, fileIndex)
.and.returnValue(
of({
// tslint:disable-next-line:enforce-name-casing
host_name: hostName,
// tslint:disable-next-line:enforce-name-casing
file_path: filePath,
lines,
})
Expand Down
3 changes: 2 additions & 1 deletion tensorboard/webapp/alert/alert_action_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,8 @@ describe('alert_effects', () => {

store = TestBed.inject<Store<State>>(Store) as MockStore<State>;
recordedActions = [];
spyOn(store, 'dispatch').and.callFake((action: Action) => {
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
(spyOn(store, 'dispatch') as jasmine.Spy).and.callFake((action: Action) => {
recordedActions.push(action);
});
});
Expand Down
3 changes: 2 additions & 1 deletion tensorboard/webapp/alert/views/alert_snackbar_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@ describe('alert snackbar', () => {
}).compileComponents();
store = TestBed.inject<Store<State>>(Store) as MockStore<State>;
recordedActions = [];
spyOn(store, 'dispatch').and.callFake((action: Action) => {
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
(spyOn(store, 'dispatch') as jasmine.Spy).and.callFake((action: Action) => {
recordedActions.push(action);
});
overlayContainer = TestBed.inject(OverlayContainer);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,8 @@ describe('app_routing_effects', () => {
store.overrideSelector(getRehydratedDeepLinks, []);
actualActions = [];

spyOn(store, 'dispatch').and.callFake((action: Action) => {
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
(spyOn(store, 'dispatch') as jasmine.Spy).and.callFake((action: Action) => {
actualActions.push(action);
});

Expand Down
3 changes: 2 additions & 1 deletion tensorboard/webapp/app_routing/views/router_link_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,8 @@ describe('router_link', () => {
AppRootProvider
) as TestableAppRootProvider;

spyOn(store, 'dispatch').and.callFake((action: Action) => {
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
(spyOn(store, 'dispatch') as jasmine.Spy).and.callFake((action: Action) => {
actualDispatches.push(action);
});
});
Expand Down
3 changes: 2 additions & 1 deletion tensorboard/webapp/core/effects/core_effects_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,8 @@ describe('core_effects', () => {
store = TestBed.inject<Store<State>>(Store) as MockStore<State>;

recordedActions = [];
spyOn(store, 'dispatch').and.callFake((action: Action) => {
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
(spyOn(store, 'dispatch') as jasmine.Spy).and.callFake((action: Action) => {
recordedActions.push(action);
});

Expand Down
3 changes: 2 additions & 1 deletion tensorboard/webapp/core/views/layout_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,8 @@ describe('layout test', () => {

dispatchedActions = [];
store = TestBed.inject<Store<State>>(Store) as MockStore<State>;
spyOn(store, 'dispatch').and.callFake((action: Action) => {
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
(spyOn(store, 'dispatch') as jasmine.Spy).and.callFake((action: Action) => {
dispatchedActions.push(action);
});
store.overrideSelector(getSideBarWidthInPercent, 10);
Expand Down
3 changes: 2 additions & 1 deletion tensorboard/webapp/header/dark_mode_toggle_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@ describe('dark mode toggle test', () => {
store.overrideSelector(getEnableDarkModeOverride, null);

dispatchedActions = [];
spyOn(store, 'dispatch').and.callFake((action: Action) => {
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
(spyOn(store, 'dispatch') as jasmine.Spy).and.callFake((action: Action) => {
dispatchedActions.push(action);
});

Expand Down
9 changes: 6 additions & 3 deletions tensorboard/webapp/hparams/_redux/hparams_effects_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,12 @@ describe('hparams effects', () => {
store = TestBed.inject<Store<State>>(Store) as MockStore<State>;

actualActions = [];
dispatchSpy = spyOn(store, 'dispatch').and.callFake((action: Action) => {
actualActions.push(action);
});
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
dispatchSpy = (spyOn(store, 'dispatch') as jasmine.Spy).and.callFake(
(action: Action) => {
actualActions.push(action);
}
);

effects = TestBed.inject(HparamsEffects);
dataSource = TestBed.inject(
Expand Down
3 changes: 2 additions & 1 deletion tensorboard/webapp/metrics/effects/metrics_effects_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,8 @@ describe('metrics effects', () => {
}).compileComponents();

store = TestBed.inject<Store<State>>(Store) as MockStore<State>;
spyOn(store, 'dispatch').and.callFake((action: Action) => {
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
(spyOn(store, 'dispatch') as jasmine.Spy).and.callFake((action: Action) => {
actualActions.push(action);
});
effects = TestBed.inject(MetricsEffects);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -236,9 +236,12 @@ describe('scalar column editor', () => {
let dispatchedActions: Action[] = [];
beforeEach(() => {
dispatchedActions = [];
spyOn(store, 'dispatch').and.callFake((action: Action) => {
dispatchedActions.push(action);
});
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
(spyOn(store, 'dispatch') as jasmine.Spy).and.callFake(
(action: Action) => {
dispatchedActions.push(action);
}
);
});

it('dispatches dataTableColumnToggled action with singe selection when checkbox is clicked', fakeAsync(() => {
Expand Down Expand Up @@ -320,9 +323,12 @@ describe('scalar column editor', () => {
let dispatchedActions: Action[] = [];
beforeEach(() => {
dispatchedActions = [];
spyOn(store, 'dispatch').and.callFake((action: Action) => {
dispatchedActions.push(action);
});
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
(spyOn(store, 'dispatch') as jasmine.Spy).and.callFake(
(action: Action) => {
dispatchedActions.push(action);
}
);
});

it('dispatches dataTableColumnOrderChanged action with single selection when header is dragged', fakeAsync(() => {
Expand Down Expand Up @@ -508,9 +514,12 @@ describe('scalar column editor', () => {
let dispatchedActions: Action[] = [];
beforeEach(() => {
dispatchedActions = [];
spyOn(store, 'dispatch').and.callFake((action: Action) => {
dispatchedActions.push(action);
});
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
(spyOn(store, 'dispatch') as jasmine.Spy).and.callFake(
(action: Action) => {
dispatchedActions.push(action);
}
);
});
it('dispatches metricsSlideoutMenuClosed', () => {
const fixture = createComponent();
Expand All @@ -527,9 +536,12 @@ describe('scalar column editor', () => {
let dispatchedActions: Action[] = [];
beforeEach(() => {
dispatchedActions = [];
spyOn(store, 'dispatch').and.callFake((action: Action) => {
dispatchedActions.push(action);
});
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
(spyOn(store, 'dispatch') as jasmine.Spy).and.callFake(
(action: Action) => {
dispatchedActions.push(action);
}
);
});
it('dispatches tableEditorTabChanged action when tab is clicked', fakeAsync(() => {
const fixture = createComponent();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,8 @@ describe('notification center effects', () => {
}).compileComponents();

store = TestBed.inject<Store<State>>(Store) as MockStore<State>;
spyOn(store, 'dispatch').and.callFake((action: Action) => {
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
(spyOn(store, 'dispatch') as jasmine.Spy).and.callFake((action: Action) => {
actualActions.push(action);
});
effects = TestBed.inject(NotificationCenterEffects);
Expand Down Expand Up @@ -96,7 +97,7 @@ describe('notification center effects', () => {

it('dispatches failed action when notification fetch failed', () => {
fetchNotificationsSpy.and.returnValue(
throwError(new Error('Request failed'))
throwError(() => new Error('Request failed'))
);
actions$.next(TEST_ONLY.initAction());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ describe('notification center', () => {
}).compileComponents();
store = TestBed.inject<Store<State>>(Store) as MockStore<State>;
recordedActions = [];
spyOn(store, 'dispatch').and.callFake((action: Action) => {
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
(spyOn(store, 'dispatch') as jasmine.Spy).and.callFake((action: Action) => {
recordedActions.push(action);
});
store.overrideSelector(selectors.getNotifications, []);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,12 @@ describe('persistent_settings effects test', () => {
}).compileComponents();

store = TestBed.inject<Store<any>>(Store) as MockStore<any>;
dispatchSpy = spyOn(store, 'dispatch').and.callFake((action: Action) => {
actualActions.push(action);
});
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
dispatchSpy = (spyOn(store, 'dispatch') as jasmine.Spy).and.callFake(
(action: Action) => {
actualActions.push(action);
}
);
effects = TestBed.inject(PersistentSettingsEffects);
const dataSource = TestBed.inject(PersistentSettingsTestingDataSource);
getSettingsSpy = spyOn(dataSource, 'getSettings').and.returnValue(of({}));
Expand Down
3 changes: 2 additions & 1 deletion tensorboard/webapp/runs/effects/runs_effects_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,8 @@ describe('runs_effects', () => {
selectSpy = spyOn(store, 'select').and.callThrough();

actualActions = [];
spyOn(store, 'dispatch').and.callFake((action: Action) => {
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
(spyOn(store, 'dispatch') as jasmine.Spy).and.callFake((action: Action) => {
actualActions.push(action);
});
effects = TestBed.inject(RunsEffects);
Expand Down
9 changes: 6 additions & 3 deletions tensorboard/webapp/runs/views/runs_table/filterbar_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,9 +95,12 @@ describe('hparam_filterbar', () => {
function createComponent(): ComponentFixture<TestableComponent> {
store = TestBed.inject<Store<State>>(Store) as MockStore<State>;
actualActions = [];
dispatchSpy = spyOn(store, 'dispatch').and.callFake((action: Action) => {
actualActions.push(action);
});
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
dispatchSpy = (spyOn(store, 'dispatch') as jasmine.Spy).and.callFake(
(action: Action) => {
actualActions.push(action);
}
);

const fixture = TestBed.createComponent(TestableComponent);
return fixture;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,9 +100,12 @@ describe('regex_edit_dialog', () => {
});
store.overrideSelector(getEnableColorByExperiment, true);
actualActions = [];
dispatchSpy = spyOn(store, 'dispatch').and.callFake((action: Action) => {
actualActions.push(action);
});
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
dispatchSpy = (spyOn(store, 'dispatch') as jasmine.Spy).and.callFake(
(action: Action) => {
actualActions.push(action);
}
);

return TestBed.createComponent(RegexEditDialogContainer);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ describe('legacy_runs_selector test', () => {
store = TestBed.inject<Store<State>>(Store) as MockStore<State>;

recordedActions = [];
spyOn(store, 'dispatch').and.callFake((action: Action) => {
// Cast to jasmine.Spy for compatibility between NgRx dispatch signature overloads.
(spyOn(store, 'dispatch') as jasmine.Spy).and.callFake((action: Action) => {
recordedActions.push(action);
});

Expand Down
Loading