From 8cba7899db716db439b3811c1e459eae9eb0acad Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Wed, 11 Mar 2026 14:12:53 -0400 Subject: [PATCH] fix: correct convert_file API path from /v3/action/hosted_file to /hosted_file The endpoint is registered under the older hosted_file router at /hosted_file/{id}/convert_file, not under the v3 actions router. Both list and table convert buttons were sending to the wrong path. Co-Authored-By: Claude Sonnet 4.6 --- src/lib/elements/element_manage_event_file_li.svelte | 8 ++------ src/routes/events/ae_comp__event_file_obj_tbl.svelte | 4 ++-- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/lib/elements/element_manage_event_file_li.svelte b/src/lib/elements/element_manage_event_file_li.svelte index c1de6083..b213b2e7 100644 --- a/src/lib/elements/element_manage_event_file_li.svelte +++ b/src/lib/elements/element_manage_event_file_li.svelte @@ -80,7 +80,7 @@ // WHY: Poster sessions display files in the Launcher modal via tag — PDFs can't render there. // Presenters upload PDFs which must be converted server-side to high-res webp images. // Button is only shown in edit_mode for PDF files linked to a poster-type session. - // Backend: /v3/action/hosted_file/{id}/convert_file runs pdf2image (3840px wide, first page only) + // Backend: /hosted_file/{id}/convert_file runs pdf2image (3840px wide, first page only) // and saves the result as a new hosted_file record linked to the same parent object. type ConvertStatus = 'idle' | 'converting' | 'done' | 'error'; let convert_status_kv: Record = $state({}); @@ -98,7 +98,7 @@ || event_file_obj.event_presentation_id || event_file_obj.event_id; const filename_no_ext = (event_file_obj.filename ?? 'poster_image').replace(/\.pdf$/i, ''); - const url = `${$ae_api.base_url}/v3/action/hosted_file/${event_file_obj.hosted_file_id}/convert_file` + const url = `${$ae_api.base_url}/hosted_file/${event_file_obj.hosted_file_id}/convert_file` + `?link_to_type=${encodeURIComponent(link_to_type_val)}` + `&link_to_id=${encodeURIComponent(link_to_id_val)}` + `&filename_no_ext=${encodeURIComponent(filename_no_ext)}` @@ -281,10 +281,6 @@ {/if} - {:else} - - test test test - {/if} {#if ae_tmp.show__direct_download} diff --git a/src/routes/events/ae_comp__event_file_obj_tbl.svelte b/src/routes/events/ae_comp__event_file_obj_tbl.svelte index dc19c7ba..825285cb 100644 --- a/src/routes/events/ae_comp__event_file_obj_tbl.svelte +++ b/src/routes/events/ae_comp__event_file_obj_tbl.svelte @@ -69,7 +69,7 @@ // WHY: Poster sessions display files in the Launcher modal via tag — PDFs can't render there. // Presenters upload PDFs which must be converted server-side to high-res webp images. // Button is only shown in edit_mode for PDF files linked to a poster-type session. - // Backend: /v3/action/hosted_file/{id}/convert_file runs pdf2image (3840px wide, first page only) + // Backend: /hosted_file/{id}/convert_file runs pdf2image (3840px wide, first page only) // and saves the result as a new hosted_file record linked to the same parent object. type ConvertStatus = 'idle' | 'converting' | 'done' | 'error'; let convert_status_kv: Record = $state({}); @@ -87,7 +87,7 @@ || event_file_obj.event_presentation_id || event_file_obj.event_id; const filename_no_ext = (event_file_obj.filename ?? 'poster_image').replace(/\.pdf$/i, ''); - const url = `${$ae_api.base_url}/v3/action/hosted_file/${event_file_obj.hosted_file_id}/convert_file` + const url = `${$ae_api.base_url}/hosted_file/${event_file_obj.hosted_file_id}/convert_file` + `?link_to_type=${encodeURIComponent(link_to_type)}` + `&link_to_id=${encodeURIComponent(link_to_id)}` + `&filename_no_ext=${encodeURIComponent(filename_no_ext)}`