Skip to content

Commit f16e052

Browse files
committed
Merge tag '26.11.1' into develop
Don't send delete request to API when deleting preprint draft
2 parents 15565b2 + ccc529f commit f16e052

14 files changed

Lines changed: 16 additions & 88 deletions

CHANGELOG

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
We follow the CalVer (https://calver.org/) versioning scheme: YY.MINOR.MICRO.
44

5+
26.11.1 (2026-06-10)
6+
====================
7+
8+
* Don't send delete request to API when deleting preprint draft
9+
510
26.11.0 (2026-05-27)
611
====================
712

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "osf",
3-
"version": "26.11.0",
3+
"version": "26.11.1",
44
"scripts": {
55
"ng": "ng",
66
"analyze-bundle": "ng build --configuration=analyze-bundle && source-map-explorer dist/**/*.js --no-border-checks",
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
export interface ConfirmDeleteDraftOptions {
2-
onDelete: () => void;
32
onReset: () => void;
43
redirectUrl: string;
54
}

src/app/features/preprints/pages/create-new-version/create-new-version.component.spec.ts

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,7 @@ import { PreprintSteps } from '../../enums';
3333
import { PreprintProviderDetails } from '../../models';
3434
import { PreprintDraftDeletionService } from '../../services/preprint-draft-deletion.service';
3535
import { GetPreprintProviderById, PreprintProvidersSelectors } from '../../store/preprint-providers';
36-
import {
37-
DeletePreprint,
38-
FetchPreprintById,
39-
PreprintStepperSelectors,
40-
ResetPreprintStepperState,
41-
} from '../../store/preprint-stepper';
36+
import { FetchPreprintById, PreprintStepperSelectors, ResetPreprintStepperState } from '../../store/preprint-stepper';
4237

4338
import { CreateNewVersionComponent } from './create-new-version.component';
4439

@@ -130,16 +125,14 @@ describe('CreateNewVersionComponent', () => {
130125
expect(browserTabMock.updateTabStyles).toHaveBeenCalledWith(mockProvider.faviconUrl, mockProvider.name);
131126
});
132127

133-
it('should reset services, delegate destroy delete, and reset stepper state', () => {
128+
it('should reset services and reset stepper state on destroy', () => {
134129
setup();
135130

136131
component.ngOnDestroy();
137132

138133
expect(headerStyleMock.resetToDefaults).toHaveBeenCalled();
139134
expect(brandServiceMock.resetBranding).toHaveBeenCalled();
140135
expect(browserTabMock.resetToDefaults).toHaveBeenCalled();
141-
expect(draftDeletionMock.deleteOnDestroyIfNeeded).toHaveBeenCalledWith(expect.any(Function));
142-
expect(store.dispatch).toHaveBeenCalledWith(new DeletePreprint());
143136
expect(store.dispatch).toHaveBeenCalledWith(new ResetPreprintStepperState());
144137
});
145138

@@ -227,7 +220,6 @@ describe('CreateNewVersionComponent', () => {
227220
expect(draftDeletionMock.confirmDeleteDraft).toHaveBeenCalledWith(
228221
expect.objectContaining({
229222
redirectUrl: '/my-preprints',
230-
onDelete: expect.any(Function),
231223
onReset: expect.any(Function),
232224
})
233225
);

src/app/features/preprints/pages/create-new-version/create-new-version.component.ts

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,7 @@ import { createNewVersionStepsConst } from '../../constants';
3333
import { PreprintSteps } from '../../enums';
3434
import { PreprintDraftDeletionService } from '../../services/preprint-draft-deletion.service';
3535
import { GetPreprintProviderById, PreprintProvidersSelectors } from '../../store/preprint-providers';
36-
import {
37-
DeletePreprint,
38-
FetchPreprintById,
39-
PreprintStepperSelectors,
40-
ResetPreprintStepperState,
41-
} from '../../store/preprint-stepper';
36+
import { FetchPreprintById, PreprintStepperSelectors, ResetPreprintStepperState } from '../../store/preprint-stepper';
4237

4338
@Component({
4439
selector: 'osf-create-new-version',
@@ -65,7 +60,6 @@ export class CreateNewVersionComponent implements OnDestroy, CanDeactivateCompon
6560
getPreprintProviderById: GetPreprintProviderById,
6661
fetchPreprint: FetchPreprintById,
6762
resetState: ResetPreprintStepperState,
68-
deletePreprint: DeletePreprint,
6963
});
7064

7165
readonly preprintProvider = select(PreprintProvidersSelectors.getPreprintProviderDetails(this.providerId()));
@@ -109,8 +103,6 @@ export class CreateNewVersionComponent implements OnDestroy, CanDeactivateCompon
109103
this.brandService.resetBranding();
110104
this.browserTabHelper.resetToDefaults();
111105

112-
this.draftDeletionService.deleteOnDestroyIfNeeded(() => this.actions.deletePreprint());
113-
114106
this.actions.resetState();
115107
}
116108

@@ -144,7 +136,6 @@ export class CreateNewVersionComponent implements OnDestroy, CanDeactivateCompon
144136

145137
requestDeletePreprint(): void {
146138
this.draftDeletionService.confirmDeleteDraft({
147-
onDelete: () => this.actions.deletePreprint(),
148139
onReset: () => this.actions.resetState(),
149140
redirectUrl: '/my-preprints',
150141
});

src/app/features/preprints/pages/submit-preprint-stepper/submit-preprint-stepper.component.spec.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ import { PreprintSteps } from '../../enums';
3636
import { PreprintProviderDetails } from '../../models';
3737
import { PreprintDraftDeletionService } from '../../services/preprint-draft-deletion.service';
3838
import { GetPreprintProviderById, PreprintProvidersSelectors } from '../../store/preprint-providers';
39-
import { DeletePreprint, PreprintStepperSelectors, ResetPreprintStepperState } from '../../store/preprint-stepper';
39+
import { PreprintStepperSelectors, ResetPreprintStepperState } from '../../store/preprint-stepper';
4040

4141
import { SubmitPreprintStepperComponent } from './submit-preprint-stepper.component';
4242

@@ -130,16 +130,14 @@ describe('SubmitPreprintStepperComponent', () => {
130130
expect(browserTabMock.updateTabStyles).toHaveBeenCalledWith(mockProvider.faviconUrl, mockProvider.name);
131131
});
132132

133-
it('should reset services, delegate destroy delete, and reset stepper state', () => {
133+
it('should reset services and reset stepper state on destroy', () => {
134134
setup();
135135

136136
component.ngOnDestroy();
137137

138138
expect(headerStyleMock.resetToDefaults).toHaveBeenCalled();
139139
expect(brandServiceMock.resetBranding).toHaveBeenCalled();
140140
expect(browserTabMock.resetToDefaults).toHaveBeenCalled();
141-
expect(draftDeletionMock.deleteOnDestroyIfNeeded).toHaveBeenCalledWith(expect.any(Function));
142-
expect(store.dispatch).toHaveBeenCalledWith(new DeletePreprint());
143141
expect(store.dispatch).toHaveBeenCalledWith(new ResetPreprintStepperState());
144142
});
145143

@@ -287,7 +285,6 @@ describe('SubmitPreprintStepperComponent', () => {
287285
expect(draftDeletionMock.confirmDeleteDraft).toHaveBeenCalledWith(
288286
expect.objectContaining({
289287
redirectUrl: '/preprints',
290-
onDelete: expect.any(Function),
291288
onReset: expect.any(Function),
292289
})
293290
);

src/app/features/preprints/pages/submit-preprint-stepper/submit-preprint-stepper.component.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ import { submitPreprintSteps } from '../../constants';
3939
import { PreprintSteps } from '../../enums';
4040
import { PreprintDraftDeletionService } from '../../services/preprint-draft-deletion.service';
4141
import { GetPreprintProviderById, PreprintProvidersSelectors } from '../../store/preprint-providers';
42-
import { DeletePreprint, PreprintStepperSelectors, ResetPreprintStepperState } from '../../store/preprint-stepper';
42+
import { PreprintStepperSelectors, ResetPreprintStepperState } from '../../store/preprint-stepper';
4343

4444
@Component({
4545
selector: 'osf-submit-preprint-stepper',
@@ -74,7 +74,6 @@ export class SubmitPreprintStepperComponent implements OnDestroy, CanDeactivateC
7474
private actions = createDispatchMap({
7575
getPreprintProviderById: GetPreprintProviderById,
7676
resetState: ResetPreprintStepperState,
77-
deletePreprint: DeletePreprint,
7877
});
7978

8079
preprintProvider = select(PreprintProvidersSelectors.getPreprintProviderDetails(this.providerId()));
@@ -133,14 +132,11 @@ export class SubmitPreprintStepperComponent implements OnDestroy, CanDeactivateC
133132
this.brandService.resetBranding();
134133
this.browserTabHelper.resetToDefaults();
135134

136-
this.draftDeletionService.deleteOnDestroyIfNeeded(() => this.actions.deletePreprint());
137-
138135
this.actions.resetState();
139136
}
140137

141138
requestDeletePreprint(): void {
142139
this.draftDeletionService.confirmDeleteDraft({
143-
onDelete: () => this.actions.deletePreprint(),
144140
onReset: () => this.actions.resetState(),
145141
redirectUrl: '/preprints',
146142
});

src/app/features/preprints/pages/update-preprint-stepper/update-preprint-stepper.component.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,7 @@ import { TitleAndAbstractStepComponent } from '../../components/stepper/title-an
3737
import { submitPreprintSteps } from '../../constants';
3838
import { PreprintSteps, ProviderReviewsWorkflow, ReviewsState } from '../../enums';
3939
import { GetPreprintProviderById, PreprintProvidersSelectors } from '../../store/preprint-providers';
40-
import {
41-
DeletePreprint,
42-
FetchPreprintById,
43-
PreprintStepperSelectors,
44-
ResetPreprintStepperState,
45-
} from '../../store/preprint-stepper';
40+
import { FetchPreprintById, PreprintStepperSelectors, ResetPreprintStepperState } from '../../store/preprint-stepper';
4641

4742
@Component({
4843
selector: 'osf-update-preprint-stepper',
@@ -76,7 +71,6 @@ export class UpdatePreprintStepperComponent implements OnDestroy, CanDeactivateC
7671
getPreprintProviderById: GetPreprintProviderById,
7772
resetState: ResetPreprintStepperState,
7873
fetchPreprint: FetchPreprintById,
79-
deletePreprint: DeletePreprint,
8074
});
8175

8276
readonly preprintProvider = select(PreprintProvidersSelectors.getPreprintProviderDetails(this.providerId()));

src/app/features/preprints/services/preprint-draft-deletion.service.spec.ts

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,10 @@ describe('PreprintDraftDeletionService', () => {
4444
expect(service).toBeTruthy();
4545
});
4646

47-
it('should open confirm delete and run delete, reset, toast, navigate on confirm', () => {
48-
const onDelete = vi.fn();
47+
it('should open confirm delete and run reset, toast, navigate on confirm', () => {
4948
const onReset = vi.fn();
5049

5150
service.confirmDeleteDraft({
52-
onDelete,
5351
onReset,
5452
redirectUrl: '/preprints',
5553
});
@@ -63,34 +61,22 @@ describe('PreprintDraftDeletionService', () => {
6361
const { onConfirm } = confirmationMock.confirmDelete.mock.calls[0][0];
6462
onConfirm();
6563

66-
expect(onDelete).toHaveBeenCalled();
6764
expect(onReset).toHaveBeenCalled();
6865
expect(toastMock.showSuccess).toHaveBeenCalledWith('preprints.preprintStepper.deleteDraft.success');
6966
expect(routerMock.navigateByUrl).toHaveBeenCalledWith('/preprints');
7067
});
7168

72-
it('should allow canDeactivate and skip deleteOnDestroy after confirmed delete', () => {
73-
const onDelete = vi.fn();
69+
it('should allow canDeactivate after confirmed delete', () => {
7470
const onReset = vi.fn();
7571

76-
service.confirmDeleteDraft({ onDelete, onReset, redirectUrl: '/x' });
72+
service.confirmDeleteDraft({ onReset, redirectUrl: '/x' });
7773
const { onConfirm } = confirmationMock.confirmDelete.mock.calls[0][0];
7874
onConfirm();
7975

8076
expect(service.canDeactivate(false)).toBe(true);
81-
82-
const destroyDelete = vi.fn();
83-
service.deleteOnDestroyIfNeeded(destroyDelete);
84-
expect(destroyDelete).not.toHaveBeenCalled();
8577
});
8678

8779
it('should return canDeactivate true when submitted', () => {
8880
expect(service.canDeactivate(true)).toBe(true);
8981
});
90-
91-
it('should call deleteOnDestroy when not yet deleted', () => {
92-
const destroyDelete = vi.fn();
93-
service.deleteOnDestroyIfNeeded(destroyDelete);
94-
expect(destroyDelete).toHaveBeenCalled();
95-
});
9682
});

src/app/features/preprints/services/preprint-draft-deletion.service.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,12 @@ export class PreprintDraftDeletionService {
1818
return hasBeenSubmitted || this.preprintDeleted;
1919
}
2020

21-
deleteOnDestroyIfNeeded(onDelete: () => void): void {
22-
if (!this.preprintDeleted) {
23-
onDelete();
24-
}
25-
}
26-
2721
confirmDeleteDraft(options: ConfirmDeleteDraftOptions): void {
2822
this.customConfirmationService.confirmDelete({
2923
headerKey: 'preprints.preprintStepper.deleteDraft.header',
3024
messageKey: 'preprints.preprintStepper.deleteDraft.message',
3125
onConfirm: () => {
3226
this.preprintDeleted = true;
33-
options.onDelete();
3427
options.onReset();
3528
this.toastService.showSuccess('preprints.preprintStepper.deleteDraft.success');
3629
this.router.navigateByUrl(options.redirectUrl);

0 commit comments

Comments
 (0)