Commit graph

115 commits

Author SHA1 Message Date
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
Humberto Rocha
ccded99a63
Add favourites api endpoint (#465) 2023-01-20 19:49:55 -07:00
Michael Manfre
cc75863b8f
Fixes #431 - Preserve href when stripping <a> tags (#436) 2023-01-17 23:41:33 -07:00
Michael Manfre
9b6ceee490
Apply Mastodon style link text shortening (#426) 2023-01-16 11:59:46 -07:00
Andrew Godwin
54e7755080 Unfollowing or blocking users purges timeline
Fixes #366
2023-01-16 11:53:40 -07:00
Corry Haines
cfe18932b8
Match sanitizing for posts to Mastodon (#422)
Creates filter for REWRITTEN_TAGS that converts them to `p` rather than ripping them out entirely, and formats `ul` as break-separated list

Both changes align sanitization to Mastodon's "strict" sanitizer at https://github.com/mastodon/mastodon/blob/main/lib/sanitize_ext/sanitize_config.rb#L73

I don't love the complexity of the Filter, but Bleach doesn't give us great options to work with. The code operates within an iterator without the useful "sibling" methods that Ruby's equivalent has. Also, Bleach runs filters _after_ sanitizing (unlike Ruby's which runs before) so we have to pass all the elements through the sanitizer, then rewrite them after the fact.
2023-01-15 22:32:04 -07:00
Andrew Godwin
b721833b4f Fix old post tests 2023-01-15 21:11:08 -07:00
Andrew Godwin
b44be55609 Fixed #408: Implemented blocking 2023-01-15 13:35:45 -07:00
Michael Manfre
fc8b5be4a0
Support future times with timedeltashort tag (#403) 2023-01-13 10:54:02 -07:00
Andrew Godwin
fb881dd5de Fix tests and most of pagination 2023-01-08 23:06:33 -07:00
Andrew Godwin
a875dd7a54 Perform shared inbox delivery 2023-01-08 13:46:40 -07:00
Michael Manfre
801fe2e58a
Add Domain.state with nodeinfo fetching (#347) 2023-01-04 16:40:16 -07:00
Andrew Godwin
13fc4b42de Handle Diaspora's XML webfinger 2022-12-31 11:13:51 -07:00
Andrew Godwin
d247baa307 Serve webfinger and host-meta with correct mimetypes
Fixes #323 (hopefully!)
2022-12-30 10:12:48 -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
Michael Manfre
50c07f491e
Guard Post mentions processing from unfetched Identities (#272) 2022-12-25 14:37:31 -07:00
Michael Manfre
ab398758a9
Fixed mention linking with mixed case usernames (#265) 2022-12-24 21:04:25 -07:00
Andrew Godwin
294095c592 Don't allow trailing period in mention
Fixes #249
2022-12-23 01:47:00 -07:00
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
9c376395db Invites overhaul
No email tie, added uses and expires, now works by URL.
2022-12-22 07:03:21 +00:00
Andrew Godwin
79fd800a78 Accept objects with contentMap only 2022-12-22 05:29:49 +00:00
Andrew Godwin
da38889aa7 Add account search endpoint 2022-12-21 21:54:49 +00:00
Andrew Godwin
c9794c0fcf Add public following/followers pages 2022-12-21 20:36:10 +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
92305ef515 Fix hashtag tests 2022-12-20 14:28:41 +00:00
Andrew Godwin
51d34eda9c Significantly better hashtag link parsing
Fixes #203
2022-12-20 13:55:14 +00:00
Andrew Godwin
78d2283458 Move linkifying to all http-prefixed links 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
9067caf9a3 Add expanded post context
Fixes #120
2022-12-20 09:59:06 +00:00
Andrew Godwin
770aa1531a Do actual ISO date parsing
Fixes #187
2022-12-18 10:45:32 -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
Andrew Godwin
62f2b867b9 Fix serving of system actor
Fixes #183
2022-12-17 12:00:47 -07:00
Andrew Godwin
45c6978bc3 User admin and LD schema fixes 2022-12-16 16:38:52 -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
612ab4bcdf Fix stator test fixture 2022-12-15 13:48:24 -07:00
Andrew Godwin
525deb4418 Fix tests with no static collection 2022-12-15 10:09:35 -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
35a45f1c55 A few more fixes and a bad test 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
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
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
a31f676b46 Policy pages and signup tests.
Fixes #113
2022-12-05 19:24:46 -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
6291fa0f5c Fix mentions in replies/capitalisation 2022-12-04 20:23:02 -07:00
Andrew Godwin
8835fdee6b Explicitly ignore add and remove messages for now 2022-12-04 07:36:38 -07:00
Andrew Godwin
c299f8aefd Fix broken tests 2022-12-02 16:46:43 -07:00
Andrew Godwin
8139ccffdb Fix hashtag extraction 2022-11-29 09:44:37 -07:00
Andrew Godwin
fb342cfb54 Fix hashtagging of HTML entities 2022-11-28 22:34:14 -07:00
Michael Manfre
fb8f2d1098
Hashtags 2022-11-28 21:41:36 -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
Michael Manfre
849c221aee
Local-only posting 2022-11-26 10:09:31 -07:00
Michael Manfre
f88efa40d4
Code dedupe Webfinger and fix SystemActor inbox URL 2022-11-22 21:53:02 -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
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