software/mumi.git
19 months agoCheck for Guile Xapian.
Ricardo Wurmus [Tue, 21 Apr 2020 21:25:00 +0000 (23:25 +0200)] 
Check for Guile Xapian.

20 months agoRevert "scripts: update-state!: Do a full refresh every 100 times."
Ricardo Wurmus [Tue, 7 Apr 2020 14:11:50 +0000 (16:11 +0200)] 
Revert "scripts: update-state!: Do a full refresh every 100 times."

This reverts commit 5c21d1deb3e534aedaaae4802423db0a5df041b0.

20 months agoscripts: Add "fetch" command.
Ricardo Wurmus [Tue, 7 Apr 2020 14:11:17 +0000 (16:11 +0200)] 
scripts: Add "fetch" command.

This is to fetch all emails, including archived ones.

20 months agoscripts: update-state!: Do a full refresh every 100 times.
Ricardo Wurmus [Tue, 7 Apr 2020 13:56:13 +0000 (15:56 +0200)] 
scripts: update-state!: Do a full refresh every 100 times.

20 months agomessages: recent-bugs: Remove useless string-append.
Ricardo Wurmus [Tue, 7 Apr 2020 13:23:11 +0000 (15:23 +0200)] 
messages: recent-bugs: Remove useless string-append.

20 months agomessages: fetch-mbox*: Don't ever decode the body.
Ricardo Wurmus [Tue, 7 Apr 2020 13:22:57 +0000 (15:22 +0200)] 
messages: fetch-mbox*: Don't ever decode the body.

20 months agomessages: update-mboxes!: Use file name expected by mumimu.
Ricardo Wurmus [Tue, 7 Apr 2020 13:21:11 +0000 (15:21 +0200)] 
messages: update-mboxes!: Use file name expected by mumimu.

20 months agomessages: fetch-mbox*: Don't use streaming.
Ricardo Wurmus [Tue, 7 Apr 2020 13:01:16 +0000 (15:01 +0200)] 
messages: fetch-mbox*: Don't use streaming.

This would be nice but it leads to a fd leak somehow.

20 months agoscripts: Use update-mboxes!.
Ricardo Wurmus [Tue, 7 Apr 2020 12:30:16 +0000 (14:30 +0200)] 
scripts: Use update-mboxes!.

20 months agoscripts: Remove fetch-messages!.
Ricardo Wurmus [Tue, 7 Apr 2020 12:29:56 +0000 (14:29 +0200)] 
scripts: Remove fetch-messages!.

20 months agoscripts: Remove "fetch" command.
Ricardo Wurmus [Tue, 7 Apr 2020 12:27:16 +0000 (14:27 +0200)] 
scripts: Remove "fetch" command.

20 months agomessages: patch-messages: Use mbox file.
Ricardo Wurmus [Tue, 7 Apr 2020 12:23:24 +0000 (14:23 +0200)] 
messages: patch-messages: Use mbox file.

20 months agomessages: Add update-mboxes!.
Ricardo Wurmus [Tue, 7 Apr 2020 12:23:08 +0000 (14:23 +0200)] 
messages: Add update-mboxes!.

20 months agomessages: Add download-mbox.
Ricardo Wurmus [Tue, 7 Apr 2020 12:22:44 +0000 (14:22 +0200)] 
messages: Add download-mbox.

20 months agomessages: Add fetch-mbox*.
Ricardo Wurmus [Tue, 7 Apr 2020 12:22:18 +0000 (14:22 +0200)] 
messages: Add fetch-mbox*.

20 months agomessages: Add bug-id->mbox-file.
Ricardo Wurmus [Tue, 7 Apr 2020 12:21:40 +0000 (14:21 +0200)] 
messages: Add bug-id->mbox-file.

20 months agoWIP: Remove download-message.
Ricardo Wurmus [Tue, 7 Apr 2020 12:21:00 +0000 (14:21 +0200)] 
WIP: Remove download-message.

20 months agobugs: update-bug-database!: Accept optional bug-nums argument.
Ricardo Wurmus [Tue, 7 Apr 2020 09:51:31 +0000 (11:51 +0200)] 
bugs: update-bug-database!: Accept optional bug-nums argument.

20 months agoscripts: fetch-messages!: Fetch new bugs first.
Ricardo Wurmus [Tue, 7 Apr 2020 09:47:01 +0000 (11:47 +0200)] 
scripts: fetch-messages!: Fetch new bugs first.

20 months agoweb: Serve /wishlist.
Ricardo Wurmus [Mon, 6 Apr 2020 11:17:49 +0000 (13:17 +0200)] 
web: Serve /wishlist.

20 months agomessages: search-bugs: Increase limit to 400 messages.
Ricardo Wurmus [Mon, 6 Apr 2020 11:17:34 +0000 (13:17 +0200)] 
messages: search-bugs: Increase limit to 400 messages.

20 months agoview: issue-page: Break up columns sooner when screens are narrow.
Ricardo Wurmus [Mon, 6 Apr 2020 11:17:04 +0000 (13:17 +0200)] 
view: issue-page: Break up columns sooner when screens are narrow.

20 months agocss: Reduce size of avatars.
Ricardo Wurmus [Mon, 6 Apr 2020 11:16:48 +0000 (13:16 +0200)] 
css: Reduce size of avatars.

20 months agomessages: patch-messages: Sort by date.
Ricardo Wurmus [Mon, 6 Apr 2020 09:45:22 +0000 (11:45 +0200)] 
messages: patch-messages: Sort by date.

20 months agocontroller: Do not require local referrer.
Ricardo Wurmus [Mon, 6 Apr 2020 09:41:41 +0000 (11:41 +0200)] 
controller: Do not require local referrer.

This is problematic when using a reverse proxy.

20 months agosend-email: Add definition of dump-port.
Ricardo Wurmus [Mon, 6 Apr 2020 04:54:16 +0000 (06:54 +0200)] 
send-email: Add definition of dump-port.

20 months agojobs: mail-job: Include provided name.
Ricardo Wurmus [Sun, 5 Apr 2020 22:09:12 +0000 (00:09 +0200)] 
jobs: mail-job: Include provided name.

20 months agoview: issue-page: Show comment form.
Ricardo Wurmus [Sun, 5 Apr 2020 22:08:59 +0000 (00:08 +0200)] 
view: issue-page: Show comment form.

20 months agocontroller: Add POST handler for issue comments.
Ricardo Wurmus [Sun, 5 Apr 2020 22:08:45 +0000 (00:08 +0200)] 
controller: Add POST handler for issue comments.

20 months agocontroller: Record the current issue id in a cookie.
Ricardo Wurmus [Sun, 5 Apr 2020 21:52:21 +0000 (23:52 +0200)] 
controller: Record the current issue id in a cookie.

20 months agoweb/util: Add timestamp! and reasonable-timestamp?.
Ricardo Wurmus [Sun, 5 Apr 2020 21:51:46 +0000 (23:51 +0200)] 
web/util: Add timestamp! and reasonable-timestamp?.

20 months agocontroller: Return session manager even when key had to be generated.
Ricardo Wurmus [Sun, 5 Apr 2020 21:02:23 +0000 (23:02 +0200)] 
controller: Return session manager even when key had to be generated.

20 months agocontroller: Fix indentation.
Ricardo Wurmus [Sun, 5 Apr 2020 21:02:08 +0000 (23:02 +0200)] 
controller: Fix indentation.

20 months agoMove all header modifications to the controller.
Ricardo Wurmus [Sun, 5 Apr 2020 20:59:00 +0000 (22:59 +0200)] 
Move all header modifications to the controller.

20 months agoLet issue-page display an optional flash message.
Ricardo Wurmus [Sun, 5 Apr 2020 16:27:54 +0000 (18:27 +0200)] 
Let issue-page display an optional flash message.

20 months agocontroller: Remove render-with-error-handling.
Ricardo Wurmus [Sun, 5 Apr 2020 16:27:25 +0000 (18:27 +0200)] 
controller: Remove render-with-error-handling.

20 months agoweb: redirect: Accept optional query argument.
Ricardo Wurmus [Sun, 5 Apr 2020 15:39:27 +0000 (17:39 +0200)] 
web: redirect: Accept optional query argument.

20 months agocontroller: Add session manager.
Ricardo Wurmus [Sun, 5 Apr 2020 15:33:02 +0000 (17:33 +0200)] 
controller: Add session manager.

20 months agoweb: Add parse-form-submission.
Ricardo Wurmus [Sun, 5 Apr 2020 14:58:26 +0000 (16:58 +0200)] 
web: Add parse-form-submission.

20 months agoweb: redirect: Accept extra headers.
Ricardo Wurmus [Sun, 5 Apr 2020 14:56:55 +0000 (16:56 +0200)] 
web: redirect: Accept extra headers.

20 months agoDepend on Guile Webutils.
Ricardo Wurmus [Sun, 5 Apr 2020 14:51:42 +0000 (16:51 +0200)] 
Depend on Guile Webutils.

20 months agoRewrite script and add "mailer" command.
Ricardo Wurmus [Sun, 5 Apr 2020 13:53:47 +0000 (15:53 +0200)] 
Rewrite script and add "mailer" command.

The scirpt now takes a mandatory first argument and a bunch of
options.

20 months agomumi: Add jobs.
Ricardo Wurmus [Sun, 5 Apr 2020 13:53:00 +0000 (15:53 +0200)] 
mumi: Add jobs.

20 months agomumi: Add send-email.
Ricardo Wurmus [Sun, 5 Apr 2020 13:52:32 +0000 (15:52 +0200)] 
mumi: Add send-email.

20 months agoDepend on Guile Redis.
Ricardo Wurmus [Sun, 5 Apr 2020 12:21:22 +0000 (14:21 +0200)] 
Depend on Guile Redis.

20 months agoDepend on Guile Gcrypt.
Ricardo Wurmus [Sun, 5 Apr 2020 12:04:22 +0000 (14:04 +0200)] 
Depend on Guile Gcrypt.

20 months agoDepend on mailutils.
Ricardo Wurmus [Sun, 5 Apr 2020 12:02:49 +0000 (14:02 +0200)] 
Depend on mailutils.

20 months agoRemove completed tasks from TODO.org.
Ricardo Wurmus [Wed, 1 Apr 2020 05:21:27 +0000 (07:21 +0200)] 
Remove completed tasks from TODO.org.

20 months agomessages: extract-attachment: Do not use fetch-bug.
Ricardo Wurmus [Wed, 1 Apr 2020 05:19:02 +0000 (07:19 +0200)] 
messages: extract-attachment: Do not use fetch-bug.

20 months agomessages: patch-messages: Use local database and mail files.
Ricardo Wurmus [Wed, 1 Apr 2020 05:18:34 +0000 (07:18 +0200)] 
messages: patch-messages: Use local database and mail files.

20 months agocontroller: Serve issue pages with /issue/ part.
Ricardo Wurmus [Wed, 1 Apr 2020 04:05:41 +0000 (06:05 +0200)] 
controller: Serve issue pages with /issue/ part.

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

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

20 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.

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

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

20 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.

20 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.

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

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

20 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.

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

20 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.

20 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!

20 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!

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

20 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.

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

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

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

20 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.

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

20 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.

20 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.

20 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.

20 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.

20 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.

20 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.

20 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.

20 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.

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

20 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.

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

20 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.

20 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.

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

20 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.

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

20 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.

20 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.

20 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.

20 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.

20 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.

20 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.

20 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.

20 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.

20 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.

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

20 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.

20 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.