personal memory agent
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Replace wall-clock import timeout with inactivity-based timeout

The Plaud sync subprocess timeout (600s wall-clock) was killing imports
that were actively transcribing. Now:

- Inner wait loop (cli.py) resets its inactivity timer on observe.status
events from sense.py, not just segment completions
- Inner segment_timeout restored to 600s (was bumped to 1200s as a
workaround)
- Outer subprocess timeout (plaud.py) raised to 3600s as a safety
backstop — the import CLI's own inactivity timeout handles normal cases

+4 -2
+3 -1
think/importers/cli.py
··· 589 589 _set_stage("transcribing") 590 590 pending = set(created_segments) 591 591 completed_count = 0 592 - segment_timeout = 1200 # 20 minutes since last progress 592 + segment_timeout = 600 # 10 minutes since last progress 593 593 last_progress = time.monotonic() 594 594 transcribe_start = time.monotonic() 595 595 ··· 636 636 f"({completed_count}/{len(created_segments)} done, " 637 637 f"{len(pending)} remaining)" 638 638 ) 639 + elif tract == "observe" and event == "status": 640 + last_progress = time.monotonic() 639 641 640 642 if failed_segments: 641 643 logger.warning(
+1 -1
think/importers/plaud.py
··· 489 489 490 490 logger.info(" Importing %s...", ts) 491 491 import_start = time.monotonic() 492 - import_timeout = 600 492 + import_timeout = 3600 493 493 494 494 try: 495 495 # In verbose/debug mode, stream subprocess output to terminal