gotosocial/internal/transport
tobi 882d97f7b3 [bugfix] Fix wrong URI used in dereferenceLocal (#4097)
# Description

> If this is a code change, please include a summary of what you've coded, and link to the issue(s) it closes/implements.
>
> If this is a documentation change, please briefly describe what you've changed and why.

Previously we were passing a *followers* URI into the federatingDB `Followers` function, which expects an *account* URI. This led to a nil body when doing internal dereferences (ie., while sending out messages). I think I probably wrote this bug when I refactored stuff a while ago.

This PR fixes that up by making the dereferenceLocal function more consistent, and falling back to an http dereference if nothing found. Clarifies behavior of the federatingdb.Get function as well, by commenting the shit out of it.

Also adds tests, precious tests.

Closes https://codeberg.org/superseriousbusiness/gotosocial/issues/4066

## Checklist

Please put an x inside each checkbox to indicate that you've read and followed it: `[ ]` -> `[x]`

If this is a documentation change, only the first checkbox must be filled (you can delete the others if you want).

- [x] I/we have read the [GoToSocial contribution guidelines](https://codeberg.org/superseriousbusiness/gotosocial/src/branch/main/CONTRIBUTING.md).
- [x] I/we have discussed the proposed changes already, either in an issue on the repository, or in the Matrix chat.
- [x] I/we have not leveraged AI to create the proposed changes.
- [x] I/we have performed a self-review of added code.
- [x] I/we have written code that is legible and maintainable by others.
- [x] I/we have commented the added code, particularly in hard-to-understand areas.
- [x] I/we have made any necessary changes to documentation.
- [x] I/we have added tests that cover new code.
- [x] I/we have run tests and they pass locally with the changes.
- [x] I/we have run `go fmt ./...` and `golangci-lint run`.

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4097
Co-authored-by: tobi <tobi.smethurst@protonmail.com>
Co-committed-by: tobi <tobi.smethurst@protonmail.com>
2025-05-05 12:03:25 +02:00
..
delivery [feature] Move to code.superseriousbusiness.org 2025-05-05 11:55:15 +02:00
controller.go [bugfix] Fix wrong URI used in dereferenceLocal (#4097) 2025-05-05 12:03:25 +02:00
deliver.go [feature] Move to code.superseriousbusiness.org 2025-05-05 11:55:15 +02:00
derefdomainpermlist.go [feature] Move to code.superseriousbusiness.org 2025-05-05 11:55:15 +02:00
dereference.go [bugfix] Fix wrong URI used in dereferenceLocal (#4097) 2025-05-05 12:03:25 +02:00
dereference_test.go [bugfix] Fix wrong URI used in dereferenceLocal (#4097) 2025-05-05 12:03:25 +02:00
derefinstance.go [feature] Move to code.superseriousbusiness.org 2025-05-05 11:55:15 +02:00
derefmedia.go [feature] Move to code.superseriousbusiness.org 2025-05-05 11:55:15 +02:00
derefrobots.go [feature] Move to code.superseriousbusiness.org 2025-05-05 11:55:15 +02:00
finger.go [feature] Move to code.superseriousbusiness.org 2025-05-05 11:55:15 +02:00
finger_test.go [bugfix] Use punycode for host part of resource query param when doing webfinger requests (#3133) 2024-07-26 13:11:07 +02:00
signing.go [chore] Move deps to code.superseriousbusiness.org (#4054) 2025-05-05 11:27:41 +02:00
transport.go [feature] Move to code.superseriousbusiness.org 2025-05-05 11:55:15 +02:00
transport_test.go [bugfix] Fix wrong URI used in dereferenceLocal (#4097) 2025-05-05 12:03:25 +02:00