Requirements

  • [X] Is this a bug report? For questions or discussions use https://lemmy.ml/c/lemmy_support
  • [X] Did you check to see if this issue already exists?
  • [X] Is this only a single bug? Do not put multiple bugs in one issue.
  • [X] Is this a backend issue? Use the lemmy-ui repo for UI / frontend issues.

Summary

Summary

Communities on Lemmy instances can no longer be found or followed from the Fediverse outside of Lemmy. Apparently, this started with 0.18.0.

It is no longer possible to find them by searching for them, it is no longer possible to subscribe to them, it is no longer possible to see posts from them. It is still possible to post to them from outside, though.

Instances I know to be hit by the bug

Steps to Reproduce

Search for communities

Example on Lemmy’s side: the main community on sh.itjust.works which recently upgraded to 0.18.0, at which point outbound federation ceased to work. Other communities on sh.itjust.works behave the same. It has been reported that lemmy.ca has the same issue.

Example on the non-Lemmy side: Mastodon 4.1.0. The same thing has been proven to happen on Hubzilla 8.4.2, including with a community that has already been subscribed to about a week ago, prior to the Lemmy 0.18.0 upgrade on sh.itjust.works. Before Lemmy 0.18.0, searching for Lemmy communities worked on both Mastodon 4.1.0 and Hubzilla 8.4.2.

  1. Copy the URL of a community on a Lemmy 0.18.0 instance; in this example, https://sh.itjust.works/c/main.
  2. Go to any Mastodon instance. Being logged in is not required.
  3. Paste the copied URL into the search field.
  4. Hit Enter.

Expected result/result before the 0.18.0 upgrade: The main community on sh.itjust.works appears as the only search result. If logged into this Mastodon instance, the community can be subscribed to with one click.

Actual result: No search results; “Could not find anything for these search terms” instead.

Directly subscribe to communites without searching for them first

Disclaimer: This requires a Hubzilla channel and being logged into it.

The same Lemmy-side example as above will be used; the same explanations are still valid.

On the non-Lemmy side, the example is Hubzilla which does not require to search for a community to subscribe to it, just to illustrate that this doesn’t work either.

  1. Copy the URL of a community on a Lemmy 0.18.0 instance; in this example, https://sh.itjust.works/c/main.
  2. Go to a Hubzilla instance on which you have your channel. Log in if necessary.
  3. Navigate to the Connections page.
  4. Click the green Add button.
  5. In the field that says, “Enter channel address”, paste the copied URL.
  6. Click the green + button.

Expected result/actual result before the 0.18.0 upgrade: The connection is created. The connection configuring window opens so you can adjust it. The community appears amongst your connections.

Actual result: The page flicks briefly. The connection configuring window does not open. The community does not appear amongst your connections. The connection is not created.

Receive and read posts from subscribed communities

This can only be reproduced with communities which have been subscribed to prior to the 0.18.0 upgrade, but which run on 0.18.0 now. The requirement for a step-by-step reproduction would be to already have subscribed to a community which is on 0.18.0 now from an account/channel on an instance of a project that isn’t Lemmy (e.g. Mastodon). For reasons mentioned above, this requirement cannot be established currently.

Technical Details

I’m not an admin, so no access to logs here, only external observations by a Hubzilla user.

Version

0.18.0

Lemmy Instance URL

No response

Originally posted by JupiterRowland in #3354

  • issue_tracking_bot@lemm.eeOPB
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Here is what I am observing:

    1. Other servers are not searchable

    Federation is enabled. Both the allow-list and deny-list are left empty. Yet other servers are not searchable.

    I tried explicitly adding lemmy.ml to the allow-list but that had no effect.

    2. Visit other servers not working

    1. Add lemmy.ml to the federation allow list
    2. Navigate to Instances
    3. Click lemmy.ml
    4. Redirects to lemmy.ml successfully. All requests return 200.
    5. The page on lemmy.ml displays a message:

    Error! There was an error on the server. Try refreshing your browser. If that doesn’t work, come back at a later time. If the problem persists, you can seek help in the Lemmy support community or Lemmy Matrix room.

    1. Nothing happens when you click anywhere on lemmy.ml. It’s not responsive.
    2. Open an Incognito window or different browser and navigate to lemmy.ml. It works fine.

    The only clue I have so far is that whenever I perform a search (any search) on my lemmy instance, the following warning is displayed in the lemmy_1 container:

    2023-07-01T14:42:54.720841Z  WARN lemmy_server::root_span_builder: couldnt_find_object: invalid query
       0: lemmy_apub::fetcher::search::search_query_to_object_id
                 at crates/apub/src/fetcher/search.rs:19
       1: lemmy_apub::api::resolve_object::perform
               with self=ResolveObject { q: "hello world", auth: Sensitive }
                 at crates/apub/src/api/resolve_object.rs:21
       2: lemmy_server::root_span_builder::HTTP request
               with http.method=GET http.scheme="http" http.host=lemmynewengland.com http.target=/api/v3/resolve_object otel.kind="server" request_id=2fb9ff97-e5fd-4996-b914-9d789b8c5c48
                 at src/root_span_builder.rs:16
    LemmyError { message: Some("couldnt_find_object"), inner: invalid query, context: SpanTrace [{ target: "lemmy_apub::fetcher::search", name: "search_query_to_object_id", file: "crates/apub/src/fetcher/search.rs", line: 19 }, { target: "lemmy_apub::api::resolve_object", name: "perform", fields: "self=ResolveObject { q: \"hello world\", auth: Sensitive }", file: "crates/apub/src/api/resolve_object.rs", line: 21 }, { target: "lemmy_server::root_span_builder", name: "HTTP request", fields: "http.method=GET http.scheme=\"http\" http.host=lemmynewengland.com http.target=/api/v3/resolve_object otel.kind=\"server\" request_id=2fb9ff97-e5fd-4996-b914-9d789b8c5c48", file: "src/root_span_builder.rs", line: 16 }] }
    

    Originally posted by seansica in #3354