You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fixed
Browsers no longer serve a stale scolta.js/scolta.css after a deploy. Root cause: the enqueue cache-busting token ($ver) was SCOLTA_VERSION, a static constant (1.0.3-dev) that does not change between dev builds, so the asset URL's ?ver= stayed identical across deploys and HTTP caches kept serving the old file (requiring a forced hard reload — e.g. the #162 verification showed the pre-subword build until a manual hard refresh). The token is now filemtime() of the actual shipped asset, so it changes whenever the file changes and a normal reload picks up fresh JS/CSS. SCOLTA_VERSION is unchanged for the plugin header/version reporting and the prompt-cache option. Added ShortcodeTest coverage asserting the enqueued version is not the static constant and equals the asset's mtime.
AI Provider settings field now reflects the saved provider instead of always showing Amazee when Amazee credentials are present (display-only bug; the persisted value and live API calls were already correct). The field renderer forced the selected option to amazee whenever get_api_key_source() detected Amazee credentials (e.g. an auto-provisioned trial), ignoring the saved ai_provider. The explicitly-saved provider now wins; source auto-detection is only a fallback for the empty state (no provider ever saved). Added AdminProviderFieldTest covering the render. (#123)
Added
expand_subword_deny_list scoring setting (default empty). New "Sub-word Guard Denylist" admin field (Scoring section) + sanitizer for the scolta-php sub-word query-term exemption (scolta-php#156 follow-up). Words listed here are never auto-exempted from the sub-word frequency guard even when the user types them, so a typed-but-generic word (e.g. hot on a recipe site) cannot re-flood results. Unlike Custom Stop Words, listed words stay searchable and scorable. Added AdminSubwordDenyListFieldTest covering the render and sanitizer.
expand_subword_max_frequency scoring setting (default 0.05). New admin field (Scoring section) + sanitizer + activation default for the scolta-php sub-word frequency guard (scolta-php#156). Controls when a multi-word expansion term's constituent words are searched on their own — restoring broad-query recall while blocking high-frequency noise.
Changed
Re-synced assets/js/scolta.js (and its .sha256) and the bundled WASM (assets/wasm/scolta_core.js/scolta_core_bg.wasm) to the canonical scolta-php source after the query-word-importance line was reverted. scolta-php reverted the whole query-word-importance line (scolta-php#165: #163 exemption + #164 ranking) and scolta-core reverted the scoring weight (scolta-core#32: #31) after validation showed both were inert — they changed result ordering on zero real queries. The committed copies are restored to that reverted canonical: no query_word_importance plumbing, no incidental_match_weight, no ai_query_word_importance gate, and the bundled WASM returns to the pre-#31 binary. The #156 sub-word frequency guard (#161) and the Fix A/D typed-query-term exemption (#162) are unaffected.
Opened 1.0.3-dev development cycle.
Scoring default tuning (matches scolta-php):cross_list_bonus0.15 → 0.05, recency_boost_max0.5 → 0.25, title_match_boost1.0 → 2.0 in activation defaults and admin field defaults.
Synced assets/js/scolta.js (and its .sha256) to the canonical scolta-php source. Brings the committed copy up to date with the frequency-guarded sub-word expansion (scolta-php#156/#161) and the query-typed-word exemption (scolta-php#162) — restoring broad-query recall while the per-site expand_subword_deny_list vetoes typed-but-generic words. The settings plumbing landed previously; this brings the actual browser behavior in sync.