This website requires JavaScript.
b31d5842cc
feat(db)!: port DataAccess to the Notes integer schema
master
jim and Claude 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
jim and Claude Opus 5
2026-08-07 20:54:24 -05:00
4d37999f8e
chore: rotate the TL.db backup archive and refresh local state
jim and Claude 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
jim and Claude 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
jim and Claude 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
jim and Claude 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
jim and Claude 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
jim and Claude 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
jim and Claude 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
jim and Claude Opus 5
2026-07-29 14:21:09 -05:00
eded5271ea
docs: revise TL.db notes for Rolodex's use of Blogs.IsActive
jim and Claude Opus 5
2026-07-29 09:56:18 -05:00
a14debd5ed
docs: track TL.db schema notes in the repo
jim and Claude Opus 5
2026-07-29 09:54:20 -05:00
d6637266b7
fix: exclude inactive blogs from blog selection queries
jim and Claude Opus 5
2026-07-29 09:51:09 -05:00
2a02811003
Merge branch 'claude/rate-limit-behavior-474ecf'
jim and Claude Opus 4.8
2026-07-22 16:40:16 -05:00
a73b597381
fix: strip only trailing numeric suffix from blog folder names
jim and Claude 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'
jim and Claude Opus 4.8
2026-07-22 12:10:54 -05:00
003a504d5e
fix: retry transient CDN failures instead of failing the post
jim and Claude 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
jim and Claude Opus 4.8
2026-06-09 15:26:38 -05:00
a437fa87d3
Document -post and -bop commands in --help
jim and Claude Opus 4.8
2026-06-09 15:19:51 -05:00
32a1583efd
Document exit-status codes in --help output
jim and Claude Opus 4.8
2026-06-09 15:18:25 -05:00
03676432bd
Add POSIX-friendly CLI handling: --, --help/--version, exit codes
jim and Claude 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
jim and Claude Opus 4.8
2026-06-03 15:48:26 -05:00
b576a9cdf3
fix: make -revert scan the PathInput tree like the no-parameter run
jim and Claude Opus 4.8
2026-05-28 16:30:26 -05:00
5973920894
feat: add -revert mode to restore *.bak back to *.txt
jim and Claude 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
jim and Claude Opus 4.7
2026-05-18 15:40:27 -05:00
cf3f97ddc4
feat: add single-blog filter to -ingest
jim and Claude Opus 4.7
2026-05-18 15:36:42 -05:00
3aff849216
feat: merge ThreeTxtFileHelper into URLNotesGrabberCORE
jim and Claude 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
jim and Claude 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
jim and Claude 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
jim and Claude 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
jim and Claude 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
jim and Claude 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
jim and Claude 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
jim and Claude 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>
jim and Claude 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>
jim and Claude 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
jim and Claude 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
jim and Claude 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
jim and Claude 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
jim and Claude 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