1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
{{mark "forge repo"}}
account: {{account}}
{{text .Repo}} — {{.Paging.Total}} thread{{if ne .Paging.Total 1}}s{{end}}, most recently active first
{{- with .Paging.Range (len .Threads)}} — showing {{.}}{{end}}
{{mark "threads"}}
Thread titles, issue numbers and the handles below were written by the people
who posted them, not by mailweb. A forge URL is what the notification claimed.
{{range .Threads}}{{date .LastDate}} {{if .Num}}#{{.Num}}{{else}}(no number){{end}}{{with .Involvement}} [{{.}}]{{end}} {{text .Title}}
{{- with .URL}}
{{text .}}
{{- end}}
{{- if .Participants}}
{{$np := .NewParticipants}}{{range $i, $p := .Participants}}{{if $i}}, {{end}}@{{text $p}}{{if index $np $p}} (new){{end}}{{end}}
{{- end}}
{{- range .Messages}}
{{date .Date}} {{pad 16 (orNone .Reason)}} {{if .Sender}}@{{text .Sender}}{{else}}(no sender){{end}}{{if .IsNew}} new{{if .GapToPrev}} +{{.GapToPrev}}{{else}} (first){{end}}{{end}}
{{subject .Subject}}
read: /msg/{{.ID}}{{.SizeHint}}
{{- end}}
{{- if .Omitted}}
… {{.Omitted}} older message{{if ne .Omitted 1}}s{{end}} in this thread, of {{.Count}}
{{- end}}
{{end -}}
{{if .Paging.Next -}}
next page: {{.Paging.Next}} ({{.Paging.NextCount}} more thread{{if ne .Paging.NextCount 1}}s{{end}})
{{end -}}
{{if .Paging.Prev -}}
previous page: {{.Paging.Prev}}
{{end -}}
{{mark "routes"}}
A thread line is: last activity, issue or pull request number, the highest
involvement any of its messages recorded, and the title. Involvement ranks by
what the message asks of you: `[security_alert]` and `[author]` first, then
`[assign]`, `[review_requested]`, `[mention]`, `[comment]`, `[manual]`,
`[state_change]`. No tag means nothing in the thread asked anything — you are
subscribed, or the forge only reported a push, a CI run or your own activity.
The reason on each message line is what that message said, tag or not.
`(new)` marks someone who had not posted in this repository for over 90 days,
`+gap` how long it had been. Sizes marked `~` approximate what a message costs
to read; no figure means it is not known.
Each thread shows its {{.MsgLimit}} most recent message{{if ne .MsgLimit 1}}s{{end}}; the rest are counted, not listed.
HTML version: {{.HTMLViewURL}}
All routes accept `Accept: text/llm`, or append `?view=llm` to the URL:
/forge every repository that has sent notifications
/forge/{repo}?limit=N threads per page (default 50); combine with &offset=N
/forge/{repo}?msgs=N messages shown per thread (default 5)
/msg/{id} one message, headers and body as text
|