Commit Graph

132 Commits

Author SHA1 Message Date
Michael Manfre ca40a0d150
Set User-Agent and Accept for outbound requests (#293) 2022-12-27 16:50:39 -07:00
Corry Haines b53504fe64
Basic OpenGraph support (#267)
Creates an OpenGraph template include in base.html including the basic tags expected on all pages.

Then allows any page to add additional expected tags via `context`.

Currently, profiles and posts are enriched to show complete opengraph metadata, and render correctly in Discord.

Note: This does not show posts in Slack like Twitter/Mastodon do. I believe this is due to Slack preferring oembed when present, which is a mastodon API endpoint we may need to create at some point.
2022-12-26 10:39:33 -07:00
Andrew Godwin da00a67cb5 Don't double escape summary 2022-12-24 12:49:59 -07:00
Michael Manfre 5536397bdb
Prettier debug json (#260) 2022-12-24 11:05:07 -07:00
Andrew Godwin 4339b09dd4 Also catch empty host-meta 2022-12-24 10:56:49 -07:00
Andrew Godwin a7bbbb5663 Also catch host-meta parse errors 2022-12-24 10:56:22 -07:00
Michael Manfre 9fb18ac841
Identity background images can be relative (#250) 2022-12-23 21:57:50 -07:00
Tyler Kennedy 5dcdee237c
Handle host-meta, which is required for webfinger, not optional. (#220) 2022-12-23 21:35:17 -07:00
Andrew Godwin c890382b30 Fix some of that webfinger breakage 2022-12-22 10:43:53 -08:00
Andrew Godwin ff38948b2f Handle language'd public keys 2022-12-22 05:59:07 +00:00
Andrew Godwin ca3dc82a62 Don't linkify hashtags in usernames and metadata
Fixes #228
2022-12-22 01:10:56 +00:00
Michael Manfre 578b504c92
Include long form and shortform actor uri in webfinger to fix some servers (#226) 2022-12-22 20:51:39 +00:00
Andrew Godwin f5f74dc150 Further search fixing 2022-12-21 21:46:09 +00:00
Andrew Godwin 45de0e09b5 Switch to preserving username case
Except on comparisons, for now. Fixes #224
2022-12-21 21:39:56 +00:00
Andrew Godwin 13ebe14cf9 Don't show deleted follows, and sort publicly 2022-12-21 20:56:52 +00:00
Andrew Godwin c9794c0fcf Add public following/followers pages 2022-12-21 20:36:10 +00:00
Michael Manfre ed83726247
Identity fanout (#196) 2022-12-21 17:13:39 +00:00
Andrew Godwin 3f37c7ffe7 Don't allow empty or bad actor responses 2022-12-21 16:13:36 +00:00
Andrew Godwin 4ad4f468a4 Refactor HTML rendering into one place
Also suppress using external <a> tags for now, until we can separate
them from hashtags properly.
2022-12-20 11:39:45 +00:00
Andrew Godwin 6eaaa6eac4 Allow other Actor types 2022-12-20 06:52:33 +00:00
Andrew Godwin c3a60bbf13 Remove identity avatar fetching 2022-12-19 20:55:27 +00:00
Andrew Godwin 3de188e406 Fix Accept header and supply actor outbox
Should help with Mitra among others. Refs #207.
2022-12-19 02:47:35 +00:00
Andrew Godwin adf245b416 Follow webfinger redirects 2022-12-18 14:00:28 -07:00
Michael Manfre bb81f0e559
Process Identity metadata name same as value (#194) 2022-12-17 21:15:11 -07:00
Michael Manfre ea99f65c26
Icon and image for Identity could be a list 2022-12-17 15:42:29 -07:00
Andrew Godwin d08324e159 Handle timeouts on image fetch 2022-12-17 15:00:50 -07:00
Andrew Godwin 2eb07a5f5f Download and store user avatars locally if small 2022-12-17 12:53:13 -07:00
Andrew Godwin 24a4fbe1f8 Catch all possible request errors 2022-12-17 12:29:48 -07:00
Andrew Godwin 62f2b867b9 Fix serving of system actor
Fixes #183
2022-12-17 12:00:47 -07:00
Andrew Godwin e5b76c120e Fetch emoji for user profiles 2022-12-16 20:04:28 -07:00
Andrew Godwin 770f6728f6 Fix mastodon LD namespace
Fixes #179
2022-12-16 19:45:39 -07:00
Andrew Godwin 12567f6891 Identity admin/moderation 2022-12-16 19:42:48 -07:00
Andrew Godwin 45c6978bc3 User admin and LD schema fixes 2022-12-16 16:38:52 -07:00
Andrew Godwin e0f1bb629c URLs can be empty too 2022-12-15 19:10:50 -07:00
Andrew Godwin faca9224ed Handle API identities with no name 2022-12-15 18:59:04 -07:00
Michael Manfre af3142ac3a
Basic Emoji suppport (#157) 2022-12-15 00:50:54 -07:00
Andrew Godwin 5bc9ff39ac Fix static file URLs 2022-12-12 11:56:49 -07:00
Andrew Godwin 8ffe4bc145 A better way of handling URIs between local/remote 2022-12-12 11:56:49 -07:00
Andrew Godwin 3e062aed36 Timelines working 2022-12-12 11:56:49 -07:00
Andrew Godwin 602e5a3780 Add system actor and shared inbox 2022-12-10 13:24:49 -07:00
Andrew Godwin 3595af7bd2 Media proxy, caching and tuning docs
Fixes #67
2022-12-10 12:16:08 -07:00
Paolo Melchiorre a9bb4a7122
Add pyupgrade with --py310-plus in pre-commit (#103) 2022-12-05 10:38:37 -07:00
Andrew Godwin 93ccb5dd32 Make search work with URLs 2022-12-04 21:13:33 -07:00
Andrew Godwin 676bc8c0ee Make the user fetch interval much longer 2022-12-04 10:46:59 -07:00
Andrew Godwin 3b079526a2 User fetching and inbox message cleaning 2022-11-27 17:05:31 -07:00
Andrew Godwin 2f443414a7 Collect more actor information in fetch
Fixes #31
2022-11-27 16:43:20 -07:00
Michael Manfre d60ba9a051
Added default post visibility 2022-11-25 19:33:46 -07:00
Andrew Godwin 1cf1f2e543 Implement user discoverability 2022-11-25 18:32:45 -07:00
Andrew Godwin 3a608c2012 Ensure usernames and domains are lowercase 2022-11-24 16:28:47 -07:00
Andrew Godwin db0edcd2ae Say all our users are discoverable for now 2022-11-22 19:40:59 -07:00
Andrew Godwin 53d9452917 Outgoing mentions mostly work (exc. cc followers) 2022-11-21 21:18:13 -07:00
Andrew Godwin 0fdeb48ff4 Catch more request errors 2022-11-21 15:41:12 -07:00
Andrew Godwin cfae183e80 Don't error fetching people if they're in the DB 2022-11-21 14:31:16 -07:00
Andrew Godwin 5de3a7ad67 Raise proper errors when it's our fault 2022-11-20 18:45:28 -07:00
Andrew Godwin 97a841d1bb Move signed request onto Identity as a shortcut 2022-11-20 18:32:55 -07:00
Andrew Godwin 5ddce16213 Add a system actor to sign outgoing S2S GETs 2022-11-20 18:29:19 -07:00
Andrew Godwin bed5c7ffaa Don't error when retrieving existing user
Happens when a user is not yet fetched but we look them up via a
successful webfinger
2022-11-20 17:18:25 -07:00
Andrew Godwin 6e88c00969 Don't waste DB rows on bad inbox actors
Seems Sidekiq will keep trying to deliver messages even when the actor
no longer exists?
2022-11-20 14:20:28 -07:00
Andrew Godwin 94d92fdf8a Handle remote user deletions 2022-11-20 12:51:15 -07:00
Andrew Godwin f491fdb56e Actor delete, sentry async, faster stator 2022-11-20 12:32:49 -07:00
Andrew Godwin 77643a4fe1 Add more error handling 2022-11-20 12:24:03 -07:00
Andrew Godwin facdd2c080 More error handling for remote fetch 2022-11-20 12:02:38 -07:00
Andrew Godwin 7a4f9cf293 Add error catching on actor fetch 2022-11-20 11:37:26 -07:00
Andrew Godwin 6e79527bb5 A few more fixes from going live 2022-11-19 13:38:25 -07:00
Andrew Godwin 2a3690d1c1 Return images and summary in actor 2022-11-17 17:55:50 -07:00
Andrew Godwin f5eafb0ca0 Add image/icon upload 2022-11-17 12:21:44 -07:00
Andrew Godwin 7f8e792402 Force username to lowercase for now 2022-11-16 23:10:55 -07:00
Andrew Godwin b13c239213 Handle post edits, follow undos 2022-11-16 22:23:32 -07:00
Andrew Godwin 1b52acdb56 Domains management pages 2022-11-16 21:12:28 -07:00
Andrew Godwin 20e63023bb Get outbound likes/boosts and their undos working 2022-11-15 15:30:32 -07:00
Andrew Godwin dd4328ae52 Add JSON-LD signatures and tests for sig stuff 2022-11-12 15:10:15 -07:00
Andrew Godwin feb5d9b74f Got up to incoming posts working 2022-11-11 22:02:43 -07:00
Andrew Godwin 2c3a129970 Profile fetching now working on state machine 2022-11-09 23:48:31 -07:00
Andrew Godwin 7746abbbb7 Most of the way through the stator refactor 2022-11-09 22:29:49 -07:00
Andrew Godwin c391e7bc41 THE FOLLOWS, THEY WORK
Well, in one direction anyway
2022-11-07 00:19:00 -07:00
Andrew Godwin fb6c409a9a Rework task system and fetching.
I can taste how close follow is to working.
2022-11-06 21:30:07 -07:00
Andrew Godwin 52c83c67bb Signing works with OpenSSL.
Will have to ask the cryptography peeps what I was doing wrong.
2022-11-06 14:14:08 -07:00
Andrew Godwin dbe57075d3 Rework to a domains model for better vhosting 2022-11-06 13:48:04 -07:00
Andrew Godwin 8aec395331 Move to the more sensible JSON-LD repr 2022-11-06 00:07:38 -06:00
Andrew Godwin a2404e01cd Queuing system and lazy profile fetch 2022-11-05 22:49:25 -06:00
Andrew Godwin e44a321ec5 Get Actor fetching and parsing working 2022-11-05 17:51:54 -06:00
Andrew Godwin d77dcf62b4 Initial commit (users and statuses) 2022-11-05 14:17:27 -06:00