Skip to content
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
80867f6
entities/common: add Type enum; promote Status to 4-state
gilescope Apr 17, 2026
15b063e
entities/bug: extend Bug with PR shape and three PR-only ops
gilescope Apr 17, 2026
c4ac2a6
cache: excerpt and matcher learn about Kind and PR fields
gilescope Apr 17, 2026
ef00943
query: parse kind: / type: filters and the new status values
gilescope Apr 17, 2026
849c150
common,bug,cache,query,api: rename common.Type to common.Kind
gilescope Apr 17, 2026
6c16f88
api/graphql: expose PR fields, ops, reviews and the new status values
gilescope Apr 17, 2026
05b9a90
commands/bug: --pr on new; status merge and status ready subcommands
gilescope Apr 17, 2026
8536551
bridge/github: import pull-requests as Kind=PR bugs
gilescope Apr 17, 2026
8a6129f
doc: mark PR support as partial in the feature matrix
gilescope Apr 17, 2026
973d7c0
bridge/github,cache,core: import PR reviews and review comments
gilescope Apr 17, 2026
692b720
doc: reflect review / review comment import in feature matrix
gilescope Apr 17, 2026
a3f2aad
bridge/github: paginate review comments past the inline batch
gilescope Apr 17, 2026
dfb8f1a
doc: review comments are now fully imported
gilescope Apr 17, 2026
ecfe5a8
webui: PR-specific chrome in bug list and detail pages
gilescope Apr 17, 2026
f79aa89
bridge/github: export updates to already-imported pull-requests
gilescope Apr 17, 2026
b44eaf1
bridge/github: export-create for pull-requests
gilescope Apr 17, 2026
8641b30
commands,cache,bridge: author PR reviews locally and export them
gilescope Apr 17, 2026
0126ede
doc: review authoring via CLI and export now supported
gilescope Apr 17, 2026
5bdbdfa
doc: regenerate man pages for new PR commands; add local markdownlint…
gilescope Apr 17, 2026
3b574e7
api,webui: expose originUrl on Bug; show upstream #NNN linked to GitHub
gilescope Apr 17, 2026
61beed3
commands,api,webui: multi-repo webui via --repo and --root + bleve mi…
gilescope Apr 17, 2026
b135498
webui,query: cross-repo search via fan-out + repo:/org: query filters
gilescope Apr 18, 2026
06d216b
webui,api/http: add Sync button that re-pulls every registered repo
gilescope Apr 18, 2026
c929552
feat: PR support ( + dir of repo's checkouts support)
gilescope Apr 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
query: parse kind: / type: filters and the new status values
Filters gains a Kind []common.Type. The parser accepts either the
"kind" or "type" qualifier (kind:pr, kind:issue, type:pr), and the
existing status qualifier now recognises "merged" and "draft" via the
4-state common.Status. Parser tests cover both qualifiers plus an
unknown-kind rejection.

Signed-off-by: Giles Cope <gilescope@gmail.com>
  • Loading branch information
gilescope committed Apr 17, 2026
commit ef00943c97c42a14cfe3dfd48105957d43358260
6 changes: 6 additions & 0 deletions query/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,12 @@ func Parse(query string) (*Query, error) {

case tokenKindKV:
switch t.qualifier {
case "kind", "type":
kind, err := common.TypeFromString(t.value)
if err != nil {
return nil, err
}
q.Kind = append(q.Kind, kind)
case "status", "state":
status, err := common.StatusFromString(t.value)
if err != nil {
Expand Down
17 changes: 17 additions & 0 deletions query/parser_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,23 @@ func TestParse(t *testing.T) {
Filters: Filters{Status: []common.Status{common.ClosedStatus}},
}},
{"status:unknown", nil},
{"status:merged", &Query{
Filters: Filters{Status: []common.Status{common.MergedStatus}},
}},
{"status:draft", &Query{
Filters: Filters{Status: []common.Status{common.DraftStatus}},
}},

{"kind:pr", &Query{
Filters: Filters{Kind: []common.Type{common.PRType}},
}},
{"kind:issue", &Query{
Filters: Filters{Kind: []common.Type{common.IssueType}},
}},
{"type:pr", &Query{
Filters: Filters{Kind: []common.Type{common.PRType}},
}},
{"kind:nonsense", nil},

{"author:rene", &Query{
Filters: Filters{Author: []string{"rene"}},
Expand Down
1 change: 1 addition & 0 deletions query/query.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ type StringPair struct {

// Filters is a collection of Filter that implement a complex filter
type Filters struct {
Kind []common.Type
Status []common.Status
Author []string
Metadata []StringPair
Expand Down