fix(ui): correct Web Loader config meaning

The Web Loader admin setting was labeled "Concurrent Requests" in the
UI, but the underlying value is passed as `requests_per_second` to
`get_web_loader` and consumed by `RateLimitMixin` as a sequential rate
limiter. The loop is sequential in every loader; this is not concurrency
control. The label was renamed to match the actual semantics and a
tooltip was added to describe the behavior.

Note: the config key and env var (`WEB_LOADER_CONCURRENT_REQUESTS`) are
preserved for backward compatibility (only the label was changed).
This commit is contained in:
Álvaro Justen (@turicas) 2026-04-27 20:14:20 -03:00
parent 28a4df7921
commit 71e574ea60

View file

@ -1141,12 +1141,18 @@
<div class="mb-2.5 w-full">
<div class=" self-center text-xs font-medium mb-1">
{$i18n.t('Concurrent Requests')}
<Tooltip
content={$i18n.t(
'Cap the rate at which the web loader fetches URLs. 0 = unlimited. Lower this to respect rate limits on paid extraction APIs (e.g. Firecrawl, Tavily) or to reduce load on source websites.'
)}
placement="top-start"
>
{$i18n.t('Requests per second')}
</Tooltip>
</div>
<input
class="w-full rounded-lg py-2 px-4 text-sm bg-gray-50 dark:text-gray-300 dark:bg-gray-850 outline-hidden"
placeholder={$i18n.t('Concurrent Requests')}
placeholder={$i18n.t('Requests per second')}
bind:value={webConfig.WEB_LOADER_CONCURRENT_REQUESTS}
required
/>