🐀 Building a federated link aggregator in rust
Find a file
dullbananas 1d38aad9d3
Make functions work with both connection and pool (#3420)
* a lot

* merge

* Fix stuff broken by merge

* Get rid of repetitive `&mut *context.conn().await?`

* Add blank lines under each line with `conn =`

* Fix style mistakes (partial)

* Revert "Fix style mistakes (partial)"

This reverts commit 48a033b87f.

* Revert "Add blank lines under each line with `conn =`"

This reverts commit 773a6d3beb.

* Revert "Get rid of repetitive `&mut *context.conn().await?`"

This reverts commit d2c6263ea1.

* Use DbConn for CaptchaAnswer methods

* DbConn trait

* Remove more `&mut *`

* Fix stuff

* Re-run CI

* try to make ci start

* fix

* fix

* Fix api_common::utils

* Fix apub::activities::block

* Fix apub::api::resolve_object

* Fix some things

* Revert "Fix some things"

This reverts commit 2bf8574bc8.

* Revert "Fix apub::api::resolve_object"

This reverts commit 3e4059aabb.

* Revert "Fix apub::activities::block"

This reverts commit 3b02389abd.

* Revert "Fix api_common::utils"

This reverts commit 7dc73de613.

* Revert "Revert "Fix api_common::utils""

This reverts commit f740f115e5.

* Revert "Revert "Fix apub::activities::block""

This reverts commit 2ee206af7c.

* Revert "Revert "Fix apub::api::resolve_object""

This reverts commit 96ed8bf2e9.

* Fix fetch_local_site_data

* Fix get_comment_parent_creator

* Remove unused perma deleted text

* Fix routes::feeds

* Fix lib.rs

* Update lib.rs

* rerun ci

* Attempt to create custom GetConn and RunQueryDsl traits

* Start over

* Add GetConn trait

* aaaa

* Revert "aaaa"

This reverts commit acc9ca1aed.

* Revert "Revert "aaaa""

This reverts commit 443a2a00a5.

* still aaaaaaaaaaaaa

* Return to earlier thing

Revert "Add GetConn trait"

This reverts commit ab4e94aea5.

* Try to use DbPool enum

* Revert "Try to use DbPool enum"

This reverts commit e4d1712646.

* DbConn and DbPool enums (db_schema only fails to compile for tests)

* fmt

* Make functions take `&mut DbPool<'_>` and make db_schema tests compile

* Add try_join_with_pool macro and run fix-clippy on more crates

* Fix some errors

* I did it

* Remove function variants that take connection

* rerun ci

* rerun ci

* rerun ci
2023-07-11 09:09:59 -04:00
.cargo Add console-subscriber (#2003) 2022-01-07 09:53:45 -05:00
.github Adding phiresky to codeowners. (#3576) 2023-07-10 16:20:40 +02:00
api_tests Improve api response times by doing send_activity asynchronously (#3493) 2023-07-10 12:27:49 +02:00
config Add Prometheus endpoint (#3456) 2023-07-05 13:25:19 +02:00
crates Make functions work with both connection and pool (#3420) 2023-07-11 09:09:59 -04:00
docker Version 0.18.1 2023-07-07 09:24:49 -04:00
migrations Fix #3501 - Fix aggregation counts for elements removed and deleted (#3543) 2023-07-10 11:30:30 -04:00
migrations_testing/2020-01-13-025151_create_materialized_views Isomorphic docker (#1124) 2020-09-15 15:26:47 -04:00
readmes Update humane tech badge to point to new repo (#2898) 2023-06-05 12:49:32 +02:00
scripts Automatically manage database when running scripts/test.sh (#3389) 2023-06-30 09:50:30 +02:00
src Make functions work with both connection and pool (#3420) 2023-07-11 09:09:59 -04:00
.dockerignore Add feature to embed pictrs in lemmy binary (fixes #2627) (#2633) 2023-01-20 12:46:49 -05:00
.gitattributes Added gitattributes to normalize all files to lf (#3386) 2023-06-29 10:16:11 +02:00
.gitignore Automatically manage database when running scripts/test.sh (#3389) 2023-06-30 09:50:30 +02:00
.gitmodules WIP: Email localization (fixes #500) (#2053) 2022-03-24 15:25:51 +00:00
.rgignore Adding a new comment sort for posts. Fixes #1294 (#1425) 2021-02-18 10:38:25 -05:00
.rustfmt.toml Group imports dess (#2526) 2022-11-02 15:18:22 -04:00
.woodpecker.yml Update prettier to 3.0.0 (#3509) 2023-07-06 15:10:38 +02:00
Cargo.lock Error enum fixed (#3487) 2023-07-10 16:50:07 +02:00
Cargo.toml Upgrade all dependencies (#3526) 2023-07-10 15:00:55 +02:00
CONTRIBUTING.md Fix contributing link (#3015) 2023-06-12 11:04:47 +02:00
diesel.toml Adding diesel enums for SortType and ListingType (#2808) 2023-04-17 15:19:51 -04:00
LICENSE Initial commit 2019-02-14 09:17:18 -08:00
README.md Fix awesome-lemmy owner (#3469) 2023-07-03 16:44:55 +02:00
RELEASES.md Update RELEASES.md (#3556) 2023-07-10 14:00:00 +02:00
SECURITY.md Change security contact mail (#3506) 2023-07-06 07:27:47 -04:00

GitHub tag (latest SemVer) Build Status GitHub issues Docker Pulls Translation status License GitHub stars Delightful Humane Tech

English | Español | Русский | 汉语 | 漢語

Lemmy

A link aggregator and forum for the fediverse.

Join Lemmy · Documentation · Matrix Chat · Report Bug · Request Feature · Releases · Code of Conduct

About The Project

Desktop Mobile
desktop mobile

Lemmy is similar to sites like Reddit, Lobste.rs, or Hacker News: you subscribe to forums you're interested in, post links and discussions, then vote, and comment on them. Behind the scenes, it is very different; anyone can easily run a server, and all these servers are federated (think email), and connected to the same universe, called the Fediverse.

For a link aggregator, this means a user registered on one server can subscribe to forums on any other server, and can have discussions with users registered elsewhere.

It is an easily self-hostable, decentralized alternative to Reddit and other link aggregators, outside of their corporate control and meddling.

Each Lemmy server can set its own moderation policy; appointing site-wide admins, and community moderators to keep out the trolls, and foster a healthy, non-toxic environment where all can feel comfortable contributing.

Why's it called Lemmy?

Built With

Features

  • Open source, AGPL License.
  • Self hostable, easy to deploy.
  • Clean, mobile-friendly interface.
    • Only a minimum of a username and password is required to sign up!
    • User avatar support.
    • Live-updating Comment threads.
    • Full vote scores (+/-) like old Reddit.
    • Themes, including light, dark, and solarized.
    • Emojis with autocomplete support. Start typing :
    • User tagging using @, Community tagging using !.
    • Integrated image uploading in both posts and comments.
    • A post can consist of a title and any combination of self text, a URL, or nothing else.
    • Notifications, on comment replies and when you're tagged.
      • Notifications can be sent via email.
      • Private messaging support.
    • i18n / internationalization support.
    • RSS / Atom feeds for All, Subscribed, Inbox, User, and Community.
  • Cross-posting support.
    • A similar post search when creating new posts. Great for question / answer communities.
  • Moderation abilities.
    • Public Moderation Logs.
    • Can sticky posts to the top of communities.
    • Both site admins, and community moderators, who can appoint other moderators.
    • Can lock, remove, and restore posts and comments.
    • Can ban and unban users from communities and the site.
    • Can transfer site and communities to others.
  • Can fully erase your data, replacing all posts and comments.
  • NSFW post / community support.
  • High performance.
    • Server is written in rust.
    • Front end is ~80kB gzipped.
    • Supports arm64 / Raspberry Pi.

Installation

Lemmy Projects

Support / Donate

Lemmy is free, open-source software, meaning no advertising, monetizing, or venture capital, ever. Your donations directly support full-time development of the project.

Crypto

  • bitcoin: 1Hefs7miXS5ff5Ck5xvmjKjXf5242KzRtK
  • ethereum: 0x400c96c96acbC6E7B3B43B1dc1BB446540a88A01
  • monero: 41taVyY6e1xApqKyMVDRVxJ76sPkfZhALLTjRvVKpaAh2pBd4wv9RgYj1tSPrx8wc6iE1uWUfjtQdTmTy2FGMeChGVKPQuV
  • cardano: addr1q858t89l2ym6xmrugjs0af9cslfwvnvsh2xxp6x4dcez7pf5tushkp4wl7zxfhm2djp6gq60dk4cmc7seaza5p3slx0sakjutm

Contributing

Translations

Contact

Code Mirrors

Credits

Logo made by Andy Cuccaro (@andycuccaro) under the CC-BY-SA 4.0 license.