Compare commits

...
Sign in to create a new pull request.

49 commits

Author SHA1 Message Date
dc2f0d3b53
Test cases for local_timeline_available option 2024-09-22 23:43:00 +10:00
d15e9ef6e6
docs: Document new local_timeline_available option 2024-09-22 23:42:41 +10:00
5f1e8119b9
Add option to disable local timeline 2024-09-22 23:41:53 +10:00
050bc74437 Merge branch 'develop' into stable 2024-05-22 19:42:46 +01:00
c02e3432d9 Merge branch 'develop' into stable 2024-04-27 15:11:04 +01:00
f614bf2725 Merge branch 'develop' into stable 2024-04-27 15:08:35 +01:00
26a91d5c9e Merge branch 'develop' into stable 2024-04-02 14:49:23 +01:00
d71d52302c Merge branch 'develop' into stable 2024-03-30 13:00:13 +00:00
11c305b64b Merge branch 'develop' into stable 2024-03-30 11:45:18 +00:00
14515d8d4a Merge branch 'develop' into stable 2024-03-30 11:44:44 +00:00
a03f3a9d89 Merge branch 'develop' into stable 2024-02-24 13:57:20 +00:00
ebfb617b26 Update .woodpecker/build-amd64.yml 2023-08-26 13:41:52 +00:00
0af8e93135 bump version 2023-08-16 10:44:57 +01:00
98a64ab145 Mix format 2023-08-16 00:35:08 +01:00
94d1af2c4c Disallow nil hosts in should_federate 2023-08-16 00:34:59 +01:00
43c5fd5db0 bullseye build (you owe me for this one) 2023-08-08 22:43:24 +01:00
c887dd4f2e Merge branch 'develop' into stable 2023-08-06 15:13:13 +01:00
ba1ed37edf Merge branch 'develop' into stable 2023-08-05 14:12:59 +01:00
f1de9bd9ba Merge branch 'develop' into stable 2023-08-05 13:37:21 +01:00
a4bab7bdfa Merge branch 'develop' into stable 2023-08-05 13:36:43 +01:00
a7dbca885f Merge branch 'develop' into stable 2023-08-05 13:26:54 +01:00
9d7c877de0 Merge branch 'develop' into stable 2023-05-26 20:46:56 +01:00
39a878f530 Merge branch 'develop' into stable 2023-05-26 12:07:05 +01:00
dcee1b109b Merge branch 'develop' into stable 2023-05-26 12:05:11 +01:00
9a8373a3f5 Merge branch 'develop' into stable 2023-05-23 14:10:19 +01:00
ccae7ef824 Merge branch 'develop' into stable 2023-04-14 18:10:07 +01:00
8504878187 Merge branch 'develop' into stable 2023-04-14 18:09:32 +01:00
fef4bae006 Merge branch 'develop' into stable 2023-03-11 18:25:07 +00:00
86dcf273c5 Merge branch 'develop' into stable 2023-03-11 17:26:58 +00:00
36cb19dbf2 Merge branch 'develop' into stable 2023-02-15 22:13:30 +00:00
71d08991ea Merge branch 'develop' into stable 2023-02-11 11:19:42 +00:00
d756607112 Merge branch 'develop' into stable 2023-02-11 10:59:04 +00:00
367bc9c818 Merge branch 'develop' into stable 2023-02-11 10:57:01 +00:00
81caf77223 Merge branch 'develop' into stable 2023-02-11 10:49:01 +00:00
551f92dd50 Merge branch 'develop' into stable 2023-02-11 10:43:22 +00:00
d9508474b6 Merge pull request 'clean-up docs to avoid version-mismatches in BE and FE in new installs (for stable)' (#378) from stefan230/akkoma:stable into stable
Reviewed-on: AkkomaGang/akkoma#378
2022-12-19 10:59:34 +00:00
f676007b18 clean-up docs to avoid mismatches in BE and FE. Clearly state that stable-versions are installed 2022-12-16 17:23:31 +01:00
63f2d1cbef Merge branch 'develop' into stable 2022-12-10 14:50:35 +00:00
f91b896731 Merge branch 'develop' into stable 2022-11-12 15:34:19 +00:00
af90a4e51b Merge branch 'develop' into stable 2022-10-14 12:49:46 +01:00
5e7be063c7 Merge branch 'develop' into stable 2022-10-08 12:12:52 +01:00
a1317bf541 use on-release tag 2022-09-20 13:36:28 +01:00
a0dd670e68 ensure we use the same OTP for all releases 2022-09-20 13:34:50 +01:00
11d29d27b8 Ensure migrations succeed (#216)
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: AkkomaGang/akkoma#216
2022-09-16 12:53:45 +01:00
44da806a77 Merge branch 'develop' into stable 2022-09-10 17:13:49 +01:00
d7c805b0bb Merge pull request '2022.09 stable' (#208) from develop into stable
Reviewed-on: AkkomaGang/akkoma#208
2022-09-10 16:06:18 +00:00
c52982e9c5 add finch outbound proxy support (#158)
Reviewed-on: AkkomaGang/akkoma#158
2022-08-24 16:03:17 +01:00
2e433e106f generate-keys-at-registration-time (#181)
Reviewed-on: AkkomaGang/akkoma#181
2022-08-24 15:39:30 +01:00
bfbe4e8dce Merge pull request 'stable release' (#160) from develop into stable
Reviewed-on: AkkomaGang/akkoma#160
2022-08-12 15:25:01 +00:00
6 changed files with 44 additions and 5 deletions

View file

@ -76,6 +76,7 @@ pipeline:
- *clean
- echo "import Config" > config/prod.secret.exs
- *setup-hex
- *mix-clean
- *tag-build
- mix deps.get --only prod
- mix release --path release

View file

@ -339,6 +339,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## 2022.08
### Removed
- Non-finch HTTP adapters. `:tesla, :adapter` is now highly recommended to be set to the default.
## 2022.08
### Added
- extended runtime module support, see config cheatsheet
- quote posting; quotes are limited to public posts

View file

@ -272,7 +272,8 @@
local_bubble: [],
max_frontend_settings_json_chars: 100_000,
export_prometheus_metrics: true,
federated_timeline_available: true
federated_timeline_available: true,
local_timeline_available: true
config :pleroma, :welcome,
direct_message: [

View file

@ -63,6 +63,7 @@ To add configuration to your config file, you can copy it from the base config.
* `local_bubble`: Array of domains representing instances closely related to yours. Used to populate the `bubble` timeline. e.g `["example.com"]`, (default: `[]`)
* `languages`: List of Language Codes used by the instance. This is used to try and set a default language from the frontend. It will try and find the first match between the languages set here and the user's browser languages. It will default to the first language in this setting if there is no match.. (default `["en"]`)
* `export_prometheus_metrics`: Enable prometheus metrics, served at `/api/v1/akkoma/metrics`, requiring the `admin:metrics` oauth scope.
* `local_timeline_available`: Set to `false` to remove access to the local timeline for all users.
## :database
* `improved_hashtag_timeline`: Setting to force toggle / force disable improved hashtags timeline. `:enabled` forces hashtags to be fetched from `hashtags` table for hashtags timeline. `:disabled` forces object-embedded hashtags to be used (slower). Keep it `:auto` for automatic behaviour (it is auto-set to `:enabled` [unless overridden] when HashtagsTableMigrator completes).

View file

@ -122,8 +122,14 @@ def public(%{assigns: %{user: user}} = conn, params) do
local_only = params[:local]
timeline_type = if local_only, do: :local, else: :federated
timeline_enabled =
case timeline_type do
:local -> Config.get([:instance, :local_timeline_available], true)
:federated -> Config.get([:instance, :federated_timeline_available], true)
end
with {:enabled, true} <-
{:enabled, local_only || Config.get([:instance, :federated_timeline_available], true)},
{:enabled, timeline_enabled},
{:authenticated, true} <-
{:authenticated, !(is_nil(user) and restrict_unauthenticated?(timeline_type))} do
Logger.debug("TimelineController.public: fetching activities")
@ -152,9 +158,15 @@ def public(%{assigns: %{user: user}} = conn, params) do
)
else
{:enabled, false} ->
error_msg =
case timeline_type do
:local -> "Local timeline is disabled"
:federated -> "Federated timeline is disabled"
end
conn
|> put_status(404)
|> json(%{error: "Federated timeline is disabled"})
|> json(%{error: error_msg})
{:authenticated, false} ->
fail_on_bad_auth(conn)

View file

@ -409,7 +409,7 @@ test "should not return local-only posts for anonymous users" do
assert [] = result
end
test "should return 404 if disabled" do
test "should return 404 if federated timeline disabled" do
clear_config([:instance, :federated_timeline_available], false)
result =
@ -420,7 +420,26 @@ test "should return 404 if disabled" do
assert %{"error" => "Federated timeline is disabled"} = result
end
test "should not return 404 if local is specified" do
test "should not return 404 if local timeline disabled" do
clear_config([:instance, :local_timeline_available], false)
build_conn()
|> get("/api/v1/timelines/public")
|> json_response_and_validate_schema(200)
end
test "should return 404 if local is specified and local timeline disabled" do
clear_config([:instance, :local_timeline_available], false)
result =
build_conn()
|> get("/api/v1/timelines/public?local=true")
|> json_response_and_validate_schema(404)
assert %{"error" => "Local timeline is disabled"} = result
end
test "should not return 404 if local is specified and federated timeline disabled" do
clear_config([:instance, :federated_timeline_available], false)
build_conn()