Skip to content

perf(mobile): defer work-log detail serialization - #4607

Merged
t3dotgg merged 1 commit into
pingdotgg:mainfrom
saphid:agent/mobile-lazy-work-log
Jul 27, 2026
Merged

perf(mobile): defer work-log detail serialization#4607
t3dotgg merged 1 commit into
pingdotgg:mainfrom
saphid:agent/mobile-lazy-work-log

perf(mobile): defer work-log detail serialization

3fb3cb4
Select commit
Loading
Failed to load commit list.
MacroscopeApp / Macroscope - Effect Service Conventions succeeded Jul 27, 2026 in 7s

Effect Service Conventions: No issues found

All clear

Details

Note

Your check run agent prompt is: .macroscope/check-run-agents/effect-service-conventions.md
More information about how Check Run Agents work can be found in our Help Center.

This PR changes only mobile presentation logic in apps/mobile/src/lib/threadActivity.ts, apps/mobile/src/lib/threadActivity.test.ts, and apps/mobile/src/features/threads/thread-work-log.tsx. The changes introduce lazy/memoized computation of work-log expanded detail and copy text (canExpand, getFullDetail, getCopyText) in a pure buildThreadFeed helper and its React Native consumer. No Effect service is created, moved, refactored, or consumed: there are no Context.Service tags, layers, error classes, or dependency-acquisition boundaries in scope. Existing Effect usage (import * as Arr from "effect/Array", import * as Order from "effect/Order") already follows the namespace-subpath convention. No Effect service convention violations were found in the changed scope.


🔍 Agent activity — reasoning, no tool calls

💭 Looking at this PR, it's focused on optimizing mobile lazy work log by deferring computation of full detail and copy text through memoization. The changes are in the thread activity module for React Native mobile UI, specifically around a pure function that builds the thread feed. There don't appear to be any Effect services involved here—just performance optimizations for the mobile layer. I'll use the head commit SHA. This PR is focused on mobile UI presentation and lazy evaluation of work log details—it doesn't involve creating, moving, or refactoring any Effect services. Since there are no Context.Service definitions, Layers, error classes, or service dependencies being touched, the Effect Service Conventions check doesn't apply here.