268 Commits

Author SHA1 Message Date
Dylan Knutson
3174032ac3 rake job fixes, optimize fa favs backfill 2025-09-10 16:30:51 +00:00
Dylan Knutson
7f7728366b Sep 2025 posted_at fixes 2025-09-07 18:27:22 +00:00
Dylan Knutson
8bd6c4b2ae migrate e621 favs to own table 2025-08-20 22:10:57 +00:00
Dylan Knutson
4830a4ce54 separate table for fa post favs 2025-08-19 01:22:56 +00:00
Dylan Knutson
a8f258d5ef fix frozen string bug, add bsky username prefix to searched names 2025-08-17 19:08:44 +00:00
Dylan Knutson
15ea73a350 fix bsky user profile link sanitizer 2025-08-17 18:51:55 +00:00
Dylan Knutson
73f6f77596 Add comprehensive Bluesky tests to posts_helper_spec
- Add extensive test coverage for Bluesky user profile URL matching
- Test handle-based and DID-based profile URLs with various formats
- Add edge cases and error condition tests for malformed URLs
- Test user avatar icon path and model path generation
- Verify fallback behavior for users without display names
- Test priority logic for handle vs DID lookup
- Add tests for special characters and very long handles
- All 82 tests now pass successfully
2025-08-17 00:10:31 +00:00
Dylan Knutson
cdcd574d02 monitor bsky user button 2025-08-16 21:27:55 +00:00
Dylan Knutson
fd97d145cb spec for showing users faving post 2025-08-16 19:09:48 +00:00
Dylan Knutson
a1fab9e645 bmp support, buggy fa user, url decode usernames 2025-08-16 04:44:04 +00:00
Dylan Knutson
43876ef7c4 use getProfile for scan user job 2025-08-15 22:15:09 +00:00
Dylan Knutson
1058a53d18 montior hashtag impl 2025-08-14 20:48:19 +00:00
Dylan Knutson
62f14d10d4 visual search fixes 2025-08-14 19:29:28 +00:00
Dylan Knutson
2a8d631b29 split common visual search logic out 2025-08-14 19:11:13 +00:00
Dylan Knutson
ca937eb2bc process mp4 file thumbnailing 2025-08-14 18:16:14 +00:00
Dylan Knutson
e9ac97be29 split out common bsky post creation logic into Bluesky::ProcessPostHelper 2025-08-14 17:55:17 +00:00
Dylan Knutson
cfffe50541 add monitor scanned at to bsky monitor 2025-08-14 17:16:21 +00:00
Dylan Knutson
1d248c1f23 user follows/followed by scans for bluesky 2025-08-14 17:03:50 +00:00
Dylan Knutson
b33a267a83 by descending post id 2025-08-13 08:20:32 +00:00
Dylan Knutson
6df6f63060 bsky user registerd at scanning 2025-08-12 22:27:22 +00:00
Dylan Knutson
420a44a27d bsky page scanning auditing 2025-08-12 21:56:05 +00:00
Dylan Knutson
2de7f85a99 bsky descriptions with newlines 2025-08-12 21:33:40 +00:00
Dylan Knutson
ad0675a9aa Add Bluesky post helper with facet rendering and external link support
- Add BlueskyPostHelper for rendering Bluesky post facets (mentions, links, hashtags)
- Implement facet parsing and rendering with proper styling
- Add external link partial for non-Bluesky URLs
- Update DisplayedFile and PostFiles components to handle Bluesky posts
- Add comprehensive test coverage for helper methods
- Update scan user job to handle Bluesky-specific data
2025-08-12 20:43:08 +00:00
Dylan Knutson
390f0939b0 video post downloading 2025-08-12 00:24:32 +00:00
Dylan Knutson
40c6d44100 Convert ScanPostsJob tests to use SpecUtil.enqueued_job_args and add rescan tests
- Convert existing job mocking to use SpecUtil.enqueued_job_args helper
- Remove allow(Domain::StaticFileJob).to receive(:perform_later) mocking
- Add comprehensive test context for rescanning users with pending files
- Create domain_post_file_bluesky_post_file factory for test objects
- Add tests verifying enqueue_pending_files_job behavior during rescans
- Ensure only pending files get jobs enqueued, not already processed files
- Use force_scan: true to bypass scan frequency limits in tests
2025-08-10 20:49:26 +00:00
Dylan Knutson
ded26741a8 test: update FA job specs and add test fixtures
- Update FurAffinity favs job spec with improved test coverage
- Update user gallery job spec with enhanced testing
- Add new test fixtures for FA favorites and gallery parsing
- Add minimal test fixtures for better test performance
- Update .cursorrules with latest development guidelines
2025-08-10 19:57:04 +00:00
Dylan Knutson
eba4b58666 feat: implement Bluesky scan posts job and enhance user scanning
- Add new ScanPostsJob for scanning Bluesky posts
- Enhance ScanUserJob with improved error handling and logging
- Update BlueskyPost model with new fields and validation
- Add auxiliary tables for Bluesky posts
- Improve job base classes with better color logging
- Update specs with proper HTTP mocking patterns
- Add factory for BlueskyPost testing
2025-08-10 18:41:01 +00:00
Dylan Knutson
5c71fc6b15 Add avatar downloading to Bluesky scan user job
- Modified process_user_avatar method to enqueue Domain::UserAvatarJob for avatar downloads
- Made Domain::UserAvatarJob concrete (removed abstract!) with generic HTTP client
- Added smart avatar management: handles new avatars, URL changes, and pending re-enqueues
- Added comprehensive test coverage for all avatar scenarios
- Updated HTTP mocking in specs to use HttpClientMockHelpers pattern
- Fixed caused_by_entry handling for chained HTTP requests
- Updated .cursorrules with proper HTTP mocking documentation including caused_by_entry: :any

The job now automatically downloads user avatars when scanning Bluesky users.
2025-08-09 01:23:16 +00:00
Dylan Knutson
5f5a54d68f Add Bluesky user scanning job and related infrastructure
- Add Domain::Bluesky::Job::ScanUserJob for processing user media
- Add Domain::Bluesky::Job::Base as parent class for Bluesky jobs
- Update BlueskyUser and BlueskyPostFile models with media handling
- Add migration for Bluesky media fields in post_files table
- Update StaticFileJob to handle Bluesky media downloads
- Add comprehensive test coverage for new functionality
- Update Sorbet RBI files for type checking
2025-08-08 05:07:07 +00:00
Dylan Knutson
e30e20b033 tests for bsky posts 2025-08-08 00:40:28 +00:00
Dylan Knutson
e78baa6594 Refactor Telegram bot logs with performance enhancements and view improvements
- Add comprehensive file information display (content type, size, dimensions)
- Move complex image dimension logic from views to TelegramBotLogsHelper
- Add percentage calculations to performance metrics section
- Use Rails associations instead of manual BlobFile lookups
- Update slow requests filtering to use total_request_time column
- Enhance search result thumbnails and improve post linking
- Add comprehensive test coverage for helper methods
- Improve error handling and type safety throughout
2025-08-05 06:30:42 +00:00
Dylan Knutson
ff18b5f75c Refactor TelegramBotLog status handling and add helper
- Remove no_results status enum value, treat zero results as successful searches
- Add processing status for initial log creation
- Create TelegramBotLogsHelper#status_color_class to eliminate view duplication
- Refactor TelegramBotTask to use Stopwatch class for timing measurements
- Add total_request_time column to track end-to-end request duration
- Update factories, tests, and views to support new status model
- Add comprehensive helper tests and maintain full test coverage
2025-08-05 05:22:50 +00:00
Dylan Knutson
24a59d50f2 telegram bot logs, first pass 2025-08-05 05:05:21 +00:00
Dylan Knutson
154c9787d6 updates to visual search form, show close matches if they exist 2025-07-30 19:44:45 +00:00
Dylan Knutson
672b7eb5d8 fix for multi-used relations 2025-07-29 23:33:26 +00:00
Dylan Knutson
c43d1ca197 migrate ib posts to aux table 2025-07-27 17:54:29 +00:00
Dylan Knutson
1f44ec2fa2 domain/users controller spec 2025-07-27 17:26:42 +00:00
Dylan Knutson
8b2ee14ef7 e621 user page fix for faved posts 2025-07-27 17:16:48 +00:00
Dylan Knutson
ca4729f7d1 migrate Domain::Post::FaPost to aux table 2025-07-26 00:54:03 +00:00
Dylan Knutson
56ed78faaf show pending messages on posts 2025-07-25 19:15:58 +00:00
Dylan Knutson
f11a5782e1 fuzzysearch handle no sha256 for file 2025-07-25 04:20:40 +00:00
Dylan Knutson
5b67f2ad9a show tor hle in ui, test thumbnail enqueue 2025-07-25 00:41:28 +00:00
Dylan Knutson
dffdef51cd backup tor archive scraping 2025-07-25 00:25:12 +00:00
Dylan Knutson
211d5eb62c fuzzysearch enqueue job 2025-07-24 21:45:21 +00:00
Dylan Knutson
af4d84ccb1 parse posted_at from fa static file url 2025-07-24 17:17:42 +00:00
Dylan Knutson
430247a3ad normalize fa cdn hosts to avoid redownloading files 2025-07-24 16:19:41 +00:00
Dylan Knutson
572c61cebb add proxies 2025-07-23 04:51:44 +00:00
Dylan Knutson
538d3919d9 drop blob_entries_* tables 2025-07-21 21:14:44 +00:00
Dylan Knutson
537821a1a9 remove BlobEntry model 2025-07-21 19:30:44 +00:00
Dylan Knutson
d925a4b682 Domain::Users::FaUser aux table migration 2025-07-21 17:17:35 +00:00