From ddfb2ea96843f97e84dfe9bcc65099edc64686e7 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 16 Jun 2026 14:17:57 +0200 Subject: [PATCH] [Glitch] Fixes being unable to edit an attachment twice without submitting Port 3109a5a4d8612ba2d9468a2151cafbe738598099 to glitch-soc Signed-off-by: Claire --- .../flavours/glitch/actions/compose.js | 56 ------------------- .../flavours/glitch/actions/compose_typed.ts | 7 ++- 2 files changed, 4 insertions(+), 59 deletions(-) diff --git a/app/javascript/flavours/glitch/actions/compose.js b/app/javascript/flavours/glitch/actions/compose.js index a2f0927f4a..8f66e5c668 100644 --- a/app/javascript/flavours/glitch/actions/compose.js +++ b/app/javascript/flavours/glitch/actions/compose.js @@ -64,10 +64,6 @@ export const COMPOSE_LANGUAGE_CHANGE = 'COMPOSE_LANGUAGE_CHANGE'; export const COMPOSE_EMOJI_INSERT = 'COMPOSE_EMOJI_INSERT'; -export const COMPOSE_UPLOAD_CHANGE_REQUEST = 'COMPOSE_UPLOAD_UPDATE_REQUEST'; -export const COMPOSE_UPLOAD_CHANGE_SUCCESS = 'COMPOSE_UPLOAD_UPDATE_SUCCESS'; -export const COMPOSE_UPLOAD_CHANGE_FAIL = 'COMPOSE_UPLOAD_UPDATE_FAIL'; - export const COMPOSE_DOODLE_SET = 'COMPOSE_DOODLE_SET'; export const COMPOSE_POLL_ADD = 'COMPOSE_POLL_ADD'; @@ -495,58 +491,6 @@ export function onChangeMediaFocus(focusX, focusY) { }; } -export function changeUploadCompose(id, params) { - return (dispatch, getState) => { - dispatch(changeUploadComposeRequest()); - - let media = getState().getIn(['compose', 'media_attachments']).find((item) => item.get('id') === id); - - // Editing already-attached media is deferred to editing the post itself. - // For simplicity's sake, fake an API reply. - if (media && !media.get('unattached')) { - const { focus, ...other } = params; - const data = { ...media.toJS(), ...other }; - - if (focus) { - const [x, y] = focus.split(','); - data.meta = { focus: { x: parseFloat(x), y: parseFloat(y) } }; - } - - dispatch(changeUploadComposeSuccess(data, true)); - } else { - api().put(`/api/v1/media/${id}`, params).then(response => { - dispatch(changeUploadComposeSuccess(response.data, false)); - }).catch(error => { - dispatch(changeUploadComposeFail(id, error)); - }); - } - }; -} - -export function changeUploadComposeRequest() { - return { - type: COMPOSE_UPLOAD_CHANGE_REQUEST, - skipLoading: true, - }; -} - -export function changeUploadComposeSuccess(media, attached) { - return { - type: COMPOSE_UPLOAD_CHANGE_SUCCESS, - media: media, - attached: attached, - skipLoading: true, - }; -} - -export function changeUploadComposeFail(error) { - return { - type: COMPOSE_UPLOAD_CHANGE_FAIL, - error: error, - skipLoading: true, - }; -} - export function uploadComposeRequest() { return { type: COMPOSE_UPLOAD_REQUEST, diff --git a/app/javascript/flavours/glitch/actions/compose_typed.ts b/app/javascript/flavours/glitch/actions/compose_typed.ts index ffbcd7a3f5..d89157e534 100644 --- a/app/javascript/flavours/glitch/actions/compose_typed.ts +++ b/app/javascript/flavours/glitch/actions/compose_typed.ts @@ -49,7 +49,7 @@ const messages = defineMessages({ }); type SimulatedMediaAttachmentJSON = ApiMediaAttachmentJSON & { - unattached?: boolean; + attached?: boolean; }; const simulateModifiedApiResponse = ( @@ -67,7 +67,8 @@ const simulateModifiedApiResponse = ( y: parseFloat(y ?? '0'), }, }, - } as unknown as SimulatedMediaAttachmentJSON; + attached: true, + } as SimulatedMediaAttachmentJSON; return data; }; @@ -137,7 +138,7 @@ export const changeUploadCompose = createDataLoadingThunk( (media: SimulatedMediaAttachmentJSON) => { return { media, - attached: typeof media.unattached !== 'undefined' && !media.unattached, + attached: typeof media.attached !== 'undefined' && media.attached, }; }, {