message: fix(selection): instant selection
  Closes
diff: @@ -83,12 +83,33 @@ export function createIntantCaptureStream(config: AppConfig | null) {
  })
  )
  ).pipe(
  + // distinctUntilChanged((oldObj, newObj) =>
  + // Boolean(
  + // oldObj &&
  + // newObj &&
  + // Math.abs(oldObj.event.clientX - newObj.event.clientX) <= 1 &&
  + // Math.abs(oldObj.event.clientY - newObj.event.clientY) <= 1
  + // )
  + // ),
  debounce(obj =>
  obj ? timer(obj.self ? panelInstant.delay : otherInstant.delay) : of()
  )
  )
  }),
  map(obj => obj && { word: getCursorWord(obj.event), ...obj }),
  + distinctUntilChanged((oldObj, newObj) => {
  + if (!oldObj || !newObj) return false
  + const { word: oldWord, event: oldEvent } = oldObj
  + const { word: newWord, event: newEvent } = newObj
  + return (
  + oldWord?.text === newWord?.text &&
  + oldWord?.context === newWord?.context &&
  + oldEvent.shiftKey === newEvent.shiftKey &&
  + oldEvent.ctrlKey === newEvent.ctrlKey &&
  + oldEvent.metaKey === newEvent.metaKey &&
  + oldEvent.altKey === newEvent.altKey
  + )
  + }),
  filter((obj): obj is {
  word: { text: string; context: string }
  event: MouseEvent
  @@ -98,11 +119,6 @@ export function createIntantCaptureStream(config: AppConfig | null) {
  Boolean(
  obj && obj.word && checkSupportedLangs(config.language, obj.word.text)
  )
  - ),
  - distinctUntilChanged(
  - (oldObj, newObj) =>
  - oldObj.word.text === newObj.word.text &&
  - oldObj.word.context === newObj.word.context
  )
  )
  }
  @@ -121,6 +137,7 @@ function getCursorWord(
  if (!sel) return null
  if (sel.rangeCount > 0) {
  originRange = sel.getRangeAt(0)
  + sel.removeAllRanges()
  }
  if (document.caretPositionFromPoint) {
  