🐀 A link aggregator and forum for the fediverse
Go to file
Riley 35cbae61bc
Don't drop error context when adding a message to errors (#1958)
* Respond directly with LemmyError

Instrument Perform implementations for more precise traces
Use ApiError to format JSON errors when messages are present
Keep SpanTrace output in LemmyError Display impl

* Hide SpanTrace debug output from LemmyError

* Don't log when entering spans, only when leaving

* Update actix-web

* Update actix-rt

* Add newline after error info in LemmyError Display impl

* Propogate span information to blocking operations

* Instrument apub functions

* Use skip_all for more instrument attributes, don't skip 'self' in some api actions

* Make message a static string

* Send proper JSON over websocket

* Add 'message' to LemmyError display if present

* Use a quieter root span builder, don't pretty-print logs

* Keep passwords and emails out of logs

* Re-enable logging Login

* Instrument feeds

* Emit our own errors

* Move error log after status code recording

* Make Sensitive generic over the inner type

* Remove line that logged secrets
2021-12-06 09:54:47 -05:00
.cargo-husky/hooks Adding clippy:unwrap to husky. Fixes #1892 (#1893) 2021-11-11 12:18:08 +00:00
.github Updating issue template to show lemmy-ui. 2020-09-22 14:32:18 -05:00
ansible Remove ansible from this repo. (#1829) 2021-10-27 12:09:00 -04:00
api_tests Three instance inbox bug (#1866) 2021-10-28 20:46:24 +00:00
config Fix retry infinite loops. Fixes #1964 (#1967) 2021-12-05 10:03:13 -05:00
crates Don't drop error context when adding a message to errors (#1958) 2021-12-06 09:54:47 -05:00
docker added deps - git and ca-certificates (for federation to work) and changed adduser to useradd so that user can be added non-interactively (#1976) 2021-12-06 01:35:50 +01:00
migrations Fix API dupes query. #1878 2021-11-23 14:30:16 -05:00
migrations_testing/2020-01-13-025151_create_materialized_views Isomorphic docker (#1124) 2020-09-15 15:26:47 -04:00
readmes Change lemmur repo links (#1977) 2021-12-06 08:17:59 -05:00
scripts Format config/defaults.hjson before committing (#1860) 2021-10-22 13:29:47 -04:00
src Don't drop error context when adding a message to errors (#1958) 2021-12-06 09:54:47 -05:00
.dockerignore For untagged commits, include hash in version name (fixes #1563) 2021-04-12 13:47:58 +02:00
.drone.yml Trying to add docker:latest. Fixes #1959 (#1960) 2021-11-26 12:38:55 +00:00
.gitignore Ansible changes (#1781) 2021-09-28 11:34:18 -04:00
.rgignore Adding a new comment sort for posts. Fixes #1294 (#1425) 2021-02-18 10:38:25 -05:00
.rustfmt.toml Adding a new comment sort for posts. Fixes #1294 (#1425) 2021-02-18 10:38:25 -05:00
Cargo.lock Don't drop error context when adding a message to errors (#1958) 2021-12-06 09:54:47 -05:00
Cargo.toml Don't drop error context when adding a message to errors (#1958) 2021-12-06 09:54:47 -05:00
CONTRIBUTING.md Change join.lemmy.ml to join-lemmy.org (#1628) 2021-06-07 21:10:47 +00:00
diesel.toml Isomorphic docker (#1124) 2020-09-15 15:26:47 -04:00
LICENSE Initial commit 2019-02-14 09:17:18 -08:00
README.md Change lemmur repo links (#1977) 2021-12-06 08:17:59 -05:00
RELEASES.md Change lemmur repo links (#1977) 2021-12-06 08:17:59 -05:00
SECURITY.md Create SECURITY.md (#1758) 2021-09-02 12:09:48 +00:00

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

English | Español | Русский

Lemmy

A link aggregator / Reddit clone for the fediverse.

Join Lemmy · Documentation · 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.

The overall goal is to create 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.

Note: The WebSocket and HTTP APIs are currently unstable

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

Apps

Libraries

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

If you want to help with translating, take a look at Weblate. You can also help by translating the documentation.

Contact

Code Mirrors

Credits

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