fix: image style suffix empty-string bypass and image cost run_id mismatch (v0.12.2)
Bug 1: Image style suffix empty-string bypass - get_option() for prautoblogger_image_style_suffix returns empty string from DB instead of default - Root cause of post #675 rendering photorealistically instead of newspaper comic - Fixed by extracting private helper get_style_suffix() that treats both absent AND empty as default - Applied to all three call sites in class-image-prompt-builder.php (lines 85, 107, 272) Bug 2: Image cost logged under wrong run_id - class-image-pipeline.php created fresh cost tracker when invoked without argument - Image costs logged under different run_id than article's other stages - Cost breakdowns aggregating by run_id silently excluded image line items - Fixed by threading article worker's cost tracker through Publisher to image pipeline - Modified publisher.php and post-assembler.php to accept and pass cost_tracker - Updated article-worker.php to pass cost_tracker to publisher methods - Image costs now share same run_id as analysis, draft, review, and llm_research stages Version: 0.12.1 -> 0.12.2 CHANGELOG: Added comprehensive entry describing both fixes
This commit is contained in:
@@ -5,6 +5,14 @@ All notable changes to PRAutoBlogger will be documented in this file.
|
||||
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project uses [Semantic Versioning](https://semver.org/).
|
||||
|
||||
## [0.12.2] — 2026-04-24
|
||||
|
||||
### Fixed
|
||||
- **Image style suffix empty-string bypass** — `get_option()` for `prautoblogger_image_style_suffix` only returns the default constant when the key is absent from `wp_options`; an empty string stored in the DB returns `''`, bypassing fallback entirely. Root cause of post #675 rendering photorealistically instead of as a newspaper comic. Fixed all three call sites in `class-image-prompt-builder.php` (lines 85, 107, 272) by extracting a private helper `get_style_suffix()` that treats both absent AND empty string as "use default".
|
||||
|
||||
- **Image cost logged under wrong run_id** — `class-image-pipeline.php` created a fresh cost tracker when invoked without an argument, so image costs were logged under a different `run_id` than the article's other stages. Cost breakdowns aggregating by `run_id` silently excluded the image line item. Fixed by threading the article worker's cost tracker through `PRAutoBlogger_Publisher` and `PRAutoBlogger_Post_Assembler::attach_generated_images()` to the image pipeline constructor. Image costs now share the same `run_id` as analysis, draft, review, and llm_research stages.
|
||||
|
||||
|
||||
## [0.12.1] — 2026-04-23
|
||||
|
||||
### Fixed
|
||||
|
||||
Reference in New Issue
Block a user