Skip to content

Development #879

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 177 commits into from
Apr 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
177 commits
Select commit Hold shift + click to select a range
88f0166
build(deps-dev): bump php-stubs/wp-cli-stubs from 2.10.0 to 2.11.0
dependabot[bot] Dec 2, 2024
441daf7
build(deps): bump enshrined/svg-sanitize from 0.20.0 to 0.21.0
dependabot[bot] Feb 3, 2025
4cf3df1
feat: load Formbricks survey via internal pages hooks
Soare-Robert-Daniel Feb 19, 2025
b8ba859
Sync branch [skip ci]
pirate-bot Feb 21, 2025
65e95e6
Sync branch [skip ci]
pirate-bot Feb 21, 2025
af424bc
Sync branch [skip ci]
pirate-bot Feb 28, 2025
61ad3f8
fix: filter control placeholder text
girishpanchal30 Mar 4, 2025
aeb482f
fix: GHA build zip error
girishpanchal30 Mar 4, 2025
ba13250
Merge pull request #877 from Codeinwp/fix/683
selul Mar 4, 2025
18d3564
fix: detach listeners after adding image
girishpanchal30 Mar 4, 2025
516651e
Merge pull request #874 from Codeinwp/refactor/internal-pages
selul Mar 4, 2025
2c9e26b
Merge pull request #878 from Codeinwp/fix/670
selul Mar 4, 2025
37e7793
feat: add reference source
girishpanchal30 Mar 5, 2025
a506af1
fix: image downsize issue when lazyload disabled
girishpanchal30 Mar 6, 2025
96ef77a
fix: always show conflict notice
girishpanchal30 Mar 6, 2025
6a503f2
Merge pull request #880 from Codeinwp/feat/opml-service/1295
selul Mar 11, 2025
892838e
fix alignament
selul Mar 11, 2025
ee8c4e5
fix: reset exclusions filter values
girishpanchal30 Mar 12, 2025
a692c0b
Merge pull request #884 from Codeinwp/bugfix/681
selul Mar 12, 2025
79837b7
Merge pull request #882 from Codeinwp/bugfix/1373
selul Mar 12, 2025
e3ad1dc
Merge pull request #881 from Codeinwp/bugfix/704
selul Mar 12, 2025
e36dc18
feat: video player and embed block integration
abaicus Mar 12, 2025
fe8ddae
feat: improve plugin first screen
girishpanchal30 Mar 13, 2025
f7cc90e
Sync branch [skip ci]
pirate-bot Mar 13, 2025
ffbaa6e
feat: add badge settings
girishpanchal30 Mar 17, 2025
0f05cb3
feat: use Tailwind preset values
girishpanchal30 Mar 17, 2025
5621f4f
fix: reduce loading time for plugin connection [closes Codeinwp/optim…
abaicus Mar 17, 2025
d270dce
Use default class and vars
girishpanchal30 Mar 17, 2025
ef277d4
remove text-26 class
girishpanchal30 Mar 17, 2025
8640f6d
Trigger rollback on deactivation
selul Mar 17, 2025
7d0a7f1
Remove badge setting option
girishpanchal30 Mar 18, 2025
73296e8
fix: js lint
girishpanchal30 Mar 18, 2025
52c8e12
fix settings cached options
selul Mar 18, 2025
e4ff594
Merge pull request #886 from Codeinwp/feat/opml-service/1335
selul Mar 18, 2025
b810d1c
remove leftover code
selul Mar 18, 2025
a2bb93c
feat: add button for direct cloud library access
girishpanchal30 Mar 18, 2025
1e891bd
fix: broken text on Safari
girishpanchal30 Mar 18, 2025
1514bd8
feat: move image storage menu
girishpanchal30 Mar 18, 2025
4db9abc
feat: Clarify the exclusion field title
girishpanchal30 Mar 18, 2025
d0b7f21
add cache clearing on image update
selul Mar 18, 2025
b95f925
use short ternary operator
selul Mar 18, 2025
28d7b1b
feat: rework sidebar width in plugin admin [closes Codeinwp/optimole-…
abaicus Mar 18, 2025
02c52d7
use the same group cache
selul Mar 18, 2025
52b956c
feat: adds dashboard widget [closes Codeinwp/optimole-service#627]
abaicus Mar 19, 2025
1d7651c
fix: wrong usage of useMemo
abaicus Mar 19, 2025
8b10137
chore: remove unused code
abaicus Mar 19, 2025
cc43e64
improve cache clearing storage
selul Mar 19, 2025
febe9f9
Merge pull request #887 from Codeinwp/feat/opml-service/1338
selul Mar 19, 2025
7382c63
Merge pull request #890 from Codeinwp/feat/opml-service/1339
selul Mar 19, 2025
faf210c
Merge pull request #891 from Codeinwp/feat/opml-service/1340
selul Mar 19, 2025
45f47dc
Merge pull request #892 from Codeinwp/feat/opml-service/1408
selul Mar 19, 2025
6adcb14
Merge pull request #894 from Codeinwp/prf/sidebar-width
selul Mar 19, 2025
f637944
fix: widget loading in debug mode & when disconnected
abaicus Mar 19, 2025
8e0963a
fix: skip dashboard widget initialization if OPTIOMLE_HIDE_ADMIN_AREA…
abaicus Mar 19, 2025
4f2de57
feat: adds SPC banner [closes Codeinwp/optimole-service#1407]
abaicus Mar 20, 2025
2c2f829
Add optimizaiton tips in sidebar
girishpanchal30 Mar 21, 2025
2447ec3
Merge pull request #897 from Codeinwp/prf/recommend-spc
selul Mar 21, 2025
00b10f2
Merge pull request #888 from Codeinwp/prf/connection-speed
selul Mar 21, 2025
10b52ca
update status on rollback
selul Mar 21, 2025
b81c89c
update status on rollback
selul Mar 21, 2025
bba2134
feat: improve video player & adds block options
abaicus Mar 21, 2025
45f9398
chore: remove unused attribute in block replace
abaicus Mar 21, 2025
8af5483
feat: display active optimization status
girishpanchal30 Mar 24, 2025
8950a11
fix: file conflicts
girishpanchal30 Mar 24, 2025
acb384e
Merge pull request #889 from Codeinwp/feat/deactivate-rollback
selul Mar 24, 2025
f7ecd32
Merge pull request #885 from Codeinwp/prf/video-player
selul Mar 24, 2025
46fd9ea
fix: reviewer feedback
girishpanchal30 Mar 24, 2025
9575c06
code cleanup
girishpanchal30 Mar 24, 2025
7da1758
Merge pull request #895 from Codeinwp/prf/admin-widget
abaicus Mar 24, 2025
d99fbd4
use disabled instead of enabled for scale
girishpanchal30 Mar 24, 2025
c07eb35
fix: update destructuring
girishpanchal30 Mar 24, 2025
da28f60
remove hero preloader as is no longer needed
selul Mar 24, 2025
243e31d
fix: dashboard widget not showing
abaicus Mar 24, 2025
a0cdd5f
Merge pull request #902 from Codeinwp/prf/dashboard-widget
abaicus Mar 24, 2025
9f023bc
Merge pull request #898 from Codeinwp/feat/opml-service/1347
abaicus Mar 24, 2025
a83d28a
remove preloading test
selul Mar 25, 2025
b6edea6
Add nearing quota warning
girishpanchal30 Mar 19, 2025
e1e4940
code cleanup
girishpanchal30 Mar 19, 2025
47e6515
feat: redesign the metrics layout
girishpanchal30 Mar 24, 2025
49e1d99
fix: e2e errors
girishpanchal30 Mar 24, 2025
c11e997
fix: console errors
girishpanchal30 Mar 25, 2025
9854a97
fix: metrics count
girishpanchal30 Mar 25, 2025
32dc1b8
Display warning popup before offloading
girishpanchal30 Mar 20, 2025
39fe231
fix: reviewer feedback
girishpanchal30 Mar 20, 2025
825f370
Use renews_on and add upgrade link
girishpanchal30 Mar 21, 2025
6a790ed
fix: php warning
girishpanchal30 Mar 25, 2025
76c3d32
[wip] feat: adds attachment file rename
abaicus Mar 25, 2025
d614a4b
chore: ensure cache-busting for otter-blocks and elementor
abaicus Mar 25, 2025
24026c7
fix: disable image scaling when lazyload is off
girishpanchal30 Mar 26, 2025
dd0f213
Merge pull request #904 from Codeinwp/bugfix/sidebar
abaicus Mar 26, 2025
b43ae87
Merge pull request #901 from Codeinwp/feat/opml-service/1361
abaicus Mar 26, 2025
593799a
Sync branch [skip ci]
pirate-bot Mar 26, 2025
d096d4b
Implement page profiling and optimization data storage
selul Mar 27, 2025
6830ea9
Enhance optimization data handling and profiling features
selul Mar 27, 2025
5a8291d
fix: use strict less-than in condition
girishpanchal30 Mar 28, 2025
a216df4
feat: attachment rename cleanup & 100% working
abaicus Mar 28, 2025
39bd7c3
fix: original image being set on unscaled attachments on rename
abaicus Mar 28, 2025
2f64e59
feat: improve UI and checking on rename
abaicus Mar 28, 2025
219db14
feat: adds attachment replace
abaicus Mar 28, 2025
37f76ff
chore: cleanup db replacer
abaicus Mar 31, 2025
de322a2
chore: cleanup & add tests [wip]
abaicus Mar 31, 2025
7d7c6a8
chore: merge `development` into head
abaicus Mar 31, 2025
2d444d1
fix: attempt to fix phpunit
abaicus Mar 31, 2025
141f2b5
chore: cleanup
abaicus Mar 31, 2025
786531c
fix: remove debug tool
abaicus Mar 31, 2025
f1fb950
fix: remove justify on dashboard connected view
abaicus Mar 31, 2025
131e7b3
enh: dashboard main page layout and styles
abaicus Apr 1, 2025
0c94b7b
chore: attempt to fix phpunit
abaicus Apr 1, 2025
30f800e
chore: fix phpunit
abaicus Apr 1, 2025
1c63d0e
chore: add back phpunit on multiple versions
abaicus Apr 1, 2025
1943696
fix: metric formatting to proper unit
abaicus Apr 1, 2025
0c5ae1d
Update dependencies and enhance lazy loading features
selul Apr 2, 2025
c1010f2
Merge pull request #906 from Codeinwp/prf/remove-debug
selul Apr 2, 2025
62a5e26
Merge pull request #896 from Codeinwp/feat/opml-service/1318
selul Apr 2, 2025
329828f
fix formating
selul Apr 2, 2025
de77931
feat: hide bagde toggle if the user is inactive [ref Codeinwp/optimol…
abaicus Apr 2, 2025
a3c513f
Update assets/src/dashboard/parts/connected/settings/Lazyload.js
selul Apr 2, 2025
e04e30b
fix: unimported warning icon
abaicus Apr 3, 2025
6b5047c
feat: disable other settings tabs when image handling is disabled [cl…
abaicus Apr 3, 2025
59f2764
feat: make the optimization statuses update live based on toggles
abaicus Apr 3, 2025
f9f1f9b
enh: improve optimization status card layout and style
abaicus Apr 3, 2025
965bad4
fix: consistency in sidebar card titles styling
abaicus Apr 3, 2025
fc9ffda
feat: make the connection details card more compact
abaicus Apr 3, 2025
52ebcd9
Refactor media offload functionality and enhance REST API integration
selul Apr 3, 2025
e6ef871
Refactor connected components to streamline media offload logic
selul Apr 3, 2025
9fa0480
Comment out bulk actions registration in media offload for future imp…
selul Apr 3, 2025
cf696a0
Update assets/js/media.js
selul Apr 3, 2025
81181b2
Add Image editor to prevent errors with offloaded images
selul Apr 3, 2025
bb476ce
Merge branch 'development' of https://github.com/codeinwp/optimole-wp…
abaicus Apr 4, 2025
5f5b68b
Implement compression mode settings in the dashboard
selul Apr 4, 2025
9f12a31
Update assets/src/dashboard/parts/connected/settings/Compression.js
selul Apr 4, 2025
6c72ed0
Update admin settings to include default compression mode as speed op…
selul Apr 4, 2025
758be11
Merge branch 'development' into feat/clear-cache-on-update
selul Apr 4, 2025
5c4a906
Merge pull request #893 from Codeinwp/feat/clear-cache-on-update
selul Apr 4, 2025
2f234d0
Refactor compression mode handling in Compression.js
selul Apr 4, 2025
6077f05
fix: file permissions after move
abaicus Apr 4, 2025
fedabef
Merge pull request #910 from Codeinwp/fix/image-editor
selul Apr 5, 2025
0c33f9d
Merge pull request #907 from Codeinwp/prf/hide-badge-if-inactive
selul Apr 5, 2025
6d45201
Merge pull request #903 from Codeinwp/prf/media-rename
selul Apr 7, 2025
2b246ef
Merge pull request #908 from Codeinwp/prf/disable-settings
selul Apr 7, 2025
6c78ffe
build(deps-dev): bump squizlabs/php_codesniffer from 3.10.3 to 3.12.1
dependabot[bot] Apr 7, 2025
270fff0
Enhance compression settings in Compression.js
selul Apr 7, 2025
84e92c8
Merge pull request #911 from Codeinwp/feat/compression-preset
selul Apr 7, 2025
9671e9e
Merge pull request #909 from Codeinwp/feat/single-image-move
selul Apr 7, 2025
04bc757
Merge branch 'development' into feat/client-optimizations
selul Apr 7, 2025
94f07d0
Update inc/admin.php
selul Apr 8, 2025
308c782
Add support for background shorthand in lazyload replacer
selul Apr 8, 2025
509e734
Remove unnecessary blank line in Optml_Url_Replacer class for cleaner…
selul Apr 8, 2025
78160a3
Merge pull request #905 from Codeinwp/feat/client-optimizations
selul Apr 8, 2025
5242329
fix: non-image attachments renaming was failing
abaicus Apr 9, 2025
fafbdbd
Merge pull request #871 from Codeinwp/dependabot/composer/development…
selul Apr 9, 2025
6f91198
Merge pull request #912 from Codeinwp/dependabot/composer/development…
selul Apr 9, 2025
f5904c4
Merge pull request #861 from Codeinwp/dependabot/composer/development…
selul Apr 9, 2025
009cf0f
Enhance error logging in media offload process to include exception m…
selul Apr 9, 2025
aa5d10e
build: update optimizer build script to use production environment
selul Apr 9, 2025
ea005c7
mark runtime exception as retryable.
selul Apr 10, 2025
5fcfa44
mark runtime exception as retryable.
selul Apr 10, 2025
fed66c4
fix: filter control field placeholder not resetting [closes #683][ref…
abaicus Apr 10, 2025
a3c3857
fix: show all statuses as disabled when Image Handling option is off …
abaicus Apr 10, 2025
822f0d3
Merge pull request #914 from Codeinwp/prf/final-fixes
abaicus Apr 10, 2025
fffa652
refactor: improve media offload URL retrieval and enhance dimension c…
selul Apr 11, 2025
fd9cead
fix cache key on normalizer
selul Apr 11, 2025
f7eeecc
Merge pull request #913 from Codeinwp/fix/media-rename-mimetype
selul Apr 11, 2025
2c81c2b
Merge pull request #915 from Codeinwp/fix/imp-performance
selul Apr 11, 2025
883916d
chore: enhance e2e tests with improved image attribute checks
selul Apr 11, 2025
3175e5b
fix: warning thrown in editor because of how the video player icons w…
abaicus Apr 11, 2025
8683949
Merge pull request #916 from Codeinwp/prf/final-fixes
abaicus Apr 11, 2025
e0eb037
add ch support
selul Apr 11, 2025
669e941
Sync branch [skip ci]
pirate-bot Apr 12, 2025
0339c5c
Update readme.txt
harshitarora-in Apr 12, 2025
13d2781
build(deps): bump codeinwp/themeisle-sdk from 3.3.40 to 3.3.44
dependabot[bot] Apr 14, 2025
ad2701a
build(deps-dev): bump squizlabs/php_codesniffer from 3.12.1 to 3.12.2
dependabot[bot] Apr 14, 2025
0b2e628
Merge pull request #918 from Codeinwp/dependabot/composer/development…
selul Apr 14, 2025
3a08e18
Merge pull request #919 from Codeinwp/dependabot/composer/development…
selul Apr 14, 2025
726c6fb
build(deps-dev): bump yoast/phpunit-polyfills from 2.0.1 to 4.0.0
dependabot[bot] Apr 14, 2025
ba7c5b6
Merge pull request #872 from Codeinwp/dependabot/composer/development…
selul Apr 14, 2025
a3222d1
Merge pull request #917 from Codeinwp/readme-updates
selul Apr 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-dev-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
run: |
echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Configure Composer cache
uses: actions/cache@v1
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@ build
.DS_Store
cc-test-reporter
assets/build
test-results
test-results
tests/assets/filestash
241 changes: 241 additions & 0 deletions assets/css/single-attachment.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,241 @@
table.compat-attachment-fields {
border-collapse: collapse;
width: 100%;
}

[class^="compat-field-optml_"] {
background: #fff;
border-collapse: separate;
border-spacing: 0;
border: 1px solid #ccc;
}

[class^="compat-field-optml_"] tr {
background: #fff;
}

[class^="compat-field-optml_"] th {
display: block;
float: none;
white-space: nowrap;
}

[class^="compat-field-optml_"] th,
[class^="compat-field-optml_"] td {
padding: 20px;
}

.compat-field-optml_footer_row {
padding: 0 !important;
background: #eee;
}

.compat-field-optml_spacer_row {
height: 40px !important;
background: transparent !important;
border: 0 !important;
}

.compat-field-optml_spacer_row td,
.compat-field-optml_spacer_row th {
padding: 0 !important;
}

.compat-field-optml_footer_row th,
.compat-field-optml_footer_row td {
padding: 5px 20px;
}


.optml-logo-contianer {
justify-content: flex-end;
display: flex;
align-items: center;
gap: 10px;
font-size: 12px;
position:relative;
}

.optml-logo-contianer img {
width: 25px;
height: 25px;
}

.optml-rename-input:focus-within {
box-shadow: 0 0 0 1px #577BF9;
}

.optml-rename-media-container {
display: flex;
gap: 10px;
align-items: center;
}

.optml-rename-input {
display: flex;
align-items: stretch;
border-radius: 3px;
border: 1px solid #577BF9;
overflow: hidden;
background: #fff;
flex-grow: 1;
}

.optml-rename-input #optml_rename_file {
border: 0;
border-radius: 0;
flex-grow: 1;
box-shadow: none;
background: transparent;
min-height: 30px;
}

.optml-rename-input .optml-file-ext {
padding: 0 10px;
display: flex;
align-items: center;
font-weight: 600;
background-color: #e6effd;
border-left: 1px solid #577BF9;
color: #577BF9;
}


.optml-replace-section {
display: flex;
flex-direction: column;
gap: 10px;
}

.optml-description {
color: #666;
margin: 0;
font-style: italic;
}

.optml-replace-input {
box-sizing: border-box;
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 10px;
}

.optml-replace-input label {
width: 100%;
min-height: 100px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
cursor: pointer;
flex-grow: 1;
padding: 8px;
border: 1px dashed #577BF9;
border-radius: 3px;
background: #fff;
transition: all 0.3s ease;
}

.optml-replace-input label:hover {
background: #577BF9;
color: #fff;
}

.optml-replace-file-preview {
display: flex;
align-items: center;
gap: 10px;
justify-content: center;
font-weight: 600;
}

.optml-replace-file-preview img {
object-fit: cover;
border-radius: 6px;
max-width: 250px;
max-height: 75px;
border: 1px solid #ccc;
background: #f0f0f0;
}

.optml-replace-file-error {
color: rgb(163, 11, 0);
padding: 5px 10px;
border-radius: 3px;
border: 1px solid rgb(163, 11, 0);
background:rgb(255, 205, 201);
}

#optml-file-drop-area {
box-sizing: border-box;
position: relative;
transition: all 0.3s ease;
}

#optml-file-drop-area.drag-active {
background-color: #e6effd;
border: 1px dashed #577BF9;
}

.optml-replace-file-actions {
display: flex;
align-items: center;
flex-direction: row-reverse;
justify-content: flex-end;
gap: 10px;
width: 100%;
}

.optml-rename-actions {
display: flex;
align-items: center;
justify-content: flex-end;
width: 100%;
margin-top: 10px;
}

.optml-replace-file-actions p {
margin-right: auto;
}

[class^="compat-field-optml_"] .optml-btn {
border-radius: 3px !important;
border: 0 !important;
cursor: pointer;
transition: all 0.3s ease;
color: #fff !important;
margin-bottom: 0 !important;
}

[class^="compat-field-optml_"] .optml-btn.primary {
background: #577BF9 !important;
}

[class^="compat-field-optml_"] .optml-btn.destructive {
background: #D93025 !important;
}

[class^="compat-field-optml_"] .optml-btn:disabled {
opacity: 0.5;
cursor: not-allowed !important;
pointer-events: none;
color: #fff !important;
}

.optml-btn.primary:hover {
background: #4161d7;
}

.optml-btn.destructive:hover {
background: #c2291e;
}

.optml-svg-loader {
animation: spin 1s linear infinite;
}

@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
42 changes: 42 additions & 0 deletions assets/js/media.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
jQuery(document).ready(function($) {
jQuery('.move-image-optml').click(function() {
//get the id and send a jquery rest request to the server
var id = jQuery(this).data('id');
var action = jQuery(this).data('action');
moveImage(id, action, jQuery(this));
});
});

function moveImage(id, action, element, is_retry = false) {
//add a loading indicator
element.parent().find('.spinner').addClass('is-active');
element.parent().addClass('is-loading');
jQuery.ajax({
url: optimoleMediaListing.rest_url,
type: 'POST',
headers: {
'X-WP-Nonce': optimoleMediaListing.nonce
},
data: {
action: action,
status: is_retry ? 'check' : 'start',
id: id
},
success: function(response) {
if(response.code === 'moved') {
element.parent().find('.spinner').removeClass('is-active');
element.parent().removeClass('is-loading');
element.parent().find('.move-image-optml').toggleClass('hidden');

}else if(response.code === 'error'){
element.parent().find('.spinner').removeClass('is-active');
element.parent().removeClass('is-loading');
element.parent().text(response.data);
}else{
setTimeout(function() {
moveImage(id, action, element, true);
}, 1000);
}
}
});
}
Loading
Loading