Commit Graph

53 Commits

Author SHA1 Message Date
Danielle McLean 741c2eb234
Switch from stateless JOSE tokens to stateful tokens in the DB, since they can then be much smaller and we're using a DB anyway 2018-06-12 14:57:53 +10:00
Danielle McLean c9f66eb91c
Install mypy and make the minimum changes necessary for it to pass, albeit using --ignore-missing-imports 2018-05-29 09:37:28 +10:00
Danielle McLean 142e3eff2b
Ugh. Fix the new MessagePack serialiser to interface reliably with the msgpack library (gotta pass some flags and stuff) - also, actually depend on msgpack to make sure we have it 2018-05-28 21:33:20 +10:00
Danielle McLean b59962a119
Start porting stuff from Django templates to Jinja2 - I've only done the lemonauth templates so far, and the layout is missing some meta stuff (hoping to reduce how much of that is needed) but it works 2018-05-28 21:15:02 +10:00
Danielle McLean 15e5219e3a
Install Werkzeug so that runserver_plus is available 2018-05-28 17:49:57 +10:00
Danielle McLean 4a208a91b6
Push pytest-django, and also ptpython, into dev-packages 2018-05-11 14:57:04 +10:00
Danielle McLean 4dd7a6dcc4
Switch to psycopg2-binary - don't actually need it, libpq is available in all my environments, but it'll shush some warnings 2018-05-11 14:04:38 +10:00
Danielle McLean c55f437885
Add pyup-django to warn me if Django's dangerously outdated 2018-05-09 21:00:30 +10:00
Danielle McLean 4d974a5364
Create a basic but functional micropub media endpoint :o 2018-05-07 22:28:48 +10:00
Danielle McLean 8cbe51277e
Install django-extensions for lots more manage.py commands 2018-04-26 13:35:31 +10:00
Danielle McLean 092cd5ca18
Explicitly depend on gevent, since apparently depending on it as a Gunicorn 'extra' might not install it :/ 2018-04-26 10:22:02 +10:00
Danielle McLean 0f95cfa0bc
Switch from django-redis-cache to django-redis, which does the same thing but is actively maintained 2018-04-24 12:45:05 +10:00
Danielle McLean 9d30534d1d
Explicitly depend on the gevent extra for Gunicorn, since we make a lot of HTTP requests and so absolutely need async workers 2018-04-24 11:31:30 +10:00
Danielle McLean 1654ceecf3
Switch from django-favicon-plus to django-super-favicon, it performs better and doesn't require a DB table 2018-04-20 12:35:51 +10:00
Danielle McLean 025910029e
Add support for the django.contrib.admindocs feature 2018-04-20 11:21:00 +10:00
Danielle McLean 43348a89da
Add support for serving users' avatars through the Libravatar API 2018-03-23 12:56:13 +11:00
Danielle McLean 365110544c
Upgrade Django to 2.0.3, yay! 2018-03-21 22:02:27 +11:00
Danielle McLean 098284a617
Remove django-shorturls with my own implementation, since it's incompatible with Django 2 and unmaintained 2018-03-21 21:50:40 +11:00
Danielle McLean 45daf529f8
Switch the preferred password hash from PBKDF2 to the newer and more secure Argon2 2018-02-06 16:18:15 +11:00
Danielle McLean dffa2d9d50
Install pytest for designing and running automated test suites 2018-02-02 15:06:59 +11:00
Danielle McLean 957fc4ada7
Lock Django to 1.11 in Pipfile, so it won't accidentally upgrade to 2 when I try to install unrelated packages 2018-01-24 12:57:10 +11:00
Danielle McLean 0fd65d3c2b
Enable CORS using django-cors-headers 2018-01-11 09:32:45 +11:00
Danielle McLean e72a6b01f0
Start implementing reply context! It's ugly and doesn't actually link the original post yet but you *can* see the original post's author and content :3 2017-11-16 21:52:42 +11:00
Danielle McLean a7f6824334
Implement request caching in Redis so that we don't always have to fetch remote pages every time we want their mf2 items 2017-11-10 09:17:32 +11:00
Danielle McLean 78b2f8220d
Add simple support for sending Webmentions using the ronkyuu library 2017-11-06 21:08:02 +11:00
Danielle McLean e853e22362
Install django-rq and use it to ping WebSub, rather than blocking the micropub request during pings 2017-11-06 11:04:22 +11:00
Danielle McLean cfe0f47d0f
Switch from PyJWT to python-jose, since it supports more features and has more documentation 2017-11-03 17:42:57 +11:00
Danielle McLean 1c09be1b1c
Switch from database-persisted auth codes to stateless JSON Web Tokens :) 2017-11-02 16:36:16 +11:00
Danielle McLean 1e56d5a09a
Install django-model-utils and use it for automatic timestamp fields on entries 2017-11-02 12:59:23 +11:00
Danielle McLean 4b4ab324cc
Enable analytics in production 2017-11-01 16:18:48 +11:00
Danielle McLean 3c95eeeefb
Insist on Python 3.6, since the 'secrets' module for making secure tokens isn't available in 3.5 2017-10-29 17:13:28 +11:00
Danielle McLean acce72e90e
Implement the auth-code verification step, producing a complete IndieAuth implementation for 'id' type (nothing for 'code' type yet tho) 2017-10-29 17:07:36 +11:00
Danielle McLean 7027c74035
Install django-shorturls to generate simple shortpermalinks for entries :3 2017-10-29 12:56:30 +11:00
Danielle McLean 21786d6e6c
Install django-annoying, which provides some nice shortcuts for common operations 2017-10-29 12:41:33 +11:00
Danielle McLean 55731c63ce
Add support for generating a simple Web App Manifest file, which helps mobile browsers display the site smartly 2017-10-28 14:29:07 +11:00
Danielle McLean 6678c4cdbb
Install WebSub plugin - it can't actually push anything yet because there's no micropub, and therefore no pinging, but it's a start 2017-10-27 20:32:50 +11:00
Danielle McLean 00d7a29b2d
Add basic support for /.well-known/host-meta(.json)?, not much info in it so far but it works 2017-10-27 12:25:17 +11:00
Danielle McLean eaf54a4e83
Install the django-debug-toolbar plugin for lots of handy info during development 2017-10-27 08:05:50 +11:00
Danielle McLean 8f8e53bb27
Switch from django-markdown-deux to a pipeline thru markdown for rendering + bleach for sanitising 2017-10-26 14:40:29 +11:00
Danielle McLean 93be2f5a32
Half-implement an IndieAuth authorization endpoint - it accepts the right parameters, verifies your client_id, and displays a prompt, but you can't actually approve the auth yet 2017-10-26 11:35:57 +11:00
Danielle McLean e88b631cdb
Enable Markdown rendering support for user notes and entry content 2017-10-25 13:25:58 +11:00
Danielle McLean 2b6691f8a5
Rudimentary but fully-functional entry permalink pages :3 2017-10-25 12:31:08 +11:00
Danielle McLean 7f17d50486
Enable django-otp-agents, for preserving OTP trust over time 2017-10-25 01:46:18 +11:00
Danielle McLean 3f3bb05a25
Add TOTP support with django-otp 2017-10-25 01:25:03 +11:00
Danielle McLean 9efb167bc9
Mark 'active' navbar items accordingly, using django-activeurl 2017-10-25 00:40:38 +11:00
Danielle McLean 1670b6d427
Switch from Memcached to Redis 2017-10-24 22:22:56 +11:00
Danielle McLean 8ef64d6a87
Some basic support for gross SEO metadata formats with django-meta 2017-10-24 21:57:07 +11:00
Danielle McLean ec45a4c250
Add support for favicons using django-favicon-plus 2017-10-24 14:46:32 +11:00
Danielle McLean aa132c6aed
Install python-memcached so it can be used to access Memcached 2017-10-23 17:54:59 +11:00
Danielle McLean 6992678689
Add Pillow to dependencies 2017-10-23 15:06:55 +11:00