mirror of
https://github.com/basecamp/once-campfire.git
synced 2026-09-13 20:12:06 +09:00
32e3e5aea8
The room caches each message's rendered presentation, and its key can't see the link preview partial, which ActionText renders by name rather than through a render call the digestor can follow. Without a new version, a message already in the cache would keep its old preview. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0186eyzivcTn6wqjEE4Wnxdt
35 lines
1.8 KiB
Plaintext
35 lines
1.8 KiB
Plaintext
<%# Be sure to check/update messages/_template.html.erb when changing this file %>
|
|
|
|
<%# Bump this version when the message presentation filters change what they emit. Editing this line changes the template digest, which busts BOTH this fragment cache and the collection cache that keys on this partial's digest (helper Ruby changes alone don't). %>
|
|
<% cache [ message, "presentation-v3" ] do %>
|
|
<%= message_tag message do %>
|
|
<h2 class="message__day-separator"><%= local_datetime_tag message.created_at, style: :date %></h2>
|
|
|
|
<figure class="avatar message__avatar">
|
|
<%= avatar_tag message.creator %>
|
|
</figure>
|
|
|
|
<turbo-frame id="<%= dom_id(message, :edit) %>">
|
|
<div class="message__body">
|
|
<div class="message__body-content">
|
|
<div class="message__meta">
|
|
<h3 class="message__heading">
|
|
<span class="message__author" title="<%= message.creator.title %>">
|
|
<strong data-reply-target="author"><%= message.creator.name %></strong>
|
|
</span>
|
|
<%= link_to message_timestamp(message, class: "message__timestamp"), room_at_message_path(message.room, message), target: "_top",
|
|
class: "message__permalink" %>
|
|
<span class="message__room">
|
|
<%= link_to room_display_name(message.room, for_user: nil), room_at_message_path(message.room, message), target: "_top", data: { reply_target: "link" } %>
|
|
</span>
|
|
</h3>
|
|
<%= render "messages/actions", message: message, url: room_at_message_url(message.room, message) %>
|
|
</div>
|
|
<%= render "messages/presentation", message: message %>
|
|
<%= render "messages/boosts/boosts", message: message %>
|
|
</div>
|
|
</div>
|
|
</turbo-frame>
|
|
<% end %>
|
|
<% end %>
|