mirror of
https://github.com/discourse/discourse.git
synced 2026-08-06 13:08:40 +08:00
Previously, `CrawlerScorer` relied only on bot heuristics (automation user agents, ASNs, velocity, churn, navigation gaps, referrers) and had no signal of genuine human interaction, so engaged real users could still accumulate crawler points. This change joins the `browser_pageview_session_engagements` table into the scoring query and applies a `-40` discount to events whose session recorded human interaction, merging each heuristic component against the stored breakdown so peak bot signals survive re-scoring across overlapping windows. The scoring window is also delayed by 10 minutes so engagement beacons arrive before an event is first scored. |
||
|---|---|---|
| .. | ||
| fixtures | ||
| migrate | ||
| post_migrate | ||
| api_test_seeds.rb | ||
| structure.sql | ||