software/mumi.git
7 months agoscripts: Allow the REPL to listen on Unix domain sockets.
Arun Isaac [Sun, 2 Jan 2022 19:43:25 +0000 (01:13 +0530)] 
scripts: Allow the REPL to listen on Unix domain sockets.

* scripts/mumi.in (%options): Do not error out on non-numeric
listen-repl arguments.
Spawn REPL server on a TCP socket if listen-repl is numeric, else
spawn REPL server on a Unix domain socket.

7 months agoscripts: Make web server address and port configurable.
Arun Isaac [Sun, 2 Jan 2022 19:43:24 +0000 (01:13 +0530)] 
scripts: Make web server address and port configurable.

* scripts/mumi.in (%options): Add address and port options.
(show-mumi-usage): Mention address and port in mumi web usage.
Pass on address and port options to start-mumi-web-server.

7 months agoweb: Parameterize web server listen address.
Arun Isaac [Sun, 2 Jan 2022 19:43:23 +0000 (01:13 +0530)] 
web: Parameterize web server listen address.

* mumi/web/server.scm (start-mumi-web-server): Accept web server
listen address as argument.
* scripts/mumi.in: Pass 0.0.0.0 as web server listen address.

7 months agoscripts: Report REPL server port.
Arun Isaac [Sun, 2 Jan 2022 19:43:22 +0000 (01:13 +0530)] 
scripts: Report REPL server port.

* scripts/mumi.in: Report REPL server port on current-error-port.

7 months agoweb: Report web server address and port.
Arun Isaac [Sun, 2 Jan 2022 19:43:21 +0000 (01:13 +0530)] 
web: Report web server address and port.

* mumi/web/server.scm (start-mumi-web-server): Report web server
address and port on current-error-port.

7 months agoguix: Delete guix.scm.
Arun Isaac [Sun, 2 Jan 2022 19:43:20 +0000 (01:13 +0530)] 
guix: Delete guix.scm.

We don't need a guix.scm since mumi has been packaged upstream in
Guix. We can enter a development environment by simply running `guix
shell -D mumi'.

* guix.scm: Delete file.

7 months agoREADME: Add README.
Arun Isaac [Sun, 2 Jan 2022 19:43:19 +0000 (01:13 +0530)] 
README: Add README.

* README.org: New file.

7 months agoview: Wrap contents of diff lines with pre.
Ricardo Wurmus [Thu, 9 Dec 2021 17:39:47 +0000 (18:39 +0100)] 
view: Wrap contents of diff lines with pre.

Fixes <https://issues.guix.gnu.org/43166>.

7 months agocss: Show line anchors only in browsers supporting CSS.
Ricardo Wurmus [Thu, 9 Dec 2021 17:39:22 +0000 (18:39 +0100)] 
css: Show line anchors only in browsers supporting CSS.

7 months agoview: Add line anchors.
Ricardo Wurmus [Thu, 9 Dec 2021 17:17:31 +0000 (18:17 +0100)] 
view: Add line anchors.

7 months agocss: Add scroll-padding-top to html tag.
Ricardo Wurmus [Thu, 9 Dec 2021 17:16:45 +0000 (18:16 +0100)] 
css: Add scroll-padding-top to html tag.

This fixes the scroll position of *all* anchors, not just the
message-anchor.

7 months agoUse div instead of span for lines.
Ricardo Wurmus [Thu, 9 Dec 2021 15:30:15 +0000 (16:30 +0100)] 
Use div instead of span for lines.

It's not perfect, but using a block element causes things to be
rendered much more nicely in a text-only browser.

7 months agoTODO: Add task for dark mode.
Ricardo Wurmus [Thu, 9 Dec 2021 15:26:54 +0000 (16:26 +0100)] 
TODO: Add task for dark mode.

7 months agoTODO: Remove completed task.
Ricardo Wurmus [Thu, 9 Dec 2021 15:26:45 +0000 (16:26 +0100)] 
TODO: Remove completed task.

7 months agohtml: Fix indentation.
Ricardo Wurmus [Thu, 9 Dec 2021 15:24:54 +0000 (16:24 +0100)] 
html: Fix indentation.

7 months agohtml: issue-page: Fix typo.
Ricardo Wurmus [Thu, 9 Dec 2021 15:24:17 +0000 (16:24 +0100)] 
html: issue-page: Fix typo.

16 months agoAdd handler for downloading patch sets.
Ricardo Wurmus [Wed, 31 Mar 2021 14:18:16 +0000 (16:18 +0200)] 
Add handler for downloading patch sets.

16 months agoview/html: issue-page: Include internal messages when assigning ids.
Ricardo Wurmus [Wed, 31 Mar 2021 07:41:59 +0000 (09:41 +0200)] 
view/html: issue-page: Include internal messages when assigning ids.

* mumi/web/view/html.scm (issue-page): Consider all emails when
generating identifiers.

16 months agoview/html: Use absolute download URL.
Ricardo Wurmus [Wed, 31 Mar 2021 07:22:48 +0000 (09:22 +0200)] 
view/html: Use absolute download URL.

20 months agomessages: issue-messages: Prefer the active log.
Ricardo Wurmus [Fri, 4 Dec 2020 12:02:10 +0000 (13:02 +0100)] 
messages: issue-messages: Prefer the active log.

* mumi/messages.scm (issue-messages): If the active log exists use it
for issue messages.

20 months agomessages: sender: Fail gracefully if "from" header is not a pair.
Ricardo Wurmus [Fri, 4 Dec 2020 05:55:23 +0000 (06:55 +0100)] 
messages: sender: Fail gracefully if "from" header is not a pair.

* mumi/messages.scm (sender): Fall back to "Unknown sender" if "from"
header is not a pair.

2 years agocss: Draw multipart separator also when following an attachment.
Ricardo Wurmus [Sat, 16 May 2020 09:57:04 +0000 (11:57 +0200)] 
css: Draw multipart separator also when following an attachment.

2 years agoview/utils: Show attachment size.
Ricardo Wurmus [Fri, 15 May 2020 11:02:58 +0000 (13:02 +0200)] 
view/utils: Show attachment size.

2 years agoview/utils: Do not render large attachments.
Ricardo Wurmus [Fri, 15 May 2020 11:02:35 +0000 (13:02 +0200)] 
view/utils: Do not render large attachments.

2 years agocss: Leave more space in the sidebar.
Ricardo Wurmus [Thu, 14 May 2020 22:25:57 +0000 (00:25 +0200)] 
css: Leave more space in the sidebar.

2 years agocss: Remove code.css.
Ricardo Wurmus [Thu, 14 May 2020 22:25:47 +0000 (00:25 +0200)] 
css: Remove code.css.

2 years agomessages: Remove obsolete delete-duplicates call.
Ricardo Wurmus [Thu, 14 May 2020 07:28:39 +0000 (09:28 +0200)] 
messages: Remove obsolete delete-duplicates call.

2 years agoxapian: Collapse results for merged issues.
Ricardo Wurmus [Thu, 14 May 2020 07:28:15 +0000 (09:28 +0200)] 
xapian: Collapse results for merged issues.

2 years agomessage: date: Always return a date object.
Ricardo Wurmus [Thu, 14 May 2020 06:18:48 +0000 (08:18 +0200)] 
message: date: Always return a date object.

2 years agomessages: Remove fetch-bug.
Ricardo Wurmus [Thu, 14 May 2020 06:05:16 +0000 (08:05 +0200)] 
messages: Remove fetch-bug.

2 years agoview/utils: Do not swallow spaces after URLs.
Ricardo Wurmus [Wed, 13 May 2020 12:26:40 +0000 (14:26 +0200)] 
view/utils: Do not swallow spaces after URLs.

2 years agoTODO: Add list of broken issues.
Ricardo Wurmus [Wed, 13 May 2020 11:59:27 +0000 (13:59 +0200)] 
TODO: Add list of broken issues.

2 years agoAllow download of raw message.
Ricardo Wurmus [Wed, 13 May 2020 11:20:51 +0000 (13:20 +0200)] 
Allow download of raw message.

2 years agoview/html: Document severities and tags.
Ricardo Wurmus [Wed, 13 May 2020 10:19:34 +0000 (12:19 +0200)] 
view/html: Document severities and tags.

2 years agoUse fibers again.
Ricardo Wurmus [Sun, 10 May 2020 10:00:56 +0000 (12:00 +0200)] 
Use fibers again.

2 years agoRevert "Do not use fibers web server."
Ricardo Wurmus [Sun, 10 May 2020 09:28:03 +0000 (11:28 +0200)] 
Revert "Do not use fibers web server."

This reverts commit d6dc4510d35695ccdc4e1d43a4705f90bb09784d.

2 years agoRevert "configure: Don't ask for fibers."
Ricardo Wurmus [Sun, 10 May 2020 09:26:08 +0000 (11:26 +0200)] 
Revert "configure: Don't ask for fibers."

This reverts commit f5e114a19193bd9587c92b4dcc29d790135fa130.

2 years agoTODO: Add task.
Ricardo Wurmus [Wed, 13 May 2020 10:10:46 +0000 (12:10 +0200)] 
TODO: Add task.

2 years agoview/html: issue-page: Filter empty messages for all users.
Ricardo Wurmus [Wed, 13 May 2020 10:09:28 +0000 (12:09 +0200)] 
view/html: issue-page: Filter empty messages for all users.

2 years agoview/html: Remove superfluous lambda.
Ricardo Wurmus [Wed, 13 May 2020 10:07:39 +0000 (12:07 +0200)] 
view/html: Remove superfluous lambda.

2 years agoview/html: Split tags and make badges clickable.
Ricardo Wurmus [Wed, 13 May 2020 10:04:52 +0000 (12:04 +0200)] 
view/html: Split tags and make badges clickable.

2 years agoview/utils: Do not display video attachments.
Ricardo Wurmus [Wed, 13 May 2020 09:58:46 +0000 (11:58 +0200)] 
view/utils: Do not display video attachments.

2 years agoTODO: Remove obsolete tasks.
Ricardo Wurmus [Wed, 13 May 2020 09:56:21 +0000 (11:56 +0200)] 
TODO: Remove obsolete tasks.

2 years agoGoodbye, SQLite!
Ricardo Wurmus [Wed, 13 May 2020 09:55:50 +0000 (11:55 +0200)] 
Goodbye, SQLite!

2 years agomessages: Remove unused wishlist-bugs.
Ricardo Wurmus [Wed, 13 May 2020 09:55:00 +0000 (11:55 +0200)] 
messages: Remove unused wishlist-bugs.

2 years agomessages: Simplify search-bugs.
Ricardo Wurmus [Wed, 13 May 2020 09:53:08 +0000 (11:53 +0200)] 
messages: Simplify search-bugs.

We no longer need to separate between terms and filter sets.

2 years agodebbugs: Handle empty subjects.
Ricardo Wurmus [Wed, 13 May 2020 09:26:28 +0000 (11:26 +0200)] 
debbugs: Handle empty subjects.

2 years agodebbugs: Fix argument order.
Ricardo Wurmus [Wed, 13 May 2020 09:26:07 +0000 (11:26 +0200)] 
debbugs: Fix argument order.

2 years agoxapian: Include owner, severity, tag, and status in Xapian db.
Ricardo Wurmus [Wed, 13 May 2020 09:05:49 +0000 (11:05 +0200)] 
xapian: Include owner, severity, tag, and status in Xapian db.

2 years agoview/utils: Mark up URLs.
Ricardo Wurmus [Wed, 13 May 2020 06:16:43 +0000 (08:16 +0200)] 
view/utils: Mark up URLs.

2 years agoview/utils: Hide "cut here" lines.
Ricardo Wurmus [Wed, 13 May 2020 06:16:30 +0000 (08:16 +0200)] 
view/utils: Hide "cut here" lines.

2 years agoview/html: Bump CSS.
Ricardo Wurmus [Tue, 12 May 2020 21:07:50 +0000 (23:07 +0200)] 
view/html: Bump CSS.

2 years agomessages: Do not use define-public.
Ricardo Wurmus [Tue, 12 May 2020 21:07:18 +0000 (23:07 +0200)] 
messages: Do not use define-public.

2 years agocss: Move sidebar up and let it scroll when needed.
Ricardo Wurmus [Tue, 12 May 2020 19:27:39 +0000 (21:27 +0200)] 
css: Move sidebar up and let it scroll when needed.

2 years agoview/html: Show tag in issue list.
Ricardo Wurmus [Tue, 12 May 2020 19:27:18 +0000 (21:27 +0200)] 
view/html: Show tag in issue list.

2 years agotests: Add missing test data.
Ricardo Wurmus [Tue, 12 May 2020 12:03:59 +0000 (14:03 +0200)] 
tests: Add missing test data.

2 years agoguix: Build with Guile 3.0.
Ricardo Wurmus [Tue, 12 May 2020 10:26:31 +0000 (12:26 +0200)] 
guix: Build with Guile 3.0.

2 years agomessages: closing?: Be more careful.
Ricardo Wurmus [Tue, 12 May 2020 11:22:20 +0000 (13:22 +0200)] 
messages: closing?: Be more careful.

2 years agoview/html: Use time->string on messages.
Ricardo Wurmus [Tue, 12 May 2020 11:21:15 +0000 (13:21 +0200)] 
view/html: Use time->string on messages.

2 years agoview/utils: Add time->string.
Ricardo Wurmus [Tue, 12 May 2020 11:20:52 +0000 (13:20 +0200)] 
view/utils: Add time->string.

2 years agoGoodbye, Guile-Debbugs! 0.0.1
Ricardo Wurmus [Sun, 10 May 2020 15:23:32 +0000 (17:23 +0200)] 
Goodbye, Guile-Debbugs!

2 years agoconfig: Remove 'debbugs key.
Ricardo Wurmus [Sun, 10 May 2020 15:23:05 +0000 (17:23 +0200)] 
config: Remove 'debbugs key.

2 years agoBump version.
Ricardo Wurmus [Sun, 10 May 2020 15:22:22 +0000 (17:22 +0200)] 
Bump version.

2 years agotests/xapian: Add phrase search test.
Ricardo Wurmus [Sun, 10 May 2020 15:22:10 +0000 (17:22 +0200)] 
tests/xapian: Add phrase search test.

2 years agomessages: Pass submitter query term down to Xapian.
Ricardo Wurmus [Sun, 10 May 2020 15:21:42 +0000 (17:21 +0200)] 
messages: Pass submitter query term down to Xapian.

2 years agomessages: Use tokenize from (mumi xapian).
Ricardo Wurmus [Sun, 10 May 2020 15:21:28 +0000 (17:21 +0200)] 
messages: Use tokenize from (mumi xapian).

2 years agomessages: Update comment.
Ricardo Wurmus [Sun, 10 May 2020 15:21:08 +0000 (17:21 +0200)] 
messages: Update comment.

2 years agodebbugs: Default to "normal" severity.
Ricardo Wurmus [Sun, 10 May 2020 15:12:41 +0000 (17:12 +0200)] 
debbugs: Default to "normal" severity.

2 years agotests: Add search tests.
Ricardo Wurmus [Sun, 10 May 2020 14:51:28 +0000 (16:51 +0200)] 
tests: Add search tests.

2 years agotests/xapian: Use test-utils.
Ricardo Wurmus [Sun, 10 May 2020 14:50:59 +0000 (16:50 +0200)] 
tests/xapian: Use test-utils.

2 years agoAdd test-utils.
Ricardo Wurmus [Sun, 10 May 2020 14:50:28 +0000 (16:50 +0200)] 
Add test-utils.

2 years agocontroller: Don't generate signing key when evaluating the file.
Ricardo Wurmus [Sun, 10 May 2020 14:22:12 +0000 (16:22 +0200)] 
controller: Don't generate signing key when evaluating the file.

2 years agoRemove (debbugs cache).
Ricardo Wurmus [Sun, 10 May 2020 14:12:45 +0000 (16:12 +0200)] 
Remove (debbugs cache).

2 years agoReplace invocation of remote get-status operation with bug-status.
Ricardo Wurmus [Sun, 10 May 2020 14:09:26 +0000 (16:09 +0200)] 
Replace invocation of remote get-status operation with bug-status.

2 years agoReplace (debbugs bug) with (mumi debbugs).
Ricardo Wurmus [Sun, 10 May 2020 14:09:04 +0000 (16:09 +0200)] 
Replace (debbugs bug) with (mumi debbugs).

2 years agodebbugs: Add bug-status.
Ricardo Wurmus [Sun, 10 May 2020 14:07:01 +0000 (16:07 +0200)] 
debbugs: Add bug-status.

* mumi/debbugs.scm (<bug-status>): New record type.
(qp-pattern): New variable.
(bug-status, bug-status?, bug-num, bug-archived, bug-blockedby,
bug-blocks, bug-date, bug-done, bug-mergedwith, bug-originator,
bug-owner, bug-severity, bug-subject, bug-tags): New procedures.

2 years agoRemove obsolete comment.
Ricardo Wurmus [Sun, 10 May 2020 12:23:53 +0000 (14:23 +0200)] 
Remove obsolete comment.

2 years agotests/debbugs: Add test for active bug's summary file.
Ricardo Wurmus [Sun, 10 May 2020 11:36:57 +0000 (13:36 +0200)] 
tests/debbugs: Add test for active bug's summary file.

* tests/debbugs.scm ("bug-id->summary-file: return active summary
file"): New test.
* tests/data/spool/db-h/99/33299.{report,status,summary}: New files.

2 years agodebbugs: Add bug-id->summary-file.
Ricardo Wurmus [Sun, 10 May 2020 11:25:56 +0000 (13:25 +0200)] 
debbugs: Add bug-id->summary-file.

* mumi/debbugs.scm (bug-id->summary-file): New procedure.
* tests/debbugs.scm: New file.
* tests/data/spool/archive/95/26095.{report,status,summary}: New
files.
* Makefile.am (SCM_TESTS): Add tests/debbugs.scm.
(EXTRA_DIST): Include test data.

2 years agobugs: update-bug-database!: Do not use get-bugs.
Ricardo Wurmus [Sun, 10 May 2020 10:45:24 +0000 (12:45 +0200)] 
bugs: update-bug-database!: Do not use get-bugs.

* mumi/bugs.scm (update-bug-database!): Use extract-bug-numbers
instead of connecting to Debbugs.

2 years agoscripts: Do not use soap-invoke*.
Ricardo Wurmus [Sun, 10 May 2020 10:10:53 +0000 (12:10 +0200)] 
scripts: Do not use soap-invoke*.

* scripts/mumi.in (update-state!): Use extract-bug-numbers instead of
connecting to the Debbugs SOAP service.

2 years agoview/html: Update CSS timestamp.
Ricardo Wurmus [Sun, 10 May 2020 10:02:52 +0000 (12:02 +0200)] 
view/html: Update CSS timestamp.

2 years agodebbugs: Cache result of extract-bug-numbers.
Ricardo Wurmus [Sun, 10 May 2020 09:24:40 +0000 (11:24 +0200)] 
debbugs: Cache result of extract-bug-numbers.

2 years agoDisplay list of forgotten issues.
Ricardo Wurmus [Sun, 10 May 2020 09:23:16 +0000 (11:23 +0200)] 
Display list of forgotten issues.

* mumi/messages.scm (forgotten-issues): New procedure.
* mumi/web/controller.scm (controller): Handle /forgotten URL.
* mumi/web/view/html.scm (list-of-forgotten-issues): New procedure.
(index): Show top 10 forgotten issues.

2 years agodebbugs: Add forgotten-bug-numbers.
Ricardo Wurmus [Sun, 10 May 2020 09:16:51 +0000 (11:16 +0200)] 
debbugs: Add forgotten-bug-numbers.

2 years agodebbugs: Express extract-bug-numbers in terms of filter-index.
Ricardo Wurmus [Sun, 10 May 2020 08:25:41 +0000 (10:25 +0200)] 
debbugs: Express extract-bug-numbers in terms of filter-index.

* mumi/debbugs.scm (extract-bug-numbers): Rewrite in terms of
filter-index.

2 years agodebbugs: Add filter-index.
Ricardo Wurmus [Sun, 10 May 2020 08:25:23 +0000 (10:25 +0200)] 
debbugs: Add filter-index.

* mumi/debbugs.scm (filter-index): New procedure.

2 years agocontroller: Add missing procedure import.
Ricardo Wurmus [Sun, 10 May 2020 08:14:49 +0000 (10:14 +0200)] 
controller: Add missing procedure import.

This is a follow-up to commit e064812ac964bbe4f522df6a684273132ec107a2.

2 years agocontroller: Set email subject to bug subject.
Ricardo Wurmus [Sun, 10 May 2020 06:53:50 +0000 (08:53 +0200)] 
controller: Set email subject to bug subject.

2 years agoview/html: Mention alternative way of commenting.
Ricardo Wurmus [Sun, 10 May 2020 06:45:58 +0000 (08:45 +0200)] 
view/html: Mention alternative way of commenting.

2 years agoview/html: Do not allow commenting on archived issues.
Ricardo Wurmus [Sun, 10 May 2020 06:38:01 +0000 (08:38 +0200)] 
view/html: Do not allow commenting on archived issues.

2 years agoIgnore local Debbugs data.
Ricardo Wurmus [Sun, 10 May 2020 06:30:46 +0000 (08:30 +0200)] 
Ignore local Debbugs data.

2 years agoxapian: Allow boolean search without capitalization, allow wildcards.
Ricardo Wurmus [Sun, 10 May 2020 06:30:09 +0000 (08:30 +0200)] 
xapian: Allow boolean search without capitalization, allow wildcards.

2 years agomessages: Keep hyphens and quotes when preprocessing query string.
Ricardo Wurmus [Sun, 10 May 2020 06:29:40 +0000 (08:29 +0200)] 
messages: Keep hyphens and quotes when preprocessing query string.

2 years agoxapian: Add phrase-aware tokenizer.
Ricardo Wurmus [Sun, 10 May 2020 06:28:38 +0000 (08:28 +0200)] 
xapian: Add phrase-aware tokenizer.

* mumi/xapian.scm (tokenize): New procedure.
(search): Use it instead of string-tokenize.
* tests/xapian.scm: Test it.

2 years agoxapian: Join terms with AND by default.
Ricardo Wurmus [Sat, 9 May 2020 22:52:24 +0000 (00:52 +0200)] 
xapian: Join terms with AND by default.

* mumi/xapian.scm (parse-query*): Set default operation to AND.

2 years agocss: Add a bit of space between the file icon and the attachment name.
Ricardo Wurmus [Sat, 9 May 2020 14:45:34 +0000 (16:45 +0200)] 
css: Add a bit of space between the file icon and the attachment name.

2 years agocss: Don't let the sidebar cover the search hints.
Ricardo Wurmus [Sat, 9 May 2020 14:45:17 +0000 (16:45 +0200)] 
css: Don't let the sidebar cover the search hints.

2 years agohtml: Add a sidebar to quickly jump to messages.
Ricardo Wurmus [Thu, 7 May 2020 13:23:22 +0000 (15:23 +0200)] 
html: Add a sidebar to quickly jump to messages.

2 years agoview/utils: Remove obsolete module import.
Ricardo Wurmus [Thu, 7 May 2020 12:58:37 +0000 (14:58 +0200)] 
view/utils: Remove obsolete module import.