Commit graph

319 commits

Author SHA1 Message Date
Andrew Godwin e066641556 Accept emoji using nameMap 2022-12-22 17:19:12 +00:00
Andrew Godwin 025fd5cf07 Emoji refactor
Emojis are now prefetched from the post, and if not, looked up
individually by shortcode, to prevent loading hundreds.
2022-12-22 16:55:31 +00:00
Andrew Godwin 79fd800a78 Accept objects with contentMap only 2022-12-22 05:29:49 +00:00
Andrew Godwin 02f942f1ad Add boost/like count to more timelines 2022-12-22 04:27:02 +00:00
Tyler Kennedy 7e5b5dc4e4
Various UX tweaks and front end fixes. (#230) 2022-12-22 21:28:28 +00:00
Andrew Godwin f9b5f372ac Responsive styling fix, shorter pages
Refs #102
2022-12-22 01:06:01 +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
Gabriel Rodríguez Alberich 1349144e37
Minor design tweaks to the Follows page (#222)
* Filter outbound and inbound follows by active state
* Change pill appearance to distinguish it from buttons
* Signal destructive action when hovering unfollow buttons
* Add hover style to the top "tabs"/"filters"
* Make filters icon have the same width so selecting them doesn't change the options total width, which is mildly unnerving
2022-12-21 19:57:14 +00:00
Andrew Godwin e2371a3cd7 Move timelines to a service class 2022-12-21 19:47:48 +00:00
Michael Manfre ed83726247
Identity fanout (#196) 2022-12-21 17:13:39 +00:00
Michael Manfre a7082decc8
Optimize timeline queries (#219) 2022-12-21 11:09:18 +00:00
Andrew Godwin 6039cde49e It's amazing what a little select_related can do 2022-12-20 15:35:48 +00:00
Andrew Godwin f82b82502c Install debug toolbar in debug mode 2022-12-20 15:26:39 +00:00
Andrew Godwin 12a838eb0e Don't crash trying to fetch parents we don't have 2022-12-20 15:02:20 +00:00
Andrew Godwin 3b3285964e Fix inbound/outbound targeting 2022-12-20 14:20:11 +00:00
Andrew Godwin 51d34eda9c Significantly better hashtag link parsing
Fixes #203
2022-12-20 13:55:14 +00:00
Andrew Godwin 4635874c12 Relax accept header for gup.pe 2022-12-20 13:21:50 +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 db3fc7c53c Fetch actors with posts when needed
Fixes #190, #205
2022-12-20 10:17:52 +00:00
Andrew Godwin 9067caf9a3 Add expanded post context
Fixes #120
2022-12-20 09:59:06 +00:00
Andrew Godwin e28294c81a Hashtag admin simplification 2022-12-20 09:16:03 +00:00
Michael Manfre 84dbb51de7
Raw response in JSON debug (#211) 2022-12-20 08:19:00 +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 985bb95aca Add error states, use for fanout 2022-12-20 06:23:50 +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 48174d84a4 Don't linkify mentions inside links 2022-12-19 00:27:05 +00:00
Andrew Godwin 3544aa0c8b Don't use domain on hashtags for local disp
Fixes #200
2022-12-19 00:05:58 +00:00
Andrew Godwin 9e2092c4b2 Fix new focalpoint parsing 2022-12-18 14:16:26 -07:00
Andrew Godwin bfe015ebd8 Don't worry about interactions on dead posts 2022-12-18 14:14:49 -07:00
Andrew Godwin 6cdcbcfab9 Remove test URL 2022-12-18 11:14:19 -07:00
Andrew Godwin 58e11ae3b6 Debug JSON view, json fixes 2022-12-18 11:00:21 -07:00
Andrew Godwin 770aa1531a Do actual ISO date parsing
Fixes #187
2022-12-18 10:45:32 -07:00
Andrew Godwin b8dca2b71f Do not allow posts from blocked domains in
Fixes #172
2022-12-18 09:58:43 -07:00
Andrew Godwin 5d6ff57b5f Don't include broken users in reply mentions
Fixes #192
2022-12-18 09:50:29 -07:00
Andrew Godwin bcd48368b5 Don't notify if we mention ourselves
Fixes #191
2022-12-18 09:48:18 -07:00
Andrew Godwin 90c7b615fd Move timelines to published date all around 2022-12-18 09:44:56 -07:00
Andrew Godwin 35102fbdd4 Merge timelineevent, urls and post type migration 2022-12-18 09:22:15 -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
Tyler Kennedy fc79551656
Increase the allowed size of URIs
Increase the allowed size of Post.object_uri and Post.url from 500 characters to a more reasonable 2048. See https://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers.
2022-12-17 20:20:51 -07:00
Andrew Godwin b6a8737d2e Some more JSON-LD namespace fixing 2022-12-17 17:48:33 -07:00
Andrew Godwin 17d75c4797 Allow for attachments with no width/height
Fixes #186
2022-12-17 15:45:54 -07:00
Andrew Godwin d08324e159 Handle timeouts on image fetch 2022-12-17 15:00:50 -07:00
Andrew Godwin e8d6dccbb2 Report function and admin 2022-12-17 14:45:31 -07:00
Andrew Godwin 24a4fbe1f8 Catch all possible request errors 2022-12-17 12:29:48 -07:00
Andrew Godwin 1f28361fd9 Return unreviewed emoji in API correctly 2022-12-17 12:20:00 -07:00
Andrew Godwin 5bbcc0f6c3 Add AP output to emoji admin 2022-12-17 12:07:13 -07:00
Andrew Godwin d7ffb47fb2 Make emoji better on the wire 2022-12-16 22:20:58 -07:00
Andrew Godwin 606c628343 Fanout admin improvements 2022-12-16 21:51:16 -07:00
Andrew Godwin cc3c3d9816 404 deleted posts 2022-12-16 21:32:08 -07:00
Andrew Godwin a7d389020a Handle undos of missing posts 2022-12-16 20:17:19 -07:00
Andrew Godwin 727b357744 Fan out replies to the original author's followers
Fixes #64
2022-12-16 20:11:07 -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 c588567c86 Add follow times 2022-12-16 17:39:10 -07:00
Andrew Godwin be377653fe Fix inbound/outbound links 2022-12-16 17:32:04 -07:00
Andrew Godwin 00795f119e Split Follows page into two types
This overcomes the query problem of pulling a combined list
2022-12-16 17:24:56 -07:00
Gabriel Rodríguez Alberich fb2eea956e
Several pagination improvements (#170)
Home/Notification gets pagination, Follows becomes ListView
2022-12-16 17:06:29 -07:00
Andrew Godwin 45c6978bc3 User admin and LD schema fixes 2022-12-16 16:38:52 -07:00
Andrew Godwin 1bcdff79e7 Fix hashtag linking and API mentions of empty 2022-12-15 19:26:06 -07:00
Andrew Godwin c0cd5a5553 Some hashtag json-ld fiddling 2022-12-15 18:58:11 -07:00
Andrew Godwin 31dc08ad0d Add hashtags to post objects 2022-12-15 17:00:00 -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 13fd3785f2 Handle updates for already deleted posts 2022-12-15 13:47:12 -07:00
Andrew Godwin 5e912ecac5 Fix outbound emoji federation 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 8db05bed95
Prevent n+1 queries when rendering timelines (#165)
The linkify_mentions function is traversing the post's mentions, so
better prefetch those.
2022-12-14 10:16:22 -07:00
Tyler Kennedy 0d8b7db272
Set the content type and disposition of webp files uploaded to S3 2022-12-13 23:26:19 -07:00
Andrew Godwin 8ffe4bc145 A better way of handling URIs between local/remote 2022-12-12 11:56:49 -07:00
Andrew Godwin 35a45f1c55 A few more fixes and a bad test 2022-12-12 11:56:49 -07:00
Andrew Godwin f892c0c4ce Fix mentions of missing identities 2022-12-12 11:56:49 -07:00
Andrew Godwin 20239b5cb7 Basic post mutation 2022-12-12 11:56:49 -07:00
Andrew Godwin fc8a21fc5c More API read coverage 2022-12-12 11:56:49 -07:00
Andrew Godwin 3e062aed36 Timelines working 2022-12-12 11:56:49 -07:00
Andrew Godwin 1017c71ba1 Working start of an OAuth flow 2022-12-12 11:56:49 -07:00
Andrew Godwin f504e9c351 Fix form loading hyperscript config 2022-12-11 09:34:44 -07:00
TAKAHASHI Shuuji 6d473a83cc
Add the character counter next to the Post button (#152) 2022-12-11 09:25:48 -07:00
Avi Flax 9405698e3c
Two small tweaks to compose UI (#153) 2022-12-11 09:23:39 -07:00
Andrew Godwin 3595af7bd2 Media proxy, caching and tuning docs
Fixes #67
2022-12-10 12:16:08 -07:00
Andrew Godwin 9a978786d4 Skip over follows 2022-12-08 23:27:51 -07:00
Andrew Godwin 20f3919783 Add interaction states on notifications page
Fixes #129
2022-12-08 22:59:34 -07:00
Michael Manfre a576c5b5ed
Improve djadmin filtering and search (#149) 2022-12-08 10:29:51 -07:00
Michael Manfre 39a40e4dae
Set a Takahe User-Agent header for signed requests (#142) 2022-12-06 21:59:05 -07:00
Michael Manfre dcf2d801b9
'View in admin' link for post popup menu (#134) 2022-12-06 16:55:35 -07:00
Michael Manfre b8460b0acd
Only cache unauthenticated page views (#117) 2022-12-05 22:23:07 -07:00
Andrew Godwin b0929214d5 Allow selecting notification types to see 2022-12-05 22:15:05 -07:00
Michael Manfre 64cea557be
Collapse linkify mentions (#123) 2022-12-05 21:44:26 -07:00
Andrew Godwin 5b82c76def Shorten mention names when linkified
Fixes #121
2022-12-05 20:26:21 -07:00
Andrew Godwin 9fe2e6676c Add a middleware to detect LD Accept headers 2022-12-05 20:02:35 -07:00
Michael Manfre da9a3d853e
Fix unset parent variable when viewing top post (#119) 2022-12-05 16:07:18 -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 9becbb24d4 Fix post tests, don't reply to self 2022-12-04 21:30:18 -07:00
Andrew Godwin 107c3d6cf8 Fetch post parents live too 2022-12-04 21:22:20 -07:00
Andrew Godwin 93ccb5dd32 Make search work with URLs 2022-12-04 21:13:33 -07:00
Andrew Godwin 28ac03c42f Fetch user in real-time for searches
Fixes #84
2022-12-04 20:31:49 -07:00
Andrew Godwin 6291fa0f5c Fix mentions in replies/capitalisation 2022-12-04 20:23:02 -07:00
Avi Flax 4493eefb76
Make max media upload size configurable 2022-12-04 18:20:50 -07:00
Andrew Godwin c3d4d0f547 Image upload polishing and webp 2022-12-04 10:46:41 -07:00
Tyler Kennedy 6ce05296b0
Make follows a top-level activity. (#94) 2022-12-04 09:41:41 -07:00
Avi Flax 7a7907a6df
Tweaks to search UX (#92) 2022-12-03 19:47:09 -07:00
Andrew Godwin 9f3ad0be16 Don't allow file uploads bigger than 10MB 2022-12-02 04:02:38 -07:00
Andrew Godwin 6f2f28a3a7 Image attachment uploads 2022-12-01 18:47:04 -07:00
Andrew Godwin 8139ccffdb Fix hashtag extraction 2022-11-29 09:44:37 -07:00
Andrew Godwin c72893372a Collapse notifications on the same post 2022-11-28 22:42:40 -07:00
Andrew Godwin fb342cfb54 Fix hashtagging of HTML entities 2022-11-28 22:34:14 -07:00
Andrew Godwin 4420507f62 Show parent post on individual page 2022-11-28 22:34:03 -07:00
Andrew Godwin 0bced8fe17 A few hashtag fixups 2022-11-28 22:14:52 -07:00
Andrew Godwin 1ad9bfcb06 Add GIN index to Post.hashtags 2022-11-28 21:47:31 -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 348c03e7da Default replies to unlisted, new users to public 2022-11-27 15:40:17 -07:00
Tyler Kennedy 68d59b399e
Set content type when serving object
Fixes #37
2022-11-27 14:43:46 -07:00
Andrew Godwin 842b458395 Change how we link individual-post view 2022-11-27 14:25:09 -07:00
Andrew Godwin 3217569df5 Link to post pages and show replies there
Fixes #60, #59
2022-11-27 12:37:52 -07:00
Andrew Godwin 03ba96ff26 Show reply threads in Home correctly 2022-11-27 12:21:16 -07:00
Andrew Godwin 8e9e3ecf69 Some cleanup around editing 2022-11-27 12:09:08 -07:00
Michael Manfre 6c7ddedd34
Post editing 2022-11-27 11:09:46 -07:00
Andrew Godwin 0f77f0ba96 Only let you delete your own posts 2022-11-27 00:55:19 -07:00
Michael Manfre 849c221aee
Local-only posting 2022-11-26 10:09:31 -07:00
Michael Manfre d60ba9a051
Added default post visibility 2022-11-25 19:33:46 -07:00
Andrew Godwin 95bad674b5 Needed to await adding a mention 2022-11-25 18:35:43 -07:00
Andrew Godwin 1cf1f2e543 Implement user discoverability 2022-11-25 18:32:45 -07:00
Andrew Godwin 5fe5f04955 Exclude replies in most situations from timelines 2022-11-25 18:20:59 -07:00
Andrew Godwin 79002e1eaf Add initial delete UI 2022-11-24 22:31:57 -07:00
Kian-Meng Ang df5493dd2a
Fix typos
Found via `codespell -S ./static -L keypair`
2022-11-24 21:30:21 -07:00
Andrew Godwin 786d6190f8 Delete mechanics and refactor of post fanout 2022-11-24 17:11:04 -07:00
Andrew Godwin ec634f2ad3 Initial reply-to feature 2022-11-24 15:17:32 -07:00
Michael Manfre 96f863d5d8
Allow authenticated users to remote search/fetch by exact identity 2022-11-22 21:07:22 -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 9c424d9bb6 Add manual HTMX refresh of timelines
Refs #33
2022-11-22 19:21:01 -07:00
Andrew Godwin 48154fb20e Fix boosted notifications 2022-11-22 18:59:51 -07:00
Andrew Godwin e52c7df498 Add the self-view timeline event on post
Makes it show up for you immediately
2022-11-22 18:51:01 -07:00
Andrew Godwin b7c7c66013 Start adding pagniation to timelines 2022-11-22 09:57:42 -07:00
Andrew Godwin 63ab492439 Fix mentions at the start of posts 2022-11-21 22:17:22 -07:00
Andrew Godwin 53d9452917 Outgoing mentions mostly work (exc. cc followers) 2022-11-21 21:18:13 -07:00
Andrew Godwin a80e0f117a Mentionify tests and some fixtures 2022-11-21 20:25:00 -07:00
Andrew Godwin 0d1e09fbcd Refactor almost all tests into /tests/ 2022-11-21 20:10:01 -07:00
Andrew Godwin e38e176784 Don't santinize incoming post content
Helps with forwards compatibility
2022-11-21 20:00:35 -07:00
Andrew Godwin f6132a8e21 Initial mentions-linking code 2022-11-21 19:59:27 -07:00
Andrew Godwin 97a841d1bb Move signed request onto Identity as a shortcut 2022-11-20 18:32:55 -07:00
Andrew Godwin b4166f78bb Cascade identity deletes to posts too 2022-11-20 12:59:06 -07:00
Andrew Godwin 4b4032be6f Add Sentry error integration option 2022-11-20 11:18:55 -07:00
Michael Manfre f8f4fa8665
Fix bug in timedeltashort and add tests 2022-11-20 11:14:49 -07:00
Andrew Godwin 81de10b70c Migration reset, start of docs, env vars 2022-11-18 11:28:16 -07:00
Andrew Godwin adf2449d37 Add the user settings page too 2022-11-17 19:36:25 -07:00
Andrew Godwin 6adfdbabe0 Add signup and password reset 2022-11-17 19:16:34 -07:00
Andrew Godwin 291d7e404e Logged out experience, config, and profiles 2022-11-17 17:33:09 -07:00
Andrew Godwin 0851fbd1ec Add search and better notifications 2022-11-17 15:10:09 -07:00
Andrew Godwin 2154e6f022 Rework UI to have vertical menus 2022-11-17 14:13:55 -07:00
Andrew Godwin f5eafb0ca0 Add image/icon upload 2022-11-17 12:21:44 -07:00
Andrew Godwin 716d8a766a Show post images 2022-11-16 23:00:10 -07:00
Andrew Godwin b13c239213 Handle post edits, follow undos 2022-11-16 22:23:32 -07:00
Andrew Godwin 5b34ea46c3 Call it admin rather than system settings 2022-11-16 21:42:25 -07:00
Andrew Godwin 1b52acdb56 Domains management pages 2022-11-16 21:12:28 -07:00
Andrew Godwin 495e955378 Tag and visibility handling 2022-11-16 13:53:40 -07:00
Andrew Godwin 2ef709b642 Accept incoming action undos 2022-11-15 15:36:40 -07:00
Andrew Godwin 20e63023bb Get outbound likes/boosts and their undos working 2022-11-15 15:30:32 -07:00
Andrew Godwin b5cacb09e3 Permit Mastodon's weird HTML through 2022-11-13 19:03:43 -07:00
Andrew Godwin ddb3436275 Boosting! Incoming, anyway. 2022-11-13 18:43:09 -07:00
Andrew Godwin 34b24a0dcb More UI! 2022-11-13 16:15:14 -07:00
Andrew Godwin 878f56b411 Post URIs and host-meta 2022-11-12 21:14:21 -07:00
Andrew Godwin dd4328ae52 Add JSON-LD signatures and tests for sig stuff 2022-11-12 15:10:15 -07:00
Andrew Godwin 8fd5a9292c Posting and fan-out both working 2022-11-11 23:04:43 -07:00
Andrew Godwin feb5d9b74f Got up to incoming posts working 2022-11-11 22:02:43 -07:00