MCPcopy
hub / github.com/pingdotgg/t3code / markThreadVisited

Function markThreadVisited

apps/web/src/uiStateStore.ts:229–250  ·  view source on GitHub ↗
(state: UiState, threadId: string, visitedAt: string)

Source from the content-addressed store, hash-verified

227const debouncedPersistState = new Debouncer(persistState, { wait: 500 });
228
229export function markThreadVisited(state: UiState, threadId: string, visitedAt: string): UiState {
230 const visitedAtMs = Date.parse(visitedAt);
231 if (!Number.isFinite(visitedAtMs)) {
232 return state;
233 }
234 const previousVisitedAt = state.threadLastVisitedAtById[threadId];
235 const previousVisitedAtMs = previousVisitedAt ? Date.parse(previousVisitedAt) : NaN;
236 if (
237 Number.isFinite(previousVisitedAtMs) &&
238 Number.isFinite(visitedAtMs) &&
239 previousVisitedAtMs >= visitedAtMs
240 ) {
241 return state;
242 }
243 return {
244 ...state,
245 threadLastVisitedAtById: {
246 ...state.threadLastVisitedAtById,
247 [threadId]: visitedAt,
248 },
249 };
250}
251
252export function markThreadUnread(
253 state: UiState,

Callers 3

uiStateStore.tsFile · 0.85
ChatViewContentFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected