summaryrefslogtreecommitdiff
path: root/issues
diff options
context:
space:
mode:
Diffstat (limited to 'issues')
-rw-r--r--issues/allow-checkboxes-without-a-space.gmi14
-rw-r--r--issues/corrupted-double-linked-list.gmi25
-rw-r--r--issues/handle-unicode-characters-correctly-in-C-locale.gmi5
-rw-r--r--issues/ignore-preformatted-blocks-in-gemtext-parser.gmi8
-rw-r--r--issues/incompatibility-between-state-and-web-server.gmi11
-rw-r--r--issues/mirror-on-github.gmi5
-rw-r--r--issues/provide-app-bundle.gmi9
-rw-r--r--issues/put-up-fosdem-2023-video-on-website.gmi7
-rw-r--r--issues/resolve-aliases-when-searching-for-people.gmi7
-rw-r--r--issues/set-up-public-inbox.gmi5
-rw-r--r--issues/skribilo-fragment-snippets-need-code-from-repo.gmi19
-rw-r--r--issues/tissue-does-not-clean-up-unix-socket-when-deployed-with-shepherd.gmi9
12 files changed, 124 insertions, 0 deletions
diff --git a/issues/allow-checkboxes-without-a-space.gmi b/issues/allow-checkboxes-without-a-space.gmi
new file mode 100644
index 0000000..20d016f
--- /dev/null
+++ b/issues/allow-checkboxes-without-a-space.gmi
@@ -0,0 +1,14 @@
+# Allow checkboxes without a space
+
+* tags: bug
+
+Checkboxes without a space in them are not detected correctly by our issue gemtext parser. They should be.
+
+In the example below, the first checklist item is not detected correctly.
+```
+* [] Checkbox without a space
+* [ ] Checkbox with a space
+* [x] Completed checkbox
+```
+
+* closed
diff --git a/issues/corrupted-double-linked-list.gmi b/issues/corrupted-double-linked-list.gmi
new file mode 100644
index 0000000..e916e5e
--- /dev/null
+++ b/issues/corrupted-double-linked-list.gmi
@@ -0,0 +1,25 @@
+# corrupted double-linked list
+
+* tags: bug
+
+Once the tissue web server has run long enough, it crashes with one of the following error messages. This could be a memory allocation bug in guile-xapian. This crash is observed both in the production and development web servers.
+
+```
+malloc(): unsorted double linked list corrupted
+Aborted
+```
+
+```
+corrupted double-linked list
+Aborted
+```
+
+## Steps to reproduce
+
+The easiest way to reproduce this is to run either the production or development web server and stress test it with siege.
+=> https://www.joedog.org/siege-home/
+
+If the web server is listening on port 8080, run siege as follows. The web server usually crashes in less than a minute.
+```
+$ siege http://localhost:8080/search
+```
diff --git a/issues/handle-unicode-characters-correctly-in-C-locale.gmi b/issues/handle-unicode-characters-correctly-in-C-locale.gmi
new file mode 100644
index 0000000..c11c752
--- /dev/null
+++ b/issues/handle-unicode-characters-correctly-in-C-locale.gmi
@@ -0,0 +1,5 @@
+# Handle unicode characters correctly in C locale
+
+* tags: bug
+
+On the home page of the tissue website, a unicode em dash character is displayed incorrectly as ���. This happens because the website is built by the CI in a C locale, and tissue fails to correctly handle unicode characters in a C locale. This is however not a skribilo bug. skribilo handles unicode characters correctly regardless of the locale. This bug likely arises when tissue copies the output of skribilo and writes it to a file.
diff --git a/issues/ignore-preformatted-blocks-in-gemtext-parser.gmi b/issues/ignore-preformatted-blocks-in-gemtext-parser.gmi
new file mode 100644
index 0000000..ce05091
--- /dev/null
+++ b/issues/ignore-preformatted-blocks-in-gemtext-parser.gmi
@@ -0,0 +1,8 @@
+# Ignore preformatted blocks in gemtext issue parser
+
+* tags: bug
+
+Our gemtext parser does not ignore preformatted blocks. Case in point is the parser wrongly identifying the issue allow-checkboxes-without-a-space.gmi as having a task list.
+=> allow-checkboxes-without-a-space
+
+* closed
diff --git a/issues/incompatibility-between-state-and-web-server.gmi b/issues/incompatibility-between-state-and-web-server.gmi
new file mode 100644
index 0000000..2b991bf
--- /dev/null
+++ b/issues/incompatibility-between-state-and-web-server.gmi
@@ -0,0 +1,11 @@
+# Incompatibility between state and web server
+
+* tags: bug, enhancement
+
+During upgrades, the new version of the tissue web server may be incompatible with the tissue state (specifically the xapian index—the document data, the slots used, etc.) built by an older version of tissue pull. At present, this will cause tissue to crash.
+
+At the very least, tissue should produce an error message or warning so that the user can manually run a tissue pull and rebuild the state. This error message should probably appear when the tissue web server is started so that the user can take action before visitors go to a web page and find it crashed.
+
+More ideally, it would be nice to transparently and automatically rebuild the state without the user having to know anything. But, this may be much harder to do and add more complexity. We need to decide if this additional complexity is worth it.
+
+To implement either of these solutions, tissue must record some kind of version number in the xapian index so that it can know what version of tissue was used to build a specific index.
diff --git a/issues/mirror-on-github.gmi b/issues/mirror-on-github.gmi
new file mode 100644
index 0000000..db39c38
--- /dev/null
+++ b/issues/mirror-on-github.gmi
@@ -0,0 +1,5 @@
+# Mirror on GitHub
+
+* tags: infrastructure
+
+Mirror project repository on GitHub for wider visibility. We will not use the GitHub issue tracker or any of its other proprietary features. We will merely use it for hosting our git repository.
diff --git a/issues/provide-app-bundle.gmi b/issues/provide-app-bundle.gmi
new file mode 100644
index 0000000..512ae44
--- /dev/null
+++ b/issues/provide-app-bundle.gmi
@@ -0,0 +1,9 @@
+# Provide app bundle
+
+* tags: infrastructure
+
+tissue uses several guile libraries, and the state of guile packaging is bad everywhere outside Guix. Potential new non-Guix users of tissue are not going to install Guix just to try out tissue. In order to ease adoption for such users, we must provide “app bundles” like those generated by guix pack.
+
+Ideally, these app bundles should be provided for every released version of tissue and the latest development version from the git repository. Careful consideration should be given to the version of Guix used to generate each of these app bundles so that these app bundles can be generated reproducibly.
+
+But, more pragmatically, it may be sufficient to only offer an app bundle for the latest released version since that is what new users will be most interested in.
diff --git a/issues/put-up-fosdem-2023-video-on-website.gmi b/issues/put-up-fosdem-2023-video-on-website.gmi
new file mode 100644
index 0000000..c0b04cd
--- /dev/null
+++ b/issues/put-up-fosdem-2023-video-on-website.gmi
@@ -0,0 +1,7 @@
+# Put up FOSDEM 2023 video on website
+
+* tags: website
+
+Put up the recording of the FOSDEM 2023 tissue talk on the website. The video can serve as good advertising.
+
+=> https://fosdem.org/2023/schedule/event/tissue/
diff --git a/issues/resolve-aliases-when-searching-for-people.gmi b/issues/resolve-aliases-when-searching-for-people.gmi
new file mode 100644
index 0000000..d303f83
--- /dev/null
+++ b/issues/resolve-aliases-when-searching-for-people.gmi
@@ -0,0 +1,7 @@
+# Resolve aliases when searching for people
+
+* tags: bug
+
+We only index canonical names of people using the known aliases. Hence, when searching for people's names, we must also resolve the names in the query before running the search.
+
+This is best done by using a custom xapian field processor for the relevant search prefixes such as creator:, lastupdater: and assigned:.
diff --git a/issues/set-up-public-inbox.gmi b/issues/set-up-public-inbox.gmi
new file mode 100644
index 0000000..dd957e5
--- /dev/null
+++ b/issues/set-up-public-inbox.gmi
@@ -0,0 +1,5 @@
+# Set up public inbox
+
+* tags: infrastructure
+
+Set up a public inbox and mailing address for people to discuss tissue. At present, the only way is to reach out to Arun's personal email address, and that's not good for a free software project. Free software projects need a public discussion forum.
diff --git a/issues/skribilo-fragment-snippets-need-code-from-repo.gmi b/issues/skribilo-fragment-snippets-need-code-from-repo.gmi
new file mode 100644
index 0000000..74109ed
--- /dev/null
+++ b/issues/skribilo-fragment-snippets-need-code-from-repo.gmi
@@ -0,0 +1,19 @@
+# Search snippets for skribilo fragments need code from repo
+
+* tags: bug
+
+Skribilo documents are really programs. So, when generating search snippets for skribilo fragments, code from the repo may need to be executed. This is problematic since the web server process does not have the repository in its load path.
+
+The repository cannot simply be added to the load path since the web server process may be serving multiple repositories and we don't want them to interact.
+
+Also, evaluating an entire skribilo document on every search query may be costly. In fact, this expense of snippet generation applies equally well to other kinds of documents (issues, texinfo documents, etc.).
+
+Therefore, it might be worthwhile to inter snippet source texts into the xapian index itself—specifically in the document data field. This will of course increase the size of the xapian index considerably. But, storage is cheap, and there does not seem to be any more elegant way out.
+
+Until this issue is fixed, we have temporarily disabled snippets for skribilo fragments.
+
+## Resolution
+
+Search snippet source texts are now interred into the xapian index.
+
+* closed
diff --git a/issues/tissue-does-not-clean-up-unix-socket-when-deployed-with-shepherd.gmi b/issues/tissue-does-not-clean-up-unix-socket-when-deployed-with-shepherd.gmi
new file mode 100644
index 0000000..90092e6
--- /dev/null
+++ b/issues/tissue-does-not-clean-up-unix-socket-when-deployed-with-shepherd.gmi
@@ -0,0 +1,9 @@
+# tissue does not clean up Unix socket when deployed with shepherd
+
+* tags: bug
+
+When deployed with shepherd, and stopped using something like herd stop tissue, the tissue web server does not clean up its Unix socket. This means the next attempt to start tissue fails since the Unix socket file exists already.
+
+However, when tissue-web is run on the command-line and terminated with a Ctrl-C (SIGINT), it cleans up its Unix socket correctly.
+
+This issue is likely because tissue is not handling the SIGTERM signal correctly.