Prophet731 and Claude Opus 4.6
d3d75b4752
fix: remove dead code, update stale versions, tag-based release workflow
...
Dead code removed:
- Module.php: remove addIPv4() method (no endpoint, feature removed per CLAUDE.md)
- Curl.php: remove useCookies(), setLog() (security risk — wrote tokens to
web-accessible CURL.log), head(), getHeadersData() — all unused
- module.css: remove .vf-button, .vf-button-small (never referenced in DOM)
- module.css: remove vestigial #vf-data-server-traffic-sep rule
- module.css: merge duplicate #vf-server-info-error declarations
- publish-release.yml: remove dead version.json generation step (nothing reads it)
Fixes:
- AdminHTML.php: update stale cache version strings 20260207 → 20260319
- hooks.php: update stale keygen.js version string
- hooks.php: remove unused `use WHMCS\User\User` import
- ConfigureService.php: remove unused `use JsonException` import
- module.css: fix .vf-os-details class selector → #vf-os-details ID selector
- client.php + admin.php: reuse existing $vf instead of new Module()
- Module.php: use Cache::forget() instead of forgetPattern() for known key
(forgetPattern is a no-op on filesystem cache fallback)
Workflow:
- Rewrite publish-release.yml: tag-based triggers only (no automatic releases)
- Triggers on push of v* tags, creates GitHub release with auto-generated notes
- Uses softprops/action-gh-release@v2 — compatible with both Gitea and GitHub
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-19 13:59:28 -05:00
Prophet731 and Claude Opus 4.6
0ade74dd4e
refactor: consolidate duplicate logic across codebase
...
Automated Semantic Versioning Release / release (push) Failing after 44s
PHP (Module.php):
- Extract resolveServiceContext() helper — eliminates 15 repeated
service/whmcsService/getCP/initCurl lookup chains (~200 lines saved)
- Extract static groupOsTemplates() — single source for OS template
category grouping logic, used by both Module.php and hooks.php
PHP (Cache.php):
- Add filesystem cache fallback when Redis extension is unavailable
- Atomic writes with tmp+rename pattern for race condition safety
- extension_loaded() check instead of class_exists()
JS (module.js):
- Extract vfUrl() helper — replaces 18 identical URL construction strings
- Extract vfShowAlert() helper — replaces 25 repeated alert show/hide/class
toggle patterns across all action functions
hooks.php:
- Use Module::groupOsTemplates(data, htmlEscape: true) instead of
inline duplicate grouping logic (~40 lines removed)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-19 13:49:00 -05:00
Prophet731 and Claude Opus 4.6
a9565ff6f9
fix: OS gallery accordion auto-collapses other sections when one opens
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-19 13:39:02 -05:00
Prophet731 and Claude Opus 4.6
9cd737c5d5
fix: OS gallery accordion layout and remove broken remote icon fetching
...
- Replace flat category display with collapsible accordion (first category
expanded, rest collapsed with click-to-toggle)
- Remove VirtFusion remote icon fetching (icons are behind auth/404) —
use brand-colored letter badges instead
- Add accordion header CSS with category icon, template count, and
arrow indicator
- Update checkout page gallery (hooks.php) with matching accordion behavior
- Flush Redis OS template cache on deploy
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-19 05:46:24 -05:00
Prophet731 and Claude Opus 4.6
90a97c4afb
feat: major enhancement — OS gallery, server rename, traffic chart, backups, VNC toggle, password reset, Redis caching, UX improvements
...
- Remove client IP removal capability (keep backend methods removed too)
- Add copy-to-clipboard buttons for IP addresses with tooltip feedback
- Replace OS dropdown with tile gallery (grouped, searchable, brand colors, EOL badges) in rebuild panel and checkout page
- Add inline server rename with friendly name generator and RFC 1123 validation
- Add traffic statistics canvas chart with responsive resize in resources panel
- Add backup listing timeline in manage panel with show-all expansion
- Add VNC enable/disable toggle with connection details and password copy
- Add server root password reset with auto-clipboard copy (never displayed)
- Add skeleton loading placeholders, action cooldowns (power 3s, rebuild 30s), progress indicator with elapsed timer
- Sanitize all client-facing error messages (no raw API errors exposed)
- Convert all state-mutating AJAX calls from GET to POST
- Add explicit break after all output() calls in client.php
- Add Redis-backed API response caching (Cache.php): OS templates 10min, traffic/backups 2min, currencies 30min, packages 10min
- Add GitHub Actions workflow for weekly VirtFusion API change detection
- Move cache busting step after semantic-release in publish workflow
- Add endpoint doc generator script and OpenAPI baseline placeholder
- Improve hostname generation entropy (bin2hex random_bytes)
- Add .superpowers/ to .gitignore
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-19 05:40:32 -05:00
Andrew
0d997a0cc2
Merge pull request #4 from EZSCALE/claude/enhance-virtfusion-whmcs-ORKCR
...
fix: code review fixes and documentation update
2026-02-07 16:51:48 -05:00
Andrew
9aa8378599
Merge pull request #2 from EZSCALE/Prophet731-patch-1
...
Update hooks.php
2024-01-16 12:13:15 -05:00
Andrew
f0c28a4961
Update hooks.php
...
Hide the SSH key field if the user isn't logged in to see them or is a new user.
2024-01-16 12:11:26 -05:00
Prophet731
a46223e5ac
Update issue templates
2023-09-11 00:31:03 -04:00
Prophet731
0d4cff37b9
Init Files
2023-04-30 14:07:59 -04:00
Prophet731
caf77ea0aa
Update README.md
2023-04-30 14:01:10 -04:00
Prophet731
9a8e1947f5
Initial commit
2023-04-30 13:56:32 -04:00