Commit Graph

119 Commits

Author SHA1 Message Date
okpierre 94271b34ac
Show post count even when other counts are hidden 2023-02-04 11:55:48 -07:00
Humberto Rocha d8fc81a9a6
Keep the casing pattern provided by the instance (#495) 2023-02-03 17:02:35 -07:00
Humberto Rocha b9e8f19e90
Fix fetching poll votes and voter_count (#482) 2023-01-29 21:20:57 -07:00
Andrew Godwin 1ffbb2e860 Fix hashtag extraction on post edit 2023-01-29 18:13:21 -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
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