Improve the user onebox in Discourse

User onebox is a bit thin on data per:

We should improve it so it has some more data from the user card.

12 Likes

I have been looking at this. Improving user onebox would require creating a custom template for it, correct?

Hmm it is not terrible now, but I guess there are some improvements like possibly emulating a bit of:

Posted, Joined, Read, Location all seem reasonable for the card.

You would need a custom template, yes.

@codinghorror what do you think here?

4 Likes

Oh I see yes sure the user onebox is pretty weak. Totally fine go for it.

Also doesn’t seem to work for all of my users. Example:

https://se23.life/users/Helen_Thomson

https://se23.life/users/BovillDan

… but does work for me

Is this another problem where there’s no description and Onebox fails to render anything?

2 Likes

That would be my guess, yes.

2 Likes

In theory we could have the onebox description here be synthesized from the user activity or something. "member since: 2017-1, 22 posts, last posted yesterday, avid reader"

The biggest omission there is that it’s not prioritizing “long name” which I think is correct for public shares. It should be “Chris Beach” in the public onebox, weird that the username is there.

3 Likes

This is how it looks like with my changes. Thoughts?
I wonder if it’s really ok to include “posted” and “read recently” since it’s going to be out of date pretty soon after it’s baked?

8 Likes

Looks good!

Yeah, great point, we try to avoid highly time-specific data in oneboxes as they are typically baked only at the time of posting. Perhaps some other stats would be less time dependent here? Join date seems safe enough at least.

4 Likes

I have added a PR https://github.com/discourse/discourse/pull/5542, slightly different than the screenshot above, without the time specific stats. Other stats that could be relevant (like created posts/topic count) are also changing fast, so I haven’t included them.

14 Likes

This looks excellent to me! Thanks @maja

7 Likes