diff --git a/frontend/src/app/workspace/component/agent/agent-interaction/agent-interaction.component.scss b/frontend/src/app/workspace/component/agent/agent-interaction/agent-interaction.component.scss
index 54868203c23..18cb426bf1b 100644
--- a/frontend/src/app/workspace/component/agent/agent-interaction/agent-interaction.component.scss
+++ b/frontend/src/app/workspace/component/agent/agent-interaction/agent-interaction.component.scss
@@ -23,10 +23,6 @@
flex-direction: column;
background: #fafafa;
padding: 8px 12px;
-
- &.compact {
- padding: 6px 8px;
- }
}
// Visualization rendering
diff --git a/frontend/src/app/workspace/component/agent/agent-panel/agent-panel.component.html b/frontend/src/app/workspace/component/agent/agent-panel/agent-panel.component.html
index ee0aeb8764f..a2154d8e96f 100644
--- a/frontend/src/app/workspace/component/agent/agent-panel/agent-panel.component.html
+++ b/frontend/src/app/workspace/component/agent/agent-panel/agent-panel.component.html
@@ -47,7 +47,6 @@
[style.width.px]="width"
[style.height.px]="height"
(nzResize)="onResize($event)"
- (cdkDragStarted)="handleDragStart()"
[cdkDragFreeDragPosition]="dragPosition">
{
fixture.detectChanges();
expect(component.width).toBe(0);
- expect(component.isDocked).toBe(true);
expect(fixture.nativeElement.querySelector("#agent-docked-button")).toBeTruthy();
});
});
@@ -581,13 +580,6 @@ describe("AgentPanelComponent", () => {
expect(component.width).toBe(700);
expect(component.height).toBe(560);
});
-
- it("handleDragStart undocks the panel", () => {
- createComponent();
- component.isDocked = true;
- component.handleDragStart();
- expect(component.isDocked).toBe(false);
- });
});
describe("panel settings persistence", () => {
@@ -640,7 +632,6 @@ describe("AgentPanelComponent", () => {
expect(style.cssText).toBe("transform: translate3d(15px, 15px, 0px);");
expect(component.returnPosition).toEqual({ x: -15, y: -15 });
- expect(component.isDocked).toBe(false); // drag position (0,0) differs from (-15,-15)
});
it("counts as docked when the saved transform nets out to the origin", () => {
@@ -652,7 +643,6 @@ describe("AgentPanelComponent", () => {
expect(component.returnPosition.x === 0).toBe(true);
expect(component.returnPosition.y === 0).toBe(true);
- expect(component.isDocked).toBe(true);
});
it("persists dimensions, docked flag and container style, and deactivates the agent on destroy", () => {
@@ -819,10 +809,6 @@ describe("AgentPanelComponent", () => {
expect(drag.freeDragPosition).toEqual({ x: 11, y: 22 });
// The whole box is draggable but only the title is a handle.
expect(fixture.debugElement.query(By.directive(CdkDragHandle)).nativeElement.id).toBe("title");
-
- expect(component.isDocked).toBe(true);
- drag.started.emit({ source: drag } as CdkDragStart);
- expect(component.isDocked).toBe(false);
});
it("force-renders every tab body: the registration form and one chat per agent", () => {
diff --git a/frontend/src/app/workspace/component/agent/agent-panel/agent-panel.component.ts b/frontend/src/app/workspace/component/agent/agent-panel/agent-panel.component.ts
index 7d4a498dc4f..69c3527292a 100644
--- a/frontend/src/app/workspace/component/agent/agent-panel/agent-panel.component.ts
+++ b/frontend/src/app/workspace/component/agent/agent-panel/agent-panel.component.ts
@@ -83,7 +83,6 @@ export class AgentPanelComponent implements OnInit, OnDestroy, OnChanges {
id = -1;
dragPosition = { x: 0, y: 0 };
returnPosition = { x: 0, y: 0 };
- isDocked = true;
// Tab management
selectedTabIndex: number = 0; // 0 = registration tab, 1+ = agent tabs
@@ -183,7 +182,6 @@ export class AgentPanelComponent implements OnInit, OnDestroy, OnChanges {
} else {
// Close panel (dock it)
this.width = 0;
- this.isDocked = true;
}
}
@@ -338,13 +336,6 @@ export class AgentPanelComponent implements OnInit, OnDestroy, OnChanges {
});
}
- /**
- * Handle drag start
- */
- handleDragStart(): void {
- this.isDocked = false;
- }
-
/**
* Load panel settings from localStorage
*/
@@ -376,7 +367,6 @@ export class AgentPanelComponent implements OnInit, OnDestroy, OnChanges {
const translates = container.style.transform;
const [xOffset, yOffset] = calculateTotalTranslate3d(translates);
this.returnPosition = { x: -xOffset, y: -yOffset };
- this.isDocked = this.dragPosition.x === this.returnPosition.x && this.dragPosition.y === this.returnPosition.y;
}
}
}
diff --git a/frontend/src/app/workspace/component/agent/agent-panel/agent-registration/agent-registration.component.spec.ts b/frontend/src/app/workspace/component/agent/agent-panel/agent-registration/agent-registration.component.spec.ts
index daa220bf394..9c5fb03581f 100644
--- a/frontend/src/app/workspace/component/agent/agent-panel/agent-registration/agent-registration.component.spec.ts
+++ b/frontend/src/app/workspace/component/agent/agent-panel/agent-registration/agent-registration.component.spec.ts
@@ -80,7 +80,6 @@ describe("AgentRegistrationComponent", () => {
expect(component.modelTypes).toEqual([MODEL]);
expect(component.isLoadingModels).toBe(false);
- expect(component.hasLoadingError).toBe(false);
});
it("flags an error and notifies when no models are returned", () => {
@@ -88,7 +87,6 @@ describe("AgentRegistrationComponent", () => {
fixture.detectChanges();
expect(component.isLoadingModels).toBe(false);
- expect(component.hasLoadingError).toBe(true);
expect(notifyError).toHaveBeenCalledWith(expect.stringContaining("No models available"));
});
@@ -97,7 +95,6 @@ describe("AgentRegistrationComponent", () => {
fixture.detectChanges();
expect(component.isLoadingModels).toBe(false);
- expect(component.hasLoadingError).toBe(true);
expect(notifyError).toHaveBeenCalledWith("Failed to fetch models: boom");
});
@@ -108,7 +105,6 @@ describe("AgentRegistrationComponent", () => {
fetchModelTypes.mockReturnValue(throwError(() => "backend unreachable"));
fixture.detectChanges();
- expect(component.hasLoadingError).toBe(true);
expect(notifyError).toHaveBeenCalledWith("Failed to fetch models: backend unreachable");
});
diff --git a/frontend/src/app/workspace/component/agent/agent-panel/agent-registration/agent-registration.component.ts b/frontend/src/app/workspace/component/agent/agent-panel/agent-registration/agent-registration.component.ts
index f8bcfff4628..ef774219718 100644
--- a/frontend/src/app/workspace/component/agent/agent-panel/agent-registration/agent-registration.component.ts
+++ b/frontend/src/app/workspace/component/agent/agent-panel/agent-registration/agent-registration.component.ts
@@ -62,7 +62,6 @@ export class AgentRegistrationComponent implements OnInit, OnDestroy {
public selectedModelType: string | null = null;
public customAgentName: string = "Texera Agent";
public isLoadingModels: boolean = false;
- public hasLoadingError: boolean = false;
public computingUnitConnected: boolean = false;
public isCreating: boolean = false;
@@ -77,7 +76,6 @@ export class AgentRegistrationComponent implements OnInit, OnDestroy {
ngOnInit(): void {
this.isLoadingModels = true;
- this.hasLoadingError = false;
this.computingUnitStatusService
.getStatus()
@@ -94,13 +92,11 @@ export class AgentRegistrationComponent implements OnInit, OnDestroy {
this.modelTypes = models;
this.isLoadingModels = false;
if (models.length === 0) {
- this.hasLoadingError = true;
this.notificationService.error("No models available. Please check the LiteLLM configuration.");
}
},
error: (error: unknown) => {
this.isLoadingModels = false;
- this.hasLoadingError = true;
const errorMessage = error instanceof Error ? error.message : String(error);
this.notificationService.error(`Failed to fetch models: ${errorMessage}`);
},