Lhc_fl introduced a theme component that displays both the Original Poster (OP) and the last reply avatar on mobile topic lists, inspired by awesomerobot’s previous work. The component places the OP on the left and the last replier on the right, replacing the latter with a clock icon if no replies exist. Canapin noted similarities to another mobile list component, while Wil34 requested desktop support, which Lhc_fl declined, arguing desktop views already provide sufficient detail.
Davis_Ghost reported styling issues where category and tag labels were wrapping unexpectedly. Lhc_fl explained this was intentional design to prioritize category placement, though David_Ghost preferred the previous layout. Aaron_Walsh and copymonopoly asked about updates regarding Discord core changes. Lhc_fl confirmed compatibility after merging a core PR that added a necessary PluginOutlet.
Later, jrgong reported the component broke after a specific commit. Lhc_fl confirmed the issue stemmed from recent core changes. Roi raised a deprecation warning regarding access to site.mobileView during initialization, a concern echoed by eisammy. Roi emphasized the urgency as the notice appeared on every page for admins. Lhc_fl promptly fixed the deprecation issue, resolving the notifications for Roi.
This theme component has reached a balance on whether to display the topic OP or the last replyer on the mobile. As you can see, the OP of the topic will be displayed on the left, and the last replyer will be displayed on the right. In particular, if there is no reply, the position of the avatar will be replaced by a clock.
I’ve completed the maintenance work, but there is a problem - I probably need to put a PluginOutlet in the core. Without this outlet, it will be difficult to rewrite this theme component intact.
Is it possible that the commit b35e64 broke the TC on 3.4.2? It stopped working since then. When I installed the older 55f5a52 version, it’s working as expected.
I got a deprecation notice for this great theme component in the developer console of the browser:
[THEME 71 ‘Topic OP and last reply for mobile’] Deprecation notice: Accessing site.mobileView or site.desktopView during the site initialization can lead to errors and inconsistencies when the browser window is resized. Please move these checks to a component, transformer, or API callback that executes during page rendering. [deprecated since Discourse 3.5.0.beta9-dev] [deprecation id: discourse.static-viewport-initialization] [info: Designing for Different Devices (Viewport Size, Touch/Hover, etc.)]