Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
371 commits
Select commit Hold shift + click to select a range
0a7c79f
Wrap file-level coverage changes in collapsible details
aristath Nov 4, 2025
3032edf
Fix coverage parsing to properly capture class names
aristath Nov 4, 2025
9973f48
Fix regex pattern to match AWK output format
aristath Nov 4, 2025
1e6e976
Fix regex to capture Methods percentage correctly
aristath Nov 4, 2025
1c4e3fa
Fix regex group numbers after adding Methods capture
aristath Nov 4, 2025
9aa6985
Fix JSON interpolation in github-script action
aristath Nov 4, 2025
b9febf8
Remove file limits from coverage details display
aristath Nov 4, 2025
5540de8
cleanup
aristath Nov 4, 2025
e2c4d1f
Merge pull request #700 from ProgressPlanner/ari/add-phpunit-tests-20…
aristath Nov 4, 2025
92d2aba
Merge branch 'develop' into filip/v110/page-interactive-tasks
aristath Nov 4, 2025
d5c8b87
Merge branch 'develop' into ari/reduce-code-duplication-with-traits
aristath Nov 4, 2025
89da8bc
Merge branch 'main' into develop
aristath Nov 4, 2025
45965eb
Merge branch 'develop' into ari/reduce-code-duplication-with-traits
aristath Nov 5, 2025
652f312
Add PHPUnit tests for new classes
aristath Nov 5, 2025
2737ee2
cleanup
aristath Nov 5, 2025
65f6eaf
Fix failing PHPUnit tests in trait test suite
aristath Nov 5, 2025
e6d9a69
Add `covers` comments
aristath Nov 5, 2025
80ad98d
Extend WP_Ajax_UnitTestCase instead of WP_UnitTestCase
aristath Nov 5, 2025
3d01dcf
Fix AJAX tests to catch WPAjaxDieContinueException
aristath Nov 5, 2025
47ff5cd
Merge pull request #697 from ProgressPlanner/ari/reduce-code-duplicat…
aristath Nov 5, 2025
b2b8d53
Merge branch 'develop' into filip/v110/page-interactive-tasks
ilicfilip Nov 5, 2025
e801247
dont enqueue / add popover if interactive task is not published
ilicfilip Nov 5, 2025
801abf0
Merge pull request #703 from ProgressPlanner/filip/v110/reduce-intera…
aristath Nov 5, 2025
0225eee
Try to fix a failing workflow. Too many emails with failing if_merged
aristath Nov 5, 2025
5d8d82a
dont enqueue grid script on WP dashboard page
ilicfilip Nov 5, 2025
cb3ff55
Merge pull request #704 from ProgressPlanner/filip/v110/dont-enqueue-…
aristath Nov 6, 2025
a0bb5c4
Improve version handling in zip file
jdevalk Nov 9, 2025
d8f506d
Merge pull request #706 from ProgressPlanner/jdv/improve-playground-c…
aristath Nov 10, 2025
a5dd852
Add a plugin check action
jdevalk Nov 13, 2025
6e4d70f
Remove hidden files from package
jdevalk Nov 13, 2025
92db0fe
Make .gitattributes match .distignore
jdevalk Nov 13, 2025
4c24daf
Remove bin directory from plugin zip file
jdevalk Nov 13, 2025
7388b81
Fix requires at least to match plugin header
jdevalk Nov 13, 2025
a8715d6
Merge pull request #709 from ProgressPlanner/jdv/plugin-check-action
aristath Nov 17, 2025
58c08b4
Fix risky tests
aristath Nov 17, 2025
01348a0
CS fix (ignore it 'cause it's in tests)
aristath Nov 17, 2025
64eca77
Merge pull request #710 from ProgressPlanner/ari/fix-risky-tests
aristath Nov 17, 2025
210c930
remove color customizer tool
ilicfilip Nov 17, 2025
fb8fe0b
Add phpunit tests
aristath Nov 17, 2025
feb2787
More cleanup
aristath Nov 17, 2025
60c9dbb
Merge pull request #711 from ProgressPlanner/filip/remove-color-custo…
aristath Nov 17, 2025
ae5dda3
Merge branch 'develop' into ari/tests-2025-11-17
aristath Nov 17, 2025
fdd7156
Explicitly include tests files in CS checks & fix all CS issues
aristath Nov 17, 2025
0919e59
bugfix
aristath Nov 17, 2025
d148e4c
Tweak the workflow
aristath Nov 17, 2025
76a2a3a
more tweaks
aristath Nov 17, 2025
3605d24
Merge pull request #713 from ProgressPlanner/ari/fix-coverage-workflow
aristath Nov 17, 2025
39a2e0d
WIP new onboard
ilicfilip Nov 17, 2025
1517d51
split steps into components
ilicfilip Nov 18, 2025
6ee60ee
get license key, error handling
ilicfilip Nov 18, 2025
9cdc44b
lint
ilicfilip Nov 18, 2025
f4e1821
pass time offset and site url
ilicfilip Nov 18, 2025
f65721a
meh
ilicfilip Nov 18, 2025
7b57e83
tweak spinner
ilicfilip Nov 18, 2025
b4393d6
resume tour
ilicfilip Nov 18, 2025
2b2d969
phpcs
ilicfilip Nov 18, 2025
03b8706
dont include both file and it's fallback
ilicfilip Nov 19, 2025
50548d8
make onboard tasks more flexible
ilicfilip Nov 19, 2025
f19683c
whats next step & some styling
ilicfilip Nov 20, 2025
8451ecc
make adding steps more flexible
ilicfilip Nov 20, 2025
127afc6
rename task template file & add logo
ilicfilip Nov 20, 2025
0b390c2
email frequency step
ilicfilip Nov 20, 2025
80570f6
call beforeNextStep before redirection as well
ilicfilip Nov 20, 2025
608a794
remove hard coded value
ilicfilip Nov 20, 2025
9b2f871
Merge branch 'develop' into filip/v110/page-interactive-tasks
ilicfilip Nov 20, 2025
b7af758
settings step
ilicfilip Nov 20, 2025
aeeb580
small cleanup
ilicfilip Nov 20, 2025
227c765
layout tweaks
ilicfilip Nov 21, 2025
871f040
remove position: relative;
ilicfilip Nov 21, 2025
10fceef
change more tasks layout
ilicfilip Nov 21, 2025
14d26fc
more onboarding settings
ilicfilip Nov 24, 2025
4edc9d6
wip: design adjustments
ilicfilip Nov 24, 2025
3adf35e
basic column layout
ilicfilip Nov 24, 2025
285595a
WIP: CSS tweaks
ilicfilip Nov 25, 2025
86c9879
more CSS tweaks
ilicfilip Nov 25, 2025
1f2261d
more tasks are optional
ilicfilip Nov 25, 2025
517b03e
show footer again
ilicfilip Nov 25, 2025
10c55f4
always display quit confirmation on welcome step
ilicfilip Nov 25, 2025
e06cc3b
abstract showErrorMessage
ilicfilip Nov 25, 2025
2dfa158
move redirectURL to the config
ilicfilip Nov 25, 2025
bb8d388
abstract spinner
ilicfilip Nov 25, 2025
c09a86c
footer is now task specific
ilicfilip Nov 25, 2025
70d10c9
more WIP styling
ilicfilip Nov 25, 2025
e96008a
welcome graphic
ilicfilip Nov 25, 2025
ac63777
ravi graphics
ilicfilip Nov 25, 2025
4b133bb
test, remove SVGs
ilicfilip Nov 25, 2025
a5ff2c9
Revert "test, remove SVGs"
ilicfilip Nov 25, 2025
3bb04d5
remove xml version
ilicfilip Nov 25, 2025
68be484
rename PopoverTask script
ilicfilip Nov 25, 2025
d267f55
general error tweak
ilicfilip Nov 25, 2025
a35fa87
add wrapper to the next button, so spinner is correctly aligned
ilicfilip Nov 25, 2025
d0c1a1b
settings step notes
ilicfilip Nov 25, 2025
5c10f9a
+1 - whats next step
ilicfilip Nov 25, 2025
7b376aa
move the next button logic to the "step" class, make PP error work
ilicfilip Nov 26, 2025
e8f1f65
move close popover button a bit
ilicfilip Nov 26, 2025
3014883
remove old onboarding / welcome
ilicfilip Nov 26, 2025
7d068b6
animated gauge & branding badge
ilicfilip Nov 26, 2025
02148cf
basic input styles
ilicfilip Nov 26, 2025
daecd3a
placeholders, less vars (for now)
ilicfilip Nov 26, 2025
8f39773
"more tasks" step tweaks
ilicfilip Nov 26, 2025
b08c0d0
WIP: accessibility
ilicfilip Nov 26, 2025
edfa7af
more tasks icon(s)
ilicfilip Nov 26, 2025
5cda682
remove .prpl-popover to prevent conflicts
ilicfilip Nov 26, 2025
42ec90a
more styles tweaks
ilicfilip Nov 27, 2025
46e3580
wrap labels in <div>
ilicfilip Nov 27, 2025
3e876cf
more styling
ilicfilip Nov 27, 2025
e253b8c
adjust file upload hints
ilicfilip Nov 27, 2025
cfde143
template rename
ilicfilip Nov 27, 2025
48d2357
adjust text
ilicfilip Nov 27, 2025
b54c766
reformatting
ilicfilip Nov 27, 2025
f10ac87
slight settings step refactor
ilicfilip Nov 27, 2025
ef5d5c2
one more text adjustment
ilicfilip Nov 27, 2025
4f6dd79
wip: checkbox toggles
ilicfilip Nov 27, 2025
c6850e6
WIP custom CSS checkboxes & radios
ilicfilip Nov 27, 2025
71647a4
templates for custom inputs
ilicfilip Nov 28, 2025
cc1b2ea
meh, update for previous commit
ilicfilip Nov 28, 2025
0455e11
move privacy checkbox
ilicfilip Nov 28, 2025
7129d51
add arrow icon
ilicfilip Nov 28, 2025
47237a8
prefix (some) CSS selectors
ilicfilip Nov 28, 2025
bafbe53
wip mobile
ilicfilip Nov 28, 2025
7b3f1d3
increase max-width on mobile a bit
ilicfilip Nov 28, 2025
6261308
change mobile breakpoint
ilicfilip Nov 28, 2025
07e4084
adjust badge max width on mobile
ilicfilip Nov 28, 2025
676178f
mobile bottom bar spacing
ilicfilip Nov 28, 2025
c54b2fb
mobile step label
ilicfilip Nov 28, 2025
8b42511
CSS vars
ilicfilip Nov 28, 2025
f637ddd
more CSS vars
ilicfilip Nov 28, 2025
d04f3e5
image icon
ilicfilip Dec 1, 2025
c95b214
change composer namespace
ilicfilip Dec 1, 2025
bfc70fc
composer update
ilicfilip Dec 1, 2025
2dcbaa7
Merge pull request #716 from ProgressPlanner/filip/composer-namespace
jdevalk Dec 1, 2025
72d86cf
replace icons
ilicfilip Dec 1, 2025
95dd5a4
slight color change
ilicfilip Dec 1, 2025
e7ed405
phpstan fixes
ilicfilip Dec 1, 2025
2ec3852
skip celebration for onboard tasks
ilicfilip Dec 1, 2025
536b11e
define font-family
ilicfilip Dec 1, 2025
9626f52
display "First task" in tour nav even if it was completed
ilicfilip Dec 1, 2025
37441fc
remove title which is no longer used
ilicfilip Dec 1, 2025
bdfc9bf
Merge branch 'develop' into ari/tests-2025-11-17
aristath Dec 2, 2025
907f6f1
Fix phpstan
aristath Dec 2, 2025
3ed18b0
More phpstan fixes
aristath Dec 2, 2025
76b3d12
Merge branch 'main' into develop
aristath Dec 2, 2025
8167fed
phpstan
aristath Dec 2, 2025
d29cf4f
Merge remote-tracking branch 'origin/develop' into develop
aristath Dec 2, 2025
89398f7
Merge branch 'develop' into filip/new-onboard
aristath Dec 2, 2025
1cac97d
Merge branch 'develop' into ari/tests-2025-11-17
aristath Dec 2, 2025
0ad82fa
default value, playground test
ilicfilip Dec 2, 2025
94e124a
Merge branch 'develop' into filip/v110/fix-multiple-file-includes
ilicfilip Dec 2, 2025
4a06dbf
Recognize SureRank as an SEO plugin
ilicfilip Dec 2, 2025
4838369
implement new required indicator
ilicfilip Dec 2, 2025
211adb1
add button on the PP dashboard page, when PP is not accepted
ilicfilip Dec 3, 2025
5fd4d18
change button text
ilicfilip Dec 3, 2025
6dc671b
dont duplicate license generate code
ilicfilip Dec 4, 2025
976da39
Merge branch 'develop' into filip/v110/page-interactive-tasks
ilicfilip Dec 4, 2025
1749352
set homepage
ilicfilip Dec 4, 2025
dcd71db
WIP: CSS vars
ilicfilip Dec 8, 2025
1f61f82
more color vars
ilicfilip Dec 9, 2025
475b2e3
use our enqueue methods
ilicfilip Dec 9, 2025
9846216
bump "Tested up to" version
ilicfilip Dec 11, 2025
6e0edec
Apply suggestion from @aristath
aristath Dec 11, 2025
8c0fd01
match the version in readme.txt
ilicfilip Dec 11, 2025
51ef92c
Merge pull request #721 from ProgressPlanner/filip/bump-wp-version
ilicfilip Dec 11, 2025
1b7f018
fix color for #prpl-suggested-tasks-list button
ilicfilip Dec 11, 2025
bfff3d3
Merge pull request #715 from ProgressPlanner/filip/v110/fix-multiple-…
jdevalk Dec 12, 2025
f621f19
Merge branch 'develop' into filip/new-onboard
ilicfilip Dec 12, 2025
40be0a8
Merge pull request #723 from ProgressPlanner/filip/fix-link-color
jdevalk Dec 12, 2025
3c52298
Merge branch 'develop' into filip/surerank-seo
ilicfilip Dec 12, 2025
65ec038
Fix CS
jdevalk Dec 12, 2025
442c574
Merge branch 'develop' into ari/tests-2025-11-17
jdevalk Dec 12, 2025
9944070
Merge pull request #718 from ProgressPlanner/filip/surerank-seo
jdevalk Dec 12, 2025
d1c2200
Merge branch 'develop' into filip/aaa-option-optimizer
ilicfilip Dec 12, 2025
588f2ce
add filter for autoloaded_options_threshold
ilicfilip Dec 12, 2025
2520780
make task interactive
ilicfilip Dec 12, 2025
909a6aa
add priority expclitly
ilicfilip Dec 12, 2025
6a1d51e
Merge branch 'develop' into filip/new-onboard
ilicfilip Dec 12, 2025
5e39957
set the autoloaded_options_threshold to 500
ilicfilip Dec 12, 2025
4441b21
changelog
ilicfilip Dec 12, 2025
8f85333
bump min WP version in tests
ilicfilip Dec 12, 2025
efe83af
Merge pull request #271 from ProgressPlanner/filip/aaa-option-optimizer
jdevalk Dec 12, 2025
e84ed1e
Merge pull request #712 from ProgressPlanner/ari/tests-2025-11-17
jdevalk Dec 12, 2025
fe76c47
split "more tasks" step
ilicfilip Dec 12, 2025
03a9214
Merge branch 'develop' into filip/new-onboard
ilicfilip Dec 12, 2025
f2597da
set action label
ilicfilip Dec 12, 2025
be60f6c
debug admin bar, only for admins if PRPL_DEBUG is true
ilicfilip Dec 12, 2025
83c2522
dont delete onboarding progress
ilicfilip Dec 12, 2025
0f92e34
onboarding trigger
ilicfilip Dec 12, 2025
bf8c8d8
use is_debug_mode_enabled from base class
ilicfilip Dec 12, 2025
5fb8856
prefix fill values :facepalm:
ilicfilip Dec 12, 2025
f0a5813
delay initing until 'init', so user is set (tests fail)
ilicfilip Dec 12, 2025
c8ac2c6
slash it
ilicfilip Dec 12, 2025
457787c
Merge branch 'develop' into filip/v110/page-interactive-tasks
ilicfilip Dec 12, 2025
00b1f5f
dont trigger onboarding for users who are upgrading
ilicfilip Dec 12, 2025
a6fc827
no need for "Set Home Page" task, we detect that correctly
ilicfilip Dec 12, 2025
2d213f0
tweak page description
ilicfilip Dec 12, 2025
9e20cd4
adjust description again
ilicfilip Dec 12, 2025
c8320f7
small cleanup
ilicfilip Dec 15, 2025
2ec7a8a
dont show nudge & dont clear onboard progress
ilicfilip Dec 15, 2025
4861603
update the 'test_is_debug_mode_enabled' test
ilicfilip Dec 15, 2025
a848013
remove "Settings page" & "Fill in the settings page" task
ilicfilip Dec 15, 2025
19f6490
fix failing tests
aristath Dec 15, 2025
d47e795
fix get task command & add tests
ilicfilip Dec 15, 2025
f10aa34
skip tests if WP CLI is not available
ilicfilip Dec 15, 2025
7ef39be
Merge pull request #702 from ProgressPlanner/filip/v110/page-interact…
aristath Dec 15, 2025
34205f2
Merge branch 'develop' into filip/new-onboard
ilicfilip Dec 15, 2025
ac63ccd
read checkbox state from DOM, if not saved previously
ilicfilip Dec 15, 2025
476c5cd
register branded site earlier
ilicfilip Dec 15, 2025
59ab21a
Merge branch 'filip/register-branded-site-earlier' into filip/new-onb…
ilicfilip Dec 15, 2025
a7da433
tweak onboarding for branded installs
ilicfilip Dec 15, 2025
9bce8a6
delete user meta, which redirects to PP dashboard page
ilicfilip Dec 15, 2025
45bc868
Merge pull request #726 from ProgressPlanner/filip/register-branded-s…
jdevalk Dec 15, 2025
6b17ffe
Add wp-cli to php on phpunit tests
jdevalk Dec 15, 2025
f5665f2
Don't run on every push, just on pull requests
jdevalk Dec 15, 2025
fa6513c
Don't run on every push, just on pull requests - more tasks
jdevalk Dec 15, 2025
b5b7565
Merge branch 'develop' into filip/wp-cli-tests
aristath Dec 16, 2025
dd2c408
Merge branch 'develop' into filip/delete-redirect-meta
ilicfilip Dec 16, 2025
2681f69
try to pass WP path in CI correctly
ilicfilip Dec 16, 2025
7c29004
try creating wp-config.php
ilicfilip Dec 16, 2025
6af42a0
adjust the table prefix
ilicfilip Dec 16, 2025
0ff3abb
activate the plugin, in test WP instance
ilicfilip Dec 16, 2025
05058f0
Merge branch 'develop' into filip/new-onboard
ilicfilip Dec 16, 2025
b5c6d4c
use wp-cli as composer dependency
ilicfilip Dec 16, 2025
eb2cc71
Merge pull request #725 from ProgressPlanner/filip/wp-cli-tests
ilicfilip Dec 16, 2025
ab518f5
Merge branch 'develop' into filip/new-onboard
ilicfilip Dec 16, 2025
00580ff
Merge branch 'develop' into filip/delete-redirect-meta
ilicfilip Dec 16, 2025
b59a3aa
tweak when onboarding is triggered, move debug actions to debug tools
ilicfilip Dec 16, 2025
800933d
a bit more styling for site icon & add "remove icon" button
ilicfilip Dec 16, 2025
5ad3b7e
Merge pull request #727 from ProgressPlanner/filip/delete-redirect-meta
ilicfilip Dec 16, 2025
b715154
Merge branch 'develop' into filip/new-onboard
ilicfilip Dec 16, 2025
ba98a72
change onboarding e2e test
ilicfilip Dec 16, 2025
c9167f1
onboard wizard tests
ilicfilip Dec 16, 2025
56fb315
click on the label, since we're using custom checkboxes
ilicfilip Dec 16, 2025
4f9dffc
more 2e2 tweaks
ilicfilip Dec 16, 2025
e7323c4
Merge pull request #714 from ProgressPlanner/filip/new-onboard
ilicfilip Dec 16, 2025
523a49d
remove "default login destination"
ilicfilip Dec 17, 2025
d23535b
prevent logo overflow
ilicfilip Dec 17, 2025
3657119
improve upgrade tasks check for fresh installs, covers branded sites
ilicfilip Dec 17, 2025
e442d25
Merge pull request #730 from ProgressPlanner/filip/onboarding-tweaks
ilicfilip Dec 24, 2025
4157bd4
reverse onboarding filter logic
ilicfilip Dec 24, 2025
11f4eda
fix-cs
ilicfilip Dec 24, 2025
2c5d373
Merge pull request #733 from ProgressPlanner/filip/reverse-filter-logic
ilicfilip Dec 24, 2025
61c1241
delay onboarding init a bit
ilicfilip Dec 26, 2025
3fbf691
update playground "toggle onboarding"
ilicfilip Dec 26, 2025
f82660b
we just need to trigger "show onboarding", no need to hide it anymore
ilicfilip Dec 26, 2025
4be93d9
new method for deleting onboard progress
ilicfilip Dec 26, 2025
b2a33c1
reload the page on onboarding close, if user is on PP dashboard page
ilicfilip Dec 26, 2025
5c0f607
update reload condition
ilicfilip Dec 26, 2025
583be3c
Merge pull request #736 from ProgressPlanner/filip/playground-onboarding
ilicfilip Dec 26, 2025
28db097
Exclude direct_file_access check from plugin-check
ilicfilip Dec 30, 2025
59062f5
Bump plugin-check-action to v1.1.4
ilicfilip Dec 30, 2025
da7d5da
Merge pull request #739 from ProgressPlanner/filip/exclude-direct-fil…
ilicfilip Dec 30, 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
13 changes: 10 additions & 3 deletions .distignore
Original file line number Diff line number Diff line change
@@ -1,21 +1,28 @@
/.wordpress-org
/.git
/.github
/.husky
/.vscode
/.wordpress-org
/bin
/coverage
/tests
/vendor
.distignore
.editorconfig
.eslintrc.js
.env.example
.gitignore
.eslintcrc.js
.gitattributes
.gitignore
.php-cs-fixer.dist.php
.stylelintrc.json
composer.json
composer.lock
package.json
package-lock.json
package.json
phpcs.xml.dist
phpstan.neon.dist
phpunit.xml.dist
playwright.config.js
README.md
SECURITY.md
19 changes: 14 additions & 5 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,16 +1,25 @@
.editorconfig export-ignore
.gitattributes export-ignore
.github/* export-ignore
.husky/* export-ignore
.vscode/* export-ignore
.wordpress-org/* export-ignore
bin/* export-ignore
coverage/* export-ignore
tests/* export-ignore
.distignore export-ignore
.editorconfig export-ignore
.env.example export-ignore
.eslintcrc.js export-ignore
.gitattributes export-ignore
.gitignore export-ignore
.php-cs-fixer.dist.php export-ignore
.stylelintrc.json export-ignore
composer.json export-ignore
composer.lock export-ignore
package.json export-ignore
package-lock.json export-ignore
.wordpress-org/* export-ignore
phpcs.xml.dist export-ignore
phpstan.neon.dist export-ignore
phpunit.xml.dist export-ignore
playwright.config.js export-ignore
README.md export-ignore
.wordpress-org/* export-ignore
.vscode/* export-ignore
SECURITY.md export-ignore
509 changes: 509 additions & 0 deletions .github/workflows/code-coverage.yml

Large diffs are not rendered by default.

54 changes: 54 additions & 0 deletions .github/workflows/coverage-status-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Coverage Status Check - DISABLED

on:
workflow_dispatch:

jobs:
coverage-gate:
name: Coverage Gate
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Wait for coverage check
timeout-minutes: 10
run: |
echo "Waiting for Code Coverage Check to complete..."

# Wait up to 10 minutes for the check to appear and complete
for i in {1..60}; do
# Get the status of the Code Coverage Check
STATUS=$(gh api repos/${{ github.repository }}/commits/${{ github.event.pull_request.head.sha }}/check-runs \
--jq '.check_runs[] | select(.name == "Code Coverage Check") | .status' || echo "")

CONCLUSION=$(gh api repos/${{ github.repository }}/commits/${{ github.event.pull_request.head.sha }}/check-runs \
--jq '.check_runs[] | select(.name == "Code Coverage Check") | .conclusion' || echo "")

if [ -n "$STATUS" ]; then
echo "Check found with status: $STATUS, conclusion: $CONCLUSION"

if [ "$STATUS" == "completed" ]; then
if [ "$CONCLUSION" == "success" ]; then
echo "✅ Code coverage check passed!"
exit 0
else
echo "❌ Code coverage check failed with conclusion: $CONCLUSION"
exit 1
fi
fi
else
echo "Check not found yet (attempt $i/60)"
fi

sleep 10
done

echo "❌ Timeout waiting for Code Coverage Check"
exit 1
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Coverage gate passed
run: echo "✅ Code coverage requirements met!"
5 changes: 5 additions & 0 deletions .github/workflows/cs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@ name: CS
on:
# Run on all relevant pushes (except to main) and on all relevant pull requests.
push:
branches:
- main
- develop
- 'release/[0-9]+.[0-9]+*'
- 'hotfix/[0-9]+.[0-9]+*'
paths:
- '**.php'
- 'composer.json'
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/phpunit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@ name: Test
on:
# Run on pushes to select branches and on all pull requests.
push:
branches:
- main
- develop
- 'release/[0-9]+.[0-9]+*'
- 'hotfix/[0-9]+.[0-9]+*'
pull_request:
# Allow manually triggering the workflow.
workflow_dispatch:
Expand All @@ -21,7 +26,7 @@ jobs:
matrix:
include:
- php_version: '8.2'
wp_version: '6.2'
wp_version: '6.7'
multisite: false

- php_version: '8.2'
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/playground-merged.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ jobs:
pull-requests: write
actions: read
steps:
- uses: actions/checkout@v4

- name: Prepare blueprint with artifact link
id: blueprint
run: |
Expand Down
29 changes: 25 additions & 4 deletions .github/workflows/playground.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
actions: read

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

# Prepare a folder named exactly like the repo as the plugin root.
# If the repo already has such a folder (common for WP plugins), use it.
Expand Down Expand Up @@ -45,9 +45,30 @@ jobs:
PLUGIN_FILE="${{ steps.prep.outputs.PKG_DIR }}/${{ github.event.repository.name }}.php"
PR_NUMBER="${{ github.event.number }}"

# Extract current version and add PR number
# Extract current version
CURRENT_VERSION=$(grep -o "Version:[[:space:]]*[0-9.]*" "$PLUGIN_FILE" | sed 's/Version:[[:space:]]*//')
NEW_VERSION="${CURRENT_VERSION} - PR ${PR_NUMBER}"

# Increment patch version if it exists, otherwise increment minor version
# Handle versions like 2.1.5 or 2.1
if [[ "$CURRENT_VERSION" =~ ^([0-9]+)\.([0-9]+)(\.([0-9]+))?$ ]]; then
MAJOR="${BASH_REMATCH[1]}"
MINOR="${BASH_REMATCH[2]}"
PATCH="${BASH_REMATCH[4]}"

# Build new version with 'b' suffix
if [ -n "$PATCH" ]; then
# If patch exists, increment patch by 1
PATCH=$((PATCH + 1))
NEW_VERSION="${MAJOR}.${MINOR}.${PATCH}b - PR ${PR_NUMBER}"
else
# If no patch, increment minor by 1
MINOR=$((MINOR + 1))
NEW_VERSION="${MAJOR}.${MINOR}b - PR ${PR_NUMBER}"
fi
else
# Fallback: if version format is unexpected, just add .1 and 'b'
NEW_VERSION="${CURRENT_VERSION}.1b - PR ${PR_NUMBER}"
fi

# Replace the version line
sed -i "s/Version:[[:space:]]*[0-9.]*/Version: ${NEW_VERSION}/" "$PLUGIN_FILE"
Expand Down Expand Up @@ -76,7 +97,7 @@ jobs:
# Upload the FOLDER (not a .zip). The artifact service zips it for us,
# keeping the top-level folder name inside the archive.
- name: Upload plugin artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
name: ${{ github.event.repository.name }}
path: ${{ steps.prep.outputs.PKG_DIR }}
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/playwright.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@ env:
on:
push:
branches:
- main
- develop
- 'release/[0-9]+.[0-9]+*'
- 'hotfix/[0-9]+.[0-9]+*'
pull_request:

jobs:
Expand Down
33 changes: 33 additions & 0 deletions .github/workflows/plugin-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: 'WordPress.org Plugin Check'
on: # rebuild any PRs and main branch changes
pull_request:

jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
coverage: none
tools: wp-cli

- name: Install latest version of dist-archive-command
run: wp package install wp-cli/dist-archive-command:@stable

- name: Build plugin
run: |
wp dist-archive . ./${{ github.event.repository.name }}.zip
mkdir build
unzip ${{ github.event.repository.name }}.zip -d build

- name: Run plugin check
uses: wordpress/plugin-check-action@v1.1.4
with:
build-dir: './build/${{ github.event.repository.name }}'
exclude-checks: |
direct_file_access
5 changes: 5 additions & 0 deletions .github/workflows/security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@ name: Security
on:
# Run on all pushes and on all pull requests.
push:
branches:
- main
- develop
- 'release/[0-9]+.[0-9]+*'
- 'hotfix/[0-9]+.[0-9]+*'
pull_request:
# Also run this workflow every Monday at 6:00.
schedule:
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/upgrade-compat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@ env:
on:
push:
branches:
- main
- develop
- 'release/[0-9]+.[0-9]+*'
- 'hotfix/[0-9]+.[0-9]+*'
pull_request:
# Allow manually triggering the workflow.
workflow_dispatch:
Expand Down Expand Up @@ -135,4 +138,4 @@ jobs:
docker exec $WP_CONTAINER wp plugin activate wordpress-seo-premium --allow-root

# Show plugin settings
docker exec $WP_CONTAINER wp option get progress_planner_settings --allow-root
docker exec $WP_CONTAINER wp option get progress_planner_settings --allow-root
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@ playwright/.cache/
auth.json

# Environment variables
.env
.env
coverage/
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
= 1.10.0 =

Added these recommendations from Ravi:

* Reduce number of autoloaded options

= 1.9.0 =

In this release we've added an integration with the **All In One Seo** plugin so you’ll now see personalized suggestions based on your current SEO configuration.
Expand Down
34 changes: 34 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
[![Test](https://github.com/ProgressPlanner/progress-planner/actions/workflows/phpunit.yml/badge.svg)](https://github.com/ProgressPlanner/progress-planner/actions/workflows/phpunit.yml)
[![Code Coverage](https://github.com/ProgressPlanner/progress-planner/actions/workflows/code-coverage.yml/badge.svg)](https://github.com/ProgressPlanner/progress-planner/actions/workflows/code-coverage.yml)
[![CS](https://github.com/ProgressPlanner/progress-planner/actions/workflows/cs.yml/badge.svg)](https://github.com/ProgressPlanner/progress-planner/actions/workflows/cs.yml)
[![PHPStan](https://github.com/ProgressPlanner/progress-planner/actions/workflows/phpstan.yml/badge.svg)](https://github.com/ProgressPlanner/progress-planner/actions/workflows/phpstan.yml)
[![Lint](https://github.com/ProgressPlanner/progress-planner/actions/workflows/lint.yml/badge.svg)](https://github.com/ProgressPlanner/progress-planner/actions/workflows/lint.yml)
Expand All @@ -24,6 +25,39 @@ This post explains what Progress Planner does and how to use it: [What does Prog

You can find [installation instructions here](https://prpl.fyi/install).

## Contributing

### Running Tests

To run the test suite:

```bash
composer test
```

### Code Coverage

To generate code coverage reports locally, you need either [PCOV](https://pecl.php.net/package/PCOV) (recommended) or [Xdebug](https://xdebug.org/) installed:

```bash
composer coverage
```

This will generate:
- An HTML coverage report in the `coverage-html/` directory
- A text-based coverage summary in your terminal

**Coverage Requirements:** Pull requests must maintain code coverage within 0.5% of the base branch. PRs that drop coverage by more than 0.5% will be blocked until additional tests are added.

### Other Quality Commands

```bash
composer check-cs # Check coding standards
composer fix-cs # Auto-fix coding standards
composer phpstan # Run static analysis
composer lint # Check PHP syntax
```

## Branches on this repository

We use a couple of branches in this repository to keep things clean:
Expand Down
18 changes: 18 additions & 0 deletions assets/css/admin.css
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,24 @@ body.toplevel_page_progress-planner {
margin-top: var(--prpl-padding);
}

/*------------------------------------*\
Styles for the container of the page when the privacy policy is not accepted.
\*------------------------------------*/
.prpl-pp-not-accepted {

.prpl-start-onboarding-container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: var(--prpl-padding);
}

.prpl-start-onboarding-graphic {
width: 250px;
}
}

/*------------------------------------*\
Generic styles.
\*------------------------------------*/
Expand Down
23 changes: 0 additions & 23 deletions assets/css/onboard.css

This file was deleted.

Loading
Loading