Skip to content

fix for windows use.#12

Merged
vtemian merged 2 commits intovtemian:mainfrom
jackoelv:win
Nov 13, 2025
Merged

fix for windows use.#12
vtemian merged 2 commits intovtemian:mainfrom
jackoelv:win

Conversation

@jackoelv
Copy link
Contributor

@jackoelv jackoelv commented Nov 12, 2025

thanks for your project. I try to fix some bugs in windows, now It`s working fine, we can create a win branch for windows. thanks.


Summary by cubic

Improved Windows support across the CLI and pager: fixed console encoding, path encoding/decoding, and interactive input on Windows. Windows users can now list/open projects and page through output reliably.

  • Bug Fixes

    • Encode/decode Windows paths (C:/...) to Claude folder names (C--Users-...) and back.
    • Accept Windows-style project dirs and match them case-insensitively.
    • Use msvcrt for pager input; support arrow keys and PageUp/PageDown with fallbacks.
    • Set UTF-8 for stdout/stderr on Windows; fallback via PYTHONIOENCODING.
    • Add nul to .gitignore to avoid Windows reserved-name issues.
  • Dependencies

    • Bump claude-notes to 0.1.2 (uv.lock revision 3).

Written for commit d83d968. Summary will update automatically on new commits.

Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 issues found across 5 files

Prompt for AI agents (all 3 issues)

Understand the root cause of the following 3 issues and fix them.


<file name="src/claude_notes/cli.py">

<violation number="1" location="src/claude_notes/cli.py:28">
Decoding Windows project names replaces every &#39;-&#39; with a backslash, so encoded folders coming from paths like C:\Projects\my-project decode to C:\Projects\my\project, corrupting any directory name that contains a hyphen. Please add an escaping scheme (e.g., distinguish real hyphens from separators) so Windows paths round-trip correctly.</violation>
</file>

<file name="src/claude_notes/pager.py">

<violation number="1" location="src/claude_notes/pager.py:220">
Using `ch.lower()` here causes uppercase `G` to route to the top handler, preventing the capital key from reaching the bottom branch below. Limit this condition to the lowercase key only.</violation>

<violation number="2" location="src/claude_notes/pager.py:261">
`ch.lower()` can never equal the uppercase string &quot;G&quot;, so this branch is unreachable and Unix users cannot jump to the bottom. Compare directly against &quot;G&quot; instead.</violation>
</file>

Since this is your first cubic review, here's how it works:

  • cubic automatically reviews your code and comments on bugs and improvements
  • Teach cubic by replying to its comments. cubic learns from your replies and gets better over time
  • Ask questions if you need clarification on any suggestion

React with 👍 or 👎 to teach cubic. Mention @cubic-dev-ai to give feedback, ask questions, or re-run the review.

@vtemian
Copy link
Owner

vtemian commented Nov 12, 2025

@jackoelv thank you for the PR.
Please fix Cubic's comments, and we can merge after that.

1. encode folders name "-" to "--", when decode, "--" to "-".
2. get rid of all .lower() func.
@jackoelv
Copy link
Contributor Author

I have fix the issues and submit changes. But I have not test on my windows, because I'm working on Mac. please review it once more.

@vtemian vtemian merged commit d18f8ff into vtemian:main Nov 13, 2025
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.

2 participants