Skip to content

Add comprehensive TODO list and analysis of image cycling issues#1

Draft
Copilot wants to merge 3 commits intomainfrom
copilot/create-todo-list-file
Draft

Add comprehensive TODO list and analysis of image cycling issues#1
Copilot wants to merge 3 commits intomainfrom
copilot/create-todo-list-file

Conversation

Copy link
Copy Markdown

Copilot AI commented Oct 26, 2025

Analyzed KindleDash project to identify next development priorities and documented critical bug in slide rotation logic.

Files Added

todo_list.md

Comprehensive 269-line TODO list organized by priority:

  • Critical: Image cycling bugs in move_current_image.py with implementation examples
  • High Priority: Authentication API, configuration endpoints, real-time preview, slide management
  • Medium Priority: Error handling, overlay enhancements, image scraper improvements
  • Low Priority: Documentation, testing, performance, advanced features
  • Quick Wins: 8 easy fixes for immediate value
  • Version Roadmap: v0.2.0-alpha → v1.0.0 release planning

.gitignore

Standard Python exclusions plus project-specific patterns for image_cache/, current_image/*.png, and state files.

Image Cycling Issues Identified

Current implementation in move_current_image.py has 4 critical bugs:

  1. Index bounds: current_index not validated when enabled slides list changes dynamically
  2. Missing images: Silent failure when get_latest_slide_image() returns None
  3. No state persistence: Always restarts from index 0
  4. Race conditions: Attempts to display slides before images are scraped

Recommended fix with retry logic:

# Validate bounds and handle empty list
if not enabled_slides:
    print("[MoveImage] No enabled slides, sleeping...")
    time.sleep(60)
    continue
    
if current_index >= len(enabled_slides):
    current_index = 0
    
# Retry with next slide if current has no image
attempts = 0
max_attempts = len(enabled_slides)
while attempts < max_attempts:
    slide_name = enabled_slides[current_index]
    if get_latest_slide_image(slide_name):
        update_current_image(slide_name)
        break
    else:
        print(f"[MoveImage] No image for {slide_name}, trying next slide")
        current_index = (current_index + 1) % len(enabled_slides)
        attempts += 1

State persistence requires adding cycling_state.json to track last displayed slide across restarts.

Original prompt

Take a look at the current state of this project and see what i should be working on next here. Make me a todo_list.md file in the repo with items that need to be fixed, features that need to be implimented, or any other tasks that need doing here. The cycling of the images wasnt working correctly last time i took a look at this project and i dont think ive fixed that yet so take a look there and give me some suggestions or considerations for the implementation that was used there to cycle the currently displayed image.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits October 26, 2025 09:12
Co-authored-by: angelicadvocate <202484976+angelicadvocate@users.noreply.github.com>
Co-authored-by: angelicadvocate <202484976+angelicadvocate@users.noreply.github.com>
Copilot AI changed the title [WIP] Add todo list for project tasks Add comprehensive TODO list and analysis of image cycling issues Oct 26, 2025
Copilot AI requested a review from angelicadvocate October 26, 2025 09:16
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