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
9dded19172
Add admin notification for new identities
2023-01-15 14:48:17 -07:00
Andrew Godwin
e68158202e
Fix signature typechecking
2023-01-11 11:00:18 -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
fa003e2be6
Save all animation frames if they make it through
2023-01-08 14:28:25 -07:00
Corry Haines
d8cee4097f
Modify emoji loader for cache-optimized return value ( #371 )
...
Also fixes an apparent bug in `imageify_emojis.replacer` where `include_local` was not being used correctly (previous code path never returned anything.
2023-01-07 15:19:47 -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
Andrew Godwin
a7a292a84c
Pagination styling and "max users" signup limit
2023-01-03 01:32:00 -07:00
Andrew Godwin
bb0ee1b152
Purge failing inbox messages too
2023-01-01 13:10:54 -07:00
Tyler Kennedy
b19f05859d
Apply image orientation metadata before resizing. ( #345 )
2023-01-01 11:40:56 -07:00
Andrew Godwin
63fcd0b665
Fix data integrity schema
2022-12-31 11:56:50 -07:00
Andrew Godwin
4956c7cd7a
Add more schemas into our local store
2022-12-31 10:46:38 -07:00
NaphalSec
05adbace24
email templates ( #328 )
2022-12-30 16:03:11 -07:00
Andrew Godwin
011c51b3c4
Implement progressive thread parent fetching
2022-12-30 11:48:42 -07:00
Andrew Godwin
ea6f272047
Infinite scroll, and footer in sidebar if exists
2022-12-29 11:33:41 -07:00
Corry Haines
165d84abbf
Fixes developed from mypy_django script ( #312 )
2022-12-29 10:35:14 -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
a2f0634cb2
Include URI in post error
...
Fixes #307
2022-12-28 12:06:32 -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
1fc5740696
Add funkwhale namespace
2022-12-27 19:47:17 -07:00
Michael Manfre
c6c3914cc7
Include Identity metadata fields in ActivityPub messages ( #295 )
2022-12-27 17:42:30 -07:00
Michael Manfre
ca40a0d150
Set User-Agent and Accept for outbound requests ( #293 )
2022-12-27 16:50:39 -07:00
Andrew Godwin
44dc7a2ce4
Remove extra newlines in post content
...
Fixes #282
2022-12-27 11:53:44 -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
50c07f491e
Guard Post mentions processing from unfetched Identities ( #272 )
2022-12-25 14:37:31 -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
Michael Manfre
ab398758a9
Fixed mention linking with mixed case usernames ( #265 )
2022-12-24 21:04:25 -07:00
Tyler Kennedy
801c807a2b
Simple user stylesheet support. ( #258 )
2022-12-24 07:28:39 -07:00
Michael Manfre
d88db5efbf
BunnyCDN doesn't return content-type ( #251 )
2022-12-23 22:17:43 -07:00
Michael Manfre
aca77314d1
Fixes #239 - Add option to hide Boost and Like counts ( #247 )
2022-12-23 22:16:26 -07:00
Andrew Godwin
699b6fc29e
"Remove posts from front page" option
2022-12-22 14:16:08 -07:00
Andrew Godwin
a058140d11
New "plain" page style for most logged out pages
2022-12-22 13:06:35 -08: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
ca3dc82a62
Don't linkify hashtags in usernames and metadata
...
Fixes #228
2022-12-22 01:10:56 +00:00
Andrew Godwin
bf5a46df38
Provide some stuff we know of for Mastodon schema
...
Should fix GoToSocial pulls. Refs #223 .
2022-12-21 18:23:52 +00:00
Andrew Godwin
f82b82502c
Install debug toolbar in debug mode
2022-12-20 15:26:39 +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
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
ee669ff568
Don't make images larger on upload!
2022-12-20 06:39:37 +00:00
Andrew Godwin
c3a60bbf13
Remove identity avatar fetching
2022-12-19 20:55:27 +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
Tyler Kennedy
cfa97b9740
Mitra Fixes ( #207 )
...
Don't send a list when populating Accept header. This seems to work fine on Mastodon and friends, and fixes a bug with the Mitra server until resolved upstream.
2022-12-19 11:21:04 +00:00
Andrew Godwin
5e343d2129
Tweak to predictable image namer
2022-12-18 23:47:49 +00:00
Tyler Kennedy
b5895e4d28
Stop saving infinite files. ( #208 )
...
Use a consistent name for Identity.icon as a quick fix to stop flooding object storage.
2022-12-19 10:53:13 +00:00
Andrew Godwin
5ba9ed6428
Allow signing content-length header
2022-12-18 16:12:57 -07:00
Andrew Godwin
770aa1531a
Do actual ISO date parsing
...
Fixes #187
2022-12-18 10:45:32 -07:00
Andrew Godwin
b6a8737d2e
Some more JSON-LD namespace fixing
2022-12-17 17:48:33 -07:00
Michael Manfre
ea99f65c26
Icon and image for Identity could be a list
2022-12-17 15:42:29 -07:00
Andrew Godwin
24b5d08f9b
Update all main pages to no-store
2022-12-17 15:35:22 -07:00
Andrew Godwin
4d71da7ae1
Allow for remote policy pages
2022-12-17 15:30:51 -07:00
Andrew Godwin
256ebe56d5
Don't download files with no content-length
2022-12-17 12:16:37 -07:00
Andrew Godwin
62f2b867b9
Fix serving of system actor
...
Fixes #183
2022-12-17 12:00:47 -07:00
Andrew Godwin
f262f582cb
Ooh, ooh, ignore server errors too
2022-12-16 20:14:44 -07:00
Andrew Godwin
108afaf6ce
We don't care about 404 errors quite as much
2022-12-16 20:14:02 -07:00
Andrew Godwin
e5b76c120e
Fetch emoji for user profiles
2022-12-16 20:04:28 -07:00
Andrew Godwin
4a28e1708e
Make the collectstatic hack slightly better
2022-12-16 19:51:19 -07:00
Andrew Godwin
45c6978bc3
User admin and LD schema fixes
2022-12-16 16:38:52 -07:00
Andrew Godwin
c0cd5a5553
Some hashtag json-ld fiddling
2022-12-15 18:58:11 -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
TAKAHASHI Shuuji
61fbda0ebf
Set the correct Content-Type
header for static WebP images ( #171 )
2022-12-15 10:31:25 -07:00
Michael Manfre
af3142ac3a
Basic Emoji suppport ( #157 )
2022-12-15 00:50:54 -07:00
Andrew Godwin
69f1b3168a
Improve cacheability
2022-12-15 00:43:39 -07:00
Andrew Godwin
16005e14ef
Make GCS backend handle webp right, and use gs://
...
Fixes #164
2022-12-14 21:21:18 -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
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
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
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
c87ad8116f
settings.SETUP.SENTRY_CAPTURE_MESSAGES ( #133 )
2022-12-06 16:54:45 -07:00
Michael Manfre
e2b234d9ed
Setting to enable Sentry capture_messages ( #128 )
2022-12-06 09:50:42 -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
a31f676b46
Policy pages and signup tests.
...
Fixes #113
2022-12-05 19:24:46 -07:00
Michael Manfre
238268eb31
Add pylibmc and pymemcache to requirements and make timeout not lazy ( #116 )
2022-12-05 14:48:02 -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
Michael Manfre
3f8045f412
[WIP] Sentry improvements ( #108 )
...
Stator clears scope during the main loop to behave more like
transactions. Transaction names are set.
Sentry tags:
* 'takahe.version'
* 'takahe.app' values 'web' or 'stator'
Added settings:
* TAKAHE_SENTRY_SAMPLE_RATE
* TAKAHE_SENTRY_TRACES_SAMPLE_RATE
2022-12-04 18:08:23 -07:00
Andrew Godwin
c3d4d0f547
Image upload polishing and webp
2022-12-04 10:46:41 -07:00
Michael Manfre
61c1058d67
Add TAKAHE_DEFAULT_TIMEOUT with default of 5.0 ( #99 )
2022-12-04 09:32:25 -07:00
Andrew Godwin
864b730164
Accept dates with milliseconds in them
2022-12-04 07:31:22 -07:00
Andrew Godwin
b3df5e763c
Switch to secrets module for upload names
2022-12-03 14:07:30 -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
3b079526a2
User fetching and inbox message cleaning
2022-11-27 17:05:31 -07:00
Andrew Godwin
348c03e7da
Default replies to unlisted, new users to public
2022-11-27 15:40:17 -07:00
Andrew Godwin
8e9e3ecf69
Some cleanup around editing
2022-11-27 12:09:08 -07:00
Tyler Kennedy
c758858392
Simplified settings
...
Migrated settings to typed pydantic settings
2022-11-26 10:04:04 -07:00
Michael Manfre
d60ba9a051
Added default post visibility
2022-11-25 19:33:46 -07:00
Andrew Godwin
1cf1f2e543
Implement user discoverability
2022-11-25 18:32:45 -07:00
Michael Manfre
9014d53399
StatorRunner will refresh Config.system on each schedule_interval
2022-11-22 21:06:21 -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