@@ -103,14 +103,15 @@ const useRelaySettings = () => {
103103
104104 // Extract mime types and file sizes from actual backend format
105105 const mediaDefinitions = backendData . event_filtering . media_definitions || { } ;
106- settings . photos = mediaDefinitions . image ?. mimepatterns || [ ] ;
107- settings . videos = mediaDefinitions . video ?. mimepatterns || [ ] ;
108- settings . audio = mediaDefinitions . audio ?. mimepatterns || [ ] ;
106+ // Handle both old and new field names for backward compatibility
107+ settings . photos = mediaDefinitions . image ?. mime_patterns || mediaDefinitions . image ?. mimepatterns || [ ] ;
108+ settings . videos = mediaDefinitions . video ?. mime_patterns || mediaDefinitions . video ?. mimepatterns || [ ] ;
109+ settings . audio = mediaDefinitions . audio ?. mime_patterns || mediaDefinitions . audio ?. mimepatterns || [ ] ;
109110
110- // Extract file size limits
111- settings . photoMaxSizeMB = mediaDefinitions . image ?. maxsizemb || 100 ;
112- settings . videoMaxSizeMB = mediaDefinitions . video ?. maxsizemb || 500 ;
113- settings . audioMaxSizeMB = mediaDefinitions . audio ?. maxsizemb || 100 ;
111+ // Extract file size limits (handle both old and new field names)
112+ settings . photoMaxSizeMB = mediaDefinitions . image ?. max_size_mb || mediaDefinitions . image ?. maxsizemb || 100 ;
113+ settings . videoMaxSizeMB = mediaDefinitions . video ?. max_size_mb || mediaDefinitions . video ?. maxsizemb || 500 ;
114+ settings . audioMaxSizeMB = mediaDefinitions . audio ?. max_size_mb || mediaDefinitions . audio ?. maxsizemb || 100 ;
114115
115116 // Set protocols
116117 if ( backendData . event_filtering . protocols ?. enabled ) {
@@ -141,32 +142,24 @@ const useRelaySettings = () => {
141142 } , [ ] ) ;
142143
143144 const transformToBackendSettings = useCallback ( ( settings : Settings ) => {
144- const mediaDefinitions : any = { } ;
145-
146- // Create media definitions in the format backend expects
147- if ( settings . photos . length > 0 ) {
148- mediaDefinitions . image = {
149- mimepatterns : settings . photos ,
145+ // Always create media definitions with correct field names to avoid backend conflicts
146+ const mediaDefinitions = {
147+ image : {
148+ mime_patterns : settings . photos , // Only send correct field name
150149 extensions : [ ".jpg" , ".jpeg" , ".png" , ".gif" , ".webp" ] ,
151- maxsizemb : settings . photoMaxSizeMB
152- } ;
153- }
154-
155- if ( settings . videos . length > 0 ) {
156- mediaDefinitions . video = {
157- mimepatterns : settings . videos ,
150+ max_size_mb : settings . photoMaxSizeMB // Only send correct field name
151+ } ,
152+ video : {
153+ mime_patterns : settings . videos , // Only send correct field name
158154 extensions : [ ".mp4" , ".webm" , ".avi" , ".mov" ] ,
159- maxsizemb : settings . videoMaxSizeMB
160- } ;
161- }
162-
163- if ( settings . audio . length > 0 ) {
164- mediaDefinitions . audio = {
165- mimepatterns : settings . audio ,
155+ max_size_mb : settings . videoMaxSizeMB // Only send correct field name
156+ } ,
157+ audio : {
158+ mime_patterns : settings . audio , // Only send correct field name
166159 extensions : [ ".mp3" , ".wav" , ".ogg" , ".flac" ] ,
167- maxsizemb : settings . audioMaxSizeMB
168- } ;
169- }
160+ max_size_mb : settings . audioMaxSizeMB // Only send correct field name
161+ }
162+ } ;
170163
171164 return {
172165 settings : {
0 commit comments