506 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
4f7217abf0 multithreaded post file fingerprint creation 2025-09-10 15:22:03 +00:00
Dylan Knutson
7f7728366b Sep 2025 posted_at fixes 2025-09-07 18:27:22 +00:00
Dylan Knutson
1905575d19 did searching 2025-09-07 17:47:53 +00:00
Dylan Knutson
8bd6c4b2ae migrate e621 favs to own table 2025-08-20 22:10:57 +00:00
Dylan Knutson
9b13bec296 media not found fixes, rename unused enum 2025-08-20 15:00:54 +00:00
Dylan Knutson
a76b10634e more migration of fa user favs to own table 2025-08-20 04:58:06 +00:00
Dylan Knutson
4830a4ce54 separate table for fa post favs 2025-08-19 01:22:56 +00:00
Dylan Knutson
7f521b30e9 inkbunny missing posts task fixes 2025-08-18 23:58:06 +00:00
Dylan Knutson
a68e5b0112 bsky fixes, ib missing post enqueuer 2025-08-18 16:28:53 +00:00
Dylan Knutson
cb3b52bf41 handle 400 response for users from bsky 2025-08-18 05:59:26 +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
c1b63275e8 show number of files associated with post if > 1 2025-08-16 19:23:35 +00:00
Dylan Knutson
d06347a771 extract bsky posts/users from e621 2025-08-16 18:59:39 +00:00
Dylan Knutson
0fd4d13673 unique check for url name 2025-08-16 06:53:39 +00:00
Dylan Knutson
df02fd3077 bsky 422, 500, 504 2025-08-16 06:35:39 +00:00
Dylan Knutson
5b12e28fb7 bsky 422 2025-08-16 05:23:09 +00:00
Dylan Knutson
64a65d1490 workaround for bsky avatar incorret url 2025-08-16 05:17:26 +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
4d456ee73d Improve logging and add rake task for monitoring user follows
- Enhanced logging format in scan_user_follows_job and monitor tasks using format_tags
- Added new rake task 'bluesky:watch_follows' to monitor users that a given user follows
- Improved log formatting consistency across Bluesky monitoring components
2025-08-15 21:55:18 +00:00
Dylan Knutson
b6e2e5e502 Update telegram bot task, user view, and type definitions
- Modified telegram bot task implementation
- Updated domain users index view
- Updated telegram-bot-ruby type shims
2025-08-15 05:59:11 +00:00
Dylan Knutson
2acf31c70a use html as telegram bot parse mode 2025-08-14 21:31:53 +00:00
Dylan Knutson
3c83ed3ba7 fixes for bsky monitoring 2025-08-14 21:13:37 +00:00
Dylan Knutson
1058a53d18 montior hashtag impl 2025-08-14 20:48:19 +00:00
Dylan Knutson
5646e388be base structure for monitoring hashtags 2025-08-14 20:35:15 +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
6bb0b255fb touch user model after scanning posts 2025-08-12 23:15:19 +00:00
Dylan Knutson
1357eb9095 improve monitor 2025-08-12 23:05:41 +00:00
Dylan Knutson
dea2071662 better user list 2025-08-12 22:52:52 +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
171ddd430b misc fixes for bsky 2025-08-12 21:22:51 +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
d08c896d97 show reply / quotes for bsky posts 2025-08-12 18:31:17 +00:00
Dylan Knutson
127dd9be51 Add Bluesky file display components and utilities
- Add SkySection component for displaying Bluesky-specific file information
- Add byteCountToHumanSize utility for formatting file sizes
- Update PostFiles, FileCarousel, FileDetails, and DisplayedFile components
- Enhance posts helper with file display logic
- Update post model and view templates
- Remove deprecated file details sky section partial
2025-08-12 18:14:13 +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
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