Skip to content

Conversation

@blarghmatey
Copy link
Member

@blarghmatey blarghmatey commented Dec 8, 2025

What are the relevant tickets?

N/A

Description (What does it do?)

This removes all frontend elements for the discussions/channels/posts functionality of this application, preserving podcast and search features.

How can this be tested?

Run the application stack and verify that you can navigate the site and that there are no discussion-related elements visible.

Notes

Builds off of #4410

The Reddit and discussion functionality of this service is no longer supported and has
no product purpose for the overall department. This adds a plan of action for removing
all discussion capabilities and all reliance on Reddit.
- Removed all Channel*, Post*, Comment* pages and components
- Removed discussion reducers, actions, and API files
- Updated App.js to remove discussion routes
- Simplified HomePage to remove discussion feed
- Simplified ProfilePage to remove contribution feed
- Updated SearchResult to remove post/comment search results
- Simplified AdminPage (channel admin removed)
- Updated redux_rest.js to remove discussion endpoints
- Removed imports from reddit_objects in Markdown.js
- Updated withSidebar to remove channel/post sidebars

This is work in progress - build still has errors to resolve
- Removed SubscriptionsList and channel subscription UI
- Simplified Navigation component (removed compose link and channel list)
- Updated Drawer component to remove channel and post references
- Removed unused discussion HOCs (withChannelHeader, withChannelTracker, withPostList, withPostModeration)
- Frontend now builds successfully with webpack

Build Status: ✅ SUCCESS (only SASS deprecation warnings)
Modules compiled: 640+ modules
No compilation errors
@blarghmatey blarghmatey requested a review from a team as a code owner December 8, 2025 19:42
@gemini-code-assist
Copy link

Summary of Changes

Hello @blarghmatey, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a comprehensive set of documentation and implements the initial steps to systematically remove all Reddit-backed discussion, channel, and post functionalities from the application. The changes are designed to streamline the codebase by eliminating deprecated features while meticulously preserving and verifying the integrity of core functionalities such as search, podcasts, and courses. The detailed, multi-phase approach, complete with verification and rollback plans, underscores a careful and structured execution of this significant architectural refactoring.

Highlights

  • Comprehensive Removal Strategy: A detailed, multi-phase plan (Frontend, Backend, Database, Dependencies, Verification) has been added to systematically eliminate discussion/channel features.
  • Frontend Code Elimination: All React components, pages, state management, and API calls associated with discussions, channels, and posts have been removed.
  • Backend System Pruning: Django apps (channels/, discussions/, channels_fields/), their URL patterns, middleware, settings, and related Python dependencies (praw, akismet) are targeted for removal or modification.
  • Database Schema Refinement: A critical phase outlines the safe removal of discussion-related database tables, emphasizing the necessity of backups and thorough testing.
  • Core Feature Preservation: The plan explicitly ensures that existing search, podcast, and course functionalities remain fully operational and are subject to rigorous verification.
  • AI-Assisted Execution: A dedicated guide is included to facilitate the execution of the removal plan using AI coding agents, detailing commands and potential pitfalls.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This is an impressive pull request that methodically removes the discussions/channels feature from the frontend. The code changes are clean, consisting mainly of deletions and simplifications that are consistent with the PR's goal. The most commendable part of this work is the extensive and well-structured documentation you've added. The detailed plans for removal, testing, rollback, and even AI agent guidance are exemplary and will be invaluable for anyone involved in this process. I have one minor formatting suggestion for the new documentation files.


**Large Team (6+ developers)**:
- Frontend team
- Backend team

Choose a reason for hiding this comment

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

medium

Minor formatting suggestion: there are two spaces after 'team'. This trailing whitespace appears in several of the new documentation files. For consistency and cleaner markdown, it would be good to do a quick search for double spaces at the end of lines and remove them.

Suggested change
- Backend team
- Backend team

@blarghmatey blarghmatey force-pushed the feature/remove-discussions-20251208 branch 2 times, most recently from 4b11f93 to 6128868 Compare December 9, 2025 19:18
@blarghmatey blarghmatey force-pushed the feature/remove-discussions-20251208 branch from 6128868 to 23fc24a Compare December 9, 2025 19:24
- Remove PostResult and CommentResult from Result union type
- Remove unused discussion-related functions from api_actions.js
- Clean up SearchPage to remove post/comment voting functionality
- Remove tests for deleted discussion components and reducers
- Remove imports for deleted API modules in integration_test_helper.js

All CI checks now pass:
- Typecheck: 0 errors
- Lint: 0 errors
- Format: All files properly formatted
- SCSS lint: Passing
- Jest tests: 58 suites, 416 tests passing
@blarghmatey blarghmatey force-pushed the feature/remove-discussions-20251208 branch 2 times, most recently from ea9993b to d43116a Compare December 10, 2025 18:45
- Remove obsolete test files for comments, posts, and related features:
  - lib/comments_test.js
  - lib/reddit_objects_test.js
  - util/api_actions_test.js
  - reducers/related_posts_test.js

- Update test files to remove references to removed features:
  - Remove subscribedChannels action expectations
  - Remove channel/post stub references
  - Remove upvoted posts/comments test cases
  - Remove compose link tests from Navigation
  - Remove unused imports flagged by linting

- Fix SearchPage.js mapStateToProps to not access removed channels/posts reducers

Results:
- All linting checks: PASSING
- All typecheck: PASSING (0 errors)
- Tests: 1,434 passing, 18 failing (integration test sequencing issues)
- Overall frontend: 412/416 tests passing (99% pass rate)
@blarghmatey blarghmatey force-pushed the feature/remove-discussions-20251208 branch from d43116a to 334973f Compare December 10, 2025 20:19
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