Commit Graph

250 Commits

Author SHA1 Message Date
Peter Steinberger
54f7107df9
test: enforce 85 percent coverage gate 2026-05-05 22:00:07 +01:00
Peter Steinberger
e5621d1b78
feat: improve gh shim cache observability 2026-05-05 21:23:39 +01:00
Peter Steinberger
5e441a9e48
docs: open 0.3.0 changelog
Some checks failed
CI / Go / ${{ matrix.os }} (macos-latest) (push) Has been cancelled
CI / Go / ${{ matrix.os }} (ubuntu-latest) (push) Has been cancelled
Pages / Deploy docs (push) Has been cancelled
2026-05-05 09:31:21 +01:00
Peter Steinberger
1350779782
docs: fix homepage command rendering 2026-05-05 09:19:54 +01:00
Peter Steinberger
d5530b3dd9
docs: sharpen homepage positioning 2026-05-05 09:17:35 +01:00
Peter Steinberger
ae1b334ccb
docs: fix gitcrawl brew install path 2026-05-05 09:15:00 +01:00
Peter Steinberger
8c6d568b0f
docs: prepare 0.2.0 release 2026-05-05 09:05:02 +01:00
Peter Steinberger
6e338ddd9a
docs: polish generated docs site 2026-05-05 09:00:21 +01:00
Peter Steinberger
17c09e1580
docs: document gh cache improvements 2026-05-05 09:00:08 +01:00
Peter Steinberger
c341231048
feat: improve gh shim cache behavior 2026-05-05 08:59:49 +01:00
Peter Steinberger
bcd9d1d381
docs: clarify gh cache behavior 2026-05-05 08:02:54 +01:00
Peter Steinberger
53c62c4e91
test: cover explicit gh cache keys 2026-05-05 07:48:23 +01:00
Peter Steinberger
084fe02e93
feat: cache explicit gh api reads 2026-05-05 07:30:44 +01:00
Peter Steinberger
6adb810aa8
docs: add social card metadata 2026-05-05 06:55:30 +01:00
Peter Steinberger
14c02b5510
feat(gh): tune fallback cache telemetry 2026-05-05 06:49:07 +01:00
Peter Steinberger
a7be92d39a
docs: replace jekyll pages build 2026-05-05 06:24:12 +01:00
Peter Steinberger
69a4bc56f7
feat(portable): add v2 backup data 2026-05-05 05:21:13 +01:00
Peter Steinberger
1a2f5ba6e0
docs: improve site install and links 2026-05-05 04:38:46 +01:00
Peter Steinberger
fc12f81b6a
docs: add gitcrawl.sh site 2026-05-05 04:29:32 +01:00
Peter Steinberger
126059701c
feat(gh): absorb ghx cache policy 2026-05-05 04:12:17 +01:00
Peter Steinberger
93290e290f
feat(gh): auto-hydrate PR detail cache 2026-05-05 03:52:29 +01:00
Peter Steinberger
d3215f9e42
Create CNAME 2026-05-05 03:38:45 +01:00
Peter Steinberger
7222fef197
feat(gh): cache hydrated PR details 2026-05-05 03:26:39 +01:00
Peter Steinberger
72c81e2533
feat(gh): reduce shim GitHub API load 2026-05-05 03:09:15 +01:00
Peter Steinberger
9fa2423e37
feat(gh): add gitcrawl-backed gh shim 2026-05-05 02:56:18 +01:00
Peter Steinberger
5d3906a4d0
fix(embed): cap embedding inputs by bytes 2026-05-05 02:21:41 +01:00
Peter Steinberger
cfdd81709e
docs(changelog): add 0.1.2 release notes
Some checks are pending
CI / Go / ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Go / ${{ matrix.os }} (ubuntu-latest) (push) Waiting to run
2026-05-04 05:47:55 +01:00
Peter Steinberger
b7d36e4468
chore: update Go dependencies 2026-05-04 01:37:20 +01:00
Peter Steinberger
d2fb836741
fix(embed): refresh vectors when input cap changes
Some checks are pending
CI / Go / ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Go / ${{ matrix.os }} (ubuntu-latest) (push) Waiting to run
2026-05-03 18:43:23 +01:00
Vincent Koc
e1c3044b27
fix(tui): polish cluster browser interactions (#8)
Some checks failed
CI / Go / ${{ matrix.os }} (macos-latest) (push) Has been cancelled
CI / Go / ${{ matrix.os }} (ubuntu-latest) (push) Has been cancelled
* fix(tui): separate action menu contexts

* style(tui): tune open row palette

* fix(tui): preserve cluster viewport on refresh

* style(tui): soften selected row contrast

* fix(tui): toggle age sort direction

* fix(tui): buffer trackpad wheel bursts
2026-05-01 04:56:23 -07:00
Dallin Romney
940f940f79
feat(embed): retry transient embedding errors (#6)
* feat(embed): retry transient embedding errors and survive partial failures

Classify OpenAI embedding errors into a typed APIError and retry
transient ones (429, 5xx, network timeouts) with Retry-After-aware
exponential backoff and jitter; longer base for overloaded_error.
insufficient_quota, 4xx, and ctx errors surface immediately.

Replace abort-on-first-error with a per-batch retry queue: each batch
retries once with fresh backoff and the rest keep going. Final run
status is success / partial / error / cancelled, and stats_json carries
retries plus per-batch failure metadata for diagnostics.

* fix(embed): avoid final retry sleep

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-30 23:35:21 -07:00
Dallin Romney
fbc807c568
feat(github): show total page count in pagination logs (#7)
Parses rel="last" from the Link header, and for the cursor-paginated
issues listing falls back to open_issues_count from the prior GetRepo
response. Logs read "page 3/7 fetched count=100 accumulated=300" when a
total is known and remain "page 3 ..." otherwise.
2026-04-30 23:33:07 -07:00
Dallin Romney
330f492666
feat(github): retry on X-RateLimit-Remaining and Retry-After in client.do (#5)
Single chokepoint Client.do now inspects the response on 403/429 and,
when the headers say we're rate-limited (X-RateLimit-Remaining=0 or a
Retry-After value), sleeps until the reset and retries once. The sleep
honors ctx cancellation, so callers bound the wait with
context.WithTimeout if they want a deadline.

RequestError gains a Headers field so the retry decision can read the
underlying response without re-fetching.
2026-04-30 23:32:52 -07:00
Vincent Koc
b1411e8760
Update README.md 2026-04-30 18:16:48 -07:00
Vincent Koc
1c4f08a94c
fix(embed): cap crawler embedding inputs
Some checks are pending
CI / Go / ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Go / ${{ matrix.os }} (ubuntu-latest) (push) Waiting to run
2026-04-30 03:05:25 -07:00
Vincent Koc
9445f91228
chore(deps): tidy module graph 2026-04-30 02:44:07 -07:00
Vincent Koc
0284bea1de
fix(security): bound human key hash parsing 2026-04-30 02:38:53 -07:00
Vincent Koc
bb31e8f63e
fix(embed): cap oversized embedding inputs
Fixes #2
2026-04-30 02:29:00 -07:00
Vincent Koc
607472cd02
fix(tui): stabilize fast wheel scrolling 2026-04-29 22:45:01 -07:00
Vincent Koc
081df086d5
merge feat/tui-context-menu
* feat/tui-context-menu:
  feat(tui): open rows on double click
  feat(tui): enable hover for floating menu
  fix(tui): preserve working set on refresh
  fix(tui): clamp member scroll and footer width
  fix(tui): preserve rows under floating menu
  chore(tui): advertise right click menu
  test(tui): cover floating action menu
  feat(tui): float action menu on right click
2026-04-29 22:36:46 -07:00
Peter Steinberger
ccd9ce6976
chore: release 0.1.1 2026-04-30 04:56:29 +01:00
Peter Steinberger
96da39e012
fix(cli): avoid pull config for portable refresh 2026-04-30 04:55:27 +01:00
Peter Steinberger
dd04208e5d
test: raise gitcrawl coverage above eighty five percent 2026-04-30 04:48:36 +01:00
Peter Steinberger
1e5e2bfb64
refactor: remove unused scan and row formatting helpers 2026-04-30 04:48:34 +01:00
Peter Steinberger
016e71c06c
fix(cli): honor GitHub API base URL during sync 2026-04-30 04:48:32 +01:00
Peter Steinberger
a9e3ecc3ec
fix: keep portable search responsive 2026-04-30 04:11:21 +01:00
Vincent Koc
6327ecdc68
feat(tui): open rows on double click 2026-04-29 19:41:32 -07:00
Vincent Koc
c462ff5ee2
feat(tui): enable hover for floating menu 2026-04-29 19:34:50 -07:00
Peter Steinberger
4031408b0e
release: v0.1.0 2026-04-30 03:31:50 +01:00
Peter Steinberger
cabc3318d8
fix: refresh portable gitcrawl stores 2026-04-30 03:26:57 +01:00