}
// addMessage builds the leaf of message when it needs no model call, or else
-// adds the leaf to the queue. Then it appends the leaf to the views. A crash can
-// stop an append after the leaf build and before the view save, so a leaf that
-// is built already stays as it is, and restoreQueue settles its parent.
+// adds the leaf to the queue. Then it appends the leaf to the views. A crash
+// can stop an append after the leaf build and before the view save, so a leaf
+// that is built already stays as it is, and restoreQueue settles its parent.
func (m *Memory) addMessage(message Message) error {
built, err := m.tree.Built(0, message.ID)
if err != nil {
}
task.Input = []string{leafSource(message)}
+ task.Images = imageFiles(message.Text)
return task, nil
}
// Task is the build of the node (Level, Index). Context is the compaction view
// for the build. Input holds the source "kind: text" of a leaf, or the two
-// child lines of a merge with their newlines as spaces.
+// child lines of a merge with their newlines as spaces. Images holds the leaf
+// image filenames and is empty for merges.
type Task struct {
Level int
Index int
Context string
Input []string
+ Images []string
}
// MemoryViewFile is the content of view.json.