Skip to content

Commit 6772278

Browse files
authored
Merge pull request #975 from Codeinwp/refactor/default_compression
refactor: default settings for compression
2 parents cc650ef + 72b0f72 commit 6772278

File tree

6 files changed

+25
-28
lines changed

6 files changed

+25
-28
lines changed

assets/src/dashboard/parts/connected/settings/Compression.js

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ const Compression = ({
5555

5656
const isNetworkOptimizationEnabled = 'disabled' !== settings[ 'network_optimization' ];
5757
const isCDNEnabled = 'disabled' !== settings.cdn;
58-
const isAVIFEnabled = 'disabled' !== settings.avif;
5958
const isStripMetadataEnabled = 'disabled' !== settings[ 'strip_metadata' ];
6059
const isAutoQualityEnabled = 'disabled' !== settings.autoquality;
6160
const isBestFormatEnabled = 'disabled' !== settings[ 'best_format' ];
@@ -140,10 +139,10 @@ const Compression = ({
140139
setCanSave( true );
141140
const data = { ...settings };
142141
if ( 'speed_optimized' === value ) {
143-
data[ 'best_format' ] = 'disabled';
142+
data[ 'best_format' ] = 'enabled';
144143
data[ 'retina_images' ] = 'disabled';
145144
data[ 'network_optimization' ] = 'enabled';
146-
data.avif = 'mauto';
145+
data.avif = 'enabled';
147146
data.autoquality = 'enabled';
148147
data[ 'strip_metadata' ] = 'enabled';
149148
}
@@ -160,7 +159,6 @@ const Compression = ({
160159
data[ 'best_format' ] = ( customSettings.best_format ?? isBestFormatEnabled ) ? 'enabled' : 'disabled';
161160
data[ 'retina_images' ] = ( customSettings.retina_images ?? isRetinaEnabled ) ? 'enabled' : 'disabled';
162161
data[ 'network_optimization' ] = ( customSettings.network_optimization ?? isNetworkOptimizationEnabled ) ? 'enabled' : 'disabled';
163-
data.avif = ( customSettings.avif ?? isAVIFEnabled ) ? 'enabled' : 'disabled';
164162
data.autoquality = ( customSettings.autoquality ?? isAutoQualityEnabled ) ? 'enabled' : 'disabled';
165163
data[ 'strip_metadata' ] = ( customSettings.strip_metadata ?? isStripMetadataEnabled ) ? 'enabled' : 'disabled';
166164
}
@@ -280,21 +278,6 @@ const Compression = ({
280278
<hr className="my-8 border-grayish-blue"/>
281279

282280

283-
<ToggleControl
284-
label={ optimoleDashboardApp.strings.options_strings.enable_avif_title }
285-
help={ () => <p dangerouslySetInnerHTML={ { __html: optimoleDashboardApp.strings.options_strings.enable_avif_desc } } /> }
286-
checked={ isAVIFEnabled }
287-
disabled={ isLoading }
288-
className={ classnames(
289-
{
290-
'is-disabled': isLoading
291-
}
292-
) }
293-
onChange={ value => updateOption( 'avif', value ) }
294-
/>
295-
296-
<hr className="my-8 border-grayish-blue"/>
297-
298281
<ToggleControl
299282
label={ optimoleDashboardApp.strings.options_strings.strip_meta_title }
300283
help={ () => <p dangerouslySetInnerHTML={ { __html: optimoleDashboardApp.strings.options_strings.strip_meta_desc } } /> }

inc/admin.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -391,9 +391,7 @@ public function update_default_settings() {
391391

392392
$this->settings->update( 'limit_dimensions', 'enabled' );
393393
$this->settings->update( 'lazyload', 'enabled' );
394-
$this->settings->update( 'best_format', 'disabled' );
395394
$this->settings->update( 'skip_lazyload_images', '2' );
396-
$this->settings->update( 'avif', 'disabled' );
397395
$this->settings->update( 'compression_mode', 'speed_optimized' );
398396

399397
update_option( self::NEW_USER_DEFAULTS_UPDATED, 'yes' );
@@ -1771,7 +1769,7 @@ private function get_dashboard_strings() {
17711769
'best_format_title' => __( 'Automatic Best Image Format Selection', 'optimole-wp' ),
17721770
'best_format_desc' => sprintf(
17731771
/* translators: 1 is the starting anchor tag, 2 is the ending anchor tag */
1774-
__( 'When enabled, Optimole picks the ideal format for your images, balancing quality and speed. It tests different formats, like AVIF and WebP, ensuring images look good and load quickly. %1$sLearn more%2$s.', 'optimole-wp' ),
1772+
__( 'When enabled, Optimole chooses the best format for your images, balancing quality with speed. It tries options like AVIF and WebP to keep visuals sharp and pages fast, though uncached images may take a bit longer to process. %1$sLearn more%2$s.', 'optimole-wp' ),
17751773
'<a class="inline-block text-purple-gray underline" target=”_blank” href="https://docs.optimole.com/article/1942-best-format">',
17761774
'</a>'
17771775
),
@@ -1867,7 +1865,7 @@ private function get_dashboard_strings() {
18671865
'enable_resize_smart_title' => __( 'Smart Cropping', 'optimole-wp' ),
18681866
'enable_retina_desc' => sprintf(
18691867
/* translators: 1 is the starting anchor tag, 2 is the ending anchor tag */
1870-
__( 'Enable this feature to optimize your images for Retina displays. Retina-ready images are optimized to look sharp on screens with higher pixel density, offering viewers enhanced visual quality. %1$sLearn more%2$s', 'optimole-wp' ),
1868+
__( 'Optimizes images for Retina (high-DPI) screens for sharper results. Always enabled for images under 150px wide. %1$sLearn more%2$s', 'optimole-wp' ),
18711869
'<a class="inline-block text-purple-gray underline" target=”_blank” href="https://docs.optimole.com/article/1391-what-is-a-retina-image">',
18721870
'</a>'
18731871
),

inc/settings.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ class Optml_Settings {
8686
'img_to_video' => 'disabled',
8787
'css_minify' => 'enabled',
8888
'js_minify' => 'disabled',
89-
'avif' => 'enabled',
89+
'avif' => 'enabled', // legacy setting, is no longer used in the UI
9090
'autoquality' => 'enabled',
9191
'native_lazyload' => 'disabled',
9292
'offload_media' => 'disabled',

inc/url_replacer.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,22 @@ private function normalize_image( $url, $original_url, $args, $is_uploaded = fal
226226
$args['resize']['gravity'] = GravityProperty::SMART;
227227
}
228228

229+
$is_retina_enabled = $this->settings->get( 'retina_images' ) !== 'disabled';
230+
if ( ! $is_retina_enabled ) {
231+
$max_dimension = max( $args['width'], $args['height'] );
232+
$should_apply_dpr = false;
233+
234+
if ( $max_dimension > 0 && $max_dimension < 150 ) {
235+
$should_apply_dpr = true;
236+
}
237+
238+
$should_apply_dpr = apply_filters( 'optml_should_apply_dpr', $should_apply_dpr, $args, $url );
239+
240+
if ( $should_apply_dpr && ! isset( $args['dpr'] ) ) {
241+
$args['dpr'] = 2;
242+
}
243+
}
244+
229245
$args = apply_filters( 'optml_image_args', $args, $original_url );
230246
$image = Optimole::image( apply_filters( 'optml_processed_url', $url ), self::get_active_cache_booster( $url, $this->active_cache_buster ) );
231247

tests/test-lazyload.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ public function test_lazy_load_preserve_image_size() {
235235
$this->assertNotEquals( $replaced_content, $html );
236236
$this->assertStringNotContainsString( 'q:eco/rt:fill/g:ce', $replaced_content );
237237
$this->assertStringContainsString( '/rt:fill/g:ce', $replaced_content );
238-
$this->assertStringContainsString( '/w:96/h:96/q:eco/ig:avif/http://example.org/', $replaced_content );
238+
$this->assertStringContainsString( '/w:96/h:96/q:eco/f:best/dpr:2/http://example.org/', $replaced_content );
239239

240240
}
241241

@@ -248,7 +248,7 @@ public function test_width_100() {
248248

249249
$replaced_content = Optml_Manager::instance()->replace_content( $content );
250250

251-
$this->assertEquals( '<img decoding=async data-opt-id=1786304581 data-opt-src="https://test123.i.optimole.com/w:auto/h:auto/q:mauto/ig:avif/http://example.org/wp-content/uploads/2018/11/gradient.png" height="100%" src="https://test123.i.optimole.com/w:auto/h:auto/q:eco/ig:avif/http://example.org/wp-content/uploads/2018/11/gradient.png" class="at0px" width="100%"/><noscript><img decoding=async data-opt-id=1786304581 height="100%" src="https://test123.i.optimole.com/w:auto/h:auto/q:mauto/ig:avif/http://example.org/wp-content/uploads/2018/11/gradient.png" class="at0px" width="100%"/></noscript>', $replaced_content );
251+
$this->assertEquals( '<img decoding=async data-opt-id=1786304581 data-opt-src="https://test123.i.optimole.com/w:auto/h:auto/q:mauto/f:best/http://example.org/wp-content/uploads/2018/11/gradient.png" height="100%" src="https://test123.i.optimole.com/w:auto/h:auto/q:eco/f:best/http://example.org/wp-content/uploads/2018/11/gradient.png" class="at0px" width="100%"/><noscript><img decoding=async data-opt-id=1786304581 height="100%" src="https://test123.i.optimole.com/w:auto/h:auto/q:mauto/f:best/http://example.org/wp-content/uploads/2018/11/gradient.png" class="at0px" width="100%"/></noscript>', $replaced_content );
252252

253253
}
254254
public function test_check_with_no_script() {
@@ -542,7 +542,7 @@ public function test_generic_placeholder() {
542542

543543
public function test_dam_lazyloading() {
544544
$replaced_content = Optml_Manager::instance()->process_images_from_content( self::DAM_IMG_TAG );
545-
$this->assertStringContainsString( 'data-opt-src="https://cloudUrlTest.test/w:100/h:200/rt:fill/g:ce/ig:avif/q:mauto/id:b1b12ee03bf3945d9d9bb963ce79cd4f/https://test-site.test/9.jpg"', $replaced_content );
545+
$this->assertStringContainsString( 'data-opt-src="https://cloudUrlTest.test/w:100/h:200/rt:fill/g:ce/f:best/q:mauto/id:b1b12ee03bf3945d9d9bb963ce79cd4f/https://test-site.test/9.jpg"', $replaced_content );
546546
}
547547
public function test_dam_lazyloading_no_wh_attributes() {
548548
add_filter('optml_lazyload_images_skip','__return_zero');

tests/test-replacer.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ public function test_assets_url() {
346346
$this->assertStringContainsString( 'https://test123.i.optimole.com/cb:eFRn.20eff/f:js/q:mauto/m:0/http://example.org/wp-content/plugins/divi-bars/assets/js/snap.svg-min.js', $replaced_content );
347347
$this->assertStringContainsString( 'https://test123.i.optimole.com/cb:eFRn.20eff/f:css/q:mauto/m:1/http://example.org/wp-includes/js/hoverintent-js.min.png-random.css', $replaced_content );
348348
$this->assertStringContainsString( 'https://test123.i.optimole.com/cb:eFRn.20eff/f:js/q:mauto/m:0/http://example.org/wp-includes/js/assets/whatever.jpg.png.css.js', $replaced_content );
349-
$this->assertStringContainsString( 'https://test123.i.optimole.com/cb:eFRn.20eff/w:auto/h:auto/q:mauto/ig:avif/https://example.org/wp-includes/js/assets/whatever.jpg.jpg', $replaced_content );
349+
$this->assertStringContainsString( 'https://test123.i.optimole.com/cb:eFRn.20eff/w:auto/h:auto/q:mauto/f:best/https://example.org/wp-includes/js/assets/whatever.jpg.jpg', $replaced_content );
350350

351351
$settings = new Optml_Settings();
352352
$settings->update( 'css_minify', 'disabled' );

0 commit comments

Comments
 (0)