Relative timestamps can cause you to feel that things are especially
interesting because they are happening "right now"; the effect is
lessened if you see absolute timestamps instead.
This fixes#2011
* feat: implement word filters
* fix: more progress on word filters
* fix: more progress
* fix: more work
* fix: more work
* fix: more progress
* fix: tweaks
* fix: basic crud stuff
* fix: more work
* test: add tests
* test: more test
* fix: handle filter expiry correctly
* fix: implement more efficient word filter logic
* fix: better required labels
* test: fix test
* first attempt
* progress
* working
* working
* test timeago
* rm
* get timeago working
* reduce size
* fix whitespace
* more intl stuff
* more effort
* more work
* more progress
* more work
* more intl
* set lang=LOCALE
* flatten
* more work
* add ltr/rtl
* more work
* add comments
* yet more work
* still more work
* more work
* fix tests
* more test and string fixes
* fix test
* fix test
* fix test
* fix some more strings, add test
* fix snackbar
* fix }
* fix typo
* fix english
* measure perf
* start on french
* more work on french
* more french
* more french
* finish french
* fix some missing translations
* update readme
* fix test
* fix: remove basic login mode for now
As described in #1552 I do not have a lot of faith in this feature, so maybe it should just be removed for now until a later release.
* fixup
* fixup
* fixup
* chore(npm): Install blurhash
* feat(media): Show blurhash
* fix(media/blurhash): Better sensitive video handling
* feat(media): Preference for using blurhash
* chore(utils/blurhash): Add performance marks
* fix(utils/blurhash): Performance marks
* fix(utils/blurhash): Use correct dimension
* refactor(utils/blurhash): Use constant for number of pixels
* refactor(media): Simplify logic for displaying blurhash
* chore(tests/spec): Attempt to adjust sensitivity tests for blurhash
* chore(tests/spec): Update sensitivity tests for blurhash
* chore(tests/spec): Check for sensitive
* fix(media/blurhash): Handle videos
* fix: Video handling
* fix: Videos
* minor refactoring, fix Svelte warning
* fix: Large inline images and videos
* feat(settings): Rename blurhash setting
* refactor: Use toBlob, block media rendering until blurhash ready
* refactor: Move computations to Web Worker
* fix(workers/blurhash): More error handling
* feat(workers/blurhash): Use quick-lru for caching
* fix: Don't create Context2D needlessly
* fix(workers/blurhash): Increase cache size to 100
* fix(workers/blurhash): Don't resolve promise twice
* fix(utils/decode-image): Ignore data URLs
Throws exception which prevents the image from loading.
* feat: add option to disable infinite scroll
fixes#391 and fixes#270. Also makes me less nervous about #1251 because now keyboard users can disable infinite load and easily access the "reload" button in the snackbar footer.
* fix test