Page MenuHomePhabricator

Wikifunctions client wikis' cache config doesn't know about wf-wan, so embedded Functions’ output is never available
Closed, ResolvedPublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):

What happens?:
There is a message saying that the function is being executed.

What should have happened instead?:
I edited the page more than 24 hours ago, and expect to see a declension table in it, thanks to the function. This is new, the function’s output was being properly rendered previously.

The function itself has not changed and works as expected when I run it on Wikifunctions.

Event Timeline

@Redmin Actually, the message that I got is the default one when a page is not created yet:

There is currently no content on this page. You can search for this title on other pages, search related records , or create this page .

(In Croatian, of course)

The example page that @Redmin meant was this here:

https://hr.wiktionary.org/wiki/Walnuss

It just shows "Funkcija se poziva..." (Function is being called), but it never appears.

Jdforrester-WMF changed the task status from Open to In Progress.Apr 8 2026, 5:54 PM
Jdforrester-WMF claimed this task.

Change #1269038 had a related patch set uploaded (by Jforrester; author: Jforrester):

[operations/deployment-charts@master] mw-mcrouter: add /{dc}/wf-wan routes for Wikifunctions client cache

https://gerrit.wikimedia.org/r/1269038

Jdforrester-WMF renamed this task from Embedded function’s output is not being rendered to Wikifunctions client wikis' cache config doesn't know about wf-wan, so embedded Functions’ output is never available.Apr 8 2026, 6:47 PM

Change #1269038 merged by jenkins-bot:

[operations/deployment-charts@master] mw-mcrouter: add /{dc}/wf-wan routes for Wikifunctions client cache

https://gerrit.wikimedia.org/r/1269038

Change #1269089 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/WikiLambda@master] WikifunctionsClientRequestJob: Explicitly state getDeduplicationInfo

https://gerrit.wikimedia.org/r/1269089

Change #1269089 merged by jenkins-bot:

[mediawiki/extensions/WikiLambda@master] WikifunctionsClientRequestJob: Explicitly state getDeduplicationInfo

https://gerrit.wikimedia.org/r/1269089

I don't know if it's the same issue, but even though Walnuss works now, some other pages on the Croatian Wiktionary repeatedly show "Pogreška sadržaja" ("Content error"), even though the function appears to run correctly when I test it on wikifunctions.org.

For example:

And some others.

I don't know if it's the same issue, but even though Walnuss works now, some other pages on the Croatian Wiktionary repeatedly show "Pogreška sadržaja" ("Content error"), even though the function appears to run correctly when I test it on wikifunctions.org.

For example:

And some others.

Yes, that's not this issue; that's saying the function call failed (implicitly, because of user error, though the categories as to why this happened don't show up yet, we're waiting on Parsoid support).

@Jdforrester-WMF, to be clear, embedded function calls are apparently currently broken for function calls that did not get their outputs cached after last week’s fix. See this page for example. And the categories being added say that function evaluation failed (, seemingly even with Parsoid(?), see this).
(I think this what @Amire80 was talking about.)

I don't know about caches or user errors, and maybe I'm misunderstanding how it's supposed to work, but something definitely seems off:

https://hr.wiktionary.org/wiki/Walnuss in the Croatian Wikipedia works correctly, and the wikitext for the call is {{#function:Z29055|L400183|}}.

https://hr.wiktionary.org/wiki/Akkordeon in the Croatian Wikipedia gives "Pogreška sadržaja" ("Content error"), even though the wikitext for the call is almost the same: {{#function:Z29055|L891497|}}. Same function, different lexeme, no second argument.

https://he.wiktionary.org/wiki/User:Amire80/sulamit in the Hebrew Wiktionary gives "שגיאת תוכן" ("Content error") with both calls, even though the code is the same. (As far as I know, the Hebrew Wiktionary is connected to Wikifunctions identically to the Croatian Wiktionary, but I might be wrong.)

@Jdforrester-WMF, to be clear, embedded function calls are apparently currently broken for function calls that did not get their outputs cached after last week’s fix. See this page for example.

When I visited, that page's report says Cached time: 20260421151647, i.e. just now — it's not related to this task.

And the categories being added say that function evaluation failed (, seemingly even with Parsoid(?), see this).
(I think this what @Amire80 was talking about.)

If you see the output of embedded Wikifunctions calls at all, that means you're in Parsoid mode; however, they don't properly populate the categories, so https://bn.wiktionary.org/w/index.php?title=%E0%A6%AC%E0%A6%BF%E0%A6%B7%E0%A6%AF%E0%A6%BC%E0%A6%B6%E0%A7%8D%E0%A6%B0%E0%A7%87%E0%A6%A3%E0%A7%80:%E0%A6%AE%E0%A7%82%E0%A6%B2%E0%A7%8D%E0%A6%AF%E0%A6%BE%E0%A6%AF%E0%A6%BC%E0%A6%A8_%E0%A6%AC%E0%A7%8D%E0%A6%AF%E0%A6%B0%E0%A7%8D%E0%A6%A5_%E0%A6%B9%E0%A6%93%E0%A6%AF%E0%A6%BC%E0%A6%BE%E0%A6%AF%E0%A6%BC_%E0%A6%AF%E0%A7%87%E0%A6%B8%E0%A6%AC_%E0%A6%AA%E0%A6%BE%E0%A6%A4%E0%A6%BE%E0%A6%AF%E0%A6%BC_%E0%A6%89%E0%A6%87%E0%A6%95%E0%A6%BF%E0%A6%AB%E0%A6%BE%E0%A6%82%E0%A6%B6%E0%A6%A8%E0%A7%8D%E0%A6%B8_%E0%A6%95%E0%A6%B2_%E0%A6%A4%E0%A7%8D%E0%A6%B0%E0%A7%81%E0%A6%9F%E0%A6%BF%E0%A6%AA%E0%A7%82%E0%A6%B0%E0%A7%8D%E0%A6%A3_%E0%A6%B9%E0%A6%AF%E0%A6%BC%E0%A7%87%E0%A6%9B%E0%A7%87 is empty, which is the Parsoid bug I mentioned.

I don't know about caches or user errors, and maybe I'm misunderstanding how it's supposed to work, but something definitely seems off:

https://hr.wiktionary.org/wiki/Walnuss in the Croatian Wikipedia works correctly, and the wikitext for the call is {{#function:Z29055|L400183|}}.

https://hr.wiktionary.org/wiki/Akkordeon in the Croatian Wikipedia gives "Pogreška sadržaja" ("Content error"), even though the wikitext for the call is almost the same: {{#function:Z29055|L891497|}}. Same function, different lexeme, no second argument.

Yeah, that's definitely not what should be happening. Let's file a task about it.

https://he.wiktionary.org/wiki/User:Amire80/sulamit in the Hebrew Wiktionary gives "שגיאת תוכן" ("Content error") with both calls, even though the code is the same. (As far as I know, the Hebrew Wiktionary is connected to Wikifunctions identically to the Croatian Wiktionary, but I might be wrong.)

The calls are different; there's an implicit parselang=he vs. hr and renderlang=he vs. hr. Adding support for explicitly stating parselang/renderlang in the wikitext is coming from Parsoid, at some point.