tigrawap/slit

Unblocking UI

Opened this issue · 0 comments

Right now search,filters, etc might block interface if nothing is found within reasonable time

Which is not big issue with small files(i.e <~100mb) but not so fun when making a typo in multi-GB file

General idea for solving the problem:

  • every action should have own cancellable context, every function called from event loop should expect (and best effort to respect) context
  • EventPoll overlay, which will gather all events and process one by one. In case some action already being processed - allow to flush all pending events(by throwing out keys, doing zero-job on interrupt requests(so interrupt-callers will be released)) when control sequence received (probably ctrl+c)
  • Add "Searching...press ctrl+c to stop" to infobar during explicit search/filter and implicit search/filter(i.e page down, which may cause additional big scan (i.e one page of HITs page down that leads to 1GB of misses). Implicit-search notice should appear with delay, to avoid flash-ing