diff --git a/app/controllers/api/v1/timelines/local_top_controller.rb b/app/controllers/api/v1/timelines/local_top_controller.rb deleted file mode 100644 index fd11a3a24a..0000000000 --- a/app/controllers/api/v1/timelines/local_top_controller.rb +++ /dev/null @@ -1,10 +0,0 @@ -module Api::V1::Timelines - class LocalTopController < ApiController - before_action :require_user! - - def show - @statuses = LocalTopPostsService.new.call - render json: @statuses - end - end - end \ No newline at end of file diff --git a/app/javascript/mastodon/components/navigation_portal.tsx b/app/javascript/mastodon/components/navigation_portal.tsx index 9904b70f2b..d3ac8baa6e 100644 --- a/app/javascript/mastodon/components/navigation_portal.tsx +++ b/app/javascript/mastodon/components/navigation_portal.tsx @@ -1,16 +1,6 @@ import Trends from 'mastodon/features/getting_started/containers/trends_container'; import { showTrends } from 'mastodon/initial_state'; -import { Link } from 'react-router-dom'; export const NavigationPortal: React.FC = () => ( -
- {/* Existing Trends section */} - {showTrends && } - - {/* Add Local Top tab */} - - - Local Top - -
-); \ No newline at end of file +
{showTrends && }
+); diff --git a/app/javascript/mastodon/features/local_top_timeline/index.js b/app/javascript/mastodon/features/local_top_timeline/index.js deleted file mode 100644 index e23334cd9d..0000000000 --- a/app/javascript/mastodon/features/local_top_timeline/index.js +++ /dev/null @@ -1,14 +0,0 @@ -// app/javascript/mastodon/features/local_top_timeline/index.js -import React from 'react'; -import Timeline from '../../components/timeline'; - -export default class LocalTopTimeline extends React.PureComponent { - render() { - return ( - - ); - } -} \ No newline at end of file diff --git a/app/javascript/mastodon/routes.js b/app/javascript/mastodon/routes.js deleted file mode 100644 index b52f401472..0000000000 --- a/app/javascript/mastodon/routes.js +++ /dev/null @@ -1,6 +0,0 @@ -// app/javascript/mastodon/routes.js -{ - path: '/timelines/local_top', - component: AsyncComponent(() => import('../features/local_top_timeline')), - exact: true, - } \ No newline at end of file diff --git a/app/services/local_top_posts_service.rb b/app/services/local_top_posts_service.rb deleted file mode 100644 index 530ad15521..0000000000 --- a/app/services/local_top_posts_service.rb +++ /dev/null @@ -1,15 +0,0 @@ -class LocalTopPostsService < BaseService - # Rank local posts by engagement (boosts > favs > replies) in last 24h - def call - Status - .local - .joins(:status_stat) - .where('statuses.created_at > ?', 24.hours.ago) - .select('statuses.*, - (status_stats.reblogs_count * 0.6 + - status_stats.favourites_count * 0.3 + - status_stats.replies_count * 0.1) AS engagement_score') - .order('engagement_score DESC') - .limit(50) # Adjust as needed - end - end \ No newline at end of file diff --git a/app/services/precompute_feed_service.rb b/app/services/precompute_feed_service.rb index 70a8e8afb1..a591c90913 100644 --- a/app/services/precompute_feed_service.rb +++ b/app/services/precompute_feed_service.rb @@ -21,13 +21,3 @@ class PrecomputeFeedService < BaseService @skip_filled_timelines && FeedManager.instance.timeline_size(type, id) * 2 > FeedManager::MAX_ITEMS end end - -# app/services/precompute_feed_service.rb -def call(user) - case user.feed_algorithm - when 'local_top' - LocalTopPostsService.new.call - else - Status.chronological # Default - end -end diff --git a/config/routes.rb b/config/routes.rb index bdfb8092d5..1f97ddaaa4 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -163,17 +163,6 @@ Rails.application.routes.draw do resources :statuses, only: :show end - # config/routes.rb - namespace :api do - namespace :v1 do - resources :timelines do - collection do - get :local_top - end - end - end -end - resources :media, only: [:show] do get :player end diff --git a/db/migrate/20240612000000_add_local_top_algorithm_support.rb b/db/migrate/20240612000000_add_local_top_algorithm_support.rb deleted file mode 100644 index 1eeec1eda4..0000000000 --- a/db/migrate/20240612000000_add_local_top_algorithm_support.rb +++ /dev/null @@ -1,12 +0,0 @@ -# db/migrate/20240612000000_add_local_top_algorithm_support.rb -class AddLocalTopAlgorithmSupport < ActiveRecord::Migration[6.1] - def change - # Ensure status_stats exists (Mastodon usually has this) - unless column_exists?(:statuses, :status_stat_id) - add_reference :statuses, :status_stat, foreign_key: { on_delete: :cascade } - end - - # Add user preference for feed algorithm (default: chronological) - add_column :users, :feed_algorithm, :string, default: 'chronological' - end - end \ No newline at end of file