4 Commits

Author SHA1 Message Date
Vladimir Bryzgalov 714b4712ad fix: wire is_hard_drop_enabled + drop_score_threshold settings into Classifier filter chain
Settings::register_classifier_filters() registers priority-5 callbacks on
cf7stg_classifier_thresholds and cf7stg_hard_drop_rules so the UI options
actually influence Classifier behaviour. Called from Plugin::boot(). User
filters at priority 10 override these defaults as expected. Adds 4 tests
covering the wired behaviour and override priority. Also adds dry_run_drop?
to MessageFormatter::build() @param docblock.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 17:25:20 +05:00
Vladimir Bryzgalov 0034531a3a fix(settings): wp_date() respects WP timezone; clarify counter is not atomic
- Replace date('Y-m-d') with wp_date('Y-m-d') in increment_drop_counter and
  default_drop_counters to respect WordPress timezone settings.
- Update corresponding test assertions to use wp_date() for consistency.
- Clarify in docblock that increment_drop_counter is not atomic under concurrent
  submissions; read-modify-write pattern via update_option is acceptable for
  low-volume dashboard counters.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 16:25:30 +05:00
Vladimir Bryzgalov ae70b42dcb feat(settings): silent-drop options + counter with rolling today→yesterday
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 16:22:57 +05:00
Vladimir Bryzgalov 1f85d009c4 feat(settings): options wrapper with wp-config constant override 2026-04-17 22:43:36 +05:00