Commit graph

309 commits

Author SHA1 Message Date
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
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
3ebbb79bb5 Deal with initially-null summary
Fixes #234
2022-12-22 01:01:26 +00:00
Andrew Godwin
df90285356 Fix setting empty summary 2022-12-21 21:56:45 +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
23db8f3dd8 Make summary HTML-formatted (and safe!) 2022-12-21 20:48:39 +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
480fa70b1f Handle rejected follows 2022-12-21 16:11:58 +00:00
Andrew Godwin
d1e398a7b7 Invite creation improvements 2022-12-20 14:38:42 +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
e28294c81a Hashtag admin simplification 2022-12-20 09:16:03 +00:00
Andrew Godwin
39013e0bb5 Add moderation/admin separation 2022-12-20 09:01:54 +00:00
Andrew Godwin
0c4eb74165 Invites admin 2022-12-20 08:52:03 +00:00
Andrew Godwin
d91d090566 Handle follows to dead actors 2022-12-20 07:10:31 +00:00
Andrew Godwin
f4f575d22f Type and fanout fixes 2022-12-20 07:01:30 +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
0dca7eae5f Implement API follow/unfollow
Fixes #198
2022-12-19 20:54:09 +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
a408cbaa27
Post types (#182)
Initial support for Posts of type other than 'Note'. Render special Post types with templates.
2022-12-18 09:09:25 -07:00
Michael Manfre
bb81f0e559
Process Identity metadata name same as value (#194) 2022-12-17 21:15:11 -07:00
Andrew Godwin
c5e00a2c73 Switch ordering for domain default field 2022-12-17 17:17:59 -07:00
Andrew Godwin
77ef358fef Allow markdown on signup text 2022-12-17 17:02:54 -07:00
Michael Manfre
ea99f65c26
Icon and image for Identity could be a list 2022-12-17 15:42:29 -07:00
Andrew Godwin
4d71da7ae1 Allow for remote policy pages 2022-12-17 15:30:51 -07:00
Andrew Godwin
d08324e159 Handle timeouts on image fetch 2022-12-17 15:00:50 -07:00
Andrew Godwin
64f113dd8d Receive inbound reports 2022-12-17 14:58:04 -07:00
Andrew Godwin
e8d6dccbb2 Report function and admin 2022-12-17 14:45:31 -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
0fa5522e6a Handle delete.note as well as delete.tombstone 2022-12-17 12:18:04 -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
Andrew Godwin
bce7add2b4 Fix login form errors not appearing
Fixes #175
2022-12-15 16:24:06 -07:00
Andrew Godwin
9ad9bdd936 Implement post rate limits, move to signed cookies
Also improve the test harness a little
Fixes #112
2022-12-15 15:55:33 -07:00
Andrew Godwin
1130c23b1e Stator stats overhaul
Removes the error table, adds a stats table and admin page.
Fixes #166
2022-12-15 12:26:44 -07:00
Michael Manfre
af3142ac3a
Basic Emoji suppport (#157) 2022-12-15 00:50:54 -07:00
Gabriel Rodríguez Alberich
d1ce056288
Show follows and following counts on profile page
And let their visibility be configured
2022-12-14 10:15:46 -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
20239b5cb7 Basic post mutation 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
Michael Manfre
a576c5b5ed
Improve djadmin filtering and search (#149) 2022-12-08 10:29:51 -07:00
Tom Usher
1440ee9ceb
Support deeper subdomains in domain validation (#110)
Use a new validator class with regex based on the URLValidator from Django
2022-12-07 09:25:10 -07:00
Michael Manfre
42c7b629cf
Ignore actor delete messages for unknown actors (#124) 2022-12-05 22:23:35 -07:00
Michael Manfre
b8460b0acd
Only cache unauthenticated page views (#117) 2022-12-05 22:23:07 -07:00
Andrew Godwin
9fe2e6676c Add a middleware to detect LD Accept headers 2022-12-05 20:02:35 -07:00
Andrew Godwin
e2d28a4be0 Add pagination and search to federation page 2022-12-05 19:54:47 -07:00
Andrew Godwin
a31f676b46 Policy pages and signup tests.
Fixes #113
2022-12-05 19:24:46 -07:00
Paolo Melchiorre
22e25ac454
Add django-upgrade to pre-commit (#114) 2022-12-05 14:44:50 -07:00
Michael Manfre
d6eb16a398
Added caching and initial settings 2022-12-05 10:55:30 -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
ec1848e095 Adding RSS feeds for local identities 2022-12-04 08:20:50 -07:00
Tyler Kennedy
6ce05296b0
Make follows a top-level activity. (#94) 2022-12-04 09:41:41 -07:00
Andrew Godwin
8835fdee6b Explicitly ignore add and remove messages for now 2022-12-04 07:36:38 -07:00
Andrew Godwin
6f2f28a3a7 Image attachment uploads 2022-12-01 18:47:04 -07:00
Michael Manfre
fb8f2d1098
Hashtags 2022-11-28 21:41:36 -07:00
Andrew Godwin
0221ea261f Admin tweaks 2022-11-27 17:16:09 -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
Tyler Kennedy
68d59b399e
Set content type when serving object
Fixes #37
2022-11-27 14:43:46 -07:00
Andrew Godwin
98cd3f5b0f Fix tests 2022-11-26 12:24:38 -07:00
Michael Manfre
d60ba9a051
Added default post visibility 2022-11-25 19:33:46 -07:00
Andrew Godwin
ab7a8cb120 Don't error admin decorator on anonymous 2022-11-25 18:37:09 -07:00
Andrew Godwin
1cf1f2e543 Implement user discoverability 2022-11-25 18:32:45 -07:00
Andrew Godwin
19909bdef0 Discard messages from blocked servers 2022-11-25 18:11:31 -07:00
Andrew Godwin
8ca36fd958 Add federation admin page 2022-11-25 17:52:57 -07:00
Andrew Godwin
3a608c2012 Ensure usernames and domains are lowercase 2022-11-24 16:28:47 -07:00
Michael Manfre
f88efa40d4
Code dedupe Webfinger and fix SystemActor inbox URL 2022-11-22 21:53:02 -07:00
Andrew Godwin
975c205d1d Show boosts and likes on other post list pages 2022-11-22 19:58:56 -07:00
Michael Manfre
cdfff32f9a
Content warning name customisation
Allows the name of Content Warning to be customized (e.g. to "Content Summary").

Fixes #28.
2022-11-22 19:52:40 -07:00
Andrew Godwin
db0edcd2ae Say all our users are discoverable for now 2022-11-22 19:40:59 -07:00
Andrew Godwin
7b867b229d Switch to new identity on creation 2022-11-22 18:41:10 -07:00
Andrew Godwin
47de2c4424 Fix profile page post listing 2022-11-22 18:39:15 -07:00
Andrew Godwin
05ed5989e3 Better way to initialise things on setup. 2022-11-22 11:59:34 -07:00
Andrew Godwin
53d9452917 Outgoing mentions mostly work (exc. cc followers) 2022-11-21 21:18:13 -07:00
Andrew Godwin
0d1e09fbcd Refactor almost all tests into /tests/ 2022-11-21 20:10:01 -07:00
Andrew Godwin
0fdeb48ff4 Catch more request errors 2022-11-21 15:41:12 -07:00
Andrew Godwin
8d56f8388f Don't error when no resource on webfinger 2022-11-21 14:34:03 -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
c4be52357b Make test directories into modules 2022-11-20 23:26:53 -07:00
Andrew Godwin
da936cd7df Don't try to make a keypair during tests 2022-11-20 23:08:09 -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