From: FloatingGhost Date: Fri, 14 Apr 2023 15:56:10 +0000 (+0100) Subject: Merge branch 'develop' into frontend-switcher-9000 X-Git-Url: http://git.squeep.com/?a=commitdiff_plain;h=4c9c959bb3c3968e996975289def82f392d102ae;hp=-c;p=akkoma Merge branch 'develop' into frontend-switcher-9000 --- 4c9c959bb3c3968e996975289def82f392d102ae diff --combined config/config.exs index 8ed3c9cd9,e216caf9d..c1e051148 --- a/config/config.exs +++ b/config/config.exs @@@ -261,7 -261,8 +261,8 @@@ config :pleroma, :instance privileged_staff: false, local_bubble: [], max_frontend_settings_json_chars: 100_000, - export_prometheus_metrics: true + export_prometheus_metrics: true, + federated_timeline_available: true config :pleroma, :welcome, direct_message: [ @@@ -745,9 -746,6 +746,9 @@@ config :pleroma, :frontends primary: %{"name" => "pleroma-fe", "ref" => "stable"}, admin: %{"name" => "admin-fe", "ref" => "stable"}, mastodon: %{"name" => "mastodon-fe", "ref" => "akkoma"}, + pickable: [ + "pleroma-fe/stable" + ], swagger: %{ "name" => "swagger-ui", "ref" => "stable", @@@ -813,7 -811,7 +814,7 @@@ config :pleroma, :majic_pool, size: private_instance? = :if_instance_is_private config :pleroma, :restrict_unauthenticated, - timelines: %{local: private_instance?, federated: private_instance?}, + timelines: %{local: private_instance?, federated: private_instance?, bubble: true}, profiles: %{local: private_instance?, remote: private_instance?}, activities: %{local: private_instance?, remote: private_instance?} diff --combined config/description.exs index 75fd23566,6520bc29a..d329f8afa --- a/config/description.exs +++ b/config/description.exs @@@ -969,6 -969,12 +969,12 @@@ config :pleroma, :config_description, key: :export_prometheus_metrics, type: :boolean, description: "Enable prometheus metrics (at /api/v1/akkoma/metrics)" + }, + %{ + key: :federated_timeline_available, + type: :boolean, + description: + "Let people view the 'firehose' feed of all public statuses from all instances." } ] }, @@@ -2993,6 -2999,11 +2999,11 @@@ key: :federated, type: :boolean, description: "Disallow viewing the whole known network timeline." + }, + %{ + key: :bubble, + type: :boolean, + description: "Disallow viewing the bubble timeline." } ] }, @@@ -3148,12 -3159,6 +3159,12 @@@ description: "A map containing available frontends and parameters for their installation.", children: frontend_options + }, + %{ + key: :pickable, + type: {:list, :string}, + description: + "A list containing all frontends users can pick as their preference, format is :name/:ref, e.g pleroma-fe/stable." } ] }, diff --combined lib/pleroma/web/router.ex index d02ae3460,24ca5c37b..7550eefdf --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@@ -466,29 -466,6 +466,29 @@@ defmodule Pleroma.Web.Router d put("/statuses/:id/emoji_reactions/:emoji", EmojiReactionController, :create) end + scope "/akkoma/", Pleroma.Web.AkkomaAPI do + pipe_through(:browser) + + get("/frontend", FrontendSwitcherController, :switch) + post("/frontend", FrontendSwitcherController, :do_switch) + end + + scope "/api/v1/akkoma", Pleroma.Web.AkkomaAPI do + pipe_through(:api) + + get( + "/api/v1/akkoma/preferred_frontend/available", + FrontendSettingsController, + :available_frontends + ) + + put( + "/api/v1/akkoma/preferred_frontend", + FrontendSettingsController, + :update_preferred_frontend + ) + end + scope "/api/v1/akkoma", Pleroma.Web.AkkomaAPI do pipe_through(:authenticated_api) get("/metrics", MetricsController, :show) @@@ -621,7 -598,6 +621,6 @@@ get("/timelines/home", TimelineController, :home) get("/timelines/direct", TimelineController, :direct) get("/timelines/list/:list_id", TimelineController, :list) - get("/timelines/bubble", TimelineController, :bubble) get("/announcements", AnnouncementController, :index) post("/announcements/:id/dismiss", AnnouncementController, :mark_read) @@@ -676,6 -652,7 +675,7 @@@ get("/timelines/public", TimelineController, :public) get("/timelines/tag/:tag", TimelineController, :hashtag) + get("/timelines/bubble", TimelineController, :bubble) get("/polls/:id", PollController, :show)