Giter Site home page Giter Site logo

lemmynet / lemmybb Goto Github PK

View Code? Open in Web Editor NEW
195.0 8.0 16.0 1.64 MB

A federated bulletin board

License: GNU Affero General Public License v3.0

CSS 26.51% Rust 22.08% Handlebars 18.26% Dockerfile 0.10% HTML 0.32% JavaScript 32.61% Shell 0.11%
phpbb rust forum

lemmybb's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

lemmybb's Issues

Topic review in editor

Would be very useful to be able to reread the message you are responding to, without using different tabs.

Screenshot_20221103_145631

[Question]: Report software name as lemmybb for statistics?

Question description

At the moment lemmybb reports its software name as lemmy, so statistics sites like https://fediverse.observer or https://the-federation.info put it in the same group as all other Lemmy instances with the link aggregator frontend.

It would be very easy to change this, so that these sites will list it as lemmybb instead. This could be helpful for promotion, as more people would become aware of the project. It would also become easier to find lemmybb instances specifically.

What do you all think about this?

Are there plans to support phpBB themes?

Question in title, apologizes if this has been answered somewhere.

Edit: I see this has been mentioned here: #24

We should probably add some official mention around this though as it will be a highly requested feature.

[Bug]: Reply to comment leads to 500: Internal Server Error

Steps to reproduce

I installed lemmyBB alongside my lemmy running in a container to /opt/lemmyBB and compiled as it is described in the README of this repo.

It runs on the same machine as lemmy itself, so i let Environment="LEMMYBB_BACKEND=http://127.0.0.1:8536" in systemd-unit. (Changing it to https://lemmy.schuerz.at gives Error 500 almost every first call to a link)

And i had to change Environment="LEMMYBB_LISTEN_ADDRESS=127.0.0.1:8701" from the template to port 8703.

  1. Log in to lemmyBB
  2. Find a posting with more than 1 answers
  3. Klick on the reply-Button (arrow to left)
    grafik
  4. 500: Internal Server Error
    grafik

On which operating systems are you seeing the problem on?

  • Windows
  • Linux
  • macOS
  • Android
  • iOS/iPadOS

On which browsers are you seeing the problem on?

  • Firefox
  • Chrome
  • Safari
  • Microsoft Edge
  • Other (please describe in more detail under Additional context)

Version

0.1.3-23-g4e99193

LemmyBB Logs

Feb 11 04:05:10 sc-chat-01 lemmy_bb[153272]: [2023-02-11T03:05:10Z INFO  rocket::server] GET /comment_editor?t=132386&reply=59842 text/html:
Feb 11 04:05:10 sc-chat-01 lemmy_bb[153272]: [2023-02-11T03:05:10Z INFO  handlebars::helpers::helper_log] post: [object], post.post_view.post.id:
Feb 11 04:05:10 sc-chat-01 lemmy_bb[153272]: [2023-02-11T03:05:10Z ERROR _] Handlebars: Error rendering "components/comment" line 14, col 40: Variable "post.post_view.post.id" not found in strict mode.
Feb 11 04:05:10 sc-chat-01 lemmy_bb[153272]: [2023-02-11T03:05:10Z ERROR _] Template 'comment_editor' failed to render.
Feb 11 04:05:10 sc-chat-01 lemmy_bb[153272]: [2023-02-11T03:05:10Z WARN  _] No 500 catcher registered. Using Rocket default.

Additional context

No response

Explain how to get started with federation

To start federating with another instance, you need to paste its url (or [email protected]) into the search field. The same works for users, posts and comments. This works identically across the Fediverse, but is very obscure for new users.

Do you have any idea how this functionality could be explained to new users? Are there other Fediverse projects which handle it well?

[Bug]: Clicking any individual post link in a topic results in a 404

Steps to reproduce

  1. Open e.g. https://fedibb.ml/view_topic?t=625
  2. Click any reply title

On which operating systems are you seeing the problem on?

  • Windows
  • Linux
  • macOS
  • Android
  • iOS/iPadOS

On which browsers are you seeing the problem on?

  • Firefox
  • Chrome
  • Safari
  • Microsoft Edge
  • Other (please describe in more detail under Additional context)

Version

0.1.4

LemmyBB Logs

Sorry I don't have access to them, was just testing/researching on fediBB.

Additional context

No response

[Bug]: Subject title link within topic leads to 404

Steps to reproduce

  1. Surf to any topic, .e.g https://fedibb.ml/view_topic?t=105
  2. Click the subject link in a post.
  3. You're given a 404 for the link. e.g. https://fedibb.ml/view_topic?p=105#p1

On which operating systems are you seeing the problem on?

  • Windows
  • Linux
  • macOS
  • Android
  • iOS/iPadOS

On which browsers are you seeing the problem on?

  • Firefox
  • Chrome
  • Safari
  • Microsoft Edge
  • Other (please describe in more detail under Additional context)

Version

0.1.4

LemmyBB Logs

No response

Additional context

No response

Theming

LemmyBB is compatible with phpBB themes. Need to write documentation and add some config options to facilitate this.

We can also pick some nice foss themes and include them directly with lemmybb.

[Question]: Is the SSL Cert for the BB Subdomain made automatically?

I'm getting this error mentioning the Lets Encrypt cert for the subdomain ill be using for LemmyBB

{"changed": true, "cmd": "nginx -s reload", "delta": "0:00:00.020479", "end": "2022-12-26 21:55:33.321149", "msg": "non-zero return code", "rc": 1, "start": "2022-12-26 21:55:33.300670", "stderr": "nginx: [emerg] cannot load certificate \"/etc/letsencrypt/live/mybbsubdomain/fullchain.pem\": BIO_new_file() failed (SSL: error:80000002:system library::No such file

Help needed with localization

I just added localization functionality to lemmyBB. For now only strings in components/header/html.hbs are translated. You can help by translating strings in other files as well, which is pretty simple:

  • Find a text in templates folder which is not translated
  • Move it into translations/translations/en.json with a sensible key name
  • Replace the text in template file with {{{i18n site_data "your_key"}}}

Other than this, you can also help to translate texts via Weblate.

Failed to read JSON: missing field `default_post_listing_type`

Im writing this issue just in case if someone stumbles across this error 👀

Error:

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Failed to read JSON: missing field `default_post_listing_type` at line 1 column 1119', src/main.rs:55:25

Possible solution: use Lemmy version >=0.16.4

Im not going to close this issue immediately just in case if this error have something to do with other things than Lemmy version.

[Feature]: line break latest reply

Is your proposal related to a problem?

long entry names are displayed in multiple lines.
image

Describe the solution you'd like

shorten the post names via css

Describe alternatives you've considered

No response

Additional context

image

a.lastsubject {
  font-weight: bold;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 235px;
}

[Bug]: error 500 on main page

Steps to reproduce

Go to the website

On which operating systems are you seeing the problem on?

  • Windows
  • Linux
  • macOS
  • Android
  • iOS/iPadOS

On which browsers are you seeing the problem on?

  • Firefox
  • Chrome
  • Safari
  • Microsoft Edge
  • Other (please describe in more detail under Additional context)

Version

ef3830c

LemmyBB Logs

Nov 09 19:10:10 lemmy lemmy_bb[811397]: [2022-11-09T18:10:10Z INFO  rocket::server] GET / text/html:
Nov 09 19:10:10 lemmy lemmy_bb[811397]: [2022-11-09T18:10:10Z ERROR _] Handlebars: Error rendering "site/index" line 24, col 44: Cannot access array/vector with string index.
Nov 09 19:10:10 lemmy lemmy_bb[811397]: [2022-11-09T18:10:10Z ERROR _] Template 'site/index' failed to render.
Nov 09 19:10:10 lemmy lemmy_bb[811397]: [2022-11-09T18:10:10Z WARN  _] No 500 catcher registered. Using Rocket default.

Additional context

No response

[Bug]: Selecting higher sites than 1 on community-list gives every time back site 1

Steps to reproduce

  1. chose arrow right or 2, 3, 4...
    grafik
  2. welcome back on site on of search results.

On which operating systems are you seeing the problem on?

  • Windows
  • Linux
  • macOS
  • Android
  • iOS/iPadOS

On which browsers are you seeing the problem on?

  • Firefox
  • Chrome
  • Safari
  • Microsoft Edge
  • Other (please describe in more detail under Additional context)

Version

0.1.3-23-g4e99193

LemmyBB Logs

Feb 11 04:14:43 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:43Z INFO  rocket::server] GET /community_list??page=2 text/html:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/css/font-awesome.min.css text/css:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/styles/prosilver/stylesheet.css text/css:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/javascript/core.js?assets_version=15:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/styles/lemmybb.css text/css:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/javascript/jquery-3.6.0.min.js?assets_version=15:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/javascript/ajax.js?assets_version=15:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/javascript/forum_fn.js?assets_version=15:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/javascript/editor.js?assets_version=15:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /styles/prosilver/theme/images/no_avatar.gif image/avif:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z ERROR _] No matching routes for GET /styles/prosilver/theme/images/no_avatar.gif image/avif.
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z WARN  _] No 404 catcher registered. Using Rocket default.
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/styles/prosilver/normalize.css?hash=48eb3f89 text/css:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/styles/prosilver/utilities.css?hash=d8f72c42 text/css:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/styles/prosilver/base.css?hash=7c5543be text/css:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/styles/prosilver/buttons.css?hash=56f0d25f text/css:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/styles/prosilver/links.css?hash=18286e16 text/css:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/styles/prosilver/common.css?hash=a9741ba1 text/css:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/styles/prosilver/content.css?hash=be57a41d text/css:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/styles/prosilver/responsive.css?hash=87b53e08 text/css:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/styles/prosilver/cp.css?hash=50d868ab text/css:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/styles/prosilver/icons.css?hash=64da33ce text/css:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/styles/prosilver/colours.css?hash=fcb2f289 text/css:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/styles/prosilver/forms.css?hash=b64464fb text/css:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/styles/prosilver/images/site_logo.svg image/avif:
Feb 11 04:14:44 sc-chat-01 lemmy_bb[154248]: [2023-02-11T03:14:44Z INFO  rocket::server] GET /assets/styles/prosilver/images/forum_read.gif image/avif:

Additional context

No response

Forum functionality

Great idea. I have a question. Will it be a full-fledged forum with similar functionality as phpbb?

h1 color and margin

The h1 headline is displayed very poorly
image

.content h2, .panel h2 {

add above

.content h1, .panel h1 {
	color: #115098;
	border-bottom-color: #CCCCCC;
}

.content h2, .panel h2 {

add above

.content h1, .panel h1 {
  font-weight: bold;
  border-bottom: 1px solid transparent;
  font-size: 2em;
  margin-top: 1em;
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
}

With the above changes it would look like this
image

Failed to start lemmy_bb

Question description

When running systemctl status lemmy_bb.service
I get this error


× lemmy_bb.service - lemmy_bb
     Loaded: loaded (/etc/systemd/system/lemmy_bb.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Thu 2022-12-22 06:22:10 UTC; 1min 4s ago
   Duration: 1ms
    Process: 21008 ExecStart=/opt/lemmyBB/target/release/lemmy_bb (code=exited, status=203/EXEC)
   Main PID: 21008 (code=exited, status=203/EXEC)
        CPU: 960us

Dec 22 06:22:09 g0v systemd[1]: lemmy_bb.service: Main process exited, code=exited, status=203/EXEC
Dec 22 06:22:09 g0v systemd[1]: lemmy_bb.service: Failed with result 'exit-code'.
Dec 22 06:22:10 g0v systemd[1]: lemmy_bb.service: Scheduled restart job, restart counter is at 5.
Dec 22 06:22:10 g0v systemd[1]: Stopped lemmy_bb.
Dec 22 06:22:10 g0v systemd[1]: lemmy_bb.service: Start request repeated too quickly.
Dec 22 06:22:10 g0v systemd[1]: lemmy_bb.service: Failed with result 'exit-code'.
Dec 22 06:22:10 g0v systemd[1]: Failed to start lemmy_bb

Show latest comment in each thread/category

phpBB has a field on the right side of each thread or category which shows the time and author of the latest comment. It would be nice to add this to lemmyBB, but to be efficient, this would have to be included in the lemmy api.

Screenshot 2022-09-29 at 18-44-48 phpBB • Community Home

run lemmyBB locally: expected value at line 1 column 1

I have tried it locally and get the following error:

LEMMY_BB_BACKEND=https://lemmy.rollenspiel.monster cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.18s
     Running `target/debug/lemmy_bb`
[INFO  rocket::launch] 🔧 Configured for debug.
[INFO  rocket::launch_] address: 127.0.0.1
[INFO  rocket::launch_] port: 1244
[INFO  rocket::launch_] workers: 8
[INFO  rocket::launch_] ident: Rocket
[INFO  rocket::launch_] limits: bytes = 8KiB, data-form = 2MiB, file = 1MiB, form = 32KiB, json = 1MiB, msgpack = 1MiB, string = 8KiB
[INFO  rocket::launch_] temp dir: /tmp
[INFO  rocket::launch_] http/2: true
[INFO  rocket::launch_] keep-alive: 5s
[INFO  rocket::launch_] tls: disabled
[INFO  rocket::launch_] shutdown: ctrlc = true, force = true, signals = [SIGTERM], grace = 2s, mercy = 3s
[INFO  rocket::launch_] log level: normal
[INFO  rocket::launch_] cli colors: true
[INFO  rocket::launch] 📬 Routes:
[INFO  rocket::launch_] (index) GET /
[INFO  rocket::launch_] (post) GET /post?<f>
[INFO  rocket::launch_] (login) GET /login
[INFO  rocket::launch_] (setup) GET /setup
[INFO  rocket::launch_] (legal) GET /legal
[INFO  rocket::launch_] (logout) GET /logout
[INFO  rocket::launch_] (search) GET /search?<keywords>
[INFO  rocket::launch_] (do_post) POST /do_post?<f>
[INFO  rocket::launch_] (comment) GET /comment?<t>
[INFO  rocket::launch_] (do_login) POST /do_login
[INFO  rocket::launch_] (register) GET /register
[INFO  rocket::launch_] (do_setup) POST /do_setup
[INFO  rocket::launch_] (view_forum) GET /viewforum?<f>
[INFO  rocket::launch_] (view_topic) GET /viewtopic?<t>
[INFO  rocket::launch_] (do_comment) POST /do_comment?<t>
[INFO  rocket::launch_] (do_register) POST /do_register
[INFO  rocket::launch_] (mark_all_notifications_read) POST /mark_all_notifications_read
[INFO  rocket::launch_] (FileServer: assets) GET /assets/<path..> [10]
[INFO  rocket::launch] 📡 Fairings:
[INFO  rocket::launch_] Templating (ignite, liftoff, request)
[INFO  rocket::launch_] Shield (liftoff, response, singleton)
[INFO  rocket::shield::shield] 🛡️ Shield:
[INFO  rocket_dyn_templates::fairing] 📐 Templating:
[INFO  rocket::launch] 🚀 Rocket has launched from http://127.0.0.1:1244
[INFO  rocket::server] GET / text/html:
[INFO  lemmy_bb::api] get /community/list, params ListCommunities { type_: Some(All), sort: Some(TopMonth), page: None, limit: Some(10), auth: None }
[INFO  lemmy_bb::api] get /community/list status: 200 OK
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(8)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(8)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(9)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(9)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(11)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(11)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(34)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(34)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(37)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(37)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(47)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(47)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(48)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(48)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(93)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(93)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(146)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(146)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(158)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(158)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list status: 200 OK
[INFO  lemmy_bb::api] get /post/list status: 200 OK
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(2904), auth: None }
[INFO  lemmy_bb::api] get /comment/list status: 200 OK
[INFO  lemmy_bb::api] get /post/list status: 200 OK
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(2672), auth: None }
[INFO  lemmy_bb::api] get /comment/list status: 200 OK
[INFO  lemmy_bb::api] get /post/list status: 200 OK
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(2912), auth: None }
[INFO  lemmy_bb::api] get /comment/list status: 200 OK
[INFO  lemmy_bb::api] get /post/list status: 200 OK
[INFO  lemmy_bb::api] get /comment/list status: 200 OK
[INFO  lemmy_bb::api] get /post/list status: 200 OK
[INFO  lemmy_bb::api] get /comment/list status: 200 OK
[INFO  lemmy_bb::api] get /post/list status: 200 OK
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(713), auth: None }
[INFO  lemmy_bb::api] get /comment/list status: 200 OK
[INFO  lemmy_bb::api] get /post/list status: 200 OK
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(2929), auth: None }
[INFO  lemmy_bb::api] get /post/list status: 200 OK
[INFO  lemmy_bb::api] get /comment/list status: 200 OK
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(2688), auth: None }
[INFO  lemmy_bb::api] get /comment/list status: 200 OK
[INFO  lemmy_bb::api] get /post/list status: 200 OK
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(707), auth: None }
[INFO  lemmy_bb::api] get /post status: 200 OK
[INFO  lemmy_bb::api] get /post status: 200 OK
[INFO  lemmy_bb::api] get /post/list status: 200 OK
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(1954), auth: None }
[INFO  lemmy_bb::api] get /comment/list status: 200 OK
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(2157), auth: None }
[INFO  lemmy_bb::api] get /post status: 200 OK
[INFO  lemmy_bb::api] get /post status: 200 OK
[INFO  lemmy_bb::api] get /post status: 200 OK
[INFO  lemmy_bb::api] get /post status: 200 OK
[INFO  lemmy_bb::api] get /post status: 200 OK
[INFO  lemmy_bb::api] get /post status: 200 OK
[INFO  lemmy_bb::api] get /post status: 200 OK
[INFO  rocket::server] GET /assets/css/font-awesome.min.css text/css:
[INFO  rocket::server] GET /assets/styles/prosilver/stylesheet.css text/css:
[INFO  rocket::server] GET /assets/javascript/jquery-3.6.0.min.js?assets_version=15:
[INFO  rocket::server] GET /assets/javascript/core.js?assets_version=15:
[INFO  rocket::server] GET /assets/javascript/forum_fn.js?assets_version=15:
[INFO  rocket::server] GET /assets/javascript/ajax.js?assets_version=15:
[INFO  rocket::server] GET /assets/javascript/editor.js?assets_version=15:
[INFO  rocket::server] GET /assets/styles/prosilver/normalize.css?hash=48eb3f89 text/css:
[INFO  rocket::server] GET /assets/styles/prosilver/base.css?hash=7c5543be text/css:
[INFO  rocket::server] GET /assets/styles/prosilver/utilities.css?hash=d8f72c42 text/css:
[INFO  rocket::server] GET /assets/styles/prosilver/common.css?hash=a9741ba1 text/css:
[INFO  rocket::server] GET /assets/styles/prosilver/links.css?hash=18286e16 text/css:
[INFO  rocket::server] GET /assets/styles/prosilver/content.css?hash=be57a41d text/css:
[INFO  rocket::server] GET /assets/styles/prosilver/buttons.css?hash=56f0d25f text/css:
[INFO  rocket::server] GET /assets/styles/prosilver/cp.css?hash=50d868ab text/css:
[INFO  rocket::server] GET /assets/styles/prosilver/forms.css?hash=b64464fb text/css:
[INFO  rocket::server] GET /assets/styles/prosilver/icons.css?hash=64da33ce text/css:
[INFO  rocket::server] GET /assets/styles/prosilver/colours.css?hash=fcb2f289 text/css:
[INFO  rocket::server] GET /assets/styles/prosilver/responsive.css?hash=87b53e08 text/css:
[INFO  rocket::server] GET /assets/styles/prosilver/images/site_logo.svg image/avif:
[INFO  rocket::server] GET /assets/fonts/fontawesome-webfont.woff2?v=4.7.0 application/font-woff2:
[INFO  rocket::server] GET /assets/styles/prosilver/images/forum_read.gif image/avif:
[INFO  rocket::server] GET /assets/fonts/fontawesome-webfont.woff2?v=4.7.0 application/font-woff2:
[INFO  rocket::server] GET /viewforum?f=146 text/html:
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(20), community_id: Some(CommunityId(146)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list status: 200 OK
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(2688), auth: None }
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(2933), auth: None }
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(2721), auth: None }
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(2686), auth: None }
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(2863), auth: None }
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(2692), auth: None }
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(2717), auth: None }
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(2824), auth: None }
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(2724), auth: None }
[INFO  lemmy_bb::api] get /post, params GetPost { id: PostId(2719), auth: None }
[INFO  lemmy_bb::api] get /post status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /post status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /post status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /post status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /post status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /post status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /post status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /post status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /post status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /post status: 503 Service Unavailable
[WARN  lemmy_bb::error] expected value at line 1 column 1
[INFO  rocket::server] GET / text/html:
[INFO  lemmy_bb::api] get /community/list, params ListCommunities { type_: Some(All), sort: Some(TopMonth), page: None, limit: Some(10), auth: None }
[INFO  lemmy_bb::api] get /community/list status: 200 OK
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(8)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(8)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(9)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(9)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(11)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(11)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(34)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(34)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(37)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(37)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(47)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(47)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(48)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(48)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(93)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(93)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(146)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(146)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /comment/list, params GetComments { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(158)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list, params GetPosts { type_: Some(Community), sort: Some(NewComments), page: None, limit: Some(1), community_id: Some(CommunityId(158)), community_name: None, saved_only: None, auth: None }
[INFO  lemmy_bb::api] get /post/list status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /comment/list status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /post/list status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /comment/list status: 200 OK
[INFO  lemmy_bb::api] get /post/list status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /post/list status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /comment/list status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /comment/list status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /comment/list status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /post/list status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /post/list status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /comment/list status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /post/list status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /comment/list status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /post/list status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /comment/list status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /post/list status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /comment/list status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /post/list status: 503 Service Unavailable
[INFO  lemmy_bb::api] get /comment/list status: 503 Service Unavailable
[WARN  lemmy_bb::error] expected value at line 1 column 1
[INFO  rocket::server] GET / text/html:
[INFO  lemmy_bb::api] get /community/list, params ListCommunities { type_: Some(All), sort: Some(TopMonth), page: None, limit: Some(10), auth: None }
[INFO  lemmy_bb::api] get /community/list status: 503 Service Unavailable
[WARN  lemmy_bb::error] expected value at line 1 column 1

[Bug]: Making a post returns a 500 error

Steps to reproduce

  1. Go to https://fedibb.ml/view_forum?f=2
  2. Click "New topic"
  3. Create enter a title and body.
  4. Click submit
  5. You will get a 500 error

On which operating systems are you seeing the problem on?

  • Windows
  • Linux
  • macOS
  • Android
  • iOS/iPadOS

On which browsers are you seeing the problem on?

  • Firefox
  • Chrome
  • Safari
  • Microsoft Edge
  • Other (please describe in more detail under Additional context)

Version

No response

LemmyBB Logs

No response

Additional context

No response

[Bug]: 404 error when using pagination

Steps to reproduce

  1. Install LemmyBB 0.2.1 or 0.2.2
  2. Link to a separate Lemmy instance with enough content to have pagination available.
  3. Click one of the pagination numbers at the top or bottom. ( 2, 3, 4 or > )
  4. See 404 page instead of content.

Version

0.2.1 or 0.2.2. Earlier versions not tested.

LemmyBB Logs

Click the page number or > and see an error like this in the log. The actual page=NUM will change depending on what you click.

[2023-04-24T21:21:07Z ERROR rocket::server::_] No matching routes for GET /viewforum?f=8&page=2 text/html.
[2023-04-24T21:21:07Z WARN  rocket::server::_] No 404 catcher registered. Using Rocket default.

Additional context

Maybe related to #89, but in this case I see a 404 instead of being returned to page one.

What version of Cargo is needed?

Question description

I get this error when trying to run LEMMYBB_VERSION=$(git describe --tag --always) cargo build --release


error: failed to get `lemmy_api_common` as a dependency of package `lemmy_bb v0.1.3 (/opt/lemmyBB)`

Caused by:
  failed to load source for dependency `lemmy_api_common`

Caused by:
  Unable to update https://github.com/LemmyNet/lemmy.git#9f52d4ae

Caused by:
  failed to parse manifest at `/root/.cargo/git/checkouts/lemmy-2d52b07039afadd8/9f52d4a/crates/db_views_moderator/Cargo.toml`

Caused by:
  feature `workspace-inheritance` is required

  The package requires the Cargo feature called `workspace-inheritance`, but that feature is not stabilized in this version of Cargo (1.61.0).

Add installation instructions

For running it on a server. Probably easiest to use docker-compose. Should include an installation of lemmy-ui behind http auth, as admin/mod actions will not be implemented initially.

[Feature]: link icon

Is your proposal related to a problem?

It is not apparent whether a post contains a link or not.
image

Describe the solution you'd like

If a post has a link, change the icon of the topic to Link.

Describe alternatives you've considered

No response

Additional context

image

.pm_read, .topic_read {
  background-image: url("./images/forum_link.gif");

[Feature]: XenLemmy

Is your proposal related to a problem?

It would help adoption of Lemmy if another alternative frontend similar to XenForo was implemented.

Describe the solution you'd like

A similar/identical theme to XenForo being implemented.

Describe alternatives you've considered

No response

Additional context

No response

clearing up installation instructions

Question description

The instructions could be improved if they listed what a finised edited config file look like. Is this correct?


server {
    listen 80;
    listen [::]:80;
    server_name mydomain.com;
    location /.well-known/acme-challenge/ {
        root /var/www/certbot;
    }
    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name mydomain.com;

    ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem;

    # Various TLS hardening settings
    # https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
    ssl_session_timeout  10m;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets on;
    ssl_stapling on;
    ssl_stapling_verify on;

    # Hide nginx version
    server_tokens off;

    # Enable compression for JS/CSS/HTML bundle, for improved client load times.
    # It might be nice to compress JSON, but leaving that out to protect against potential
    # compression+encryption information leak attacks like BREACH.
    gzip on;
    gzip_types text/css application/javascript image/svg+xml;
    gzip_vary on;

    # Only connect to this site via HTTPS for the two years
    add_header Strict-Transport-Security "max-age=63072000";

    # Various content security headers
    add_header Referrer-Policy "same-origin";
    add_header X-Content-Type-Options "nosniff";
    add_header X-Frame-Options "DENY";
    add_header X-XSS-Protection "1; mode=block";

    # Add IP forwarding headers
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    # lemmybb frontend
    location / {
        proxy_pass "http://0.0.0.0:8701";
        rewrite ^(.+)/+$ $1 permanent;
    }

    # Uncomment these lines to make api publicly accessible.
    # Note that this can easily be abused by spam bots
    # location ~ ^/(api) {
    #    proxy_pass http://0.0.0.0:8703;
    #    # Rate limit
    #    limit_req zone=mydomain.com burst=30 nodelay;
    #}
}

server {
    listen 80;
    listen [::]:80;
    server_name $lemmyui_domain;
    location /.well-known/acme-challenge/ {
        root /var/www/certbot;
    }
    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name $lemmyui_domain;

    ssl_certificate /etc/letsencrypt/live/$lemmyui_domain/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/$lemmyui_domain/privkey.pem;

    # You can put lemmy-ui behind HTTP auth so that only admins can access it.
    # Execute `sudo htpasswd -c /srv/lemmybb/.htpasswd admin` and uncomment
    # the config lines below.
    # More details: https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/
    # auth_basic           "Administrator’s Area";
    # auth_basic_user_file /srv/lemmybb/.htpasswd;

    # Various TLS hardening settings
    # https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
    ssl_session_timeout  10m;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets on;
    ssl_stapling on;
    ssl_stapling_verify on;

    # Hide nginx version
    server_tokens off;

    # Enable compression for JS/CSS/HTML bundle, for improved client load times.
    # It might be nice to compress JSON, but leaving that out to protect against potential
    # compression+encryption information leak attacks like BREACH.
    gzip on;
    gzip_types text/css application/javascript image/svg+xml;
    gzip_vary on;

    # Only connect to this site via HTTPS for the two years
    add_header Strict-Transport-Security "max-age=63072000";

    # Various content security headers
    add_header Referrer-Policy "same-origin";
    add_header X-Content-Type-Options "nosniff";
    add_header X-Frame-Options "DENY";
    add_header X-XSS-Protection "1; mode=block";

    # Add IP forwarding headers
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    # lemmy-ui frontend
    location / {
        proxy_pass http://0.0.0.0:8702;
    }
    # backend
    location ~ ^/(api|pictrs) {
        proxy_pass http://0.0.0.0:8703;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

# Anonymize IP addresses
# https://www.supertechcrew.com/anonymizing-logs-nginx-apache/
map $remote_addr $remote_addr_anon {
  ~(?P<ip>\d+\.\d+\.\d+)\.    $ip.0;
  ~(?P<ip>[^:]+:[^:]+):       $ip::;
  127.0.0.1                   $remote_addr;
  ::1                         $remote_addr;
  default                     0.0.0.0;
}
access_log /var/log/nginx/access.log combined;

and are we supposed to make lemmybb.service /etc/systemd/system/lemmy_bb.service like this?

[Unit]
Description=lemmy_bb
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/lemmyBB/
Environment="LEMMYBB_BACKEND=MyLemmyBBSubdomain.com"
Environment="LEMMYBB_LISTEN_ADDRESS=LemmyUIDomain.com"
Environment="LEMMYBB_INCREASED_RATE_LIMIT=1"
Environment="LD_PRELOAD=libjemalloc.so"
ExecStart=/opt/lemmyBB/target/release/lemmy_bb
Restart=always

[Install]
WantedBy=multi-user.target

Migration from phpBB script

Hey folks! This ticket will probably sit stale for a while but I want to post it to see if there's any interest besides my own.

I currently frequent two phpBB forums, neither of which I'm anything more than an average user of. I don't have any power in decision making, and any significant requests (like migrating to LemmyBB) would rightfully be ignored. That said, going to individual forum websites is outdated tech, and federation like Lemmy is an excellent way to bring people together.

In an effort to bring these existing forums to the convenience of Lemmy, without being a burden to website admins who rightfully fear messing with legacy applications, I'm suggesting a migration script that can set up LemmyBB from an existing phpBB instance.

Anyways, give this thread a good ol' ❤️ or 👍 if you agree 😄

[Bug]: No 500 catcher registered. Using Rocket default.

Steps to reproduce

Update instance

Version

2.0.0

LemmyBB Logs

Apr 14 15:28:51 lemmy lemmy_bb[345679]: ERROR: ld.so: object 'libjemalloc.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Apr 14 15:28:51 lemmy lemmy_bb[345679]: [2023-04-14T13:28:51Z WARN  rocket::launch] 🚀 Rocket has launched from http://192.168.100.15:8703
Apr 14 15:28:54 lemmy lemmy_bb[345679]: thread 'rocket-worker-thread' panicked at 'called `Option::unwrap()` on a `None` value', src/template_helpers.rs:168:20
Apr 14 15:28:54 lemmy lemmy_bb[345679]: note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Apr 14 15:28:54 lemmy lemmy_bb[345679]: [2023-04-14T13:28:54Z ERROR rocket::server::_] Handler community_list panicked.
Apr 14 15:28:54 lemmy lemmy_bb[345679]: [2023-04-14T13:28:54Z WARN  rocket::server::_] A panic is treated as an internal server error.
Apr 14 15:28:54 lemmy lemmy_bb[345679]: [2023-04-14T13:28:54Z WARN  rocket::server::_] No 500 catcher registered. Using Rocket default.
Apr 14 15:28:55 lemmy lemmy_bb[345679]: thread 'rocket-worker-thread' panicked at 'called `Option::unwrap()` on a `None` value', src/template_helpers.rs:168:20
Apr 14 15:28:55 lemmy lemmy_bb[345679]: [2023-04-14T13:28:55Z ERROR rocket::server::_] Handler community_list panicked.
Apr 14 15:28:55 lemmy lemmy_bb[345679]: [2023-04-14T13:28:55Z WARN  rocket::server::_] A panic is treated as an internal server error.
Apr 14 15:28:55 lemmy lemmy_bb[345679]: [2023-04-14T13:28:55Z WARN  rocket::server::_] No 500 catcher registered. Using Rocket default.
Apr 14 15:28:55 lemmy lemmy_bb[345679]: thread 'rocket-worker-thread' panicked at 'called `Option::unwrap()` on a `None` value', src/template_helpers.rs:168:20
Apr 14 15:28:55 lemmy lemmy_bb[345679]: [2023-04-14T13:28:55Z ERROR rocket::server::_] Handler community_list panicked.
Apr 14 15:28:55 lemmy lemmy_bb[345679]: [2023-04-14T13:28:55Z WARN  rocket::server::_] A panic is treated as an internal server error.
Apr 14 15:28:55 lemmy lemmy_bb[345679]: [2023-04-14T13:28:55Z WARN  rocket::server::_] No 500 catcher registered. Using Rocket default.
Apr 14 15:28:56 lemmy lemmy_bb[345679]: [2023-04-14T13:28:56Z WARN  lemmy_bb::error] rate_limit_error
Apr 14 15:28:56 lemmy lemmy_bb[345679]: thread 'rocket-worker-thread' panicked at 'called `Option::unwrap()` on a `None` value', src/template_helpers.rs:168:20
Apr 14 15:28:56 lemmy lemmy_bb[345679]: [2023-04-14T13:28:56Z ERROR rocket::server::_] Handler community_list panicked.
Apr 14 15:28:56 lemmy lemmy_bb[345679]: [2023-04-14T13:28:56Z WARN  rocket::server::_] A panic is treated as an internal server error.
Apr 14 15:28:56 lemmy lemmy_bb[345679]: [2023-04-14T13:28:56Z WARN  rocket::server::_] No 500 catcher registered. Using Rocket default.
Apr 14 15:29:14 lemmy lemmy_bb[345679]: thread 'rocket-worker-thread' panicked at 'called `Option::unwrap()` on a `None` value', src/template_helpers.rs:168:20
Apr 14 15:29:14 lemmy lemmy_bb[345679]: [2023-04-14T13:29:14Z ERROR rocket::server::_] Handler index panicked.
Apr 14 15:29:14 lemmy lemmy_bb[345679]: [2023-04-14T13:29:14Z WARN  rocket::server::_] A panic is treated as an internal server error.
Apr 14 15:29:14 lemmy lemmy_bb[345679]: [2023-04-14T13:29:14Z WARN  rocket::server::_] No 500 catcher registered. Using Rocket default.

Additional context

No response

complete fedilink

the full link should be displayed in the local community, so it may be difficult to know which instance it is.

image

[Bug]: timeout in backend when trying to update user profile

Steps to reproduce

  1. Install new lemmybb 0.1.2 using the docker instructions
  2. Use lemmy server
  3. Enter user profile and try to update email and password

expected: page should update

actual:
browser shows:
error sending request for url (http://lemmy:8536/api/v3/user/save_user_settings): operation timed out

On which operating systems are you seeing the problem on?

  • Windows
  • Linux
  • macOS
  • Android
  • iOS/iPadOS

On which browsers are you seeing the problem on?

  • Firefox
  • Chrome
  • Safari
  • Microsoft Edge
  • Other (please describe in more detail under Additional context)

Version

0.1.2

LemmyBB Logs

lemmy-bb    | [2023-01-02T19:20:40Z INFO  rocket::server] POST /edit_profile multipart/form-data:
lemmy-bb    | [2023-01-02T19:21:10Z WARN  lemmy_bb::error] error sending request for url (http://lemmy:8536/api/v3/user/save_user_settings): operation timed out
lemmy-bb    | [2023-01-02T19:21:10Z INFO  rocket::server] GET /favicon.ico image/avif:
lemmy-bb    | [2023-01-02T19:21:10Z ERROR _] No matching routes for GET /favicon.ico image/avif.
lemmy-bb    | [2023-01-02T19:21:10Z WARN  _] No 404 catcher registered. Using Rocket default.
lemmy       | 2023-01-02T19:21:40.856479Z  WARN Error encountered while processing the incoming HTTP request: lemmy_server::root_span_builder: email_send_failed: Connection error: Address not available (os error 99)
lemmy       |    0: lemmy_api::local_user::save_settings::perform
lemmy       |            with self=SaveUserSettings { show_nsfw: None, show_scores: None, theme: None, default_sort_type: None, default_listing_type: None, lang: Some("browser"), avatar: None, banner: None, display_name: None, email: Some(Sensitive), bio: None, matrix_user_id: None, show_avatars: None, send_notifications_to_email: None, bot_account: None, show_bot_accounts: None, show_read_posts: None, show_new_post_notifs: None, auth: Sensitive }
lemmy       |              at crates/api/src/local_user/save_settings.rs:28
lemmy       |    1: lemmy_server::root_span_builder::HTTP request
lemmy       |            with http.method=PUT http.scheme="http" http.host=lemmy:8536 http.target=/api/v3/user/save_user_settings otel.kind="server" request_id=7f8b2ea3-2aa1-4101-915b-11a30b9aff41 http.status_code=400 otel.status_code="OK"
lemmy       |              at src/root_span_builder.rs:16
lemmy       | LemmyError { message: Some("email_send_failed"), inner: Connection error: Address not available (os error 99)
lemmy       | 
lemmy       | Caused by:
lemmy       |     Address not available (os error 99), context: "SpanTrace" }

Additional context

Lemmy container: dessalines/lemmy:0.16.7

Formatting template files

The HTML in template files is currently rather messy, It would be good if it could be formatted nicely with an automated formatter, similar to cargo fmt. So far i found two possible tools, but neither of them really works for our usecase:

  • Tidy with tidy -mi -w 100 --drop-empty-elements no templates/viewtopic.html.hbs: only works on complete html files, so when called on partials, it adds head and tries to close all divs, so those changes have to be reverted manually. Even then, the html ends up broken in some unknown way, and the site only returns error 500.
  • Prettier: has support for both html and handlebars, which is ideal for our usecase. Unfortunately it throws errors and fails to run at all, because partials are not supported (prettier/prettier#11834, glimmerjs/glimmer-vm#1367)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.