Page MenuHomePhabricator

Use renderer for inner values
Closed, ResolvedPublic

Description

Go to https://www.wikifunctions.org/view/en/Z17364

The call is currently represented as

less than or equal (integer) (Integer(Sign(positive), Natural number("3")), Integer(Sign
(positive), Natural number("3")))

but we could use the renderer for Integers in order to represent it as

less than or equal (integer) (3, 3)

which would be more readable.

Suggestion is to use the renderer in the short format of the call where possible.

Related Objects

Event Timeline

I pondered whether to ask for this too. It would certainly be more readable. But I wonder if this should wait until we've got better type validators.

Here's are a couple of examples where it helps to see the expanded content. In some more extreme cases the renderer may even fail.
https://www.wikifunctions.org/view/en/Z13524
https://www.wikifunctions.org/view/en/Z17461

Jdforrester-WMF moved this task from To Triage to Backlog on the Abstract Wikipedia team board.

So this needs a bit of UX/Design IMHO:

We should work out the unhappy flow.

  1. What do we show visually when the renderer returns an error? There are a few error cases as I see in the expanded component:
    • Response = Z_VOID: expanded we show in rendered value 'wikilambda-renderer-view-invalid-result' and as error the error message or 'wikilambda-renderer-unknown-error'
    • Response = not of type string: expanded we show in rendered value 'wikilambda-renderer-view-invalid-result' and as error 'wikilambda-renderer-unexpected-result-error'
    • Api fails because of whatever reason: we show in rendered value 'running...' and as error ''wikilambda-renderer-api-error'
  1. If its loading, do we show 'running...'?
  1. Do we add a link (if so where to) or just the value (I prefer just the value)?

What we also show in the expanded version (with different logic behind it):

  • sometimes an example link shows
  • sometimes a link to project chat
AAlhazwani-WMF changed the task status from Open to In Progress.Feb 14 2025, 1:53 PM
AAlhazwani-WMF claimed this task.
AAlhazwani-WMF added a project: Design.
AAlhazwani-WMF removed a project: Design.
AAlhazwani-WMF subscribed.

looks good!

Renderer fails: https://www.dropbox.com/scl/fi/8u249l5yga5fzrtlsfmpf/renderer-fail-1.mov?rlkey=vilv2m3d7ejv6ofe3xfjthij5&dl=0

@DSmit-WMF if it fails, instead of showing No display value we would show the fallback view. see example below:

loadingsuccessfail
same Integer (Running...)same Integer (255)same Integer (Integer (Sign (positive), Natural number ("255")))

Renderer where a few items are already cached: https://www.dropbox.com/scl/fi/bz72blvxiv7e5bn8o6puc/renderer-partial-cache.mov?rlkey=cz3n0zcj8jcxalazn73knxx75&dl=0

looks good!

Change #1122564 had a related patch set uploaded (by Daphne Smit; author: Daphne Smit):

[mediawiki/extensions/WikiLambda@master] ZObjectToString: use renderer for inner values

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

Change #1122564 merged by jenkins-bot:

[mediawiki/extensions/WikiLambda@master] ZObjectToString: use renderer for inner values

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