Open Bug 435761 Opened 12 years ago Updated 5 years ago
Persist view contents between joins and sessions
Ideally, we'd keep all the lines visible in the view in files in %profile%\chatzilla somewhere and when creating a new view load the lines from previously before displaying any new ones. Should /clear-view clear the file as well? There's all sorts of issues with doing this, but at minimum it would need to be a stream of display(...) arguments to "replay" the display. This would lose the time information without (unfun) work in display(). Alternatively, it could persist the raw HTML, and just insert it as-is. This would be much, much faster (one invokation of innerHTML for the entire display) but would potentially cause some confusion when any of the munger (or plugin-provided mungers) change, as the old display will not be the same if typed again. Plus, there's the question of storage: XML would provide a preset environment, but suffers from not being very good at streaming. The TextSerializer can stream objects to a file and read them in in series, but for the number of lines involved it'd probably get a large file. Neither like trimming items. :(
FWIW: When rejoining a channel over a quit/restart, Konversation fetches the latest logs for that channel (if there are any) and displays them in uniform lightgrey on white above the new messages (which appear normally coloured, of course). History scrollback depth is user-controlled, as in ChatZilla: as new lines are displayed, the oldest ones stop being recallable.
You need to log in before you can comment on or make changes to this bug.