Skip to content

Commit

Permalink
Adds some logging to detect story playback order
Browse files Browse the repository at this point in the history
  • Loading branch information
josh-signal committed May 9, 2022
1 parent 85c8ff7 commit dcf0c52
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 1 deletion.
25 changes: 24 additions & 1 deletion ts/components/Stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import type { PropsType as SmartStoryViewerPropsType } from '../state/smart/Stor
import { StoriesPane } from './StoriesPane';
import { Theme, themeClassName } from '../util/theme';
import { getWidthFromPreferredWidth } from '../util/leftPaneWidth';
import * as log from '../logging/log';

export type PropsType = {
hiddenStories: Array<ConversationStoryType>;
Expand Down Expand Up @@ -48,6 +49,8 @@ export const Stories = ({
conversationStory.stories.some(story => story.isUnread)
);

log.info('stories.onNextUserStories', { nextUnreadIndex });

if (nextUnreadIndex >= 0) {
const nextStory = stories[nextUnreadIndex];
setConversationIdToView(nextStory.conversationId);
Expand All @@ -59,6 +62,11 @@ export const Stories = ({
x => x.conversationId === conversationIdToView
);

log.info('stories.onNextUserStories', {
storyIndex,
length: stories.length,
});

// If we've reached the end, close the viewer
if (storyIndex >= stories.length - 1 || storyIndex === -1) {
setConversationIdToView(undefined);
Expand All @@ -72,6 +80,12 @@ export const Stories = ({
const storyIndex = stories.findIndex(
x => x.conversationId === conversationIdToView
);

log.info('stories.onPrevUserStories', {
storyIndex,
length: stories.length,
});

if (storyIndex <= 0) {
// Restart playback on the story if it's the oldest
setConversationIdToView(conversationIdToView);
Expand All @@ -95,7 +109,16 @@ export const Stories = ({
<StoriesPane
hiddenStories={hiddenStories}
i18n={i18n}
onStoryClicked={setConversationIdToView}
onStoryClicked={clickedIdToView => {
const storyIndex = stories.findIndex(
x => x.conversationId === clickedIdToView
);
log.info('stories.onStoryClicked', {
storyIndex,
length: stories.length,
});
setConversationIdToView(clickedIdToView);
}}
openConversationInternal={openConversationInternal}
queueStoryDownload={queueStoryDownload}
stories={stories}
Expand Down
12 changes: 12 additions & 0 deletions ts/components/StoryViewer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ import { getStoryDuration } from '../util/getStoryDuration';
import { graphemeAwareSlice } from '../util/graphemeAwareSlice';
import { isDownloaded, isDownloading } from '../types/Attachment';
import { useEscapeHandling } from '../hooks/useEscapeHandling';
import * as log from '../logging/log';

export type PropsType = {
conversationId: string;
Expand Down Expand Up @@ -183,6 +184,10 @@ export const StoryViewer = ({
const unreadStoryIndex = storiesRef.current.findIndex(
story => story.isUnread
);
log.info('stories.findUnreadStory', {
unreadStoryIndex,
stories: storiesRef.current.length,
});
setCurrentStoryIndex(unreadStoryIndex < 0 ? 0 : unreadStoryIndex);
}, [conversationId]);

Expand Down Expand Up @@ -221,6 +226,12 @@ export const StoryViewer = ({
if (shouldCancel) {
return;
}
log.info('stories.setStoryDuration', {
contentType: attachment.textAttachment
? 'text'
: attachment.contentType,
duration,
});
setStoryDuration(duration);
})();

Expand Down Expand Up @@ -286,6 +297,7 @@ export const StoryViewer = ({

useEffect(() => {
markStoryRead(messageId);
log.info('stories.markStoryRead', { messageId });
}, [markStoryRead, messageId]);

// Queue all undownloaded stories once we're viewing someone's stories
Expand Down

0 comments on commit dcf0c52

Please sign in to comment.