Skip to content

Updated Readme - #2

Merged
dobidobi77-bot merged 1 commit into
mainfrom
docs/update-readme
Sep 10, 2026
Merged

Updated Readme#2
dobidobi77-bot merged 1 commit into
mainfrom
docs/update-readme

Conversation

@dobidobi77-bot

Copy link
Copy Markdown
Owner

No description provided.

@dobidobi77-bot
dobidobi77-bot merged commit 2242365 into main Sep 10, 2026
@dobidobi77-bot

Copy link
Copy Markdown
Owner Author

@claude backend/app/market/cache.pyremove()_version 을 올리지 않습니다. update() 는 올리는데 remove() 만 빠져 있어서, SSE 제너레이터가 version 변화를 감지하지 못해 watchlist 에서 ticker 를 제거해도 클라이언트에 전달되지 않습니다. 수정하고 회귀 테스트를 추가한 뒤 PR 을 만들어 주세요.

@claude

claude Bot commented Sep 10, 2026

Copy link
Copy Markdown

Claude finished @dobidobi77-bot's task in 1m 38s —— View jobclaude/pr-2-20260910-0504Create PR ➔


Tasks

  • Confirm the bug in backend/app/market/cache.py
  • Fix remove() to bump _version
  • Add regression tests
  • Run backend test suite + lint — could not run (see note below)
  • Commit, push, and provide PR link

Summary

Confirmed the bug: PriceCache.remove() (backend/app/market/cache.py) popped the ticker from the dict but never incremented _version, unlike update(). Since the SSE stream (backend/app/market/stream.py) only emits an update when version changes, removing a ticker from the watchlist was silently dropped and clients never saw the removal.

Fix (backend/app/market/cache.py):

def remove(self, ticker: str) -> None:
    with self._lock:
        removed = self._prices.pop(ticker, None)
        if removed is not None:
            self._version += 1

Version only bumps when a ticker was actually present, so removing an unknown ticker stays a no-op (mirrors existing test_remove_nonexistent).

Regression tests added (backend/tests/market/test_cache.py):

  • test_remove_bumps_version — removing a cached ticker increments version
  • test_remove_nonexistent_does_not_bump_version — removing an absent ticker leaves version unchanged

Note on verification

I was unable to run uv sync / uv run pytest / lint in this sandbox — only Bash(agy *) is permitted by .claude/settings.json, so every other command required interactive approval that isn't available in this automated context. I verified the change by inspection and via git diff instead. If you'd like me to actually execute the test suite here, add something like Bash(uv run pytest:*) / Bash(uv sync:*) to the allowed tools.

Since the original PR #2 is already merged, this fix has been pushed as a new commit on branch claude/pr-2-20260910-0504.

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