Say how the project is run, and ask better bug questions

The bug form now asks what JP's Discord post asks: how often it happens, whether
there's a workaround, what hardware you're on, and which companion device — with
the note that "a Xiao" doesn't narrow anything down. Three things his post didn't
cover got added: the MeshTerm version, whether it still happens under `--mock`
(which splits an app bug from a radio bug before anyone spends an evening on it),
and whether you're on the regular or PicoCalc look, since those draw differently
enough that a bug in one often doesn't exist in the other.

The README gains the part that was missing: what to expect from a maintainer
doing this on evenings and weekends. Issues welcome, ask before opening a pull
request, no promised timelines, and a nudge on a quiet issue is fine. Report on
GitHub or on Discord, whichever you have — the real ones get moved across either
way, and being told beats filing it tidily.

Install is rewritten for someone who wants to run MeshTerm rather than work on
it. It said `pip install -e ".[dev]"`, which is a contributor's command and puts
pytest and ruff on the machine of somebody who just wants to talk to a radio. Now
it's one pip line, a pipx alternative, `--mock` for people without a radio yet,
and an honest "coming" list for installers and PyPI.

Badges now include CI, the licence and Discord, so they say something checkable
rather than only decorating. The two survey documents get a line at the top
saying they're a snapshot of a date, not a to-do list.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jean-Pierre MartineauandClaude Opus 5 committed 2026-09-07 04:56:51 -04:00
1 parent 628b665420
commit ab8ef2aa23
6 files changed
+200 -53

No files matched your search

+113 -40
View File
@@ -1,28 +1,47 @@
name: Bug report
description: Something MeshTerm does wrong, and how to see it happen
description: Report a problem with MeshTerm
labels: [bug]
body:
- type: markdown
attributes:
value: |
The fields below are the ones that get asked in every single bug thread, so
answering them up front usually saves a day of back-and-forth.
Hopefully you never need this form.
If you do: how much of this you fill in really does decide what happens next. A
report I can act on gets worked on. A vague one usually doesn't, because I can't
do anything with it. If it isn't worth describing properly, it's probably not
worth fixing.
Most of these take ten seconds each.
- type: textarea
id: what-happened
id: problem
attributes:
label: What happened
description: What you saw, and what you expected instead.
label: What's the problem
description: What happens, and what you expected to happen instead.
validations:
required: true
- type: dropdown
id: how-often
attributes:
label: How often does it happen
options:
- Every single time
- Often, but not always
- Now and then, no pattern I can see
- Once, and I haven't seen it since
validations:
required: true
- type: textarea
id: repro
attributes:
label: How to see it happen
label: How do I make it happen
description: >
The screens and keys, in order. "Contacts, Enter on a node, Routes tab, Enter on
the second route" beats "open a trace".
The steps, in order, starting from launching MeshTerm. Screens and keys beat
descriptions — "Contacts, Enter on a node, Routes tab, Enter on the second route"
is worth more than "open a trace".
placeholder: |
1.
2.
@@ -30,70 +49,124 @@ body:
validations:
required: true
- type: textarea
id: workaround
attributes:
label: Is there a way around it
description: Anything that avoids it, or gets you unstuck. Say so even if it's ugly.
- type: input
id: version
attributes:
label: MeshTerm version
description: Shown on the splash screen and on the About page.
description: It's on the splash screen when you start, and on the About page.
placeholder: "0.2.0"
validations:
required: true
- type: dropdown
id: platform
- type: input
id: hardware
attributes:
label: Which flavour
label: What are you running MeshTerm on
description: >
MeshTerm draws itself differently on a PicoCalc — 53 columns, sixteen colours, a
different font. A bug in one flavour often does not exist in the other.
options:
- Regular (desktop or ssh)
- PicoCalc
validations:
required: true
- type: dropdown
id: transport
attributes:
label: How the companion is connected
options:
- USB / serial
- Bluetooth
- TCP
- No companion (simulator / --mock)
Desktop, laptop, Mac, or a handheld — and if it's a handheld, which one.
placeholder: "ClockworkPi uConsole (CM4), or: desktop PC"
validations:
required: true
- type: input
id: os
attributes:
label: Operating system and Python version
placeholder: "Windows 11, Python 3.12"
label: Which OS, exact version
placeholder: "Windows 11 24H2 / macOS 15.3 / Debian 12"
validations:
required: true
- type: input
id: terminal
attributes:
label: Terminal, and its size in columns x rows
label: Which terminal, and how big
description: >
Layout bugs are usually terminal bugs. Which terminal, and how big, decides
whether anyone can reproduce what you are seeing.
PowerShell, Windows Terminal, iTerm2, the PicoCalc console, ssh from something.
Size in columns x rows if you know it — a lot of layout bugs are really terminal
bugs.
placeholder: "Windows Terminal, 120x40"
validations:
required: true
- type: input
id: companion
attributes:
label: Which companion device
description: >
Be precise. There are a lot of these and they don't behave the same. "A Xiao"
doesn't narrow it down — "Seeed XIAO nRF52840 + Wio-SX1262" does. Leave blank if
no radio was involved.
placeholder: "Heltec V3 / RAK4631 / XIAO nRF52840 + Wio-SX1262"
- type: input
id: firmware
attributes:
label: Companion device and firmware version
description: Leave blank if no radio was involved.
placeholder: "Heltec V3, MeshCore 1.15.0"
label: Which firmware version is on it
placeholder: "MeshCore 1.15.0"
- type: dropdown
id: transport
attributes:
label: How is it connected
options:
- USB / serial
- Bluetooth
- TCP
- SPI-to-TCP bridge
- Something else (say so below)
- No radio — simulator / --mock
validations:
required: true
- type: dropdown
id: flavour
attributes:
label: Regular or PicoCalc
description: >
MeshTerm draws itself differently on a PicoCalc — narrower, fewer colours, a
different font. A bug in one often doesn't exist in the other, so this saves a
round of guessing.
options:
- Regular (desktop, laptop, ssh)
- PicoCalc handheld
- Not sure
validations:
required: true
- type: dropdown
id: mock
attributes:
label: Does it still happen with `meshterm --mock`
description: >
`--mock` runs the whole app against a fake radio. If the bug survives that, it's
in MeshTerm and I can chase it without hardware. If it doesn't, it's in the link
or the radio, which is a different hunt. Skip it if the bug is about connecting
in the first place.
options:
- "Yes, still happens with --mock"
- "No, --mock is fine"
- "Haven't tried"
- "Doesn't apply"
- type: textarea
id: error
attributes:
label: The exact error, if there was one
description: >
Copy it as text rather than photographing the screen — text can be searched, and
a photo of a terminal is hard to read. Paste the whole traceback if it crashed.
render: text
- type: textarea
id: extra
attributes:
label: Anything else
description: >
A screenshot of the screen, the traceback if it crashed, or what the radio was
doing at the time. Paste text rather than a photo of text where you can.
Did it used to work? Did it start after an update? Screenshots of a wrong-looking
screen are genuinely useful here, even though text is better for errors.
+9 -3
View File
@@ -1,7 +1,13 @@
blank_issues_enabled: false
contact_links:
- name: Questions, setup help, and general mesh chat
- name: Not sure it's a bug? Ask on Discord
url: https://discord.gg/AZwe5Uvb3S
about: >
Not sure whether it's a bug? Ask on Discord first — it's faster, and someone
running the same radio has probably hit it.
Setup trouble, "is it supposed to do this", or anything you want a second opinion
on. The support forum is the place. Someone running your radio has probably hit it.
- name: No GitHub account? Report it on Discord instead
url: https://discord.gg/AZwe5Uvb3S
about: >
Drop reproducible bugs in #bugs and they'll get moved here. Being told beats
filing it tidily.
+1 -1
View File
@@ -1,5 +1,5 @@
name: Feature request
description: Something MeshTerm should be able to do
description: Suggest a feature or an improvement
labels: [enhancement]
body:
- type: markdown