summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2018-09-20 15:46:49 +0200
committerRicardo Wurmus <rekado@elephly.net>2018-09-20 19:17:15 +0200
commit5314a6feb0b8fbe120a6433907697c980cb0e5fd (patch)
tree0a055639ffe69d388c8fb46689a7c023babac57e
parent65a2c4bedc8ffacdefae36f9b28db8a7eb66a0f4 (diff)
view: Show changed message subjects.
Suggested-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--mumi/web/view/html.scm24
1 files changed, 16 insertions, 8 deletions
diff --git a/mumi/web/view/html.scm b/mumi/web/view/html.scm
index 5977161..a0431e8 100644
--- a/mumi/web/view/html.scm
+++ b/mumi/web/view/html.scm
@@ -256,7 +256,7 @@ range. The supported arguments are the same as for "
(lambda (a b)
(string< (extract-email a)
(extract-email b)))))
- (define (show-message message)
+ (define (show-message message previous-subject)
`((div
(@ (class "row"))
(a (@ (id ,(number->string (email-msg-num message)))))
@@ -280,6 +280,9 @@ range. The supported arguments are the same as for "
(a (@ (href ,(string-append "#" (number->string
(email-msg-num message)))))
,(date message))))
+ ,@(if (string-suffix? previous-subject (subject message))
+ '()
+ `((div (@ (class "subject")) ,(subject message))))
(div
(@ (class "details"))
(div
@@ -334,13 +337,18 @@ range. The supported arguments are the same as for "
(@ (class "row"))
(div
(@ (class "conversation col-md-9"))
- ,(map show-message (filter (lambda (msg)
- ;; Ignore messages
- ;; without body, and
- ;; internal messages.
- (and (email-body msg)
- (not (internal-message? msg))))
- messages))
+ ,(let ((msgs (filter (lambda (msg)
+ ;; Ignore messages
+ ;; without body, and
+ ;; internal messages.
+ (and (email-body msg)
+ (not (internal-message? msg))))
+ messages)))
+ (map (lambda (msg previous-subject)
+ (show-message msg previous-subject))
+ msgs
+ (cons (bug-subject bug)
+ (map subject msgs))))
(div
(@ (class "row comment-box"))
(a (@ (id "comment")))