Latch

Project

Feedback, issues and contributing

How to report a bug or make a suggestion on the project's Forgejo, what to include, what never to attach, and how code and documentation changes get in.

On this page

Latch is being handed to a small number of people to try. Your feedback is how it gets better. Everything goes through the repository's issue tracker so nothing is lost in a chat.

Where

The repository lives on the maintainer's own Forgejo. A public mirror is being set up; until it is live, the fastest way in is to say hello on Matrix and ask:

Project site, with screenshots and downloads: https://latch.aurionblack.com.

When the public mirror is live this page will name it.

Reporting a bug

Open Issues โ†’ New issue โ†’ Bug report. Include:

  1. Version โ€” from the footer of any page, or /healthz.
  2. What you did โ€” the exact steps. "Locked 4 h, spun, then tapped Undo" beats "undo is broken".
  3. What you expected and what happened โ€” copy the sentence on screen word for word. Most refusals are deliberate and the sentence is the diagnosis; if it was wrong, the words are the evidence.
  4. Where โ€” phone or desktop, browser, through the reverse proxy or the raw port.
  5. A screenshot if it helps โ€” after you have looked at it. Screenshots carry whatever was on screen, including a reflection.

Never attach an export

latch.json, the CSVs and the bundle are your whole journal in plaintext. No bug needs them. If a maintainer needs data, they will ask for one specific row.

Also skip: the API token, anything from .env, your reverse proxy's secrets.

Making a suggestion

Open Issues โ†’ New issue โ†’ Suggestion. The template asks three things:

Label it type/feature. A maintainer will add an area (area/ui, area/engine, area/data, area/bot, area/ai, area/dist) and a priority, or a needs-maintainer label if it is a decision only the maintainer can make. class-p marks anything that touches the privacy boundary; expect those to take longer and get argued.

Labels

Label Meaning
type/bug ยท type/feature ยท type/docs ยท type/chore what kind of issue
area/* which part: ui, engine, data, bot, ai, dist
prio/p1 ยท prio/p2 ยท prio/p3 next ยท soon ยท later
class-p touches the privacy boundary โ€” review egress
needs-maintainer a decision only the maintainer can make
blocked waiting on something else

Contributing code

Pull requests are welcome once you have talked about the change on an issue. The ground rules:

Contributing to this guide

The guide is docs/*.md in the repository โ€” plain markdown with a small front-matter block (title, section, order, summary). Edit a page, open a PR with the type/docs label. Callouts use the > [!NOTE] / [!TIP] / [!WARNING] / [!CAUTION] syntax, which renders both on Forgejo and in the app. Links between pages are [text](page.md). Nothing in a page may load anything from anywhere โ€” an image has to be in the repository.

Conduct

Be kind, be specific, assume good faith. This is an adult game about a consensual kink; discuss it like adults and leave other people's play alone. The maintainer's decision on anything labelled needs-maintainer is final and is usually explained on the issue.


This page also ships inside the app, at /guide โ€” so your own instance always serves the guide for the version you are running, with the internet unplugged. Get Latch ยท Something wrong here? Tell me.