@@ -67,20 +67,31 @@ export class AttachmentConfigurationService<
67
67
) ;
68
68
}
69
69
70
- const url = new URL (
71
- ( attachment . img_url ||
72
- attachment . thumb_url ||
73
- attachment . image_url ||
74
- '' ) as string
75
- ) ;
70
+ const defaultOriginalDimension = 1000000 ;
71
+ const urlString = ( attachment . img_url ||
72
+ attachment . thumb_url ||
73
+ attachment . image_url ||
74
+ '' ) as string ;
75
+ let url : URL ;
76
+ try {
77
+ url = new URL ( urlString ) ;
78
+ } catch ( error ) {
79
+ return {
80
+ url : urlString ,
81
+ width : '' , // Not set to respect responsive width
82
+ height : '' , // Set from CSS
83
+ originalHeight : defaultOriginalDimension ,
84
+ originalWidth : defaultOriginalDimension ,
85
+ } ;
86
+ }
76
87
const originalHeight =
77
88
Number ( url . searchParams . get ( 'oh' ) ) > 1
78
89
? Number ( url . searchParams . get ( 'oh' ) )
79
- : 1000000 ;
90
+ : defaultOriginalDimension ;
80
91
const originalWidth =
81
92
Number ( url . searchParams . get ( 'ow' ) ) > 1
82
93
? Number ( url . searchParams . get ( 'ow' ) )
83
- : 1000000 ;
94
+ : defaultOriginalDimension ;
84
95
const displayWarning = location === 'gallery' || location === 'single' ;
85
96
const sizeRestriction = this . getSizingRestrictions (
86
97
url ,
@@ -120,32 +131,37 @@ export class AttachmentConfigurationService<
120
131
) ;
121
132
}
122
133
123
- let thumbUrl = undefined ;
134
+ let thumbUrl : string | undefined = undefined ;
124
135
let originalHeight = 1000000 ;
125
136
let originalWidth = 1000000 ;
126
137
if ( attachment . thumb_url && this . shouldGenerateVideoThumbnail ) {
127
- const url = new URL ( attachment . thumb_url ) ;
128
- originalHeight =
129
- Number ( url . searchParams . get ( 'oh' ) ) > 1
130
- ? Number ( url . searchParams . get ( 'oh' ) )
131
- : originalHeight ;
132
- originalWidth =
133
- Number ( url . searchParams . get ( 'ow' ) ) > 1
134
- ? Number ( url . searchParams . get ( 'ow' ) )
135
- : originalWidth ;
136
- const displayWarning = true ;
137
- const sizeRestriction = this . getSizingRestrictions (
138
- url ,
139
- element ,
140
- displayWarning
141
- ) ;
138
+ let url : URL ;
139
+ try {
140
+ url = new URL ( attachment . thumb_url ) ;
142
141
143
- if ( sizeRestriction ) {
144
- sizeRestriction . height *= 2 ;
145
- sizeRestriction . width *= 2 ;
146
- this . addResizingParamsToUrl ( sizeRestriction , url ) ;
142
+ originalHeight =
143
+ Number ( url . searchParams . get ( 'oh' ) ) > 1
144
+ ? Number ( url . searchParams . get ( 'oh' ) )
145
+ : originalHeight ;
146
+ originalWidth =
147
+ Number ( url . searchParams . get ( 'ow' ) ) > 1
148
+ ? Number ( url . searchParams . get ( 'ow' ) )
149
+ : originalWidth ;
150
+ const displayWarning = true ;
151
+ const sizeRestriction = this . getSizingRestrictions (
152
+ url ,
153
+ element ,
154
+ displayWarning
155
+ ) ;
156
+ if ( sizeRestriction ) {
157
+ sizeRestriction . height *= 2 ;
158
+ sizeRestriction . width *= 2 ;
159
+ this . addResizingParamsToUrl ( sizeRestriction , url ) ;
160
+ }
161
+ thumbUrl = url . href ;
162
+ } catch {
163
+ thumbUrl = attachment . thumb_url ;
147
164
}
148
- thumbUrl = url . href ;
149
165
}
150
166
return {
151
167
url : attachment . asset_url || '' ,
0 commit comments