Add adaptive poll helpers, discovery frame dedupe, poll DB read budget, view integrity (draft prune, pin fallback, cross-ref audit, prefs checksum), mesh quiet mode, topic merge counters, and discovery local-only guard. Co-authored-by: Cursor <[email protected]>
33 lines
750 B
JavaScript
33 lines
750 B
JavaScript
'use strict'
|
|
|
|
/** Suppress duplicate discovery.list span emissions in the same view-build frame (P409-10). */
|
|
const DEFAULT_WINDOW_MS = Math.max(
|
|
8,
|
|
Number(process.env.PEARCORD_DISCOVERY_LIST_DEDUPE_MS) || 16
|
|
)
|
|
|
|
function createDiscoveryListFrameDedupe (windowMs = DEFAULT_WINDOW_MS) {
|
|
let lastEmitAt = 0
|
|
let suppressed = 0
|
|
return {
|
|
shouldEmitSpan () {
|
|
const now = Date.now()
|
|
if (now - lastEmitAt < windowMs) {
|
|
suppressed += 1
|
|
return false
|
|
}
|
|
lastEmitAt = now
|
|
return true
|
|
},
|
|
stats () {
|
|
return { suppressed, windowMs, lastEmitAt }
|
|
},
|
|
reset () {
|
|
lastEmitAt = 0
|
|
suppressed = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = { createDiscoveryListFrameDedupe, DEFAULT_WINDOW_MS }
|