openreader/src/components
Richard R fc3d05d65b feat(rate-limit): add per-user PDF parsing rate limiting and job event ledger
implement a generic user_job_events table for tracking compute job creation
enforce configurable burst and sustained limits for PDF layout parsing
add admin panel controls for compute rate limiting and max upload size
update API routes to apply and record rate checks for PDF parse jobs
document new environment variables and admin settings for compute limits
improve IP extraction logic for rate limiting accuracy
add tests for request IP extraction and test namespace gating

This change introduces a robust mechanism to throttle expensive compute operations, such as PDF parsing, on a per-user basis. It provides both burst and sustained rate controls, with admin-tunable parameters and clear user feedback on throttling. The job event ledger enables accurate concurrency and rate enforcement, while new documentation and tests ensure maintainability and clarity.
2026-05-30 14:17:49 -06:00
..
admin feat(rate-limit): add per-user PDF parsing rate limiting and job event ledger 2026-05-30 14:17:49 -06:00
auth refactor(onboarding): modularize onboarding flow logic and improve testability 2026-05-29 18:03:17 -06:00
doclist Fix narrow-screen initial render in FinderWindow 2026-05-29 22:27:30 -06:00
documents refactor(doclist): implement upload batch progress tracking in sidebar 2026-05-29 22:11:27 -06:00
icons refactor(admin): remove unused EditableRow and EditIcon components 2026-05-30 10:33:11 -06:00
player feat(tts,config,types): migrate to providerRef/providerType model and add centralized TTS provider policy 2026-05-13 10:11:05 -06:00
reader refactor(doclist): remove columns view and update text labeling 2026-05-28 17:20:02 -06:00
views refactor(pdf): improve parse loader UX and PDF viewer readiness signaling 2026-05-21 10:54:07 -06:00
AudiobookExportModal.tsx feat(html): add HTML/TXT/MD sentence and word highlighting, settings, and audiobook export support 2026-05-17 11:14:02 -06:00
CodeBlock.tsx refactor(components): unify button styling using buttonClass utility across multiple components 2026-05-14 12:06:21 -06:00
ColorPicker.tsx feat(theme): add persistent custom theme with live color editing 2026-04-07 01:09:08 -06:00
ConfirmDialog.tsx refactor(components): unify button styling using buttonClass utility across multiple components 2026-05-14 12:06:21 -06:00
ConsentAwareAnalytics.tsx feat: Refactor server-side document, audiobook, and authentication logic, introduce new client-side APIs and caching, and update related tests. 2026-02-17 19:30:12 -07:00
CookieConsentBanner.tsx refactor(components): unify button styling using buttonClass utility across multiple components 2026-05-14 12:06:21 -06:00
formPrimitives.tsx refactor(admin): remove unused EditableRow and EditIcon components 2026-05-30 10:33:11 -06:00
Header.tsx update(auth): enhance rate limiting with device/IP backstops and improve UI 2026-01-25 14:38:31 -07:00
HomeContent.tsx feat(ui): move app actions to sidebar and add sidebar user menu variant 2026-05-28 14:58:03 -06:00
PrivacyModal.tsx orchestrate privacy modal in onboarding flow 2026-05-27 00:50:10 -06:00
ProgressCard.tsx refactor(components): unify button styling using buttonClass utility across multiple components 2026-05-14 12:06:21 -06:00
ProgressPopup.tsx refactor: overhaul document storage and audiobook architecture 2026-01-19 14:22:21 -07:00
SettingsModal.tsx refactor(onboarding): modularize onboarding flow logic and improve testability 2026-05-29 18:03:17 -06:00
Spinner.tsx docs(pdf,spinner,config): update parse state UI, spinner theming, and worker env docs 2026-05-21 11:59:12 -06:00