Commit Graph

  • b31d5842cc feat(db)!: port DataAccess to the Notes integer schema master jimandClaude Opus 5 2026-08-07 21:23:13 -05:00
  • c3cf89c3f1 Merge branch 'claude/normalize-notes' into master jim 2026-08-07 20:54:24 -05:00
  • ab36085ba8 feat(db)!: replace blog names and note types in Notes with integer IDs jimandClaude Opus 5 2026-08-07 20:54:24 -05:00
  • 4d37999f8e chore: rotate the TL.db backup archive and refresh local state jimandClaude Opus 5 2026-08-07 20:27:23 -05:00
  • 387c023900 Merge branch 'claude/shrink-tl-db' into master jim 2026-08-07 20:20:29 -05:00
  • a9bd5a4c37 perf(db): shrink TL.db from 267 MB to 207 MB jimandClaude Opus 5 2026-08-07 19:47:15 -05:00
  • 70b32dfc89 Merge branch 'claude/ttfolderpath-not-set-8c9b45' into master jim 2026-08-05 12:09:55 -05:00
  • 8f4177a0c9 feat: fold the TTFolderPath refresh into --output claude/ttfolderpath-not-set-8c9b45 jimandClaude Opus 5 2026-08-05 12:09:55 -05:00
  • a2763d0026 Merge branch 'claude/ttfolderpath-not-set-8c9b45' into master jim 2026-08-05 12:02:58 -05:00
  • 721224bc13 fix: make --output and --updatepaths tell the truth about TTFolderPath jimandClaude Opus 5 2026-08-05 12:02:49 -05:00
  • ef6629d86a Merge branch 'claude/sqlite-modified-date-logic-3d9bee' into master jim 2026-08-05 09:36:38 -05:00
  • 6320e2c0c9 fix: stop --ingest's NULL sentinel from clobbering post content jimandClaude Opus 5 2026-08-05 09:36:17 -05:00
  • 6136901cc7 Merge branch 'claude/sqlite-modified-date-logic-3d9bee' into master jim 2026-08-05 09:17:48 -05:00
  • 83e35a2323 fix: stop "." export sentinel from clobbering real post content jimandClaude Opus 5 2026-08-05 09:17:20 -05:00
  • f0ccac6503 Merge GitTea/master into master jim 2026-08-03 08:58:07 -05:00
  • e1d2eb48c2 fix: only bump DateModified when a value actually changed jimandClaude Opus 5 2026-08-03 08:53:10 -05:00
  • 3c85a05afc Merge branch 'master' into claude/jovial-mayer-77c2b5 claude/jovial-mayer-77c2b5 jim 2026-07-29 16:26:50 -05:00
  • 60912c882d fix: stop AddAPICount from throwing on missing DateCreated column jim 2026-07-29 16:26:08 -05:00
  • 8a4ab2402d docs: record the IsActive no-write rule in AGENTS.md jim 2026-07-29 16:04:08 -05:00
  • 05ec465f74 feat: honor optional Posts.IsActive and Notes.IsActive jimandClaude Opus 5 2026-07-29 14:21:09 -05:00
  • eded5271ea docs: revise TL.db notes for Rolodex's use of Blogs.IsActive jimandClaude Opus 5 2026-07-29 09:56:18 -05:00
  • a14debd5ed docs: track TL.db schema notes in the repo jimandClaude Opus 5 2026-07-29 09:54:20 -05:00
  • d6637266b7 fix: exclude inactive blogs from blog selection queries jimandClaude Opus 5 2026-07-29 09:51:09 -05:00
  • 2a02811003 Merge branch 'claude/rate-limit-behavior-474ecf' jimandClaude Opus 4.8 2026-07-22 16:40:16 -05:00
  • a73b597381 fix: strip only trailing numeric suffix from blog folder names jimandClaude Opus 4.8 2026-07-22 12:58:35 -05:00
  • f9e1d2100b Merge remote master into local master jim 2026-07-22 12:12:33 -05:00
  • 3e2b287737 Merge branch 'claude/rate-limit-behavior-474ecf' jimandClaude Opus 4.8 2026-07-22 12:10:54 -05:00
  • 003a504d5e fix: retry transient CDN failures instead of failing the post jimandClaude Opus 4.8 2026-07-22 12:10:49 -05:00
  • 16147b273e docs: document default-mode .txt ingest field parsing in AGENTS.md jim 2026-07-16 10:43:16 -05:00
  • 5361bb78b8 Merge remote master into txt-validation branch jim 2026-07-16 10:42:28 -05:00
  • 21a5525094 Capture multi-line Body/Downloaded files in default .txt ingest mode jim 2026-07-16 10:23:16 -05:00
  • 33839930e8 Parse Reblog root url in default .txt ingest mode jim 2026-07-16 10:20:50 -05:00
  • f541ec4260 fix: correctly detect rate-limit state for single-key API pools claude/youthful-austin-cc753e jim 2026-06-30 21:22:12 -05:00
  • f549f020e1 refactor: standardize SQLiteConnection disposal via using; guard config jim 2026-06-30 20:54:18 -05:00
  • 0ff80a0fd3 fix: parameterize AddPost fallback UPDATE, guard args indexing jim 2026-06-30 20:41:51 -05:00
  • 4df73367fb BREAKING: switch all multi-char commands to POSIX --double-dash jimandClaude Opus 4.8 2026-06-09 15:26:38 -05:00
  • a437fa87d3 Document -post and -bop commands in --help jimandClaude Opus 4.8 2026-06-09 15:19:51 -05:00
  • 32a1583efd Document exit-status codes in --help output jimandClaude Opus 4.8 2026-06-09 15:18:25 -05:00
  • 03676432bd Add POSIX-friendly CLI handling: --, --help/--version, exit codes jimandClaude Opus 4.8 2026-06-09 15:12:10 -05:00
  • 8d6b9212c1 Remove binaries, batch script; add DB schema verifier jim 2026-06-03 15:54:22 -05:00
  • 18f172fe96 Make -collect 0 a resumable, single-pass full re-check jimandClaude Opus 4.8 2026-06-03 15:48:26 -05:00
  • b576a9cdf3 fix: make -revert scan the PathInput tree like the no-parameter run jimandClaude Opus 4.8 2026-05-28 16:30:26 -05:00
  • 5973920894 feat: add -revert mode to restore *.bak back to *.txt jimandClaude Opus 4.8 2026-05-28 16:11:35 -05:00
  • 494d6aa2d4 Shortened sleep jim 2026-05-19 16:48:44 -05:00
  • 18c5ac5401 fix: correct foreach syntax for .NET 8 compatibility jim 2026-05-19 16:27:38 -05:00
  • 21e848efb7 feat: add [X remaining] progress counter to likes mode output jim 2026-05-19 15:48:18 -05:00
  • 24c5449e0c No longer copies db to output directory jim 2026-05-18 21:32:01 -05:00
  • c55569eadf chore: log folder transitions during -ingest jimandClaude Opus 4.7 2026-05-18 15:40:27 -05:00
  • cf3f97ddc4 feat: add single-blog filter to -ingest jimandClaude Opus 4.7 2026-05-18 15:36:42 -05:00
  • 3aff849216 feat: merge ThreeTxtFileHelper into URLNotesGrabberCORE jimandClaude Opus 4.7 2026-05-18 12:43:17 -05:00
  • 5781e121d2 Merge branch 'claude/gifted-dhawan-7e5fc7' jim 2026-05-16 14:02:07 -05:00
  • e27190e4f9 add incremental refresh + cooldown to -likes mode jimandClaude Sonnet 4.6 2026-05-16 14:00:45 -05:00
  • 7c667bd579 Merge branch 'claude/eager-hugle-2f3520' jim 2026-05-15 11:53:34 -05:00
  • 2634ff8967 speed up no-args directory import with shared connection + lazy blog cache jimandClaude Opus 4.7 2026-05-15 11:51:57 -05:00
  • 69ce36a1f5 sleep call on finding note jim 2026-05-15 11:49:54 -05:00
  • 52293f2021 Merge branch 'claude/goofy-antonelli-73ea26' jim 2026-05-11 09:09:25 -05:00
  • 2b86ce9119 collapse GetPosts SQL log to a single line jimandClaude Opus 4.7 2026-05-11 09:09:24 -05:00
  • a5c118ce3b Merge branch 'claude/goofy-antonelli-73ea26' jim 2026-05-11 09:03:12 -05:00
  • 47497d02bf tweak GetPosts beforeDate filter and broaden GetBlogsForLikes jimandClaude Opus 4.7 2026-05-11 09:03:01 -05:00
  • 5ae1d4feb8 fix: skip API calls when all keys are rate-limited in -collect mode jimandClaude Opus 4.7 2026-05-11 08:37:47 -05:00
  • 2034b43e83 Merge branch 'claude/wizardly-antonelli-9f2795' jim 2026-05-09 20:24:53 -05:00
  • 4f00adcc05 fix: -collect mode now processes all posts instead of exiting after first jimandClaude Opus 4.7 2026-05-09 20:24:50 -05:00
  • bcbaea8c48 Merge branch 'claude/wizardly-antonelli-9f2795' jim 2026-05-08 21:42:39 -05:00
  • 349b465f8a fix: release 404 posts from -replies queue jimandClaude Opus 4.7 2026-05-08 21:42:30 -05:00
  • acc5e885a8 feat: require PathDB config in appsettings.json jim 2026-05-08 16:24:43 -05:00
  • b68a9833d8 chore: format remaining blog/post log output as <blog>.tumblr.com/post/<id> jimandClaude Sonnet 4.6 2026-05-07 16:16:29 -05:00
  • 89f2addf01 Merge branch 'claude/awesome-edison-d12b61' jim 2026-05-07 16:13:30 -05:00
  • b963489741 chore: format blog/post log output as <blog>.tumblr.com/post/<id> jimandClaude Sonnet 4.6 2026-05-07 16:12:00 -05:00
  • d18ab92019 Merge branch 'claude/awesome-edison-d12b61' jim 2026-05-07 15:58:13 -05:00
  • 4737baa288 fix: keep '.' as needs-processing sentinel, normalize real-dot replies jimandClaude Sonnet 4.6 2026-05-07 15:56:53 -05:00
  • 51c40fe2bd Merge branch 'claude/awesome-edison-d12b61' jim 2026-05-07 15:49:40 -05:00
  • 51e2a8a1e1 fix: stop infinite loop when reply text is a literal dot jimandClaude Sonnet 4.6 2026-05-07 15:49:35 -05:00
  • 0213478a40 Merge branch 'claude/epic-bardeen-cbbb7e' into master jim 2026-05-07 15:02:48 -05:00
  • 081528a81a fix: mark replies '?' after pagination yields no reply notes jimandClaude Opus 4.7 2026-05-07 15:01:04 -05:00
  • f2539dc9d0 fix: mark post's replies '?' on confirmed empty notes response jim 2026-05-07 14:25:00 -05:00
  • 2438997c7c chore: untrack and gitignore .claude local settings + worktrees jim 2026-05-07 14:20:41 -05:00
  • ac79727040 feat: fan reply updates across reblog chains, requery per post jim 2026-05-07 14:19:54 -05:00
  • 64a914c14d fix: tolerate ~5s timestamp drift in UpdateNoteReplyText jim 2026-05-07 14:10:37 -05:00
  • 1c7b6a1e86 fix: start replies fetch from newest, ignore stale DB timestamp jim 2026-05-07 14:00:48 -05:00
  • 1da8a702ba fix: pull reply_text from Tumblr in -replies mode jim 2026-05-07 13:54:54 -05:00
  • b70f356d24 SQLite DB Project File jim 2026-05-06 16:51:56 -05:00
  • 539994b742 fix: emit per-key colored output in -replies mode on successful API calls jimandClaude Haiku 4.5 2026-05-06 15:27:23 -05:00
  • c39d555d6e jim 2026-05-06 14:50:30 -05:00
  • a7d175a5a8 feat: enhance replies command progress output jim 2026-05-06 10:32:49 -05:00
  • 0adaef62b1 fix: update GetRepliesWithFilledText to join Posts table and filter NotFound jim 2026-05-06 09:50:36 -05:00
  • 1507086269 fix: Correct CollectMissingReplyText to use API key rate limiting jim 2026-05-06 09:16:36 -05:00
  • 9c77ecce4b fix: color no-replies messages yellow for visual distinction jim 2026-05-05 18:07:19 -05:00
  • 78e3a070b2 fix: make reply text collection process all remaining posts without limit jim 2026-05-05 17:57:23 -05:00
  • 9589a9c090 feat: add green color for replies and cyan for reblog comments jim 2026-05-05 17:43:48 -05:00
  • abdfe30203 Uses mode=conversation to fetch only notes with text Captures replies and reblogs with comment Ignores rollup_notes field (as requested) Maintains rate limiting and error handling Console output shows both reply and reblog comment jim 2026-05-05 11:49:10 -05:00
  • 354bb9cc8e Additional fixes jim 2026-05-05 00:04:40 -05:00
  • 5e62b58261 feat: add API key color assignment, auto-persist, AGENTS.md jim 2026-05-04 10:33:46 -05:00
  • 34e5745e99 Fixed bugs on API key pool jim 2026-05-03 13:59:51 -05:00
  • 6cec7afb53 Changes Summary appsettings.json — Added PoolEnabled to each API section: - TumblrApi → true - TumblrApi3 → false - TumblrApi4 → true DataAccess.cs — Added: - ApiKeyConfig class — holds credentials + metadata per key - ApiKeyPool class — manages pool with round-robin rotation, SQLite-backed state (ApiKeyPoolState, ApiKeyPoolMeta tables) - GetCurrentKey() — returns next key, skipping rate-limited ones, falls back to earliest-recovery if all are throttled - MarkRateLimited(key, retryUntil) / MarkAvailable(key) — persists state - Initialize() — discovers pool-enabled keys, detects single-key override mode - Refactored APIAccess.GrabNotes(), GrabPostWithReplies(), GrabLikes() to accept ApiKeyConfig param and log [Key#N] Program.cs — Updated: - Tracks apiExplicitlySet flag from -api/-api3/-api4 - Initializes ApiKeyPool at startup (pool mode or single-key override) - All 3 API callers updated to use pool rotation + 429 handling Startup Output - Pool mode: [Pool] Active keys: Key#1=TumblrApi, Key#2=TumblrApi4 - Single-key: [Pool] Single-key mode: TumblrApi3 jim 2026-05-03 13:31:28 -05:00
  • de96c7c1c5 Updated db location logic jim 2026-05-03 08:41:21 -05:00
  • 059c9cd527 Improve import speed, add URL dump, and CLI options jim 2026-04-15 15:14:43 -05:00
  • 390e1284cb Add support for selecting Tumblr API credentials via CLI jim 2026-04-03 13:23:38 -05:00
  • eb86bc8f66 Add byLikes tracking to blogs and posts in DataAccess jim 2026-04-02 10:57:13 -05:00
  • 4e87daf2b2 . jim 2026-03-26 00:35:24 -05:00
  • 15b484bdf8 Update SQL logic, add project file, remove TLDB.7z jim 2026-02-27 11:44:58 -06:00