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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

17 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?.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.