2025-12-08 21:28 UTC
- Docker Compose stack running
- Django web container
- PostgreSQL database
- OpenSearch service
docker compose exec web python manage.py checkResult: System check identified no issues (0 silenced).
- ✅
/c/test/- Channel page - ✅
/c/test/abc123/test-post/- Post detail page - ✅
/channel/test/- Channel redirect - ✅
/create_post/- Create post page - ✅
/manage/c/edit/test/basic/- Channel management page
- ✅
/podcasts/→ resolves to 'podcasts' view - ✅
/courses/→ resolves to 'courses' view - ✅
/search/→ resolves to 'site-search' view - ✅
/profile/testuser/→ resolves to 'profile' view
All Python imports resolve correctly:
- search.serializers - imports without OSPostSerializer/OSCommentSerializer
- search.search_index_helpers - stub functions work for backward compatibility
- search.indexing_api - no discussion serializers imported
- notifications.api - comment notifier properly stubbed
channelsin INSTALLED_APPS (marked with TODO)channels_fieldsin INSTALLED_APPS (marked with TODO)ChannelApiMiddlewarein MIDDLEWARE (marked with TODO)
These are kept temporarily because:
- The channels/ directory still exists
- Other apps still import from channels.models
- Will be properly removed in Phase 3
- All discussion URL patterns from urls.py
- Discussion Celery beat tasks from settings_celery.py
- Discussion indexing functions from search/
To maintain compatibility while channels/ app exists, these stubs were added:
reddit_object_persist()- deprecated decoratorindex_new_post(),index_new_comment()- indexing stubsupdate_post_text(),update_comment_text()- update stubsupdate_channel_index()- channel update stubset_post_to_deleted(),set_comment_to_deleted()- deletion stubsupdate_indexed_score()- scoring stubsend_comment_notifications()- notification stub
All marked as deprecated with clear comments.
open_discussions/settings.py- Re-added channels apps temporarily with TODOopen_discussions/settings.py- Re-added ChannelApiMiddleware temporarily with TODOsearch/indexing_api.py- Removed discussion serializer importssearch/search_index_helpers.py- Added compatibility stubsnotifications/api.py- Stubbed comment notifications
- Delete
channels/directory completely - Delete
channels_fields/directory completely - Remove channels/channels_fields from INSTALLED_APPS (permanent)
- Remove ChannelApiMiddleware from MIDDLEWARE (permanent)
- Remove all stub functions from search_index_helpers.py
- Update notifications/models.py to remove Channel FK
- Update other apps that import from channels
- Remove praw/prawcore dependencies from pyproject.toml
- Create database migrations to remove discussion tables
- Test migrations in development
- Document rollback procedures
✅ Phase 2 is functionally complete with the following caveats:
- Discussion URLs are removed and return 404
- Discussion API endpoints are removed
- Discussion indexing is disabled
- Discussion Celery tasks are removed
- Backward compatibility stubs allow Django to start
- channels/channels_fields apps still in INSTALLED_APPS
- Stub functions maintain API compatibility
- These will be cleaned up in Phase 3
🎯 Next Steps: Proceed to Phase 3: Django App Deletion