diff options
-rw-r--r-- | mumi/messages.scm | 29 |
1 files changed, 5 insertions, 24 deletions
diff --git a/mumi/messages.scm b/mumi/messages.scm index af76ef5..cce2814 100644 --- a/mumi/messages.scm +++ b/mumi/messages.scm @@ -31,6 +31,7 @@ #:use-module (debbugs bug) #:use-module (email email) #:use-module (mumi config) + #:use-module (mumimu) #:export (search-bugs fetch-bug recent-bugs @@ -217,30 +218,10 @@ result for a while." (define (recent-bugs amount) "Return up to AMOUNT bugs with most recent activity." - ;; "search-est" does not return unique items, so we have to take - ;; more and then filter the results. To allow for caching we round - ;; off the current time to the start of the hour. - (let* ((matches-activity - (soap-invoke* (%config 'debbugs) - search-est - "" - #:max 50 - #:attributes - `((package string-prefix "guix") - (@cdate >= ,(time-second (ago 'months 1)))))) - (matches-new - (soap-invoke* (%config 'debbugs) - search-est - "" - #:max 50 - #:attributes - `((package string-prefix "guix") - (date >= ,(time-second (ago 'months 1)))))) - (unique (delete-duplicates - (filter-map (lambda (item) - (assoc-ref item "id")) - (append matches-new matches-activity)))) - (ids (take unique (min amount (length unique))))) + (let* ((recent-ids + (delete-duplicates + (map mu:bugid (mu:message-list (string-append "date:1m.."))))) + (ids (take recent-ids (min amount (length recent-ids))))) (status-with-cache ids))) (define (easy-bugs) |