Commit graph

307 commits

Author SHA1 Message Date
Andrew Godwin
f7948a55bf Actually do the right indexes in migrations 2023-02-03 22:24:28 -07:00
Andrew Godwin
36676fad59 Rework stator to avoid deadlocks on slow databases
Refs #424
2023-02-03 21:51:24 -07:00
Andrew Godwin
a6922cb9d6 Move to a new HTML parser/stripper
This removes the use of the EOL'd Bleach, and also integrates hashtag,
mention and emoji searching into one single place.
2023-01-29 17:47:06 -07:00
Andrew Godwin
1670c92269 Send out emoji tags for identities 2023-01-28 11:01:42 -07:00
Michael Manfre
a22ba4859b Downgrade follow not found to capture_message 2023-01-27 10:52:32 -07:00
Andrew Godwin
653ab07fd6 Swap a decent number of admin fields to autocomplete 2023-01-26 10:01:21 -07:00
Andrew Godwin
75ba7e3160 Make user admin a raw ID field 2023-01-26 09:52:03 -07:00
Andrew Godwin
f967f6c697
Clarify domain wording a little
Fixes #469
2023-01-23 16:17:18 -07:00
Michael Manfre
0ba0971baa
Remove capture message for deleting unknown actor (#466) 2023-01-20 17:56:36 -07:00
Corry Haines
46947279b0
Attach user identification headers to response (#453)
Add X-Takahe-User and X-Takahe-User-Identity headers to response, when available, to allow for better Nginx log enrichment.

Also drop these headers in Nginx so they aren't sent into the world. They probably aren't dangerous since they identfy the users _to themselves_ but strip it for now, just in case.
2023-01-20 17:20:14 -07:00
Andrew Godwin
f150a3eee9 Don't allow self-mute and self-block
Fixes #454
2023-01-20 09:31:37 -07:00
Andrew Godwin
ee3b51c28f Fix username display to yourself in clients 2023-01-19 16:34:49 -07:00
Michael Manfre
51ae78a33c
Downgrade most fetch related errors to capture_message (#443) 2023-01-19 13:14:55 -07:00
Andrew Godwin
536f0a4488 Limit shortcodes on emoji to Mastodon rules 2023-01-19 12:23:49 -07:00
Andrew Godwin
cfb4975fdf Unlinkify profile values in edit fields 2023-01-19 10:30:42 -07:00
Andrew Godwin
9b5152723a Add delete admin option 2023-01-19 10:14:11 -07:00
Michael Manfre
e5485b1430
Handle nodeinfo validation errors (#439) 2023-01-18 10:57:28 -07:00
Andrew Godwin
50f8c8040d Add light theme and some more CSS variables 2023-01-16 13:05:21 -07:00
Andrew Godwin
54e7755080 Unfollowing or blocking users purges timeline
Fixes #366
2023-01-16 11:53:40 -07:00
Andrew Godwin
c3caf26f22 Ignore emoji react undos as well 2023-01-16 11:27:23 -07:00
Andrew Godwin
57dfc330e0 Fix source for no bio 2023-01-15 16:29:11 -07:00
Andrew Godwin
de9261251e Fixed #421: Allow profile editing via API 2023-01-15 16:15:57 -07:00
Andrew Godwin
9dded19172 Add admin notification for new identities 2023-01-15 14:48:17 -07:00
Andrew Godwin
b44be55609 Fixed #408: Implemented blocking 2023-01-15 13:35:45 -07:00
Michael Manfre
1f44e93518
Handle servers that return wrong webfinger payload (#415) 2023-01-14 14:19:47 -07:00
Andrew Godwin
2675ed69ee Update help_text in migration 2023-01-14 11:11:36 -07:00
Michael Manfre
21d565d282
Copy Emoji to local and delete file with record (#407) 2023-01-14 10:35:20 -07:00
TAKAHASHI Shuuji
feb7a673eb
Attach multiple images to RSS (#411) 2023-01-14 10:34:31 -07:00
TAKAHASHI Shuuji
71ab6b98a6
Fix emoji file size validation and help text and add image size validation (#410) 2023-01-14 10:33:36 -07:00
TAKAHASHI Shuuji
3679448cdf
FIx HTML issues found by djLint (#409) 2023-01-14 10:32:48 -07:00
Andrew Godwin
9876b81f66 Add announcements client API 2023-01-13 16:12:05 -07:00
Andrew Godwin
8b3106b852 Implement server announcements
Fixes #377
2023-01-13 16:12:05 -07:00
Michael Manfre
18b50ce0e6
Silence a few common errors when fetching (#404)
Downgrade nodeinfo json error to a captured message
2023-01-13 10:53:02 -07:00
Andrew Godwin
fa688a5a73 Fixed #383: Render links in API metadata values 2023-01-11 22:04:03 -07:00
Humberto Rocha
ae74d65157
Fix identity not fetching emoji (#397) 2023-01-11 17:07:59 -07:00
Andrew Godwin
113db4ab3a Fixed #376: Emoji admin page
Also did a new table style for admin pages
2023-01-10 20:31:50 -07:00
Andrew Godwin
fb881dd5de Fix tests and most of pagination 2023-01-08 23:06:33 -07:00
Andrew Godwin
ecec5d6c0a Implement snowflake IDs for some models.
Still needs fixes to the client API paginator.
2023-01-08 18:05:29 -07:00
Andrew Godwin
0cfd0813f2 Fixed #365: Actually clear profile images on check 2023-01-08 14:47:44 -07:00
Andrew Godwin
f4a8a96b81 Add first-class deletion support to Stator 2023-01-08 12:43:52 -07:00
Michael Manfre
db186fcd73
Lookup nodeinfo url with /.well-known/nodeinfo (#367)
Fixes #364
2023-01-07 10:36:36 -07:00
Corry Haines
be7ce6ed62
Improve /api/v1/accounts/{id}/statuses perf (#355) 2023-01-05 22:51:02 -07:00
Michael Manfre
f1fa4aa1e2
Ignore 406 response for webfinger and nodeinfo (#356) 2023-01-04 21:45:29 -07:00
Michael Manfre
1768781fed
Fix typo in Domain.fetch_nodeinfo error handling string (#354) 2023-01-04 21:39:01 -07:00
Andrew Godwin
2da399db42 More permissive nodeinfo schema 2023-01-03 10:31:11 -07:00
Michael Manfre
69b0430819
Add custom_head config to inject HTML in to page <head> (#350) 2023-01-04 16:42:03 -07:00
Michael Manfre
801fe2e58a
Add Domain.state with nodeinfo fetching (#347) 2023-01-04 16:40:16 -07:00
Andrew Godwin
a7a292a84c Pagination styling and "max users" signup limit 2023-01-03 01:32:00 -07:00
NaphalSec
c10aa46fc5
New Moderation Report Email (#346) 2023-01-02 16:31:32 -07:00
Andrew Godwin
bb0ee1b152 Purge failing inbox messages too 2023-01-01 13:10:54 -07:00
Michael Manfre
5f1d7b5253
Add indexes for Stator and some of its common tasks (#332) 2023-01-01 10:58:13 -07:00
Cosmin Stejerean
6028232d3d
fix follow in relationship json (#339) 2022-12-31 20:17:05 -07:00
Andrew Godwin
ae12aadd38 Include actor URI in another error
Fixes #331
2022-12-31 13:53:21 -07:00
Andrew Godwin
0fc8ff4965 Move like/boost/reply counts onto Post model 2022-12-31 13:52:30 -07:00
Andrew Godwin
13fc4b42de Handle Diaspora's XML webfinger 2022-12-31 11:13:51 -07:00
Andrew Godwin
8fe99718f3 Don't complain on delete on unknown URIs 2022-12-31 10:49:45 -07:00
TAKAHASHI Shuuji
d8ff43dc28
Attach the first image of post to RSS feed (#333) 2022-12-31 10:29:51 -07:00
NaphalSec
05adbace24
email templates (#328) 2022-12-30 16:03:11 -07:00
Cosmin Stejerean
eea83214cb
Option to show/hide boosts for a followed user (#317) 2022-12-30 15:03:11 -07:00
Andrew Godwin
011c51b3c4 Implement progressive thread parent fetching 2022-12-30 11:48:42 -07:00
Andrew Godwin
52b4384cd6 Add follow notifications for local follows too
Fixes #326
2022-12-30 10:20:39 -07:00
Andrew Godwin
d247baa307 Serve webfinger and host-meta with correct mimetypes
Fixes #323 (hopefully!)
2022-12-30 10:12:48 -07:00
Michael Manfre
75c17c0766
Correctly handle response.raise_for_status() and guard search from bubbling parse errors (#322) 2022-12-30 01:02:33 -07:00
Michael Manfre
0250f2800b
Identity profile menus 2022-12-30 01:01:03 -07:00
Tyler Kennedy
6a1caae79b
Show a post button and fix selected logic for following/followers (#320) 2022-12-29 21:31:34 -07:00
Andrew Godwin
ea6f272047 Infinite scroll, and footer in sidebar if exists 2022-12-29 11:33:41 -07:00
Tyler Kennedy
cc7824394b
Fixes for the Toot! client (#248) (#275)
* Various Toot! fixes
* Use a fallback 1x1 pixel image for missing headers, same as Mastodon. The header and header_static are _not_ optional nor nullable according to the spec.
* Try removing some fields which probably shouldn't be set.
* Pagination with next/prev.
2022-12-29 10:31:32 -07:00
Andrew Godwin
b03d9f0e12 Handle deletions of post URIs
Fixes #306
2022-12-28 22:47:28 -07:00
Andrew Godwin
716b74404f Allow for follow accepts with object URIs only
Fixes #214
2022-12-28 22:25:34 -07:00
Andrew Godwin
6137149f55 Improve cache busting proxy URLs with file exts
Fixes #287.
2022-12-28 11:57:54 -07:00
Corry Haines
296780d5cc
Use cache-busting URLs for proxied files (#294)
Migrates (in a backwards-compatible way) from `/proxy/identity_image/271/` to `/proxy/identity_image/271/f5d8e72f2b/`.
dently).
2022-12-28 11:39:40 -07:00
Andrew Godwin
a3b6996413 Discard emoji reactions for now 2022-12-28 11:02:14 -07:00
Michael Manfre
f17f9df27e
Identity.by_username_and_domain has more awareness of Domain (#303) 2022-12-28 10:52:39 -07:00
Andrew Godwin
5780068213 Implement max inbound payload size 2022-12-27 20:01:00 -07:00
Michael Manfre
efe6864418
Ensure a min of 2 metadata input rows on profile edit form (#297) 2022-12-27 17:45:51 -07:00
Michael Manfre
c6c3914cc7
Include Identity metadata fields in ActivityPub messages (#295) 2022-12-27 17:42:30 -07:00
Michael Manfre
aa2ace9b68
Identity profile metadata input with dynamic form (#280) 2022-12-27 16:56:50 -07:00
Michael Manfre
ca40a0d150
Set User-Agent and Accept for outbound requests (#293) 2022-12-27 16:50:39 -07:00
Andrew Godwin
a815622190 Reinforce service domain uniqueness 2022-12-26 15:29:09 -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
d32a686eb1 Persist CWs in replies, expand linked at once
Fixes #268
2022-12-26 10:03:13 -07:00
Michael Manfre
d2766860c5
Views that return fixed content only generate the content once (#271) 2022-12-25 14:26:15 -07:00
Michael Manfre
8ab0e97a86
Some servers send object as dict for PostInteraction and Follow (#261)
* Some servers send object as dict for PostInteraction and Follow

* Add core.ld.get_str_or_id helper
2022-12-24 21:24:46 -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
Tyler Kennedy
801c807a2b
Simple user stylesheet support. (#258) 2022-12-24 07:28:39 -07:00
Michael Manfre
c25da3a95f
Better djadmin Identity search (#253) 2022-12-24 06:34:15 -07:00
Andrew Godwin
f5d06d2656 Move wellness options inside Interface 2022-12-23 23:01:27 -07:00
Michael Manfre
aca77314d1
Fixes #239 - Add option to hide Boost and Like counts (#247) 2022-12-23 22:16:26 -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
699b6fc29e "Remove posts from front page" option 2022-12-22 14:16:08 -07:00
Andrew Godwin
af6ddcf8f1 Drive user timeline and RSS off a single service 2022-12-22 13:11:47 -08:00
Andrew Godwin
a058140d11 New "plain" page style for most logged out pages 2022-12-22 13:06:35 -08:00
Andrew Godwin
c890382b30 Fix some of that webfinger breakage 2022-12-22 10:43:53 -08:00
Andrew Godwin
9c376395db Invites overhaul
No email tie, added uses and expires, now works by URL.
2022-12-22 07:03:21 +00:00
Andrew Godwin
ff38948b2f Handle language'd public keys 2022-12-22 05:59:07 +00:00
Andrew Godwin
8729baaea4 Show when a follow is pending 2022-12-22 05:54:01 +00:00