Commit Graph

192 Commits

Author SHA1 Message Date
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
Andrew Godwin 9c424d9bb6 Add manual HTMX refresh of timelines
Refs #33
2022-11-22 19:21:01 -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 c4be52357b Make test directories into modules 2022-11-20 23:26:53 -07:00
Andrew Godwin 0b5a3e5323 Don't catch GET errors 2022-11-20 18:50:45 -07:00
Andrew Godwin 6a8fe5cb4b Remove pyOpenSSL dependency
(I figured out what padding to use with cryptography)
2022-11-20 18:42:39 -07:00
Andrew Godwin 5ddce16213 Add a system actor to sign outgoing S2S GETs 2022-11-20 18:29:19 -07:00
Raphael Lullis a351c6b117
Fix mimetype for JPEG file extensions (#25) 2022-11-20 16:03:21 -07:00
Andrew Godwin 6e88c00969 Don't waste DB rows on bad inbox actors
Seems Sidekiq will keep trying to deliver messages even when the actor
no longer exists?
2022-11-20 14:20:28 -07:00
Andrew Godwin 70d01bf1b4 Fixed #23: Replace https hack with header setting 2022-11-20 13:58:54 -07:00
Andrew Godwin f491fdb56e Actor delete, sentry async, faster stator 2022-11-20 12:32:49 -07:00
Michael Manfre 6b7082a194
Add config identity_min_length and apply non-admin validation 2022-11-20 11:13:44 -07:00
Andrew Godwin 8019311490 Deployment re-jiggling 2022-11-18 17:24:43 -07:00
Andrew Godwin 81de10b70c Migration reset, start of docs, env vars 2022-11-18 11:28:16 -07:00
Andrew Godwin 1b44a25331 Signup and invite tweaks 2022-11-18 00:09:04 -07:00
Andrew Godwin 6adfdbabe0 Add signup and password reset 2022-11-17 19:16:34 -07:00
Andrew Godwin 2a3690d1c1 Return images and summary in actor 2022-11-17 17:55:50 -07:00
Andrew Godwin 291d7e404e Logged out experience, config, and profiles 2022-11-17 17:33: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 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 44af0d4c59 Add start of a settings (config) system 2022-11-16 17:23:46 -07:00
Andrew Godwin 495e955378 Tag and visibility handling 2022-11-16 13:53: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 34b24a0dcb More UI! 2022-11-13 16:15:14 -07:00
Andrew Godwin 143a4a6e8c Start some settings work 2022-11-12 22:10:06 -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
Andrew Godwin fbfad9fbf5 Inbound and outbound follows basic working 2022-11-10 23:42:43 -07:00
Andrew Godwin c391e7bc41 THE FOLLOWS, THEY WORK
Well, in one direction anyway
2022-11-07 00:19:00 -07:00
Andrew Godwin fb6c409a9a Rework task system and fetching.
I can taste how close follow is to working.
2022-11-06 21:30:07 -07:00
Andrew Godwin 52c83c67bb Signing works with OpenSSL.
Will have to ask the cryptography peeps what I was doing wrong.
2022-11-06 14:14:08 -07:00
Andrew Godwin dbe57075d3 Rework to a domains model for better vhosting 2022-11-06 13:48:04 -07:00
Andrew Godwin 8aec395331 Move to the more sensible JSON-LD repr 2022-11-06 00:07:38 -06:00
Andrew Godwin e44a321ec5 Get Actor fetching and parsing working 2022-11-05 17:51:54 -06:00
Andrew Godwin d77dcf62b4 Initial commit (users and statuses) 2022-11-05 14:17:27 -06:00