* 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
This commit fixes invalid assumption that all timelines are sorted by status id.
Some, like favorites or bookmarks are sorted by private server id. To correctly
paginate we must use the Link header.
To work around the issue, offline for favorites was effectively disabled.
Statuses are still inserted into the database but we can't reproduce correct
timeline order.
On the Nexus 5 especially, this ensures we no longer have nearly so many
"long tasks" (i.e. responsiveness is better). It moves html-to-txt
calculation to the same step as blurhash decoding, where it can be done
in requestIdleCallback (heck, maybe someday it could just be done in a
worker thread as well).
* perf: make timeline rendering less janky
1. Ensures all statuses are rendered from top to bottom (no more shuffling-card-effect rendering)
2. Wraps all individual status renders in their own requestIdleCallback to improve input responsiveness especially only slow devices like Nexus 5.
* fix focus restoration
* only do rIC on mobile
* 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
* perf: fetch lists from database on page load
follow-up to #1448, I would like for there not to be a flash on the /community page where the lists suddenly load in, but I would still like to avoid the network request if possible. So when the page first loads, we can load the lists from the database and only fetch them from the network if not in the cache.
* add comment
* fix: move blurhash worker operations to before status rendering
* slight refactor
* avoid sending encoded data back and forth
* move cache outside worker