software/mumi.git
17 months agoAdd task to TODO.org.
Ricardo Wurmus [Wed, 1 Apr 2020 03:41:00 +0000 (05:41 +0200)] 
Add task to TODO.org.

17 months agoview/utils: Add download-icon.
Ricardo Wurmus [Wed, 1 Apr 2020 03:25:17 +0000 (05:25 +0200)] 
view/utils: Add download-icon.

17 months agocss: Print commit lines with monospace font.
Ricardo Wurmus [Wed, 1 Apr 2020 03:25:02 +0000 (05:25 +0200)] 
css: Print commit lines with monospace font.

17 months agoview/html: Fix typo.
Ricardo Wurmus [Wed, 1 Apr 2020 03:16:55 +0000 (05:16 +0200)] 
view/html: Fix typo.

17 months agoUpdate TODO.org.
Ricardo Wurmus [Wed, 1 Apr 2020 02:33:36 +0000 (04:33 +0200)] 
Update TODO.org.

17 months agoview/html: issue-page: Fix broken column layout.
Ricardo Wurmus [Wed, 1 Apr 2020 02:24:46 +0000 (04:24 +0200)] 
view/html: issue-page: Fix broken column layout.

17 months agomessages: recent-bugs: Show most recently modified issues first.
Ricardo Wurmus [Wed, 1 Apr 2020 02:24:25 +0000 (04:24 +0200)] 
messages: recent-bugs: Show most recently modified issues first.

17 months agoAdd TODO.org.
Ricardo Wurmus [Wed, 1 Apr 2020 02:07:21 +0000 (04:07 +0200)] 
Add TODO.org.

17 months agoMake tables sortable.
Ricardo Wurmus [Wed, 1 Apr 2020 01:45:01 +0000 (03:45 +0200)] 
Make tables sortable.

17 months agoview/html: list-of-matching-bugs: Use search-widget.
Ricardo Wurmus [Tue, 31 Mar 2020 21:53:22 +0000 (23:53 +0200)] 
view/html: list-of-matching-bugs: Use search-widget.

17 months agoview/html: Add search-widget.
Ricardo Wurmus [Tue, 31 Mar 2020 21:53:07 +0000 (23:53 +0200)] 
view/html: Add search-widget.

17 months agoview/html: search-form: Accept search query text.
Ricardo Wurmus [Tue, 31 Mar 2020 21:52:41 +0000 (23:52 +0200)] 
view/html: search-form: Accept search query text.

17 months agoview/html: Fix wrong help text.
Ricardo Wurmus [Tue, 31 Mar 2020 21:18:50 +0000 (23:18 +0200)] 
view/html: Fix wrong help text.

"yesterday" is not actually a supported date!

17 months agoRevert "messages: download-message: Reset mtime."
Ricardo Wurmus [Tue, 31 Mar 2020 21:14:20 +0000 (23:14 +0200)] 
Revert "messages: download-message: Reset mtime."

This reverts commit 9f66dbc6231e2a884f76fa9913a0461887476116.
It's not actually necessary after all!

17 months agoscripts: Fetch messages regularly.
Ricardo Wurmus [Tue, 31 Mar 2020 14:16:54 +0000 (16:16 +0200)] 
scripts: Fetch messages regularly.

17 months agoFilter missing messages and return defaults on missing headers.
Ricardo Wurmus [Tue, 31 Mar 2020 13:14:48 +0000 (15:14 +0200)] 
Filter missing messages and return defaults on missing headers.

17 months agomessages: download-message: Reset mtime.
Ricardo Wurmus [Tue, 31 Mar 2020 08:32:59 +0000 (10:32 +0200)] 
messages: download-message: Reset mtime.

17 months agoview/html: Unclutter tables.
Ricardo Wurmus [Tue, 31 Mar 2020 08:07:27 +0000 (10:07 +0200)] 
view/html: Unclutter tables.

17 months agoview/html: Clarify title.
Ricardo Wurmus [Tue, 31 Mar 2020 07:09:09 +0000 (09:09 +0200)] 
view/html: Clarify title.

17 months agoview/html: Hide search hint by default.
Ricardo Wurmus [Tue, 31 Mar 2020 07:07:20 +0000 (09:07 +0200)] 
view/html: Hide search hint by default.

17 months agoview/html: Capitalize placeholder.
Ricardo Wurmus [Tue, 31 Mar 2020 07:05:22 +0000 (09:05 +0200)] 
view/html: Capitalize placeholder.

17 months agoview/html: Replace "Search" text with icon.
Ricardo Wurmus [Tue, 31 Mar 2020 07:04:59 +0000 (09:04 +0200)] 
view/html: Replace "Search" text with icon.

17 months agocss: Expand search bar only on wide screens.
Ricardo Wurmus [Tue, 31 Mar 2020 06:52:36 +0000 (08:52 +0200)] 
css: Expand search bar only on wide screens.

17 months agoAdd inline avatar for narrow screens.
Ricardo Wurmus [Tue, 31 Mar 2020 06:48:48 +0000 (08:48 +0200)] 
Add inline avatar for narrow screens.

17 months agoview/html: Remove excessive bootstrap grid classes.
Ricardo Wurmus [Mon, 30 Mar 2020 22:12:11 +0000 (00:12 +0200)] 
view/html: Remove excessive bootstrap grid classes.

17 months agocss: Add bubble tab to the left of messages on wide screens.
Ricardo Wurmus [Mon, 30 Mar 2020 22:11:48 +0000 (00:11 +0200)] 
css: Add bubble tab to the left of messages on wide screens.

17 months agocss: Make space for avatars on wide screens.
Ricardo Wurmus [Mon, 30 Mar 2020 22:11:34 +0000 (00:11 +0200)] 
css: Make space for avatars on wide screens.

17 months agocss: Hide avatar on narrow screens.
Ricardo Wurmus [Mon, 30 Mar 2020 22:11:14 +0000 (00:11 +0200)] 
css: Hide avatar on narrow screens.

17 months agoscripts: Catch any errors in worker and restart.
Ricardo Wurmus [Mon, 30 Mar 2020 17:32:17 +0000 (19:32 +0200)] 
scripts: Catch any errors in worker and restart.

17 months agocontroller: Remove /snippet handlers.
Ricardo Wurmus [Mon, 30 Mar 2020 17:29:06 +0000 (19:29 +0200)] 
controller: Remove /snippet handlers.

17 months agoview/html: index: Include list of recent and priority bugs.
Ricardo Wurmus [Mon, 30 Mar 2020 17:27:05 +0000 (19:27 +0200)] 
view/html: index: Include list of recent and priority bugs.

Don't use JavaScript for this.

17 months agocss: Separate filters vertically.
Ricardo Wurmus [Mon, 30 Mar 2020 17:22:39 +0000 (19:22 +0200)] 
css: Separate filters vertically.

17 months agobugs: update-bug-database!: Refresh all existing bugs.
Ricardo Wurmus [Mon, 30 Mar 2020 17:20:07 +0000 (19:20 +0200)] 
bugs: update-bug-database!: Refresh all existing bugs.

This includes bugs that have been moved to other packages.

17 months agoview/html: Remove help for obsolete mdate keyword.
Ricardo Wurmus [Mon, 30 Mar 2020 17:10:24 +0000 (19:10 +0200)] 
view/html: Remove help for obsolete mdate keyword.

17 months agoview/html: Update copyright.
Ricardo Wurmus [Mon, 30 Mar 2020 17:08:06 +0000 (19:08 +0200)] 
view/html: Update copyright.

18 months agoscripts: Adjust error message on index failure.
Ricardo Wurmus [Thu, 12 Mar 2020 11:41:31 +0000 (12:41 +0100)] 
scripts: Adjust error message on index failure.

* scripts/mumi.in (mu-index): Don't use undeclared variable COMMAND.

18 months agoscripts: Index mails before initialization.
Ricardo Wurmus [Thu, 12 Mar 2020 11:40:22 +0000 (12:40 +0100)] 
scripts: Index mails before initialization.

18 months agobugs: Use inexact queries for names.
Ricardo Wurmus [Thu, 12 Mar 2020 11:13:29 +0000 (12:13 +0100)] 
bugs: Use inexact queries for names.

* mumi/bugs.scm (bugs-by-submitter, bugs-by-owner): Use LIKE to
compare argument.

18 months agomessages: Implement search with mu.
Ricardo Wurmus [Thu, 12 Mar 2020 11:08:22 +0000 (12:08 +0100)] 
messages: Implement search with mu.

* mumi/messages.scm (search-bugs): Use mu to find messages according
to the query, then filter by message sets from the local database.
(ago, date-term->epoch-seconds): Remove procedures.
(punctuation?): New procedure.
(process-query): Remove handling of attributes; replace filters with
sets; build up mu query and use local database for bug sets.
* mumi/web/controller.scm (controller): Adjust call of search-bugs.

18 months agomessages: recent-bugs: Convert bug id to number.
Ricardo Wurmus [Thu, 12 Mar 2020 11:04:52 +0000 (12:04 +0100)] 
messages: recent-bugs: Convert bug id to number.

* mumi/messages.scm (recent-bugs): Convert bug id field to number.

18 months agomessages: bugs-by-severity: Use local database.
Ricardo Wurmus [Thu, 12 Mar 2020 09:59:38 +0000 (10:59 +0100)] 
messages: bugs-by-severity: Use local database.

* mumi/messages.scm (bugs-by-severity): Use local database instead of
contacting Debbugs.

18 months agomessages: easy-bugs: Use local database.
Ricardo Wurmus [Thu, 12 Mar 2020 09:59:05 +0000 (10:59 +0100)] 
messages: easy-bugs: Use local database.

* mumi/messages.scm (easy-bugs): Implement using bugs-by-tag.

18 months agoscripts: Add worker option to refresh database.
Ricardo Wurmus [Thu, 12 Mar 2020 09:57:47 +0000 (10:57 +0100)] 
scripts: Add worker option to refresh database.

* scripts/mumi.in: Update the mu index and the Sqlite database when
the "--worker" option is provided.

18 months agomumi: Add bugs.
Ricardo Wurmus [Thu, 12 Mar 2020 09:56:47 +0000 (10:56 +0100)] 
mumi: Add bugs.

* mumi/bugs.scm: New file.
* etc/schema.sql: New file.
* Makefile.am (SOURCES): Add mumi/bugs.scm.
(dist_pkgdata_DATA): Add etc/schema.sql.

18 months agoconfigure: Check for presence of Guile-Sqlite3.
Ricardo Wurmus [Thu, 12 Mar 2020 07:27:55 +0000 (08:27 +0100)] 
configure: Check for presence of Guile-Sqlite3.

18 months agoconfig: Add pkg-dir and db-dir.
Ricardo Wurmus [Thu, 12 Mar 2020 07:26:57 +0000 (08:26 +0100)] 
config: Add pkg-dir and db-dir.

* mumi/config.scm.in (%config): Add fields for pkg-dir and db-dir.

18 months agoguix: Use guile-sqlite3.
Ricardo Wurmus [Thu, 12 Mar 2020 07:26:42 +0000 (08:26 +0100)] 
guix: Use guile-sqlite3.

18 months agomessages: Close port after downloading mail.
Ricardo Wurmus [Thu, 12 Mar 2020 07:25:55 +0000 (08:25 +0100)] 
messages: Close port after downloading mail.

* mumi/messages.scm (download-message): Close port when done downloading.

18 months agomessages: Speed up recent-bugs by using mumimu.
Ricardo Wurmus [Wed, 11 Mar 2020 21:03:45 +0000 (22:03 +0100)] 
messages: Speed up recent-bugs by using mumimu.

* mumi/messages.scm (recent-bugs): Don't use the Debbugs search-est
action; collect messages from the mumimu database instead.

18 months agoscripts: Initialize mumimu mail directory.
Ricardo Wurmus [Wed, 11 Mar 2020 21:03:03 +0000 (22:03 +0100)] 
scripts: Initialize mumimu mail directory.

* scripts/mumi.in: Initialize configured mail directory.

18 months agoguix: Simplify by using existing Guix packages.
Ricardo Wurmus [Wed, 11 Mar 2020 20:39:49 +0000 (21:39 +0100)] 
guix: Simplify by using existing Guix packages.

* guix.scm (guile-email-devel, guile-debbugs-devel, mumimu): Remove
variables.

18 months agoconfigure: Check for Guile 3.0 first.
Ricardo Wurmus [Sat, 29 Feb 2020 07:47:10 +0000 (08:47 +0100)] 
configure: Check for Guile 3.0 first.

18 months agoMakefile: Distribute all assets.
Ricardo Wurmus [Sat, 29 Feb 2020 07:46:43 +0000 (08:46 +0100)] 
Makefile: Distribute all assets.

18 months agoconfigure: Don't ask for fibers.
Ricardo Wurmus [Sat, 29 Feb 2020 07:46:22 +0000 (08:46 +0100)] 
configure: Don't ask for fibers.

18 months agocontroller: Match method symbols.
Ricardo Wurmus [Sat, 29 Feb 2020 07:33:25 +0000 (08:33 +0100)] 
controller: Match method symbols.

* mumi/web/controller.scm (controller): Match method symbols.

18 months agoserver: Remove unnecessary indirection.
Ricardo Wurmus [Sat, 29 Feb 2020 07:32:28 +0000 (08:32 +0100)] 
server: Remove unnecessary indirection.

* mumi/web/server.scm (run-controller): Remove.
(handler): Call controller directly.
(start-mumi-web-server): Remove lambda around handler.

21 months agoguix: guile-email-devel: Update to 0.2.1-4.641168f.
Ricardo Wurmus [Thu, 5 Dec 2019 07:42:30 +0000 (08:42 +0100)] 
guix: guile-email-devel: Update to 0.2.1-4.641168f.

* guix.scm (guile-email-devel): Update to 0.2.1-4.641168f.

21 months agoDo not use fibers web server.
Ricardo Wurmus [Sun, 1 Dec 2019 08:40:38 +0000 (09:40 +0100)] 
Do not use fibers web server.

For some reason this no longer works and breaks XML parsing:

In mumi/messages.scm:
   185:16 19 (patch-messages 37444)
In /gnu/store/71pv9hv73vn1zl1jmx7w8jwrpfn2nx0v-profile/share/guile/site/2.2/debbugs/soap.scm:
   163:19 18 (soap-invoke* #<procedure %gnu args> #<procedure get-b�> �)
    157:7 17 (soap-invoke _ _ . _)
In sxml/simple.scm:
    143:4 16 (xml->sxml _ #:namespaces _ #:declare-namespaces? _ # _ �)
    143:4 15 (loop #<input: string 7f3944511e70> () #f _)
    143:4 14 (loop #<input: string 7f3944511e70> () #f _)
    143:4 13 (loop #<input: string 7f3944511e70> () #f _)
    143:4 12 (loop #<input: string 7f3944511e70> () #f _)
    143:4 11 (loop #<input: string 7f3944511e70> () #f _)
    143:4 10 (loop #<input: string 7f3944511e70> () #f _)
In sxml/upstream/SSAX.scm:
  1896:21  9 (_ #<input: string 7f3944511e70> #f #<procedure 7f394e�> �)
In sxml/ssax/input-parse.scm:
   103:21  8 (next-token _ (#\< #\& #\return) _ _)
In ice-9/suspendable-ports.scm:
   683:15  7 (read-delimited _ _ _)
   184:27  6 (fill-input #<input: string 7f3944511e70> _ _)
     72:4  5 (read-bytes #<input: string 7f3944511e70> #vu8(50 89 �) �)
In unknown file:
           4 (port-read #<input: string 7f3944511e70> #vu8(50 89 # �) �)
In web/response.scm:
   254:22  3 (read! #vu8(50 89 84 99 119 77 50 89 120 78 87 81 53 �) �)
In ice-9/suspendable-ports.scm:
   284:18  2 (get-bytevector-n! #<input-output: string 7f3944511ee0> �)
     72:4  1 (read-bytes #<input-output: string 7f3944511ee0> # 663 #)
In unknown file:
           0 (port-read #<input-output: string 7f3944511ee0> # 663 361)
In procedure custom_binary_input_port_read: Value out of range: 1024

21 months agoguix: Use latest version of guile-email.
Ricardo Wurmus [Sun, 1 Dec 2019 08:19:58 +0000 (09:19 +0100)] 
guix: Use latest version of guile-email.

* guix.scm (guile-email-devel): Update to commit
121073cb725aef9baecaac0cfb6cf3f5a287c4e7.

2 years agomumi: Add /easy route to show easy bugs.
Ricardo Wurmus [Thu, 19 Sep 2019 22:34:19 +0000 (00:34 +0200)] 
mumi: Add /easy route to show easy bugs.

* mumi/messages.scm (easy-bugs): New procedure.
* mumi/web/controller.scm (controller): Handle /easy route.

2 years agoguix: Update guile-email-devel.
Ricardo Wurmus [Sun, 28 Jul 2019 07:59:16 +0000 (09:59 +0200)] 
guix: Update guile-email-devel.

2 years agoguix: Update mumimu.
Ricardo Wurmus [Tue, 23 Jul 2019 22:03:01 +0000 (00:03 +0200)] 
guix: Update mumimu.

* guix.scm (mumimu): Update to latest commit.

2 years agoguix: Use mumimu instead of mu.
Ricardo Wurmus [Tue, 23 Jul 2019 11:17:40 +0000 (13:17 +0200)] 
guix: Use mumimu instead of mu.

* guix.scm (mumimu): New variable.
* configure.ac: Check for mumimu.
* mumi/config.scm.in (%config): Update placeholder for mu-executable.

2 years agoguix: Use development version of guile-email.
Ricardo Wurmus [Sun, 21 Jul 2019 19:06:01 +0000 (21:06 +0200)] 
guix: Use development version of guile-email.

* guix.scm (guile-email-devel): New variable.
(guile-debbugs-devel)[propagated-inputs]: Use it.

2 years agomessages: patch-messages: Use download-message.
Ricardo Wurmus [Sun, 21 Jul 2019 11:12:37 +0000 (13:12 +0200)] 
messages: patch-messages: Use download-message.

* mumi/messages.scm (patch-messages): Rewrite to use download-message.

2 years agoscripts: Regularly index the mail directory.
Ricardo Wurmus [Sun, 21 Jul 2019 10:30:44 +0000 (12:30 +0200)] 
scripts: Regularly index the mail directory.

* configure.ac: Detect mu.
* guix.scm: Add "mu" to the environment.
* mumi/config.scm.in (%config)[mu-executable]: Add it.
* scripts/mumi.in: Spawn "mu index" regularly.

2 years agoscripts: Add support for "--fetch" option.
Ricardo Wurmus [Sun, 21 Jul 2019 10:14:00 +0000 (12:14 +0200)] 
scripts: Add support for "--fetch" option.

* scripts/mumi.in (%options): Recognize "fetch" option.
(%default-options): Set default for "fetch".
* mumi/config.scm.in (%config): Remove extraneous quotes from "lists"
and "packages".

2 years agomessages: Add download-message.
Ricardo Wurmus [Sun, 21 Jul 2019 10:12:11 +0000 (12:12 +0200)] 
messages: Add download-message.

* mumi/config.scm.in (%config): Add mail-dir.
* mumi/messages.scm (download-message): New procedure.

2 years agoRemove unused module import.
Ricardo Wurmus [Sun, 21 Jul 2019 09:14:29 +0000 (11:14 +0200)] 
Remove unused module import.

* mumi/messages.scm: Do not import (debbugs rfc822).

2 years agoguix: Update guile-debbugs.
Ricardo Wurmus [Sun, 21 Jul 2019 01:30:30 +0000 (03:30 +0200)] 
guix: Update guile-debbugs.

* guix.scm (guile-debbugs-devel): New variable.

2 years agoconfig: Use %gnu instance function.
Ricardo Wurmus [Sun, 21 Jul 2019 01:29:26 +0000 (03:29 +0200)] 
config: Use %gnu instance function.

* mumi/config.scm.in (%config): Use %gnu function instead of URL string.

2 years agoUpdate styles.
Ricardo Wurmus [Thu, 11 Jul 2019 21:32:25 +0000 (23:32 +0200)] 
Update styles.

* assets/css/bootstrap.css: Replace with Bootstrap 4.1.1.
* assets/css/screen.scm: Remove obsolete rules.
* assets/img/logo.png: Use same logo as on ci.guix.gnu.org.
* assets/js/mumi.js (loadSnippet): Replace outer HTML.
* mumi/config.scm.in (%config): Add submission-bug-email-address.
* mumi/web/view/html.scm (layout, search-form, header, index,
issue-page): Adjust CSS classes.
(index): Mention submission-bug-email-address; merge tables of
recent/priority bugs.
(issue-page): Use DL/DD/DT instead of UL for issue stats.
(list-of-bugs): Return only table rows.
(priority-bugs): Same.
(list-of-matching-bugs): Adjust by adding table and table header.
* mumi/web/controller.scm (controller): Adjust use of PRIORITY-BUGS.

2 years agoview: Handle bugs without subjects gracefully.
Ricardo Wurmus [Wed, 15 May 2019 12:47:32 +0000 (14:47 +0200)] 
view: Handle bugs without subjects gracefully.

* mumi/messages.scm (subject): Always return a string.
* mumi/web/view/html.scm (bug-subject*): New procedure.
(issue-page, list-of-bugs): Use it.

2 years agohtml: Fix URL in footer.
Ricardo Wurmus [Tue, 5 Feb 2019 10:21:55 +0000 (11:21 +0100)] 
html: Fix URL in footer.

2 years agohtml: Add footer.
Ricardo Wurmus [Tue, 5 Feb 2019 10:19:30 +0000 (11:19 +0100)] 
html: Add footer.

* mumi/web/view/html.scm (layout): Add footer.
* assets/css/screen.css (footer): Add new rule.

2 years agohtml: Show block info.
Ricardo Wurmus [Mon, 4 Feb 2019 11:22:46 +0000 (12:22 +0100)] 
html: Show block info.

* mumi/web/view/html.scm (issue-page): Handle blocks and blockedby
fields.
* assets/css/screen.css: Add styles for blockedby and blocks lists.

2 years agohtml: Handle type quirk of "mergedwith" field.
Ricardo Wurmus [Mon, 4 Feb 2019 07:38:12 +0000 (08:38 +0100)] 
html: Handle type quirk of "mergedwith" field.

* mumi/web/view/html.scm (issue-page): Deal with confusing type of
"mergedwith" field, which may be a string representing a list or a
proper number.

2 years agohtml: Show related bugs that were merged.
Ricardo Wurmus [Mon, 4 Feb 2019 00:24:25 +0000 (01:24 +0100)] 
html: Show related bugs that were merged.

* mumi/web/view/html.scm (issue-page): Process "mergedwith" field.
* assets/css/screen.css: Add rules for ul.merged.

2 years agocontroller: Load expensive lists via JavaScript
Ricardo Wurmus [Fri, 1 Feb 2019 11:45:34 +0000 (12:45 +0100)] 
controller: Load expensive lists via JavaScript

* mumi/web/controller.scm (controller): Add routes for rendering
snippets.
* mumi/web/view/html.scm (list-of-bugs): Export; add severity class.
(priority-bugs): New procedure.
(index): Add sections for priority bugs.
* assets/js/mumi.js: New file.
* assets/css/screen.css: Color serious and important bugs.

2 years agomessages: Add bugs-by-severity.
Ricardo Wurmus [Fri, 1 Feb 2019 11:44:40 +0000 (12:44 +0100)] 
messages: Add bugs-by-severity.

* mumi/messages.scm (bugs-by-severity): New procedure.

2 years agomessages: Use status-with-cache.
Ricardo Wurmus [Fri, 1 Feb 2019 11:44:05 +0000 (12:44 +0100)] 
messages: Use status-with-cache.

* mumi/messages.scm (search-bugs, recent-bugs): Use status-with-cache.

2 years agomessages: Add status-with-cache.
Ricardo Wurmus [Fri, 1 Feb 2019 11:43:11 +0000 (12:43 +0100)] 
messages: Add status-with-cache.

* mumi/messages.scm (status-with-cache): New procedure.

2 years agoguix: Add missing module reference.
Ricardo Wurmus [Fri, 1 Feb 2019 09:03:40 +0000 (10:03 +0100)] 
guix: Add missing module reference.

2 years agoview: Treat image attachments as binaries.
Ricardo Wurmus [Mon, 28 Jan 2019 22:55:39 +0000 (23:55 +0100)] 
view: Treat image attachments as binaries.

* mumi/web/view/utils.scm (display-message-body): Handle attachments
of type "image" like any other binary attachment.

2 years agoview: Handle bytevector mime parts.
Ricardo Wurmus [Mon, 28 Jan 2019 22:54:17 +0000 (23:54 +0100)] 
view: Handle bytevector mime parts.

* mumi/web/view/utils.scm (display-message-body): Handle mime entities
with a bytevector part.

2 years agoguix: Remove custom versions of packages.
Ricardo Wurmus [Mon, 28 Jan 2019 12:18:24 +0000 (13:18 +0100)] 
guix: Remove custom versions of packages.

* guix.scm (guile-debbugs-next, guile-email): Remove.

2 years agoguix: Use GUILE-2.2 variable.
Ricardo Wurmus [Mon, 28 Jan 2019 12:17:56 +0000 (13:17 +0100)] 
guix: Use GUILE-2.2 variable.

* guix.scm (mumi)[propagated-inputs]: Replace guile-2.2.4 with guile-2.2.

2 years agoUse the Guix logo instead of GuixSD.
Ricardo Wurmus [Mon, 28 Jan 2019 12:16:38 +0000 (13:16 +0100)] 
Use the Guix logo instead of GuixSD.

* assets/css/screen.css (.logo): New rules.
* assets/img/logo.png: Replace file.
* mumi/web/view/html.scm (header): Remove IMG tag.

2 years agoPresent download links for single part messages.
Arun Isaac [Sun, 27 Jan 2019 10:55:29 +0000 (16:25 +0530)] 
Present download links for single part messages.

* mumi/web/view/utils.scm (display-message-body): Pass single part
messages through the same display-mime-entity function so that
download links are presented for them too.

2 years agoSupport download of single part messages.
Arun Isaac [Sun, 27 Jan 2019 10:49:11 +0000 (16:19 +0530)] 
Support download of single part messages.

* mumi/messages.scm (extract-attachment): Return <email> record for
single part messages.
* mumi/web/download.scm (handle-download): Handle <email> record type.

2 years agoDo not attempt to decode the message body.
Arun Isaac [Sun, 27 Jan 2019 10:45:22 +0000 (16:15 +0530)] 
Do not attempt to decode the message body.

guile-email handles decoding of the message body.

* mumi/web/download.scm (handle-download): Do not attempt to decode
the message body.

2 years agoDisplay subject only when message actually has a subject.
Arun Isaac [Sun, 27 Jan 2019 10:38:15 +0000 (16:08 +0530)] 
Display subject only when message actually has a subject.

* mumi/web/view/html.scm (issue-page): Check if message actually has a
subject field before attempting to display it.

2 years agomumi: extract-attachment: Extract the mime-entity body.
Ricardo Wurmus [Sun, 11 Nov 2018 19:43:56 +0000 (20:43 +0100)] 
mumi: extract-attachment: Extract the mime-entity body.

* mumi/messages.scm (extract-attachment): Extract the mime-entity-body
instead of expecting a tagged list.

2 years agoHandle nested mime entries recursively.
Ricardo Wurmus [Sun, 11 Nov 2018 19:43:04 +0000 (20:43 +0100)] 
Handle nested mime entries recursively.

* mumi/web/view/utils.scm (display-message-body): Apply
display-mime-entity recursively.

2 years agoDeclare Guile JSON as a dependency.
Ricardo Wurmus [Sat, 10 Nov 2018 11:21:16 +0000 (12:21 +0100)] 
Declare Guile JSON as a dependency.

2 years agoUse Guile Fibers web server.
Ricardo Wurmus [Sat, 10 Nov 2018 09:52:49 +0000 (10:52 +0100)] 
Use Guile Fibers web server.

* mumi/web/server.scm (handler): Simplify.
(start-mumi-web-server): Use fiberized server.
* guix.scm: Add guile-fibers to inputs.
* configure.ac: Check for availability of fibers.

2 years agoview: Be more defensive when working with message subject.
Ricardo Wurmus [Fri, 9 Nov 2018 21:41:03 +0000 (22:41 +0100)] 
view: Be more defensive when working with message subject.

* mumi/web/view/html.scm (issue-page): Ensure that the message subject
is always a string before comparing it.

2 years agoRemove dependency on mailutils.
Ricardo Wurmus [Fri, 9 Nov 2018 21:35:47 +0000 (22:35 +0100)] 
Remove dependency on mailutils.

* configure.ac: Remove check for mailutils.
* guix.scm (mailutils-next): Remove variable.
* mumi/message.scm (qp-decoder): Remove procedure.

2 years agomumi: Use (email quoted-printable).
Ricardo Wurmus [Fri, 9 Nov 2018 21:33:19 +0000 (22:33 +0100)] 
mumi: Use (email quoted-printable).

* mumi/web/download.scm (handle-download): Use quoted-printable-decode
from guile-email to decode body.

2 years agomumi: Try harder to extract a display name.
Ricardo Wurmus [Fri, 9 Nov 2018 21:32:32 +0000 (22:32 +0100)] 
mumi: Try harder to extract a display name.

* mumi/messages.scm (extract-name): Try to extract a name from the
email address.