From 2e9164584bb1fda100e00b0f4e43973297ab4701 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Mon, 30 Nov 2020 12:56:05 -0600 Subject: [PATCH 01/12] Version v0.8.8 --- ansible/VERSION | 2 +- docker/dev/docker-compose.yml | 2 +- docker/federation/docker-compose.yml | 10 +++++----- docker/prod/docker-compose.yml | 4 ++-- docker/travis/docker_push.sh | 4 ++-- lemmy_api/src/version.rs | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ansible/VERSION b/ansible/VERSION index 060b61642..90d9dc166 100644 --- a/ansible/VERSION +++ b/ansible/VERSION @@ -1 +1 @@ -v0.8.7 +v0.8.8 diff --git a/docker/dev/docker-compose.yml b/docker/dev/docker-compose.yml index 27f76b1bb..e26bb376d 100644 --- a/docker/dev/docker-compose.yml +++ b/docker/dev/docker-compose.yml @@ -16,7 +16,7 @@ services: - postgres - iframely lemmy-ui: - image: dessalines/lemmy-ui:v0.8.7 + image: dessalines/lemmy-ui:v0.8.8 ports: - "1235:1234" restart: always diff --git a/docker/federation/docker-compose.yml b/docker/federation/docker-compose.yml index e9bd6652f..2c6f16b98 100644 --- a/docker/federation/docker-compose.yml +++ b/docker/federation/docker-compose.yml @@ -29,7 +29,7 @@ services: - ./volumes/pictrs_alpha:/mnt lemmy-alpha-ui: - image: dessalines/lemmy-ui:v0.8.7 + image: dessalines/lemmy-ui:v0.8.8 environment: - LEMMY_INTERNAL_HOST=lemmy-alpha:8541 - LEMMY_EXTERNAL_HOST=localhost:8541 @@ -68,7 +68,7 @@ services: - ./volumes/postgres_alpha:/var/lib/postgresql/data lemmy-beta-ui: - image: dessalines/lemmy-ui:v0.8.7 + image: dessalines/lemmy-ui:v0.8.8 environment: - LEMMY_INTERNAL_HOST=lemmy-beta:8551 - LEMMY_EXTERNAL_HOST=localhost:8551 @@ -107,7 +107,7 @@ services: - ./volumes/postgres_beta:/var/lib/postgresql/data lemmy-gamma-ui: - image: dessalines/lemmy-ui:v0.8.7 + image: dessalines/lemmy-ui:v0.8.8 environment: - LEMMY_INTERNAL_HOST=lemmy-gamma:8561 - LEMMY_EXTERNAL_HOST=localhost:8561 @@ -147,7 +147,7 @@ services: # An instance with only an allowlist for beta lemmy-delta-ui: - image: dessalines/lemmy-ui:v0.8.7 + image: dessalines/lemmy-ui:v0.8.8 environment: - LEMMY_INTERNAL_HOST=lemmy-delta:8571 - LEMMY_EXTERNAL_HOST=localhost:8571 @@ -187,7 +187,7 @@ services: # An instance who has a blocklist, with lemmy-alpha blocked lemmy-epsilon-ui: - image: dessalines/lemmy-ui:v0.8.7 + image: dessalines/lemmy-ui:v0.8.8 environment: - LEMMY_INTERNAL_HOST=lemmy-epsilon:8581 - LEMMY_EXTERNAL_HOST=localhost:8581 diff --git a/docker/prod/docker-compose.yml b/docker/prod/docker-compose.yml index 0e87c31b9..a0d859e33 100644 --- a/docker/prod/docker-compose.yml +++ b/docker/prod/docker-compose.yml @@ -12,7 +12,7 @@ services: restart: always lemmy: - image: dessalines/lemmy:v0.8.7 + image: dessalines/lemmy:v0.8.8 ports: - "127.0.0.1:8536:8536" restart: always @@ -26,7 +26,7 @@ services: - iframely lemmy-ui: - image: dessalines/lemmy-ui:v0.8.7 + image: dessalines/lemmy-ui:v0.8.8 ports: - "1235:1234" restart: always diff --git a/docker/travis/docker_push.sh b/docker/travis/docker_push.sh index 217166618..da51a1595 100644 --- a/docker/travis/docker_push.sh +++ b/docker/travis/docker_push.sh @@ -1,5 +1,5 @@ #!/bin/sh echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin docker tag dessalines/lemmy:travis \ - dessalines/lemmy:v0.8.7 -docker push dessalines/lemmy:v0.8.7 + dessalines/lemmy:v0.8.8 +docker push dessalines/lemmy:v0.8.8 diff --git a/lemmy_api/src/version.rs b/lemmy_api/src/version.rs index 450fd957f..c95b3c29d 100644 --- a/lemmy_api/src/version.rs +++ b/lemmy_api/src/version.rs @@ -1 +1 @@ -pub const VERSION: &str = "v0.8.7"; +pub const VERSION: &str = "v0.8.8"; From 3a90f69efcc3dd2e2faa7ca7fced3b7a04726d43 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Mon, 30 Nov 2020 14:24:09 -0500 Subject: [PATCH 02/12] Revert "Short intro explanation, reformatted as a table" This reverts commit 961fc9d0ce1683e79188d42594ad9a59f59b0426. --- docs/src/about_ranking.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/docs/src/about_ranking.md b/docs/src/about_ranking.md index 854b4da88..0f91b7e39 100644 --- a/docs/src/about_ranking.md +++ b/docs/src/about_ranking.md @@ -1,17 +1,16 @@ # Trending / Hot / Best Sorting algorithm - -An expected feature in link aggregators is a kind of "Trending" sort which shows users a mixture of new posts / comments and popular ones, making for a display order which highlights the most currently active parts of the site / thread. This keeps the experience fresh and makes sure the site stays moving. Various flaws can be found in the ways that popular link aggregators like Reddit have implemented "Hot" or "Trending" sorts, so Lemmy has its own algorithm. - -## Goals and Considerations +## Goals - During the day, new posts and comments should be near the top, so they can be voted on. - After a day or so, the time factor should go away. - Use a log scale, since votes tend to snowball, and so the first 10 votes are just as important as the next hundred. -| Reddit | Hacker News | Lemmy | -|-|-|-| -| Does not take the lifetime of the thread into account, [giving early comments an overwhelming advantage over later ones,](https://minimaxir.com/2016/11/first-comment/) with the effect being even worse in small communities. New comments pool at the bottom of the thread, effectively killing off discussion and making each thread a race to comment early. This lowers the quality of conversation and rewards comments that are repetitive and spammy. | While far superior to Reddit's implementation for its decay of scores over time, [Hacker News' ranking algorithm](https://medium.com/hacking-and-gonzo/how-hacker-news-ranking-algorithm-works-1d9b0cf2c08d) does not use a logarithmic scale for scores. | Counterbalances the snowballing effect of votes over time with a logarithmic scale. Negates the inherent advantage of early comments while still ensuring that votes still matter in the long-term, not nuking older popular comments. | +## Reddit Sorting +[Reddit's comment sorting algorithm](https://medium.com/hacking-and-gonzo/how-reddit-ranking-algorithms-work-ef111e33d0d9), the wilson confidence sort, is inadequate, because it completely ignores time. What ends up happening, especially in smaller subreddits, is that the early comments end up getting upvoted, and newer comments stay at the bottom, never to be seen. Research showed that nearly all top comments are just the [first ones posted.](https://minimaxir.com/2016/11/first-comment/) -## Additional Details +## Hacker News Sorting +The [Hacker New's ranking algorithm](https://medium.com/hacking-and-gonzo/how-hacker-news-ranking-algorithm-works-1d9b0cf2c08d) is great, but it doesn't use a log scale for the scores. + +## My Algorithm ``` Rank = ScaleFactor * log(Max(1, 3 + Score)) / (Time + 2)^Gravity From 7f1ab6a5cdb54082d3d3ba8ed80287c9a90fdb8f Mon Sep 17 00:00:00 2001 From: Scarlett <63085504+Whayme@users.noreply.github.com> Date: Mon, 30 Nov 2020 13:53:08 -0600 Subject: [PATCH 03/12] Replaced table --- docs/src/about_ranking.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/src/about_ranking.md b/docs/src/about_ranking.md index 854b4da88..5ca77613f 100644 --- a/docs/src/about_ranking.md +++ b/docs/src/about_ranking.md @@ -7,11 +7,19 @@ An expected feature in link aggregators is a kind of "Trending" sort which shows - After a day or so, the time factor should go away. - Use a log scale, since votes tend to snowball, and so the first 10 votes are just as important as the next hundred. -| Reddit | Hacker News | Lemmy | -|-|-|-| -| Does not take the lifetime of the thread into account, [giving early comments an overwhelming advantage over later ones,](https://minimaxir.com/2016/11/first-comment/) with the effect being even worse in small communities. New comments pool at the bottom of the thread, effectively killing off discussion and making each thread a race to comment early. This lowers the quality of conversation and rewards comments that are repetitive and spammy. | While far superior to Reddit's implementation for its decay of scores over time, [Hacker News' ranking algorithm](https://medium.com/hacking-and-gonzo/how-hacker-news-ranking-algorithm-works-1d9b0cf2c08d) does not use a logarithmic scale for scores. | Counterbalances the snowballing effect of votes over time with a logarithmic scale. Negates the inherent advantage of early comments while still ensuring that votes still matter in the long-term, not nuking older popular comments. | +## Implementations + +### Reddit +Does not take the lifetime of the thread into account, [giving early comments an overwhelming advantage over later ones,](https://minimaxir.com/2016/11/first-comment/) with the effect being even worse in small communities. New comments pool at the bottom of the thread, effectively killing off discussion and making each thread a race to comment early. This lowers the quality of conversation and rewards comments that are repetitive and spammy. + +### Hacker News + +While far superior to Reddit's implementation for its decay of scores over time, [Hacker News' ranking algorithm](https://medium.com/hacking-and-gonzo/how-hacker-news-ranking-algorithm-works-1d9b0cf2c08d) does not use a logarithmic scale for scores. + +### Lemmy + +Counterbalances the snowballing effect of votes over time with a logarithmic scale. Negates the inherent advantage of early comments while still ensuring that votes still matter in the long-term, not nuking older popular comments. -## Additional Details ``` Rank = ScaleFactor * log(Max(1, 3 + Score)) / (Time + 2)^Gravity From 4aa3180027c360fb14d9bb5993953e7039efb94a Mon Sep 17 00:00:00 2001 From: Porrumentzio <61913683+Porrumentzio@users.noreply.github.com> Date: Tue, 1 Dec 2020 17:25:04 +0100 Subject: [PATCH 04/12] Update lemmy_council.md (#1290) Removed line saying that council members are administrators on official instances, as it is unclear that currently only https://lemmy.ml is a official instance. --- docs/src/lemmy_council.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/src/lemmy_council.md b/docs/src/lemmy_council.md index d5dc5a6e4..45a8fa1bf 100644 --- a/docs/src/lemmy_council.md +++ b/docs/src/lemmy_council.md @@ -1,7 +1,6 @@ # Lemmy Council -- A group of lemmy developers and users that use a well-defined democratic process to steer the project in a positive direction, keep it aligned to community goals, and resolve conflicts. -- Council members are also added as administrators to any official Lemmy instances. +- A group of lemmy developers and users that use a well-defined democratic process to steer the project in a positive direction, keep it aligned to community goals, and resolve conflicts. ## 1. What gets voted on From 45efa94ba46ca70f20cb37fd8908be76bbb65dac Mon Sep 17 00:00:00 2001 From: Dessalines Date: Tue, 1 Dec 2020 12:48:39 -0500 Subject: [PATCH 05/12] Making sure image uploads have jwt cookie. Fixes #1291 (#1299) --- src/routes/images.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/routes/images.rs b/src/routes/images.rs index deaf11ebf..eb3a773f9 100644 --- a/src/routes/images.rs +++ b/src/routes/images.rs @@ -1,6 +1,7 @@ use actix::clock::Duration; use actix_web::{body::BodyStream, http::StatusCode, *}; use awc::Client; +use lemmy_api::claims::Claims; use lemmy_rate_limit::RateLimit; use lemmy_utils::settings::Settings; use serde::{Deserialize, Serialize}; @@ -46,7 +47,14 @@ async fn upload( body: web::Payload, client: web::Data, ) -> Result { - // TODO: check auth and rate limit here + // TODO: check rate limit here + let jwt = req + .cookie("jwt") + .expect("No auth header for picture upload"); + + if Claims::decode(jwt.value()).is_err() { + return Ok(HttpResponse::Unauthorized().finish()); + }; let mut res = client .request_from(format!("{}/image", Settings::get().pictrs_url), req.head()) From 4079235b0d6ef780ca7ce158c4684f8c0f2d6aad Mon Sep 17 00:00:00 2001 From: Dessalines Date: Tue, 1 Dec 2020 12:54:37 -0500 Subject: [PATCH 06/12] Fix post ranking docs in about guide. Fixes #1294 (#1295) * Fix post ranking docs in about guide. Fixes #1294 * Shortening lines to refer to not just posts. * Fixing top line. --- docs/src/about_guide.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/src/about_guide.md b/docs/src/about_guide.md index 3c5e34b4b..d9f8adb0d 100644 --- a/docs/src/about_guide.md +++ b/docs/src/about_guide.md @@ -12,9 +12,10 @@ Start typing... Type | Description --- | --- -Hot | Shows *trending* posts, based on the score, and the most recent comment time. -New | Newest posts. -Top | Shows the highest scoring posts in the given time frame. +Active | Trending sort based on the score, and the most recent comment time. +Hot | Trending sort based on the score, and the post creation time. +New | Newest items. +Top | The highest scoring items in the given time frame. For more detail, check the [Post and Comment Ranking details](about_ranking.md). From 2b5c69d6789c51c528e6654101623bd0c368ad5c Mon Sep 17 00:00:00 2001 From: nutomic Date: Tue, 1 Dec 2020 18:30:15 +0000 Subject: [PATCH 07/12] Add check to make sure that inbox doesnt receive local activities (ref #1283) (#147) Fixed comparison Add check to make sure that inbox doesnt receive local activities (ref #1283) Co-authored-by: Felix Ableitner Reviewed-on: https://yerbamate.ml/LemmyNet/lemmy/pulls/147 --- lemmy_apub/src/inbox/community_inbox.rs | 2 ++ lemmy_apub/src/inbox/mod.rs | 21 ++++++++++++++++++++- lemmy_apub/src/inbox/shared_inbox.rs | 2 ++ lemmy_apub/src/inbox/user_inbox.rs | 2 ++ 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/lemmy_apub/src/inbox/community_inbox.rs b/lemmy_apub/src/inbox/community_inbox.rs index 137f3fea4..7c144a00d 100644 --- a/lemmy_apub/src/inbox/community_inbox.rs +++ b/lemmy_apub/src/inbox/community_inbox.rs @@ -1,6 +1,7 @@ use crate::{ activities::receive::verify_activity_domains_valid, inbox::{ + assert_activity_not_local, get_activity_id, get_activity_to_and_cc, inbox_verify_http_signature, @@ -85,6 +86,7 @@ pub async fn community_inbox( return Err(anyhow!("Activity delivered to wrong community").into()); } + assert_activity_not_local(&activity)?; insert_activity(&activity_id, activity.clone(), false, true, context.pool()).await?; info!( diff --git a/lemmy_apub/src/inbox/mod.rs b/lemmy_apub/src/inbox/mod.rs index 4fdbb7a53..ce6c7eded 100644 --- a/lemmy_apub/src/inbox/mod.rs +++ b/lemmy_apub/src/inbox/mod.rs @@ -14,7 +14,7 @@ use actix_web::HttpRequest; use anyhow::{anyhow, Context}; use lemmy_db::{activity::Activity, community::Community, user::User_, DbPool}; use lemmy_structs::blocking; -use lemmy_utils::{location_info, LemmyError}; +use lemmy_utils::{location_info, settings::Settings, LemmyError}; use lemmy_websocket::LemmyContext; use serde::{export::fmt::Debug, Serialize}; use url::Url; @@ -151,3 +151,22 @@ pub(crate) async fn is_addressed_to_community_followers( } Ok(None) } + +pub(in crate::inbox) fn assert_activity_not_local(activity: &T) -> Result<(), LemmyError> +where + T: BaseExt + Debug, +{ + let id = activity.id_unchecked().context(location_info!())?; + let activity_domain = id.domain().context(location_info!())?; + + if activity_domain == Settings::get().hostname { + return Err( + anyhow!( + "Error: received activity which was sent by local instance: {:?}", + activity + ) + .into(), + ); + } + Ok(()) +} diff --git a/lemmy_apub/src/inbox/shared_inbox.rs b/lemmy_apub/src/inbox/shared_inbox.rs index dfd583662..2875696e2 100644 --- a/lemmy_apub/src/inbox/shared_inbox.rs +++ b/lemmy_apub/src/inbox/shared_inbox.rs @@ -1,5 +1,6 @@ use crate::{ inbox::{ + assert_activity_not_local, community_inbox::{community_receive_message, CommunityAcceptedActivities}, get_activity_id, get_activity_to_and_cc, @@ -58,6 +59,7 @@ pub async fn shared_inbox( return Ok(HttpResponse::Ok().finish()); } + assert_activity_not_local(&activity)?; // Log the activity, so we avoid receiving and parsing it twice. Note that this could still happen // if we receive the same activity twice in very quick succession. insert_activity(&activity_id, activity.clone(), false, true, context.pool()).await?; diff --git a/lemmy_apub/src/inbox/user_inbox.rs b/lemmy_apub/src/inbox/user_inbox.rs index dfcb2d618..2f847a5cd 100644 --- a/lemmy_apub/src/inbox/user_inbox.rs +++ b/lemmy_apub/src/inbox/user_inbox.rs @@ -19,6 +19,7 @@ use crate::{ check_is_apub_id_valid, fetcher::get_or_fetch_and_upsert_community, inbox::{ + assert_activity_not_local, get_activity_id, get_activity_to_and_cc, inbox_verify_http_signature, @@ -106,6 +107,7 @@ pub async fn user_inbox( return Err(anyhow!("Activity delivered to wrong user").into()); } + assert_activity_not_local(&activity)?; insert_activity(&activity_id, activity.clone(), false, true, context.pool()).await?; debug!( From b587e147b0f810c01856158b4197885647d9b5af Mon Sep 17 00:00:00 2001 From: Dessalines Date: Tue, 1 Dec 2020 12:54:44 -0600 Subject: [PATCH 08/12] Version v0.8.9 --- ansible/VERSION | 2 +- docker/dev/docker-compose.yml | 2 +- docker/federation/docker-compose.yml | 10 +++++----- docker/prod/docker-compose.yml | 4 ++-- docker/travis/docker_push.sh | 4 ++-- lemmy_api/src/version.rs | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ansible/VERSION b/ansible/VERSION index 90d9dc166..6209aab6b 100644 --- a/ansible/VERSION +++ b/ansible/VERSION @@ -1 +1 @@ -v0.8.8 +v0.8.9 diff --git a/docker/dev/docker-compose.yml b/docker/dev/docker-compose.yml index e26bb376d..6bb097b81 100644 --- a/docker/dev/docker-compose.yml +++ b/docker/dev/docker-compose.yml @@ -16,7 +16,7 @@ services: - postgres - iframely lemmy-ui: - image: dessalines/lemmy-ui:v0.8.8 + image: dessalines/lemmy-ui:v0.8.9 ports: - "1235:1234" restart: always diff --git a/docker/federation/docker-compose.yml b/docker/federation/docker-compose.yml index 2c6f16b98..a24c94dc5 100644 --- a/docker/federation/docker-compose.yml +++ b/docker/federation/docker-compose.yml @@ -29,7 +29,7 @@ services: - ./volumes/pictrs_alpha:/mnt lemmy-alpha-ui: - image: dessalines/lemmy-ui:v0.8.8 + image: dessalines/lemmy-ui:v0.8.9 environment: - LEMMY_INTERNAL_HOST=lemmy-alpha:8541 - LEMMY_EXTERNAL_HOST=localhost:8541 @@ -68,7 +68,7 @@ services: - ./volumes/postgres_alpha:/var/lib/postgresql/data lemmy-beta-ui: - image: dessalines/lemmy-ui:v0.8.8 + image: dessalines/lemmy-ui:v0.8.9 environment: - LEMMY_INTERNAL_HOST=lemmy-beta:8551 - LEMMY_EXTERNAL_HOST=localhost:8551 @@ -107,7 +107,7 @@ services: - ./volumes/postgres_beta:/var/lib/postgresql/data lemmy-gamma-ui: - image: dessalines/lemmy-ui:v0.8.8 + image: dessalines/lemmy-ui:v0.8.9 environment: - LEMMY_INTERNAL_HOST=lemmy-gamma:8561 - LEMMY_EXTERNAL_HOST=localhost:8561 @@ -147,7 +147,7 @@ services: # An instance with only an allowlist for beta lemmy-delta-ui: - image: dessalines/lemmy-ui:v0.8.8 + image: dessalines/lemmy-ui:v0.8.9 environment: - LEMMY_INTERNAL_HOST=lemmy-delta:8571 - LEMMY_EXTERNAL_HOST=localhost:8571 @@ -187,7 +187,7 @@ services: # An instance who has a blocklist, with lemmy-alpha blocked lemmy-epsilon-ui: - image: dessalines/lemmy-ui:v0.8.8 + image: dessalines/lemmy-ui:v0.8.9 environment: - LEMMY_INTERNAL_HOST=lemmy-epsilon:8581 - LEMMY_EXTERNAL_HOST=localhost:8581 diff --git a/docker/prod/docker-compose.yml b/docker/prod/docker-compose.yml index a0d859e33..12ee03efb 100644 --- a/docker/prod/docker-compose.yml +++ b/docker/prod/docker-compose.yml @@ -12,7 +12,7 @@ services: restart: always lemmy: - image: dessalines/lemmy:v0.8.8 + image: dessalines/lemmy:v0.8.9 ports: - "127.0.0.1:8536:8536" restart: always @@ -26,7 +26,7 @@ services: - iframely lemmy-ui: - image: dessalines/lemmy-ui:v0.8.8 + image: dessalines/lemmy-ui:v0.8.9 ports: - "1235:1234" restart: always diff --git a/docker/travis/docker_push.sh b/docker/travis/docker_push.sh index da51a1595..1bc749ece 100644 --- a/docker/travis/docker_push.sh +++ b/docker/travis/docker_push.sh @@ -1,5 +1,5 @@ #!/bin/sh echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin docker tag dessalines/lemmy:travis \ - dessalines/lemmy:v0.8.8 -docker push dessalines/lemmy:v0.8.8 + dessalines/lemmy:v0.8.9 +docker push dessalines/lemmy:v0.8.9 diff --git a/lemmy_api/src/version.rs b/lemmy_api/src/version.rs index c95b3c29d..b415c7f6f 100644 --- a/lemmy_api/src/version.rs +++ b/lemmy_api/src/version.rs @@ -1 +1 @@ -pub const VERSION: &str = "v0.8.8"; +pub const VERSION: &str = "v0.8.9"; From df913326bd40b8a1a79261e4efc795357d11bab3 Mon Sep 17 00:00:00 2001 From: Tafiti Date: Tue, 1 Dec 2020 18:18:47 -0500 Subject: [PATCH 09/12] typo --- docs/src/lemmy_council.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/lemmy_council.md b/docs/src/lemmy_council.md index 45a8fa1bf..e68eafa03 100644 --- a/docs/src/lemmy_council.md +++ b/docs/src/lemmy_council.md @@ -28,7 +28,7 @@ Every week, the council should make a thread on Lemmy that details its activity At the same time, users can give feedback and suggestions in this thread. This should be taken into account by the council. Council members can call for a vote on any controversial issues, if they can't be resolved by discussion. -## 2. Voting Process +## 3. Voting Process Most of the time, we keep each other up to date through the Matrix chat, and take informal decisions on uncontroversial issues. For example, a user clearly violating the site rules could be banned by a single person, or ideally after discussing it with at least one other member. From d06b59c92b7ef1258929c0babea4591e55cef285 Mon Sep 17 00:00:00 2001 From: Tafiti Date: Tue, 1 Dec 2020 18:22:17 -0500 Subject: [PATCH 10/12] Added a council member. --- docs/src/lemmy_council.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/src/lemmy_council.md b/docs/src/lemmy_council.md index e68eafa03..7bcb30892 100644 --- a/docs/src/lemmy_council.md +++ b/docs/src/lemmy_council.md @@ -76,3 +76,4 @@ General Contact [@LemmyDev Mastodon](https://mastodon.social/@LemmyDev) - [AgreeableLandscape](https://lemmy.ml/u/AgreeableLandscape) - [fruechtchen](https://lemmy.ml/u/fruechtchen) - [kixiQu](https://lemmy.ml/u/kixiQu) +- [Karanja](https://baraza.africa/u/mwalimu) From 8a0336c2ff74ea32ca52b775009699494642d42d Mon Sep 17 00:00:00 2001 From: Dessalines Date: Wed, 2 Dec 2020 16:04:13 -0500 Subject: [PATCH 11/12] Fixing community local filter. #1302 --- lemmy_db/src/post_view.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lemmy_db/src/post_view.rs b/lemmy_db/src/post_view.rs index 3fb6d2b06..ea03c3a4d 100644 --- a/lemmy_db/src/post_view.rs +++ b/lemmy_db/src/post_view.rs @@ -280,7 +280,7 @@ impl<'a> PostQueryBuilder<'a> { if let Some(for_community_name) = self.for_community_name { query = query .filter(community_name.eq(for_community_name)) - .filter(local.eq(true)) + .filter(community_local.eq(true)) .then_order_by(stickied.desc()); } From eed7eac10b2c8b0e8b884180851410e131f6694e Mon Sep 17 00:00:00 2001 From: Dessalines Date: Thu, 3 Dec 2020 08:28:58 -0600 Subject: [PATCH 12/12] Version v0.8.10 --- ansible/VERSION | 2 +- docker/dev/docker-compose.yml | 2 +- docker/federation/docker-compose.yml | 10 +++++----- docker/prod/docker-compose.yml | 4 ++-- docker/travis/docker_push.sh | 4 ++-- lemmy_api/src/version.rs | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ansible/VERSION b/ansible/VERSION index 6209aab6b..2430a5737 100644 --- a/ansible/VERSION +++ b/ansible/VERSION @@ -1 +1 @@ -v0.8.9 +v0.8.10 diff --git a/docker/dev/docker-compose.yml b/docker/dev/docker-compose.yml index 6bb097b81..a09fb8eb1 100644 --- a/docker/dev/docker-compose.yml +++ b/docker/dev/docker-compose.yml @@ -16,7 +16,7 @@ services: - postgres - iframely lemmy-ui: - image: dessalines/lemmy-ui:v0.8.9 + image: dessalines/lemmy-ui:v0.8.10 ports: - "1235:1234" restart: always diff --git a/docker/federation/docker-compose.yml b/docker/federation/docker-compose.yml index a24c94dc5..e32dfe2da 100644 --- a/docker/federation/docker-compose.yml +++ b/docker/federation/docker-compose.yml @@ -29,7 +29,7 @@ services: - ./volumes/pictrs_alpha:/mnt lemmy-alpha-ui: - image: dessalines/lemmy-ui:v0.8.9 + image: dessalines/lemmy-ui:v0.8.10 environment: - LEMMY_INTERNAL_HOST=lemmy-alpha:8541 - LEMMY_EXTERNAL_HOST=localhost:8541 @@ -68,7 +68,7 @@ services: - ./volumes/postgres_alpha:/var/lib/postgresql/data lemmy-beta-ui: - image: dessalines/lemmy-ui:v0.8.9 + image: dessalines/lemmy-ui:v0.8.10 environment: - LEMMY_INTERNAL_HOST=lemmy-beta:8551 - LEMMY_EXTERNAL_HOST=localhost:8551 @@ -107,7 +107,7 @@ services: - ./volumes/postgres_beta:/var/lib/postgresql/data lemmy-gamma-ui: - image: dessalines/lemmy-ui:v0.8.9 + image: dessalines/lemmy-ui:v0.8.10 environment: - LEMMY_INTERNAL_HOST=lemmy-gamma:8561 - LEMMY_EXTERNAL_HOST=localhost:8561 @@ -147,7 +147,7 @@ services: # An instance with only an allowlist for beta lemmy-delta-ui: - image: dessalines/lemmy-ui:v0.8.9 + image: dessalines/lemmy-ui:v0.8.10 environment: - LEMMY_INTERNAL_HOST=lemmy-delta:8571 - LEMMY_EXTERNAL_HOST=localhost:8571 @@ -187,7 +187,7 @@ services: # An instance who has a blocklist, with lemmy-alpha blocked lemmy-epsilon-ui: - image: dessalines/lemmy-ui:v0.8.9 + image: dessalines/lemmy-ui:v0.8.10 environment: - LEMMY_INTERNAL_HOST=lemmy-epsilon:8581 - LEMMY_EXTERNAL_HOST=localhost:8581 diff --git a/docker/prod/docker-compose.yml b/docker/prod/docker-compose.yml index 12ee03efb..c3d61a64c 100644 --- a/docker/prod/docker-compose.yml +++ b/docker/prod/docker-compose.yml @@ -12,7 +12,7 @@ services: restart: always lemmy: - image: dessalines/lemmy:v0.8.9 + image: dessalines/lemmy:v0.8.10 ports: - "127.0.0.1:8536:8536" restart: always @@ -26,7 +26,7 @@ services: - iframely lemmy-ui: - image: dessalines/lemmy-ui:v0.8.9 + image: dessalines/lemmy-ui:v0.8.10 ports: - "1235:1234" restart: always diff --git a/docker/travis/docker_push.sh b/docker/travis/docker_push.sh index 1bc749ece..ba77f0264 100644 --- a/docker/travis/docker_push.sh +++ b/docker/travis/docker_push.sh @@ -1,5 +1,5 @@ #!/bin/sh echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin docker tag dessalines/lemmy:travis \ - dessalines/lemmy:v0.8.9 -docker push dessalines/lemmy:v0.8.9 + dessalines/lemmy:v0.8.10 +docker push dessalines/lemmy:v0.8.10 diff --git a/lemmy_api/src/version.rs b/lemmy_api/src/version.rs index b415c7f6f..e44da9fb9 100644 --- a/lemmy_api/src/version.rs +++ b/lemmy_api/src/version.rs @@ -1 +1 @@ -pub const VERSION: &str = "v0.8.9"; +pub const VERSION: &str = "v0.8.10";