Skip to content

feat(console): add optional progress bar for long-running processes - #76

Open
Ibochkarev wants to merge 3 commits into
3.xfrom
fix/16296-optional-console-progress-bar
Open

feat(console): add optional progress bar for long-running processes#76
Ibochkarev wants to merge 3 commits into
3.xfrom
fix/16296-optional-console-progress-bar

Conversation

@Ibochkarev

@Ibochkarev Ibochkarev commented Aug 21, 2026

Copy link
Copy Markdown
Member

Что сделано

Добавляет опциональный прогресс-бар в MODx.Console, когда showProgress: true (Clear Cache использует его).

Процессоры вызывают logProgress($current, $total). Сообщения используют изолированный префикс __MODX_PROGRESS__:, поэтому обычные строки лога не могут рулить баром. System/Console парсит эти сообщения только при show_progress=1. Clear Cache стартует с indeterminate-прогрессом до cacheManager->refresh(), затем репортит determinate-шаги при записи результатов.

Зачем нужно

Долгие console-задачи не давали фидбэка прогресса (modxcms#16296).

Как проверить

  1. Manage → Clear Cache: консоль показывает прогресс-бар (активность во время refresh, затем счётчики шагов).
  2. Консоль без showProgress (например установка пакета) работает без бара; PROGRESS:-подобный текст лога не глотается.
  3. phpunit --filter ConsoleProgressProtocolTest

Связанные

Refs modxcms#16296

Оригинал: modxcms#16850

Add logProgress() to Processor for console progress reporting. ClearCache
calls it during refresh. Console parses PROGRESS: messages and drives
optional progress bar in modx.console (enabled for Clear Cache).

Refs modxcms#16296
Use an isolated __MODX_PROGRESS__ prefix, parse it only when
show_progress is on, clamp values, start Clear Cache with
indeterminate progress before refresh, and cover the contract (modxcms#16296).
@Ibochkarev Ibochkarev changed the title feat(console): опциональный прогресс-бар для долгих процессов feat(console): add optional progress bar for long-running processes Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant