software/mumi.git
8 hours agoguix: Use development version of guile-email. master
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.

16 hours 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.

16 hours 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.

16 hours 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".

16 hours 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.

16 hours 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).

16 hours 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.

25 hours 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.

10 days 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 months 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.

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

5 months 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.

5 months 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.

5 months 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.

5 months 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.

5 months 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.

5 months 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.

5 months 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.

5 months 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.

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

5 months 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.

5 months 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.

5 months 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.

5 months 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.

5 months 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.

5 months 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.

5 months 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.

5 months 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.

5 months 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.

8 months 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.

8 months 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.

8 months 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.

8 months 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.

8 months 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.

8 months 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.

8 months 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.

8 months 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.

8 months agomumi: Remove "decode" procedure.
Ricardo Wurmus [Fri, 9 Nov 2018 21:23:16 +0000 (22:23 +0100)] 
mumi: Remove "decode" procedure.

* mumi/messages.scm (decode): Remove procedure.

8 months agomumi: Remove parser procedures.
Ricardo Wurmus [Fri, 9 Nov 2018 21:19:38 +0000 (22:19 +0100)] 
mumi: Remove parser procedures.

* mumi/messages.scm (split-multipart-message, read-token, read-until,
read-between, read-key-value-pair, throw-away, parse-multipart-header,
multipart-header?): Remove procedures.

8 months agoguix: Update to latest version of guile-debbugs.
Ricardo Wurmus [Fri, 9 Nov 2018 21:16:41 +0000 (22:16 +0100)] 
guix: Update to latest version of guile-debbugs.

8 months agoguix: Add missing inputs to mailutils-next.
Ricardo Wurmus [Fri, 9 Nov 2018 21:16:12 +0000 (22:16 +0100)] 
guix: Add missing inputs to mailutils-next.

8 months agomumi: handle-download: Operate on mime-entity.
Ricardo Wurmus [Fri, 9 Nov 2018 21:14:54 +0000 (22:14 +0100)] 
mumi: handle-download: Operate on mime-entity.

* mumi/web/download.scm (handle-download): Match on mime-entity
as returned by guile-email instead of custom data structure.

8 months agomumi: extract-attachment: Use the email-body directly.
Ricardo Wurmus [Fri, 9 Nov 2018 21:12:36 +0000 (22:12 +0100)] 
mumi: extract-attachment: Use the email-body directly.

* mumi/messages.scm (extract-attachment): Remove call to
split-multipart-message and use the email body directly.

8 months agoAdd guile-email dependency.
Arun Isaac [Mon, 1 Oct 2018 20:27:24 +0000 (01:57 +0530)] 
Add guile-email dependency.

* configure.ac: Check for guile-email.
* guix.scm (guile-email): New variable.
(mumi)[inputs]: Add guile-email.

8 months agoUse guile-email.
Arun Isaac [Mon, 1 Oct 2018 20:19:49 +0000 (01:49 +0530)] 
Use guile-email.

* mumi/messages.scm (extract-name, extract-email, header, sender,
sender-email, date, subject, message-id, participants, recipients,
closing?, multipart-message?): Modify to use guile-email API.
* mumi/web/view/html.scm (issue-page): Likewise.
* mumi/web/view/utils.scm (content-type->css-class,
display-message-body): Likewise.

8 months agoSimplify definition of nth.
Arun Isaac [Tue, 25 Sep 2018 06:55:08 +0000 (12:25 +0530)] 
Simplify definition of nth.

* mumi/messages.scm (extract-attachment): Simplify definition of nth
by using list-ref instead of drop and first.

8 months agoUse iota generated message numbers instead of debbugs' msg-num.
Arun Isaac [Tue, 25 Sep 2018 06:25:46 +0000 (11:55 +0530)] 
Use iota generated message numbers instead of debbugs' msg-num.

* mumi/messages.scm (extract-attachment): Use nth instead of find to
get message.
* mumi/web/view/html.scm (issue-page): Let show-message accept
message-number as an argument. Update invocations of show-message.
* mumi/web/view/utils.scm (display-message-body): Accept
message-number as an argument.

8 months agoSupport live hacking.
Arun Isaac [Wed, 5 Sep 2018 10:51:23 +0000 (16:21 +0530)] 
Support live hacking.

* scripts/mumi.in: Spawn REPL server to support live hacking, if
--listen-repl is provided on the command line.

9 months agoguix: Update to latest guile-debbugs-next.
Ricardo Wurmus [Tue, 9 Oct 2018 14:06:57 +0000 (16:06 +0200)] 
guix: Update to latest guile-debbugs-next.

10 months agoview: Fix submitter example.
Ricardo Wurmus [Thu, 20 Sep 2018 17:21:11 +0000 (19:21 +0200)] 
view: Fix submitter example.

Reported-by: Pierre Neidhardt <mail@ambrevar.xyz>.
10 months agoview: Show changed message subjects.
Ricardo Wurmus [Thu, 20 Sep 2018 13:46:49 +0000 (15:46 +0200)] 
view: Show changed message subjects.

Suggested-by: Ludovic Courtès <ludo@gnu.org>
10 months agoview: Allow downloading any message part.
Ricardo Wurmus [Fri, 7 Sep 2018 11:01:52 +0000 (13:01 +0200)] 
view: Allow downloading any message part.

10 months agorecent-bugs: Include recently submitted bugs.
Ricardo Wurmus [Fri, 7 Sep 2018 09:53:29 +0000 (11:53 +0200)] 
recent-bugs: Include recently submitted bugs.

10 months agoprettify: Pass down a bit of context to avoid false matches.
Ricardo Wurmus [Tue, 4 Sep 2018 08:03:29 +0000 (10:03 +0200)] 
prettify: Pass down a bit of context to avoid false matches.

10 months agocss: Use monospace font for Scheme code.
Ricardo Wurmus [Tue, 4 Sep 2018 00:50:11 +0000 (02:50 +0200)] 
css: Use monospace font for Scheme code.

10 months agoAdd syntax highlighting for Scheme files.
Ricardo Wurmus [Tue, 4 Sep 2018 00:47:26 +0000 (02:47 +0200)] 
Add syntax highlighting for Scheme files.

10 months agoAdd missing module.
Ricardo Wurmus [Tue, 4 Sep 2018 00:07:43 +0000 (02:07 +0200)] 
Add missing module.

10 months agoSupport downloading of attachments.
Ricardo Wurmus [Tue, 4 Sep 2018 00:02:45 +0000 (02:02 +0200)] 
Support downloading of attachments.

* assets/css/screen.css (.attachment:before): Add rule.
* assets/img/file.svg: New file.
* mumi/web/controller.scm (controller): Handle attachment route.
* mumi/web/download.scm: New file.
* mumi/web/view/utils.scm (display-multipart-chunk): Move into...
(display-message-body): ...this procedure; adjust to include
attachment download links.
* mumi/web/view/html.scm (issue-page): Adjust.

10 months agoSupport SVG MIME type.
Ricardo Wurmus [Tue, 4 Sep 2018 00:01:33 +0000 (02:01 +0200)] 
Support SVG MIME type.

* mumi/web/render.scm (file-mime-types): Add type for SVG.

10 months agoAdd extract-attachment procedure.
Ricardo Wurmus [Tue, 4 Sep 2018 00:00:56 +0000 (02:00 +0200)] 
Add extract-attachment procedure.

* mumi/messages.scm (extract-attachment): New procedure.

10 months agorecent-bugs: Simplify.
Ricardo Wurmus [Mon, 3 Sep 2018 14:04:29 +0000 (16:04 +0200)] 
recent-bugs: Simplify.

10 months agorecent-bugs: Avoid out of bounds error.
Ricardo Wurmus [Mon, 3 Sep 2018 14:01:57 +0000 (16:01 +0200)] 
recent-bugs: Avoid out of bounds error.

10 months agoview: Provide search hints and link to /help.
Ricardo Wurmus [Mon, 3 Sep 2018 12:49:51 +0000 (14:49 +0200)] 
view: Provide search hints and link to /help.

10 months agoview: Add /help page.
Ricardo Wurmus [Mon, 3 Sep 2018 12:49:34 +0000 (14:49 +0200)] 
view: Add /help page.

10 months agoprocess-query: Support date filtering.
Ricardo Wurmus [Mon, 3 Sep 2018 11:41:04 +0000 (13:41 +0200)] 
process-query: Support date filtering.

* mumi/messages.scm (ago, date-term->epoch-seconds): New procedures.
(process-query): Support "date" and "mdate" queries.

10 months agoguix: Use Guile-Debbugs from git.
Ricardo Wurmus [Sun, 2 Sep 2018 20:41:10 +0000 (22:41 +0200)] 
guix: Use Guile-Debbugs from git.

10 months agocontroller: Fetch more messages if we need to filter locally.
Ricardo Wurmus [Sun, 2 Sep 2018 20:35:10 +0000 (22:35 +0200)] 
controller: Fetch more messages if we need to filter locally.

10 months agoprocess-query: Improve results of "submitter" query.
Ricardo Wurmus [Sun, 2 Sep 2018 20:33:55 +0000 (22:33 +0200)] 
process-query: Improve results of "submitter" query.

10 months agocss: Remove rounded corners from header.
Ricardo Wurmus [Sun, 2 Sep 2018 20:33:31 +0000 (22:33 +0200)] 
css: Remove rounded corners from header.

10 months agoview: Sort participants by email.
Ricardo Wurmus [Sun, 2 Sep 2018 19:52:17 +0000 (21:52 +0200)] 
view: Sort participants by email.

10 months agoview: Display severity.
Ricardo Wurmus [Sun, 2 Sep 2018 19:52:09 +0000 (21:52 +0200)] 
view: Display severity.

10 months agocollect-parts: Allow empty line before boundary.
Ricardo Wurmus [Sun, 2 Sep 2018 19:38:34 +0000 (21:38 +0200)] 
collect-parts: Allow empty line before boundary.

10 months agoAdjust search box styles.
Ricardo Wurmus [Sun, 2 Sep 2018 19:14:58 +0000 (21:14 +0200)] 
Adjust search box styles.

10 months agoview: Change title for list of issues with recent activity.
Ricardo Wurmus [Sun, 2 Sep 2018 12:46:33 +0000 (14:46 +0200)] 
view: Change title for list of issues with recent activity.

10 months agocss: Make tables fill the whole container width.
Ricardo Wurmus [Sun, 2 Sep 2018 12:46:13 +0000 (14:46 +0200)] 
css: Make tables fill the whole container width.

10 months agoDefend against empty headers.
Ricardo Wurmus [Sat, 1 Sep 2018 20:14:29 +0000 (22:14 +0200)] 
Defend against empty headers.

10 months agorender: Allow clients to cache static files.
Ludovic Courtès [Fri, 31 Aug 2018 22:52:19 +0000 (00:52 +0200)] 
render: Allow clients to cache static files.

10 months agoDon't use bug-originator with mu-header-decode.
Ricardo Wurmus [Sat, 1 Sep 2018 19:41:04 +0000 (21:41 +0200)] 
Don't use bug-originator with mu-header-decode.

10 months agoAdd style for cut-here lines.
Ricardo Wurmus [Sat, 1 Sep 2018 19:40:51 +0000 (21:40 +0200)] 
Add style for cut-here lines.

10 months agoAdd some support for multipart messages.
Ricardo Wurmus [Sat, 1 Sep 2018 19:40:07 +0000 (21:40 +0200)] 
Add some support for multipart messages.

10 months agoview: Add missing docstring.
Ricardo Wurmus [Sat, 1 Sep 2018 06:54:03 +0000 (08:54 +0200)] 
view: Add missing docstring.

10 months agoview: Fix type error.
Ricardo Wurmus [Tue, 28 Aug 2018 21:31:14 +0000 (23:31 +0200)] 
view: Fix type error.

10 months agoGoodbye mu, hello guile-debbugs!
Ricardo Wurmus [Tue, 28 Aug 2018 21:21:38 +0000 (23:21 +0200)] 
Goodbye mu, hello guile-debbugs!

20 months agoAdd script to fetch mail archives.
Ricardo Wurmus [Wed, 1 Nov 2017 07:15:03 +0000 (08:15 +0100)] 
Add script to fetch mail archives.

* scripts/fetch-mailbox.sh: New file.

20 months agoInitial commit.
Ricardo Wurmus [Fri, 27 Oct 2017 21:28:37 +0000 (23:28 +0200)] 
Initial commit.