personal memory agent
0

Configure Feed

Select the types of activity you want to include in your feed.

fix(convey/chat): restore talent-card centring in the chat stream

fd78f4938 (lode A) correctly turned .chat-transcript .chat-event--talent from a row flex into a column flex to fix a real defect, but it paired that change with align-items: flex-start, which silently moved talent cards from horizontally centred to left-aligned.

On a column, align-items carries horizontal alignment. The justify-content: center inherited from app.css was the row-era centring authority and is now a dead main-axis declaration on an auto-height column, so align-items had to be the fix.

.chat-error-block is the alignment peer being matched: .chat-event--error is still a row and still centres, so the two peer card types visually disagreed inside a single transcript.

center also centres the thinking expander and thinking content, because a talent_finished with thinking yields three direct flex children of .chat-event--talent: the card, the .chat-thinking-expander button, and the .chat-thinking-content div, since fragments flatten on append. For a card without thinking, center restores the pre-regression position; for the thinking case it is a deliberate new layout decision, not a restoration, since the pre-regression state there was lode A's original bug with the expander beside the card.

flex-direction: column is untouched. It is lode A's real fix and stays.

+2 -2
+1 -1
solstone/apps/chat/tests/test_origin_tag_live.py
··· 64 64 fragment = response.get_data(as_text=True) 65 65 css = Path("solstone/convey/static/app.css").read_text(encoding="utf-8") 66 66 rule = """ .chat-transcript .chat-event--talent { 67 - align-items: flex-start; 67 + align-items: center; 68 68 flex-direction: column; 69 69 }""" 70 70
+1 -1
solstone/apps/chat/workspace.html
··· 13 13 14 14 <style> 15 15 .chat-transcript .chat-event--talent { 16 - align-items: flex-start; 16 + align-items: center; 17 17 flex-direction: column; 18 18 } 19 19