krz/hutch

an ios client for sourcehut

clone: git clone https://gitbay.org/krz/hutch.git

v3.10.0: SCOPE.txt · raw

 1# Out of Scope Features
 2
 3- Universal links (requires Sourcehut to host an apple-app-site-association
 4  file)
 5- Push notifications for builds and tickets (requires a backend relay server)
 6  - ref: https://git.sr.ht/~ccleberg/hutch-notify
 7- ~~Explore / search (hub.sr.ht) (no public discovery API)~~ — **stale**.
 8  hub.sr.ht added a public `projects` query ("List all public projects"), and
 9  Hutch ships it as project discovery (#12, `DiscoverProjectsView`). Left struck
10  through as more evidence for the ingestion task in ROADMAP.txt: this entry ruled
11  out a feature the API had come to support.
12- ~~Pronouns on profile (not in GraphQL schema)~~ — **stale**. sr.ht added
13  pronouns (see the Q1 2026 "What's cooking"), and Hutch already queries them in
14  `AppState` and shows them in `UserProfileView`. Left here struck through as
15  evidence for the ingestion task in ROADMAP.txt: this entry spent months telling
16  people not to build something that was already built.
17- Revoke personal access tokens (`@internal` in schema, inaccessible)
18- Archive a message to a list (`archiveMessage` is `@internal`, inaccessible)
19- Ticket activity feed (todo.sr.ht's root `events` query is broken upstream and
20  returns an empty list for every user). `event.participant_id` references
21  `participant(id)`, but the resolver joins it against `participant.user_id`:
22
23  ```sql
24  FROM event ev
25  JOIN participant p ON p.user_id = ev.participant_id   -- id space vs user id space
26  WHERE p.user_id = <viewer>
27  ```
28
29  The rows exist — the writer inserts `participant.ID` for the submitter and for
30  every subscriber — but that join cannot find them. `Ticket.events` is
31  unaffected because it filters on `ev.ticket_id`, which is why ticket timelines
32  work. Nothing a client can do fixes this; revisit only if sr.ht changes the
33  resolver.
34- Subscribe to a mailing list (`mailingListSubscribe` exists, but `MailingList`
35  has no `subscription` field, and hub.sr.ht's new discovery lists *projects*,
36  not mailing lists, so there is still no way to find a list you are not already
37  subscribed to)
38- Submitting patches (a `git send-email` flow, not a GraphQL mutation; Hutch
39  reviews patchsets but cannot send them)
40
41## Declined rather than blocked
42
43These are reachable in the API. They are left out on judgement, not capability.
44
45- **Webhook management** (24 fields across five services). A webhook needs an
46  HTTPS endpoint you control to receive POSTs. Without the relay above, this
47  only serves someone already running their own endpoint, and that person is not
48  managing it from a phone. Reconsider if `hutch-notify` ever ships.
49- **`shareSecret`.** Shares a build secret — an SSH key or PAT — with another
50  user. A mistap grants someone else a credential, and nothing in the app can
51  take it back. That belongs on the web behind a full-size confirmation. The
52  read-only `secrets` list would be fine on its own.
53- **Build groups** (`createGroup`, `startGroup`). Multi-job pipelines are
54  authored in `.build.yml`, not composed on a phone.