* Add link rel canonical to all pages (/ points itself instead of /?page=current-season because Google crawls duplicate versions of pages less often. I want / to be crawled frequently, so it has to be the canonical version of the content it holds)
* Fix a bug where passing an invald page slug would mean that no page was highlighted as current in the footer
* Also adds aac as an allowed audio type, fixing a bug where I could edit those posts
* To convert old audio to mp3, the following commands were used:
ls *.aac | xargs -I {} bash -c 'ffmpeg -y -i {} -acodec mp3 $(echo {} | sed s/aac/mp3/)'
for t in Thought.objects.filter(media__endswith=".aac"):
t.file.name = f"{t.uuid}.mp3"
t.save()
And ditto with m4a.
Media control addition was a hot fix which skipped my normal development enviroment, where I was working on the app rename. This merges the two branches.
SQL to migrate the DB. Create migrations, migrate
`DELETE FROM django_content_type WHERE app_label='thoughts';`
`UPDATE django_content_type SET app_label='thoughts' WHERE app_label='main';`
`DROP TABLE thoughts_thought;`
`ALTER TABLE main_thought RENAME TO thoughts_thought;`
`DELETE FROM django_migrations WHERE app='main';`
Hopefully that's right, I'm not going to double check it or anything.
* If there was already an uploaded file, it doesn't get re-uploaded when editing, and doesn't show up in request.FILES. The file name is still in thought.media so we can use that to tell if there's a image and if we should allow media_alt
* This is a big deal when typing thoughts that are over a page long, it will jump you to the bottom of the input box every time and it's a little jarring.
* Remove bleach and Markdown which were used for server-side markdown
* Update README with hypothetical self-hosting steps
* Remove install_xapian from version control (since I can't license it)
* Pre-fill the timezone with the offset in hours (correct), instead of minutes, like the DB stores
* Only change the timezone in JS if you're not editing
* Redirect back to a Thought after editing it
This is controversial, but the best argument against is that the About page shouldn't change. But I think this purely visual change doesn't alter anything significantly.
* Okay so we're not doing HTTP Basic Auth, that was an awful experience with those pop-ups.
* But we set the cookie with Django on the server-side, instead of needing JS
* So this should improve browser compatibility. No promises.
Maybe I should step away and keep my frustration inside and try to be a better person, a more reliable person. But I just. How do I fix this? What is the issue?