* Request immediate refresh, bypassing debounce and normal pause checks. * Use for manual refresh (user clicked button). * * Note: If isManualBlocked() returns true, the refresh is deferred (not executed). * This is for cases like composing a review note where any refresh would be disrup
()
| 216 | * This is for cases like composing a review note where any refresh would be disruptive. |
| 217 | */ |
| 218 | requestImmediate(): void { |
| 219 | if (this.disposed) return; |
| 220 | |
| 221 | // Check if manual refresh is blocked (e.g., composing review note) |
| 222 | if (this.isManualBlockedFn?.()) { |
| 223 | this.debug("manual refresh blocked, queueing"); |
| 224 | this.pendingBecausePaused = true; |
| 225 | this.updatePendingTrigger("manual"); |
| 226 | return; |
| 227 | } |
| 228 | |
| 229 | // Clear any pending debounce |
| 230 | if (this.debounceTimer) { |
| 231 | clearTimeout(this.debounceTimer); |
| 232 | this.debounceTimer = null; |
| 233 | } |
| 234 | |
| 235 | this.tryRefresh({ bypassPause: true, bypassHidden: true, trigger: "manual" }); |
| 236 | } |
| 237 | |
| 238 | /** |
| 239 | * Attempt refresh, respecting pause conditions. |
no test coverage detected