af8b28f6c6
ci.yml calls `scripts/ci.sh` rather than restating the checks: a workflow that reimplements them becomes a second definition of "done", and the two drift. Android runs as a separate job. It fails when the SDK is absent while ci.sh skips it — a developer should not be blocked by a missing toolchain, but a silently skipped Android build in CI means regressions ship unnoticed. Every action is pinned to an exact version. LICENSE.md records that no licence is chosen yet, and why it is not a formality: the choice is upstream of the UI toolkit decision, since Slint is GPL-3.0. Co-Authored-By: Claude Code <noreply@anthropic.com>
109 lines
3.3 KiB
YAML
109 lines
3.3 KiB
YAML
name: Bug report
|
|
description: Something behaves differently from how CLAUDE.md section 1 describes it
|
|
title: ""
|
|
labels: ["bug"]
|
|
body:
|
|
- type: markdown
|
|
attributes:
|
|
value: |
|
|
Two failure modes matter most here, and they need different fixes.
|
|
|
|
- **A block that should have fired but did not.**
|
|
- **A block that fired but should not have.**
|
|
|
|
Please pick which one you are reporting in the first question.
|
|
|
|
- type: dropdown
|
|
id: mode
|
|
attributes:
|
|
label: Which kind of failure is this?
|
|
description: The two modes below need completely different investigations.
|
|
options:
|
|
- A blocked app was not blocked
|
|
- A block fired when it should not have
|
|
- Enforcement stopped working entirely
|
|
- The app crashed or would not start
|
|
- Something else
|
|
|
|
- type: dropdown
|
|
id: platform
|
|
attributes:
|
|
label: Platform
|
|
options:
|
|
- Linux (KDE Plasma / Wayland)
|
|
- Linux (KDE Plasma / X11)
|
|
- Linux (other compositor)
|
|
- Windows
|
|
- Android
|
|
- More than one
|
|
- Not yet implemented on any
|
|
|
|
- type: input
|
|
id: version
|
|
attributes:
|
|
label: Version or commit
|
|
description: Output of `blocker-daemon --version`, or the commit SHA for a build from source.
|
|
validations:
|
|
required: true
|
|
|
|
- type: textarea
|
|
id: repro
|
|
attributes:
|
|
label: Steps to reproduce
|
|
description: |
|
|
Concrete steps, starting from a known state. "Open Discord during Focus" is
|
|
reproducible; "it blocks sometimes" is not.
|
|
placeholder: |
|
|
1. Start a schedule named "Focus", 09:00-17:00, targeting Discord
|
|
2. Focus Discord
|
|
3. Nothing happens
|
|
validations:
|
|
required: true
|
|
|
|
- type: textarea
|
|
id: expected
|
|
attributes:
|
|
label: Expected behaviour
|
|
description: What does CLAUDE.md section 1 say should happen? Quote the requirement if you can.
|
|
validations:
|
|
required: true
|
|
|
|
- type: textarea
|
|
id: actual
|
|
attributes:
|
|
label: Actual behaviour
|
|
description: What happened instead, including any error output.
|
|
validations:
|
|
required: true
|
|
|
|
- type: textarea
|
|
id: backend
|
|
attributes:
|
|
label: Which enforcement backend is active?
|
|
description: |
|
|
The troubleshooting screen shows this. If you cannot find it, say so — that is
|
|
itself useful information, because it suggests the daemon started with no
|
|
backend and cannot block anything.
|
|
placeholder: "kwin: KWin script loaded successfully"
|
|
|
|
- type: textarea
|
|
id: logs
|
|
attributes:
|
|
label: Daemon log output
|
|
description: |
|
|
From `journalctl --user -u blocker -n 100`.
|
|
|
|
Redact anything private. Do not paste API tokens, keys, or credentials.
|
|
render: shell
|
|
|
|
- type: checkboxes
|
|
id: checks
|
|
attributes:
|
|
label: Before submitting
|
|
options:
|
|
- label: I searched existing issues for this.
|
|
- label: I removed secrets and personal paths from anything I pasted above.
|
|
- label: I am not asking to block ADB, safe mode, factory reset, or OS recovery.
|
|
description: |
|
|
Those are never blocked, by design (CLAUDE.md section 6.7 and ADR-11). Such a
|
|
request will be closed with a link to the ADR rather than implemented. |