48 Commits

Author SHA1 Message Date
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
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
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
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
f11a5782e1 fuzzysearch handle no sha256 for file 2025-07-25 04:20:40 +00:00
Dylan Knutson
dffdef51cd backup tor archive scraping 2025-07-25 00:25:12 +00:00
Dylan Knutson
af4d84ccb1 parse posted_at from fa static file url 2025-07-24 17:17:42 +00:00
Dylan Knutson
d925a4b682 Domain::Users::FaUser aux table migration 2025-07-21 17:17:35 +00:00
Dylan Knutson
ca7315c8ae Domain::Users::InkbunnyUser aux table migration 2025-07-18 19:50:52 +00:00
Dylan Knutson
7f57d4363f compute timezone offset from difference between requested_at and server local time 2025-07-09 21:57:00 +00:00
Dylan Knutson
66d1e06b4b sofurry user/gallery/post scanning 2025-07-01 19:16:44 +00:00
Dylan Knutson
70c65ffdbd remove legacy Domain::{Fa,InkBunny,E621} model usage 2025-06-24 17:51:59 +00:00
Dylan Knutson
9d2bde629a detect encoding for plain text files 2025-06-19 16:07:26 +00:00
Dylan Knutson
dc98e30f47 Enqueue links after browse page scan so title/creator is set 2025-06-18 16:40:22 +00:00
Dylan Knutson
6dbee335a7 improvements for rich text, plain text link embedding 2025-03-03 01:10:54 +00:00
Dylan Knutson
93d304cdf8 popover link for users 2025-03-01 23:38:32 +00:00
Dylan Knutson
954c825c9a popover for inline links 2025-03-01 20:23:44 +00:00
Dylan Knutson
398abf48a7 fixes for plain text bbcode rendering 2025-02-28 21:26:20 +00:00
Dylan Knutson
99fe3d951c create domain factors, similar posts/users sections implemented 2025-02-27 07:05:51 +00:00
Dylan Knutson
a296688123 move entirely to BlobFile 2025-02-25 19:59:41 +00:00
Dylan Knutson
3490e28cb4 enqueue from links 2025-02-25 05:47:44 +00:00
Dylan Knutson
b1cefa763f more precise fa job priorities 2025-02-25 02:57:44 +00:00
Dylan Knutson
de598e863c improved parsing and html rendering 2025-02-22 22:50:07 +00:00
Dylan Knutson
cd60166d16 bbcode, doc parsing, render msword documents 2025-02-22 07:49:21 +00:00
Dylan Knutson
78c358d31f source link url suffix matching 2025-02-22 06:00:11 +00:00
Dylan Knutson
00d90312dc tests for source links 2025-02-22 04:48:14 +00:00
Dylan Knutson
d8eadfd416 specs for user favs scanning 2025-02-19 20:37:22 +00:00
Dylan Knutson
abed08f5a0 better description sanitization 2025-02-15 07:05:30 +00:00
Dylan Knutson
fc0fbfc46e partial migration to tagged logs 2025-02-14 08:13:21 +00:00
Dylan Knutson
dadd235204 fixes for migration script 2025-02-06 18:41:14 +00:00
Dylan Knutson
4d3a8e9fc6 Enhance PostsHelper and View Logic for Improved Post Metadata Display
- Updated `PostsHelper` to enforce strict typing and added new methods for guessing HTTP log entries related to scanned posts and file downloads.
- Refactored the `post_state_string` method to handle unknown states more gracefully.
- Modified the view template to replace the old scanned and file description logic with links to log entries, providing clearer metadata about post actions.
- Removed deprecated tests related to the old description methods and added new tests for the updated functionality.

These changes improve the clarity and usability of post metadata in the application.
2025-01-20 18:00:08 +00:00
Dylan Knutson
02f40215e9 Enhance strict typing and refactor API and job classes
- Updated `ApiController` in the FA domain to enforce strict typing with Sorbet, including the addition of type signatures and improved method parameters.
- Refactored `users_for_name` method to accept a limit parameter for better control over user search results.
- Enhanced error handling in the `UserTimelineTweetsJob` to ensure proper logging and response management.
- Updated `GalleryDlClient` to include strict typing and improved method signatures for better clarity and maintainability.
- Refactored Prometheus metrics configuration to improve naming consistency and clarity.

These changes aim to improve type safety, maintainability, and robustness across the application.
2025-01-04 18:41:29 +00:00
Dylan Knutson
72191c1d93 Add Prometheus monitoring integration and enhance application metrics 2025-01-04 05:59:26 +00:00
Dylan Knutson
76c701a97f Enhance strict typing and refactor job classes in FA and Inkbunny domains
- Updated job classes in the FA and Inkbunny domains to enforce strict typing with Sorbet, including the addition of type signatures in various job classes.
- Refactored initialization methods to improve argument handling and ensure proper type management.
- Enhanced error handling and logging mechanisms across job classes for better traceability.
- Improved job argument handling, including the introduction of `first_log_entry` and `causing_log_entry` for better context in job processing.
- Streamlined the processing of API responses and improved the management of user and post data.

These changes aim to enhance type safety, maintainability, and robustness of the job processing logic.
2025-01-02 03:55:02 +00:00
Dylan Knutson
3a14c6946f Add RSpec-Sorbet integration and enhance type safety across the codebase
- Added `rspec-sorbet` gem to the Gemfile for improved type checking in tests.
- Updated various Ruby files to enforce strict typing with Sorbet, enhancing type safety.
- Refactored job classes and models to include type signatures, ensuring better type checking and documentation.
- Modified tests to utilize RSpec-Sorbet features, improving clarity and maintainability.

These changes aim to enhance the overall stability and maintainability of the codebase.
2025-01-01 21:10:54 +00:00
Dylan Knutson
f079fc0f98 add typed where possible 2025-01-01 03:29:53 +00:00
Dylan Knutson
15c11b2b89 Update blob entry handling and enhance staging configuration
- Changed the staging server port from 3000 to 3001 in the Procfile for better port management.
- Introduced a new BlobEntry model to replace BlobEntryP, ensuring a more consistent data structure across the application.
- Updated various controllers and views to utilize the new BlobEntry model, enhancing data retrieval and rendering processes.
- Added a new BlobEntriesController to manage blob entries, including a show action for retrieving content based on SHA256.
- Enhanced the Rakefile to enqueue periodic jobs for updating posts, improving background processing capabilities.
- Updated routes to reflect the new BlobEntry model and ensure proper resource handling.
- Improved tests for blob entry functionality, ensuring robust coverage and reliability in data handling.
2024-12-30 19:35:27 +00:00
Dylan Knutson
3cfa166b4a Enhance Gemfile, update styles, and improve log entry handling
- Added `db-query-matchers` gem for improved query testing capabilities.
- Updated `sanitize` gem version to `~> 6.1` for better security and features.
- Refactored styles in `application.tailwind.css` for better responsiveness.
- Improved `LogEntriesController` to utilize `response_size` for more accurate data handling.
- Added a new `favorites` action in `Domain::Fa::PostsController` for better user experience.
- Enhanced `fa_post_description_sanitized` method in `Domain::Fa::PostsHelper` for improved HTML sanitization.
- Updated views for `Domain::Fa::Posts` to streamline layout and improve user interaction.
- Improved pagination controls for better navigation across post listings.
2024-12-29 20:30:10 +00:00
Dylan Knutson
276a4adc0c format 2024-12-17 23:09:06 +00:00
Dylan Knutson
b3784b24d4 add incremental user page (fa) job 2023-08-25 13:56:37 -07:00
Dylan Knutson
8e39f5c2f3 user fav job + refactors 2023-05-18 15:07:50 -07:00
Dylan Knutson
7108f33a01 improve post enqueuer speed 2023-04-01 11:22:00 +09:00
Dylan Knutson
a09f3281eb add basic test for twitter timeline job 2023-03-28 15:54:31 +09:00