Open Bug 435761 Opened 12 years ago Updated 5 years ago

Persist view contents between joins and sessions

Categories

(Other Applications :: ChatZilla, enhancement)

enhancement
Not set

Tracking

(Not tracked)

People

(Reporter: bugzilla-mozilla-20000923, Assigned: rginda)

References

(Blocks 1 open bug)

Details

(Whiteboard: [parity-Konversation])

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. :(
Blocks: 430199
Depends on: 489971
Duplicate of this bug: 920597
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.
Whiteboard: [parity-Konversation]
You need to log in before you can comment on or make changes to this bug.