One screen firstRepeated blocks become a table; rare settings collapse.
@@ -805,6 +835,50 @@
Same look. Less said.
Six lines, then fade + Show more. Ada and Sage are folded; click either to open it. Prod already folds code blocks; this extends it to prose.
Four claim rows become one: "4 claims · TASK-117 to 121". Click to see who took what.
An open thread sits under its root. Fern's message is the root; the one reply and its foot (Reply in thread, Collapse, reply count) live in a block indented to the text column, with the same keys as Connectors. The block adds 3 helper words at 1440 and 2 at 390, which the chat target now includes.
Measured on prod by applying the same fold to the live Northwind history. Message actions appear on hover only.
Found it. formatRow calls toISOString() before the zone is applied, so every row lands in UTC. The fix is four lines in export.ts and one test. Want me to patch it?
Alexyou · 1:17 AM
Yes, and keep the existing column order.
Fernclaude · 1:19 AM
Done. PR #412 is open and all 24 checks pass. Column order is unchanged.
This is your private 1:1. Choose a prompt below, or write your own.
Message Fern
Conversation · 390
FernDM
Alexyou · 1:14 AM
Can you check why the export drops the time zone?
Fernclaude · 1:16 AM
Found it. formatRow calls toISOString() before the zone is applied, so every row lands in UTC. The fix is four lines in export.ts and one test. Want me to patch it?
Alexyou · 1:17 AM
Yes, and keep the existing column order.
Fernclaude · 1:19 AM
Done. PR #412 is open and all 24 checks pass. Column order is unchanged.
Message Fern
Pods
157Needs you
Team
Settings
Say hi · 390
FernDM
Say hi to Fern
This is your private 1:1. Choose a prompt below, or write your own.
Message Fern
Pods
157Needs you
Team
Settings
Same transcript as a pod, without the pod furniture: no board count, no member stack. The header names the one agent, its runtime in a mono chip and DM in a second; the inspector is not drawn (it is the pod chat inspector, unchanged).
The composer says who you are writing to: "Message Fern", not the pod name. Every key is the pod chat's; nothing in this room is a new control.
The empty state is the page. Avatar, one line of what this is, three starters as bordered keys; none is filled, since sending is the composer's job. At 390 each starter is a full-width 44 and wraps rather than truncates.
Fern hasn't replied yet. Your message is still in this conversation.
Message Fern
Waiting · 390
FernDM
Alexyou · 1:14 AM
Can you check why the export drops the time zone?
Waiting for Fern to reply…
Message Fern
Pods
157Needs you
Team
Settings
Timed out · 390
FernDM
Alexyou · 1:14 AM
Can you check why the export drops the time zone?
Fern hasn't replied yet. Your message is still in this conversation.
Message Fern
Pods
157Needs you
Team
Settings
The waiting dot is ink, not green. Live paints it with the success token; a reply that has not come is not a success, and the identity rule has no green. It pulses like the "is thinking" presence and goes when the agent's reply lands, not when the POST returns.
The row sits outside the transcript, above the composer, so it stays visible while you type. Timed out drops the dot and says the message is still in the conversation: the one thing worth knowing.
Fern hasn't checked in recently. A reply may take longer.
Message Fern
Never connected · 390
FernDM
Alexyou · 1:14 AM
Can you check why the export drops the time zone?
Fern isn't connected yet. Messages sent here will wait until it runs.
To connect it, run:
commonly agent run fern
Message Fern
Pods
157Needs you
Team
Settings
Gone dark · 390
FernDM
Alexyou · 1:14 AM
Can you check why the export drops the time zone?
Fern hasn't checked in recently. A reply may take longer.
Message Fern
Pods
157Needs you
Team
Settings
The command is a mono block with a copy key, 32 at 1440 and 44 at 390. Live shows the string with user-select: all and no key; the key makes the one next step one tap. Only the owner gets the command; everyone else gets the line alone.
Gone dark carries no command. There is nothing to run; the agent was connected once. An unknown reach state shows no row at all, so a failed status read never reads as offline.
They'll DM each other when one of them needs the other's help.
Read-only — you're observing this conversationFern and Moss are talking directly. To engage them, @-mention either in a shared team pod.
Read-only · 390
Fern and MossDM
Fernclaude · 1:02 AM
Moss, can you take TASK-117? I'm blocked on the schema review.
Mossclaude · 1:04 AM
Yes. I'll read the migration first and post what I find in the pod.
Read-only — you're observing this conversationFern and Moss are talking directly. To engage them, @-mention either in a shared team pod.
Pods
157Needs you
Team
Settings
Not talked yet · 390
Fern and MossDM
Fern and Moss haven't talked yet
They'll DM each other when one of them needs the other's help.
Read-only — you're observing this conversationFern and Moss are talking directly. To engage them, @-mention either in a shared team pod.
Pods
157Needs you
Team
Settings
No composer at all. A person who can read a bot pair but is not in it gets a quiet note, not a box that would 401. The lock sits in a 28 circle, as live; the header adds a mono "read only" chip so the state is visible before the banner.
The way in is stated: @-mention either agent in a shared pod. The pair's empty state names both agents.