diff --git a/.changeset/show-all-timestamps.md b/.changeset/show-all-timestamps.md
new file mode 100644
index 000000000..7fb415be9
--- /dev/null
+++ b/.changeset/show-all-timestamps.md
@@ -0,0 +1,5 @@
+---
+default: minor
+---
+
+Add a setting to show all timestamps, including on grouped messages from the same sender
diff --git a/src/app/features/room/message/Message.tsx b/src/app/features/room/message/Message.tsx
index d976bd4e5..fde71cb95 100644
--- a/src/app/features/room/message/Message.tsx
+++ b/src/app/features/room/message/Message.tsx
@@ -538,6 +538,7 @@ function MessageInternal(
const [parsePronouns] = useSetting(settingsAtom, 'parsePronouns');
const [useRightBubbles] = useSetting(settingsAtom, 'useRightBubbles');
+ const [showAllTimestamps] = useSetting(settingsAtom, 'showAllTimestamps');
const { cleanedDisplayName, inlinePronoun } = useMemo(() => {
const rawName = pmp?.displayname || resolvedSenderDisplayName || '';
return getParsedPronouns(rawName, parsePronouns);
@@ -661,7 +662,32 @@ function MessageInternal(
);
- return <>>;
+ return showAllTimestamps ? (
+
+
+
+
+
+
+ ) : (
+ <>>
+ );
};
const avatarJSX = (collapsed?: boolean) => {
diff --git a/src/app/features/settings/general/General.tsx b/src/app/features/settings/general/General.tsx
index 1e0ed551d..7b559a028 100644
--- a/src/app/features/settings/general/General.tsx
+++ b/src/app/features/settings/general/General.tsx
@@ -819,6 +819,7 @@ function Messages() {
settingsAtom,
'hideMembershipInReadOnly'
);
+ const [showAllTimestamps, setShowAllTimestamps] = useSetting(settingsAtom, 'showAllTimestamps');
const [messageLayout] = useSetting(settingsAtom, 'messageLayout');
const [rightBubbles, setRightBubbles] = useSetting(settingsAtom, 'useRightBubbles');
@@ -839,6 +840,13 @@ function Messages() {
after={}
/>
+