Skip to content

Conversation

@dbinky
Copy link
Owner

@dbinky dbinky commented Jan 12, 2026

Summary

  • Add TimeoutsConfig section to settings with 6 configurable timeout values
  • Replace all hardcoded timeouts with configurable values
  • Default to 2 minutes for embedding/client/API requests to support cold starts
  • Addresses user feedback about timeout issues when Ollama needs to reload models

Changes

  • internal/config/config.go: Add TimeoutsConfig struct with helper methods
  • internal/config/defaults.go: Add default timeout configuration
  • internal/embedder/provider.go: Pass timeout to embedder constructors
  • internal/daemon/daemon.go: Use configurable embedding and shutdown timeouts
  • internal/cli/client.go: Use configurable client request timeout
  • internal/cli/start.go: Use configurable daemon start timeout
  • internal/cli/stop.go: Use configurable daemon stop timeout
  • internal/api/router.go: Use configurable API request timeout
  • Version bumped to 0.7.3 in all version files

Configuration

Users can now configure timeouts in their .pommel/config.yaml:

timeouts:
  embedding_request_ms: 120000  # 2 minutes (default)
  daemon_start_ms: 30000        # 30 seconds (default)
  daemon_stop_ms: 10000         # 10 seconds (default)
  client_request_ms: 120000     # 2 minutes (default)
  api_request_ms: 120000        # 2 minutes (default)
  shutdown_ms: 10000            # 10 seconds (default)

Test plan

  • Build passes with go build -tags fts5 ./...
  • Tests pass with go test -tags fts5 ./...
  • CI passes

🤖 Generated with Claude Code

Make all hardcoded timeouts configurable via the settings file to support
users with slower systems or cold-start scenarios (e.g., when Ollama needs
to reload models from memory).

New TimeoutsConfig section supports:
- embedding_request_ms: timeout for embedding API calls (default: 2 min)
- daemon_start_ms: timeout waiting for daemon startup (default: 30 sec)
- daemon_stop_ms: timeout waiting for daemon shutdown (default: 10 sec)
- client_request_ms: CLI HTTP client timeout (default: 2 min)
- api_request_ms: API middleware timeout (default: 2 min)
- shutdown_ms: graceful shutdown timeout (default: 10 sec)

Addresses feedback about timeout issues during initial indexing and cold starts.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@dbinky dbinky merged commit 3862c1d into dev Jan 12, 2026
20 checks passed
@dbinky dbinky deleted the dev-timeout-fix branch January 12, 2026 01:13
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