﻿<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="text" xml:lang="en">Fiss</title>
  <link type="application/atom+xml" href="https://mfgames.com/fiss/atom.xml" rel="self" />
  <link type="text/html" href="https://mfgames.com/fiss/" rel="alternate" />
  <updated>2026-10-05T17:39:37Z</updated>
  <id>https://mfgames.com/fiss/</id>
  <author>
    <name>D. Moonfire</name>
  </author>
  <rights>Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International</rights>
  <entry>
    <title>Introducing Fiss (Fiss)</title>
    <link rel="alternate" href="https://mfgames.com/blog/2025/02/20/introducing-fiss/" />
    <updated>2025-02-20T06:00:00Z</updated>
    <id>https://mfgames.com/blog/2025/02/20/introducing-fiss/</id>
    <category term="fiss" scheme="https://mfgames.com/categories/" label="Fiss" />
    <content type="html">&lt;p&gt;In a world where there are a lot of tools to manage tasks, this is one more. Fiss is a CLI-based tool that exposes issues from forges (such as &lt;a href="https://forgejo.org/"&gt;Foregejo&lt;/a&gt;) in a task-centric interface. This tool is inspired by &lt;a href="https://taskwarrior.org/"&gt;Taskwarrior&lt;/a&gt; and is designed from the ground up with the intent of using multiple forges, groups/organizations, and projects as the high-level organization.&lt;/p&gt;
&lt;h2&gt;Justification&lt;/h2&gt;
&lt;p&gt;There are a lot of tools that do the same thing, managing tasks. As well-designed or powerful as they are, the main reason for writing Fiss is that they didn't work the way we needed them too.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There Is More Than One Way To Do It&lt;/p&gt;
&lt;p&gt;&amp;mdash; Larry Wall&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Fiss does, but isn't to say we haven't tried to find another alternative. We have, for many years and many attempts to find the &amp;ldquo;one perfect tool&amp;rdquo; for us.&lt;/p&gt;
&lt;h3&gt;Taskwarrior&lt;/h3&gt;
&lt;p&gt;Taskwarrior is very powerful, but it doesn't work well outside of the CLI. In our experience, the web services for sharing tasks across machines work fairly well, but are cumbersome to set up.&lt;/p&gt;
&lt;p&gt;The support on Android, our current phone operating system, is relatively poor.&lt;/p&gt;
&lt;p&gt;In many cases, the other services end up packaging Taskwarrior inside them to perform the various calculations because Taskwarrior is also very complex and not well documented. At least, it seems that way since there are not many Taskwarrior-compatible alternatives. Even the Android packages we found effectively said they packaged Taskwarrior inside them.&lt;/p&gt;
&lt;h3&gt;iCalendar&lt;/h3&gt;
&lt;p&gt;We love iCalendar (&lt;code&gt;.ics&lt;/code&gt;) files. With our local &lt;a href="https://nextcloud.com/"&gt;NextCloud&lt;/a&gt; server, it is great for handling a lot of our common tasks.&lt;/p&gt;
&lt;p&gt;Working with a Linux CLI and &lt;code&gt;.ics&lt;/code&gt; is difficult. We've tried a number of different ways over the years and haven't found anything that works the way we want. Or consistently.&lt;/p&gt;
&lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Right now, this tool is barely alpha. It requires a lot of manual editing of the configuration file as documented on the &lt;a href="//mfgames.com/fiss/"&gt;website&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Adding a Server&lt;/h2&gt;
&lt;p&gt;Adding a server is pretty simple. A server has a short name, which is used by the tabular output and to reference the server.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;export FISS_SERVER=mfgames
export SERVER_URL=https://src.mfgames.com
#TOKEN=the token from Forgejo
fiss server add -s $FISS_SERVER --url $SERVER_URL --token $TOKEN
fiss server add --url $SERVER_URL --token $TOKEN
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It will also automatically pick up &lt;code&gt;FISS_SERVER&lt;/code&gt; from the environment. Same for &lt;code&gt;FISS_GROUP&lt;/code&gt; and &lt;code&gt;FISS_PROJECT&lt;/code&gt; below.)&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;export FISS_SERVER=mfgames
fiss server add --url $SERVER_URL --token $TOKEN
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It can be listed, not that it helps much.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;$ fiss server list
 server   url                             forge    updated_seconds
 mfgames  https://src.mfgames.com/        forgejo  2025-02-15 13:15:41
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;All lists can be dumped as JSON:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;$ fiss server list --json | jq
[
  {
    &amp;quot;server&amp;quot;: &amp;quot;mfgames&amp;quot;,
    &amp;quot;url&amp;quot;: &amp;quot;https://src.mfgames.com/&amp;quot;,
    &amp;quot;forge&amp;quot;: &amp;quot;forgejo&amp;quot;,
    &amp;quot;updated_seconds&amp;quot;: &amp;quot;2025-02-14 18:04:54&amp;quot;
  }
]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;They can also be dumped as Markdown:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;$ fiss server list --markdown
&lt;/code&gt;&lt;/pre&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;server&lt;/th&gt;
&lt;th&gt;url&lt;/th&gt;
&lt;th&gt;forge&lt;/th&gt;
&lt;th&gt;updated_seconds&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;mfgames&lt;/td&gt;
&lt;td&gt;&lt;a href="https://src.mfgames.com/"&gt;https://src.mfgames.com/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;forgejo&lt;/td&gt;
&lt;td&gt;2025-02-14 18:04:54&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The reason servers are considered first-class is that we wrote Fiss to handle multiple forges at the same time. We have multiple Forgejo instances. Eventually, this tool will be expanded to also include iCalendar, SourceHut, GitLab, and GitHub. Potentially, one could have multiples of those also, so servers are part of the organization structure.&lt;/p&gt;
&lt;h2&gt;Groups&lt;/h2&gt;
&lt;p&gt;On a server, you have groups. Right now, users don't work yet, but groups are fine.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;$ export FISS_GROUP=fiss
$ fiss group add -s $FISS_SERVER -g $FISS_GROUP
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;We decided to call the organizations and users &amp;ldquo;groups&amp;rdquo; because our &amp;ldquo;day job&amp;rdquo; uses &amp;ldquo;organizations&amp;rdquo; and it is really hard to spell that consistently while typing at speed. Using &amp;ldquo;groups&amp;rdquo; is relatively generic and is sufficient for our needs.&lt;/p&gt;
&lt;h2&gt;Projects&lt;/h2&gt;
&lt;p&gt;Projects are the third level of organization. Creatively, they are done the same way.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;$ FISS_PROJECT=fiss
$ fiss project add -s $FISS_SERVER -g $FISS_GROUP -p $FISS_PROJECT
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Caching&lt;/h2&gt;
&lt;p&gt;To avoid overloading the forges, we cache the issues. In the future, we periodically will refresh the data, pick up new issues, close others. Right now, you have to manually pull in the data.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;fiss cache sync
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;⚠ Since there isn't a lot of elegance at this point, this will pick up all projects underneath a group and also download &lt;strong&gt;every single issue&lt;/strong&gt; from those projects. That includes closed and open. So, it would not be a good idea to point this at any project that has a large number of issues.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;There is also going to be controls for automatically subscribing to new projects, so you can choose to get all of them, or only require specific ones.&lt;/p&gt;
&lt;h2&gt;Issues&lt;/h2&gt;
&lt;p&gt;Once everything is synced, then the commands are pretty simple. To list issues:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;fiss list -s $FISS_SERVER -g $FISS_GROUP -p $FISS_PROJECT
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If the command is run inside a Git repository (any inner directory can work, it will find the Git root), it will attempt to pick up the server, group, and project from the remotes. Also, if there is a distinct name for a project, then &lt;code&gt;-p $FISS_PROJECT&lt;/code&gt; would be sufficient.&lt;/p&gt;
&lt;p&gt;If you want to list all projects inside a Git repository, the &lt;code&gt;list&lt;/code&gt; command supports globbing for servers, groups, and slugs. This means &lt;code&gt;fiss list -p '*'&lt;/code&gt; will show all projects no matter where you are in your directory structure. Also, multiple globbing can be done with colons, such &lt;code&gt;fiss list -p fiss:mfgames-cil&lt;/code&gt; will list all &lt;code&gt;fiss&lt;/code&gt; and &lt;code&gt;mfgames-cil&lt;/code&gt; projects.&lt;/p&gt;
&lt;p&gt;From this point on, we're going to assume you are in the Git directory or have &lt;code&gt;FISS_SERVER&lt;/code&gt;, &lt;code&gt;FISS_GROUP&lt;/code&gt;, and &lt;code&gt;FISS_PROJECT&lt;/code&gt; set appropriately.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;fiss list
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Creating a new issue also relatively simple and there really isn't that much. The rest of the commands are assuming you are in a Git directory, or you exported&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;$ fiss add -t &amp;quot;Name of project&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This creates an issue. Right now, it just says nothing but it will eventually give you a useful message or at least emit the issue number.&lt;/p&gt;
&lt;p&gt;There are commands to open and close tickets using &lt;code&gt;-i&lt;/code&gt; or &lt;code&gt;--issue&lt;/code&gt; with the issue number.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;fiss issue close -i 3
fiss issue open -i 3
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Example&lt;/h2&gt;
&lt;p&gt;So far, even at this basic state, it is fairly functional.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;cd fiss
fiss list --markdown
&lt;/code&gt;&lt;/pre&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;id&lt;/th&gt;
&lt;th&gt;title&lt;/th&gt;
&lt;th&gt;state&lt;/th&gt;
&lt;th&gt;assigned&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;mfgames/fiss/fiss/6&lt;/td&gt;
&lt;td&gt;Cache foregejo API handle&lt;/td&gt;
&lt;td&gt;open&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mfgames/fiss/fiss/7&lt;/td&gt;
&lt;td&gt;Refresh servers, groups, and projects periodically&lt;/td&gt;
&lt;td&gt;open&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mfgames/fiss/fiss/8&lt;/td&gt;
&lt;td&gt;Show progress while syncing with server&lt;/td&gt;
&lt;td&gt;open&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mfgames/fiss/fiss/9&lt;/td&gt;
&lt;td&gt;Teach &amp;lsquo;cache sync&amp;rsquo; to only sync certain projects&lt;/td&gt;
&lt;td&gt;open&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mfgames/fiss/fiss/10&lt;/td&gt;
&lt;td&gt;Show information after creating a new issue&lt;/td&gt;
&lt;td&gt;open&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mfgames/fiss/fiss/11&lt;/td&gt;
&lt;td&gt;Allow for &amp;ndash;body/-b to edit the body text&lt;/td&gt;
&lt;td&gt;open&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mfgames/fiss/fiss/12&lt;/td&gt;
&lt;td&gt;Update to new version of foregejo API&lt;/td&gt;
&lt;td&gt;open&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mfgames/fiss/fiss/13&lt;/td&gt;
&lt;td&gt;Implement subscriptions&lt;/td&gt;
&lt;td&gt;open&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mfgames/fiss/fiss/14&lt;/td&gt;
&lt;td&gt;Do not show closed issues by default&lt;/td&gt;
&lt;td&gt;open&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mfgames/fiss/fiss/15&lt;/td&gt;
&lt;td&gt;Do not show archived projects by default&lt;/td&gt;
&lt;td&gt;open&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mfgames/fiss/fiss/16&lt;/td&gt;
&lt;td&gt;Get flake working as input for another flake&lt;/td&gt;
&lt;td&gt;open&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;You can also see &lt;a href="https://src.mfgames.com/fiss/fiss/issues"&gt;this list on our forge&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Future&lt;/h2&gt;
&lt;p&gt;So, we think this tool has potential. We'll be using it and improving it slowly as we find pain points or things where it doesn't work. At minimum, the goals are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add, create, and list tags on issues&lt;/li&gt;
&lt;li&gt;Implement milestones&lt;/li&gt;
&lt;li&gt;Implement sub-projects&lt;/li&gt;
&lt;li&gt;Be able to edit other elements of the item (&lt;code&gt;fiss edit -i 3&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Be able to open up the page from the CLI (&lt;code&gt;fiss web -i 3&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Get it working properly with NixOS flakes&lt;/li&gt;
&lt;li&gt;Be more elegant in retrieving issues&lt;/li&gt;
&lt;li&gt;Implement the subscription control so we can decide to include 100s of projects automatically&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>Some Quality of Life Changes (Fiss)</title>
    <link rel="alternate" href="https://mfgames.com/blog/2026/06/13/some-quality-of-life/" />
    <updated>2026-06-13T05:00:00Z</updated>
    <id>https://mfgames.com/blog/2026/06/13/some-quality-of-life/</id>
    <category term="fiss" scheme="https://mfgames.com/categories/" label="Fiss" />
    <content type="html">&lt;p&gt;It's been over a year since there were any major changes to &lt;a href="//mfgames.com/fiss/"&gt;fiss&lt;/a&gt;, mostly because it did the minimum functionality &lt;a href="//d.moonfire.us"&gt;we&lt;/a&gt; wanted and there are no other reported issues. However, that isn't to say it was perfect or not filled with bugs (you know, like &lt;code&gt;fiss group list&lt;/code&gt; throwing a panic because it was never implemented).&lt;/p&gt;
&lt;p&gt;Since we had a little time to work on something, we decided to address some quality of life issues that will hopefully make it more pleasant.&lt;/p&gt;
&lt;h2&gt;Progress Bars&lt;/h2&gt;
&lt;p&gt;When &lt;code&gt;fiss&lt;/code&gt; is pointed to large collections of repositories, like Dylan's fiction sites, there are hundreds of repositories. When running &lt;code&gt;fiss cache sync&lt;/code&gt;, it would take significant time to run because it walks through every server, group, and project that user is subscribed to. For us, we have hundreds and this takes a while because our server isn't that fast.&lt;/p&gt;
&lt;p&gt;To give some feedback, instead of showing nothing for 30-90 seconds, we implemented a nested progress bar that shows the process.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ fiss cache sync
sync_server_by_name server_name=&amp;quot;mfgames&amp;quot;                                                                 3.9s
  ↳ sync_group_by_names server_name=&amp;quot;mfgames&amp;quot; group_name=&amp;quot;fedran-sources&amp;quot;                                 1.8s
    ↳ sync_project_by_names server_name=&amp;quot;mfgames&amp;quot; group_name=&amp;quot;fedran-sources&amp;quot; project_name=&amp;quot;a-simple-cog&amp;quot; 0.1s
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This only shows up if the command is entered into a terminal but it can be disabled with &lt;code&gt;--show-progress never&lt;/code&gt;. In addition, &lt;code&gt;always&lt;/code&gt; forces it to run even outside of a terminal, and &lt;code&gt;auto&lt;/code&gt; does its best guess to determine if it is attached to a terminal or not.&lt;/p&gt;
&lt;p&gt;The output isn't &amp;ldquo;pretty&amp;rdquo; but it is functionality for our purposes. The output is sent to &amp;ldquo;standard error&amp;rdquo; so redirect a command to get the JSON output won't be polluted by the output, even if &lt;code&gt;--show-progress always&lt;/code&gt; is used. (Likewise, all console logging is also always sent to standard error for the same reason.)&lt;/p&gt;
&lt;h2&gt;More Intelligent Syncing&lt;/h2&gt;
&lt;p&gt;The above was written to help debug the one feature we were working on: being more graceful about how we sync our information with the forge. Previously, the only way to get a fresh list of issues was to use the &lt;code&gt;fiss cache sync&lt;/code&gt; command which took some time.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;$ time fiss cache sync --forge-sync always

real	0m46.598s
user	0m5.533s
sys	0m0.397s
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you can't guess from the spoiler, we have the same options: &lt;code&gt;auto&lt;/code&gt;, &lt;code&gt;never&lt;/code&gt;, and &lt;code&gt;always&lt;/code&gt; implemented here.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;$ time fiss cache sync --forge-sync never

real	0m3.127s
user	0m3.077s
sys	0m0.104s
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It still walks through the servers and projects, but shaving forty seconds because it doesn't have to do API calls to the forge is a significant time savings.&lt;/p&gt;
&lt;p&gt;When using &lt;code&gt;auto&lt;/code&gt;, the default, the system now keeps track of the last time a server, group, or project was syned. It only syncs if the server or group hasn't been refreshed in a week or the project hasn't been refreshed in a day.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;time fiss cache sync

real	0m3.126s
user	0m3.076s
sys	0m0.103s
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That should make that aspect more useful.&lt;/p&gt;
&lt;h2&gt;Refresh On List&lt;/h2&gt;
&lt;p&gt;The third and final change was implementing syncing when running the list command. As said above, the only way to get new issues from the web was to run &lt;code&gt;fiss cache sync&lt;/code&gt;. Now, &lt;code&gt;fiss cache list&lt;/code&gt; also refreshes but it is more intelligent about it based on the scope.&lt;/p&gt;
&lt;p&gt;For example, if only a project is requested, then it only syncs that project which takes considerably less time to implement (1-2 API calls at this point and usually under 100 ms with our current setup). However, if a group is requested, then it will only sync all the projects under that group.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;fiss list --group fedran-sources
 id                                                title                                               state  assigned
 mfgames/fedran-sources/allegro/7                  Get automatic versioning working                    open
 mfgames/fedran-sources/allegro/6                  Get it sent to the copywriter                       open
 mfgames/fedran-sources/allegro/5                  Get it sent to the development editor               open
 mfgames/fedran-sources/allegro/4                  Create a cover a cover                              open
 mfgames/fedran-sources/coins-for-your-troubles/1  Chapters 12 and 13 need an editing pass             open
 mfgames/fedran-sources/flight-of-the-scions/2     Go through and update the various content warnings  open
 mfgames/fedran-sources/flight-of-the-scions/1     Make the book public                                open
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And if &lt;code&gt;fiss cache list --server mfgames&lt;/code&gt; is used, then it will sync all the groups and projects on that server before showing the list. Since this is automatic done (baring the use of &lt;code&gt;--forge-sync&lt;/code&gt;), then &lt;code&gt;fiss list&lt;/code&gt; will always get the most recent copy of the tasks that need to be done.&lt;/p&gt;
&lt;p&gt;As, if the command is used without options, it picks up the project from the current Git repository which means &lt;code&gt;fiss list&lt;/code&gt; is useful when inside that project's directory.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-sh"&gt;$ cd fiss
$ time fiss list
 id                    title                                                                       state  assigned
 mfgames/fiss/fiss/16  Get flake working as input for another flake                                open
 mfgames/fiss/fiss/15  Do not show archived projects by default                                    open
 mfgames/fiss/fiss/13  Implement subscriptions                                                     open
 mfgames/fiss/fiss/11  Allow for --body/-b to edit the body text                                   open
 mfgames/fiss/fiss/10  Show information after creating a new issue                                 open
 mfgames/fiss/fiss/8   Show progress while syncing with server                                     open
 mfgames/fiss/fiss/7   Refresh servers, groups, and projects periodically                          open
 mfgames/fiss/fiss/6   Cache foregejo API handle                                                   open
 mfgames/fiss/fiss/20  Handle fiss list fetching from empty set                                    open
 mfgames/fiss/fiss/21  Better handling when a server is removed from the config                    open
 mfgames/fiss/fiss/22  Allow output of URL or ID when creating a new issue                         open
 mfgames/fiss/fiss/23  Configuration option for how frequently to get server, groups, or projects  open
 mfgames/fiss/fiss/24  Allow sync from list to retrieve new groups and projects found              open
 mfgames/fiss/fiss/25  Change sync to be based on *_cache instead of by name                       open
 mfgames/fiss/fiss/26  Implement issue-level syncing                                               open
 mfgames/fiss/fiss/27  Figure out why Radicle will not sync                                        open

real	0m0.036s
user	0m0.030s
sys	0m0.009s
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Future&lt;/h2&gt;
&lt;p&gt;We still use this project almost every day to manage our lists, but since we're the only people appearing to use it, features will show up as we need them or something annoys us. As usual, reporting issues is already appreciated but since we have to periodically disable registration on our forge, we'll be looking into better ways of submitting issues, having discussions, or getting patches. Until then, use &lt;a href="//d.moonfire.us/contact/"&gt;Dylan's contact page&lt;/a&gt; or &lt;a href="mailto:contact@mfgames.com"&gt;contact@mfgames.com&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
</feed>
