* feat: set lang in html head
* fix: add # in front of git ref
* fix: remove unused vars from example env
* fix: package name and license field
* fix: enable sourcemap for client and server
* fix: emojis not showing in prod
this is extremely cursed, but it works
* chore: refactor auth manager
* feat: disable invitations if simple auth disabled
* feat: add drop version to footer
* feat: translate auth endpoints
* chore: move oidc module
* feat: add weekly tasks
enabled object cleanup as weekly task
* feat: add timestamp to task log msgs
* feat: add guard to prevent invalid progress %
* fix: add missing global scope to i18n components
* feat: set base url for i18n
* feat: switch task log to json format
* ci: run ci on develop branch only
* fix: UserWidget text not updating #109
* fix: EXTERNAL_URL being computed at build
* feat: add basic language outlines for translation
* feat: add more english dialects
* fix: release workflow
* feat: move mostly to internal tasks system
* feat: migrate object clean to new task system
* fix: release not getting good base version
* chore: set version v0.3.0
* chore: style
* feat: basic task concurrency
* feat: temp pages to fill in page links
* feat: inital i18n support
* feat: localize store page
* chore: style
* fix: weblate doesn't like multifile thing
* fix: update nuxt
* feat: improved error logging
* fix: using old task api
* feat: basic translation docs
* feat: add i18n eslint plugin
* feat: translate store and auth pages
* feat: more translation progress
* feat: admin dash i18n progress
* feat: enable update check by default in prod
* fix: using wrong i18n keys
* fix: crash in library sources page
* feat: finish i18n work
* fix: missing i18n translations
* feat: use twemoji for emojis
* feat: sanatize object ids
* fix: EmojiText's alt text
* fix: UserWidget not using links
* feat: cache and auth for emoji api
* fix: add more missing translations
this makes it so if a user requests a page (not API route) and isn't
signed in, it automatically redirects them to the sign in page (doesn't
show a flash of the error page)
Object storage now works fully, with the permission system. It still
needs additional external endpoints for updating and deleting objects
from the API, but it is otherwise complete. Further tasks include
writing an S3 adapter.