Repository navigation
Native activity feed - #113
Merged
Merged
Conversation
Friends' wins, cheers, messages, replies, deck completions and challenge news are read from /api/activity, with filters, read state, cheers, replies, paging and a Sent tab. Share, reaction, completion, conquest, message and reply notifications, reply receipts and Today's Activity button open the new screen; a page for another account opens this account's feed.
|
Snapshot diff report vs
All 4 changed screenshotsAllActivitiesScreenshotTest
AnkiquestFeedScreenshotTest
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #94
The activity feed (
/community#activity) is now a native screen,AnkiquestFeedActivity. Notifications about friends' news land there instead of the web view.Screen
/api/activitygets its 7-day notification list, with no filters or read state, as the website does. A server that rejects a filter gets the whole feed.Routing
AnkiquestNavigation.notificationDestinationhas a newDestination.Activity. Share, reaction, completion, conquest, message and reply notifications open the native feed.Requests
AnkiquestApiwith the captured account; answers for an account that was signed out in the meantime are dropped.GET /api/activity/{user}(limit,before,category,unread_only),GET /api/activity/{user}/sent,POST /api/activity/{user}/read(idsin batches of 200, orthrough),POST /api/react/{user},POST /api/reply/{user}, andGET /api/notifications/{user}as the fallback.Tests
AnkiquestFeedTest: parsing a page with rows shaped like the server's recorded examples, query parameters and token, the 404 and 400 fallbacks, read batching, reply and cheer requests, sent items, and the image host check.AnkiquestFeedActivityTest: what each row shows, cheer, quick reply, a failed reply, mark all read, filters, paging, opening an invitation, the Sent tab, an older server, offline and refused states, no account, another account's notification, and the web view handing another account's page to the feed.AnkiquestFeedScreenshotTest(opt-in, like Today's): 320dp and 200% text.Not covered yet
main: Check the app against the server's recorded API answers #92 and Keep the token out of the dashboard page once its cookie is installed #91 were merged intoankiquest-networkingafter that branch had already been merged. So this PR has no contract check for/api/activity. The server also has no recorded example for it yet (float3/ankiquestdocs/api/exampleshas noactivity.json).