diff --git a/src/Web/StellaOps.Web/src/app/features/release-orchestrator/releases/release-list/release-list.component.ts b/src/Web/StellaOps.Web/src/app/features/release-orchestrator/releases/release-list/release-list.component.ts
index 04b5f1963..d3bb43af0 100644
--- a/src/Web/StellaOps.Web/src/app/features/release-orchestrator/releases/release-list/release-list.component.ts
+++ b/src/Web/StellaOps.Web/src/app/features/release-orchestrator/releases/release-list/release-list.component.ts
@@ -855,7 +855,9 @@ export class ReleaseListComponent implements OnInit, OnDestroy {
}
ngOnDestroy(): void {
- this.pageAction.clear();
+ if (!this.embedded) {
+ this.pageAction.clear();
+ }
}
onSearchInput(event: Event): void {
diff --git a/src/Web/StellaOps.Web/src/app/features/releases/releases-activity.component.ts b/src/Web/StellaOps.Web/src/app/features/releases/releases-activity.component.ts
index 5459e70b5..6026d28af 100644
--- a/src/Web/StellaOps.Web/src/app/features/releases/releases-activity.component.ts
+++ b/src/Web/StellaOps.Web/src/app/features/releases/releases-activity.component.ts
@@ -787,7 +787,10 @@ export class ReleasesActivityComponent implements OnInit, OnDestroy {
if (!apr) return;
this.approvalApi.approve(apr.id, 'Approved from deployments page').pipe(take(1)).subscribe({
next: () => { this.activeApr.set(null); this.loadPendingApprovals(); },
- error: () => this.activeApr.set(null),
+ error: (err) => {
+ this.activeApr.set(null);
+ this.error.set(`Approve failed: ${err?.message || 'API unavailable'}`);
+ },
});
}
onReject(apr: ApprovalRequest): void {
@@ -800,7 +803,11 @@ export class ReleasesActivityComponent implements OnInit, OnDestroy {
if (!apr) return;
this.approvalApi.reject(apr.id, this.rejectReason || 'Rejected from deployments page').pipe(take(1)).subscribe({
next: () => { this.showRejectDlg.set(false); this.activeApr.set(null); this.loadPendingApprovals(); },
- error: () => { this.showRejectDlg.set(false); this.activeApr.set(null); },
+ error: (err) => {
+ this.showRejectDlg.set(false);
+ this.activeApr.set(null);
+ this.error.set(`Reject failed: ${err?.message || 'API unavailable'}`);
+ },
});
}
cancelReject(): void { this.showRejectDlg.set(false); this.activeApr.set(null); }
diff --git a/src/Web/StellaOps.Web/src/app/features/releases/releases-unified-page.component.ts b/src/Web/StellaOps.Web/src/app/features/releases/releases-unified-page.component.ts
index e129eae38..5bc171b70 100644
--- a/src/Web/StellaOps.Web/src/app/features/releases/releases-unified-page.component.ts
+++ b/src/Web/StellaOps.Web/src/app/features/releases/releases-unified-page.component.ts
@@ -23,7 +23,7 @@ import { PlatformContextStore } from '../../core/context/platform-context.store'
import type { ReleaseWorkflowStatus } from '../../core/api/release-management.models';
const RELEASE_TABS: readonly StellaPageTab[] = [
- { id: 'pipeline', label: 'Pipeline', icon: 'M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z' },
+ { id: 'releases', label: 'Releases', icon: 'M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z' },
{ id: 'versions', label: 'Versions', icon: 'M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5' },
];
@@ -78,7 +78,7 @@ export interface PipelineRelease {