chore: nr-llm 0.33 and two settings that a deployment kept resetting - #229
Merged
Conversation
Raises the nr-llm floor to ^0.33 and pulls the five consumer patch releases. 0.33.0 removes a regression 0.32.0 introduced on this very installation: vision() and embed() handed the provider registry the tx_nrllm_provider row's identifier where it is keyed by the adapter's own name, so alt-text generation through the ai_filemetadata bridge failed with 'Provider not found'. It was patched by hand in vendor/ on the host to get through a demo; this release replaces that patch. rateLimitPerMinute goes to 120. The limiter counts per visitor IP per minute with a separate bucket per widget, so everyone watching a demo from one office NAT shares one allowance of ten -- reached within a few clicks, and it answers in words that read like a provider quota. partial_indexing gets its trigger list. lochmueller/index reacts to an editor saving a record only when the trigger is listed there, and the seed created the configuration with an empty column, so nothing indexed after the first bulk run. New content stayed invisible to AI Search until somebody ran index:queue by hand, and nothing on this host does. The INSERT is guarded by NOT EXISTS and would never repair an existing row, so an UPDATE fills it as well. Assisted-by: claude-code:claude-fable-5 Agent-Session: https://claude.ai/code/session_0144iD1P22LotW8rxmxrNGro Agent-Host: 0493f0 Signed-off-by: Sebastian Mendel <info@sebastianmendel.de>
Contributor
Dependency ReviewThe following issues were found:
License Issuescomposer.lock
OpenSSF Scorecard
Scanned Files
|
|
Member
Author
|
Self-review: 84017b5 The review this pull request demands is unsatisfiable (Copilot quota wall or repeated bot failures on this head). Per the documented fallback, the diff on this head was reviewed by the PR author; this comment is the on-the-record attestation the merge gate reads back. It stops matching on the next push. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Raises the nr-llm floor to
^0.33, pulls the five consumer patch releases, and moves two settings out of the running host and into the repository.This release replaces a hand-applied patch. nr-llm 0.32.0 shipped a fallback so that
vision()andembed()use the default configuration when the caller pins no provider — and then handedKeyedProviderRegistrythe wrong kind of key: thetx_nrllm_providerrow's identifier (openai-dcbd8fhere) where the registry is keyed by the adapter's own name (openai). Two namespaces behind one method name. 0.32.0 did not fix the failure it was written for — it renamed it, from "No provider specified" to "Provider … not found".That is what broke alt-text generation on this installation. To get through a demo the single line was patched by hand in
vendor/on the host; nr-llm 0.33.0 carries the real fix, so this deployment replaces the patch instead of losing it.rateLimitPerMinute: 10 → 120. The limiter is nr-ai-search's own, not the provider's. It counts per visitor IP per minute and keeps a separate bucket per widget, so everyone watching a demo from one office NAT shares a single allowance. Ten is reached within a few clicks, and the message it produces — "Zu viele Anfragen" — reads like a provider quota to whoever hits it.partial_indexing: the trigger list, and a repair for existing rows.lochmueller/indexdoes react to an editor saving a record —DataHandlerUpdateHookfires on datamap, cmdmap and clearcache — but it returns immediately unless the trigger is listed in the index configuration'spartial_indexingcolumn, and an empty column parses to an empty list. The seed created the configuration with that column empty, so nothing was indexed after the first bulk run: content added later stayed invisible to AI Search until somebody ranindex:queueby hand, and nothing on this host does.The
INSERTis guarded byNOT EXISTSand would never repair a configuration that already exists — which is exactly the state this instance was in — so anUPDATEfills the column wherever it is empty. Same self-healing shape as the chunk-count gate further down the file.What moves
netresearch/nr-llmnetresearch/nr-llm-compatnetresearch/nr-landingpagenetresearch/nr-mcp-agentnetresearch/nr-repurposenetresearch/t3-cowriternetresearch/nr-ai-searchOnly
netresearch/nr-llmneeded a constraint change — the other carets already accept their patch releases.nr-ai-searchis pinned todev-mainand moves with them.Not covered by this change: the MBS demo content is still invisible to AI Search, and no indexing change will alter that. Its page renders 107 characters of text because the element carrying the content is hidden and the visible element beside it is empty. That is a content state, not an indexing one.
Assisted by claude-code:claude-fable-5 — Session