Skip to content

feat(settings): settle idle threads after hours, keep imports active - #2

Open
matthias-scale wants to merge 1 commit into
mainfrom
feat/settle-after-hours
Open

matthias-scale wants to merge 1 commit into
mainfrom
feat/settle-after-hours

Conversation

@matthias-scale

Copy link
Copy Markdown
Owner

Threads now settle only after real inactivity, and the limit is set in hours.

  • sidebarAutoSettleAfterDays is replaced by sidebarAutoSettleAfterHours: 1 to 2160, default 12, null means never. Stored day values decode as days × 24, and null stays null. This applies to both server settings and project overrides, and settings still encode without requiring unrelated keys.
  • The web and mobile settings controls use hours.
  • thread.history.import no longer emits thread.settled, so imported threads start active.
  • Threads with only imported history count idle time from their latest imported message. A new projection column and migration 053 track that timestamp, with a backfill.
  • Settling on merge and the pinned, snoozed, pending-approval, running-session and manual-override cases behave as before.

Verification:

  • apps/server: vp test run src/orchestration src/persistence/Migrations/053 src/serverSettings.test.ts passes 672/672.
  • contracts settings tests pass 139/139, web settings 444/444, mobile settings 14/14.
  • tsc --noEmit is clean in contracts, server, web and mobile.

https://claude.ai/code/session_01SHuGjA6vRucev3H2TiY2bu

Replace sidebarAutoSettleAfterDays with sidebarAutoSettleAfterHours
(1-2160, default 12, null = never). Stored day values decode to hours.
History imports no longer settle a thread on arrival; threads with only
imported history count idle time from their latest imported message.

Claude-Session: https://claude.ai/code/session_01SHuGjA6vRucev3H2TiY2bu

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant