Unblocking UI
Opened this issue · 0 comments
tigrawap commented
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