Implement Phase 3 of v1.3.0 tags feature per microformats-tags-design.md: Routes (starpunk/routes/public.py): - Add /tag/<tag> archive route with normalization and 404 handling - Pre-load tags in index route for all notes - Pre-load tags in note route for individual notes Admin (starpunk/routes/admin.py): - Parse comma-separated tag input in create route - Parse tag input in update route - Pre-load tags when displaying edit form - Empty tag field removes all tags Templates: - Add tag input field to templates/admin/edit.html - Add tag input field to templates/admin/new.html - Use Jinja2 map filter to display existing tags Implementation details: - Tag URL parameter normalized to lowercase before lookup - Tags pre-loaded using object.__setattr__ pattern (like media) - parse_tag_input() handles trim, dedupe, normalization - All existing tests pass (micropub categories, admin routes) Per architect design: - No pagination on tag archives (acceptable for v1.3.0) - No autocomplete in admin (out of scope) - Follows existing media loading patterns Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
2.2 KiB
2.2 KiB
StarPunk Backlog
Last Updated: 2025-12-10
Priority Levels
- Critical - Items that break existing functionality
- High - Important features or fixes
- Medium - Planned features
- Low - Nice-to-have, deferred indefinitely
Critical
No critical items
High
Strict Microformats2 Compliance
- Complete h-entry properties (p-name, p-summary, p-author)
- Author h-card implementation
- h-feed wrapper for index pages
- Full IndieWeb parser compatibility
- Microformats2 validation suite
- See: ADR-040
Enhanced Feed Media Support
- Multiple image sizes/thumbnails (150px, 320px, 640px, 1280px)
- Full Media RSS implementation (media:group, all attributes)
- Enhanced JSON Feed attachments
- ATOM enclosure links for all media
- See: ADR-059
Tag/Category System
- Database schema for tags
- Tag-based filtering
- Tag clouds
- Category RSS/ATOM/JSON feeds
- p-category microformats2 support
Medium
Webmentions
- Receive endpoint
- Send on publish
- Display received mentions
- Moderation interface
Reply Contexts
- In-reply-to support
- Like/repost posts
- Bookmark posts
Media Uploads Enhancements
- File management interface
- Thumbnail generation
- CDN integration (optional)
Photo Posts
- Instagram-like photo notes
- Gallery views
- EXIF data preservation
Audio/Podcast Support
- Podcast RSS with iTunes namespace
- Audio duration extraction
- Episode metadata support
- Apple/Google podcast compatibility
- See: ADR-059
Video Support
- Video upload handling
- Poster image generation
- Video in Media RSS feeds
- HTML5 video embedding
Low
Flaky Migration Race Condition Tests
- Improve
test_migration_race_condition.py::TestGraduatedLogging::test_debug_level_for_early_retries - Test expects DEBUG retry messages but passes when migration succeeds without retries
- May need to mock or force retry conditions for reliable testing
Deferred Indefinitely
- Static Site Generation - Conflicts with dynamic Micropub
- Multi-language UI - Low priority for single-user system
- Advanced Analytics - Privacy concerns, use external tools
- Comments System - Use Webmentions instead
- WYSIWYG Editor - Markdown is sufficient
- Mobile App - Web interface is mobile-friendly