Skip to content

[Epic] Add Windows support #66

Description

@shellen

Summary

Port Pull Read to Windows 10 (1803+) and Windows 11. The codebase is well-positioned — core logic (feed parsing, extraction, Markdown writing, viewer server) is pure TypeScript with no platform dependencies. The main work is config paths, secret storage, CI pipeline, and testing.

Research: See docs/plans/2026-02-24-windows-port.md for full analysis.

Estimated effort: ~3–4 days for MVP, ~5–6 days polished with Copilot Runtime.

Architecture — What's Already Cross-Platform

Layer Platform-specific? Notes
Feed parsing (feed.ts) No Pure TypeScript
Article extraction (extractor.ts) No linkedom + Readability
Markdown writer (writer.ts) No Pure TypeScript
Viewer server (viewer.ts) No Node HTTP server
Summarizer (summarizer.ts) Partially Apple Intelligence is macOS-only
TTS (tts providers) Partially Browser TTS + cloud are cross-platform; Kokoro is local
Config paths Yes ~/.config/pullread/%APPDATA%\pullread\
API key storage Yes macOS Keychain → Windows Credential Manager
Cookie extraction Yes macOS-specific Safari/Chrome cookie access

MVP Checklist

Nice-to-Have

Risks

  • WebView2 differences: Edge-based WebView2 vs macOS WKWebView may have rendering differences in viewer HTML
  • Font rendering: Self-hosted fonts (Work Sans, etc.) may render differently — ClearType vs macOS font smoothing
  • Kokoro TTS: Local TTS model loading may behave differently on Windows
  • No Safari cookies: Windows users can't import Safari reading sessions

Decision

Recommend deferring until after current feature work stabilizes (v0.4.0 timeframe) to avoid splitting focus.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions