about summary refs log tree commit diff
path: root/src/lib/api
Commit message (Collapse)AuthorAgeFilesLines
...
* Show replies in context of their threads (#4871)dan2024-08-052-184/+202
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Don't reconstruct threads from separate posts * Remove post-level dedupe for now * Change repost dedupe condition to look just at length * Delete unused isThread * Delete another isThread field It is now meaningless because there's nothing special about author threads. * Narrow down slice item shape so it does not need reply * Consolidate slice validation criteria in one place * Show replies in context * Make fallback marker work * Remove misleading and now-unused property It was called rootUri but it was actually the leaf URI. Regardless, it's not used anymore. * Add by-thread dedupe to non-author feeds * Add post-level dedupe * Always count from the start This is easier to think about. * Only tuner state need to be untouched on dry run * Account for threads in reply filtering * Remove repost deduping This is already being taken care of by item-level deduping. It's also now wrong and removing too much (since it wasn't filtering for reposts directly). * Calculate rootUri correctly * Apply Following settings to all lists * Don't dedupe intentional reposts by thread * Show reply parent when ambiguous * Explicitly remove orphaned replies from following/lists * Fix thread dedupe to work across pages * Mark grandparent-blocked as orphaned * Guard tuner state change by dryRun * Remove dead code * Don't dedupe feedgen threads * Revert "Apply Following settings to all lists" This reverts commit aff86be6d37b60cc5d0ac38f22c31a4808342cf4. Let's not do this yet and have a bit more discussion. This is a chunky change already. * Reason belongs to a slice, not item * Logically feedContext belongs to the slice * Update comment to reflect latest behavior
* Only show replies in Following if following all involved actors (#4869)dan2024-08-021-27/+17
| | | | | | | * Only show replies in Following for followed root and grandparent * Remove now-unnecessary check * Simplify condition
* Always limit Following replies to the people you follow (#4868)dan2024-08-011-12/+2
| | | | | * Limit feed replies to people you follow * Remove dead code
* Remove unused NoopFeedTuner (#4856)dan2024-07-311-10/+0
|
* [Video] Uploads (#4754)Hailey2024-07-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * state for video uploads * get upload working * add a debug log * add post progress * progress * fetch data * add some progress info, web uploads * post on finished uploading (wip) * add a note * add some todos * clear video * merge some stuff * convert to `createUploadTask` * patch expo modules core * working native upload progress * platform fork * upload progress for web * cleanup * cleanup * more tweaks * simplify * fix type errors --------- Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* Refactor feed slices (#4834)dan2024-07-252-62/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Copy FeedViewPost into FeedSliceItem * Explicitly construct feed slice items by copying known fields * Type rootItem as FeedViewPost for now Mergefeed logic relies on that. * Unify reason and __source for slice items * Move feedContext out of FeedSliceItem * Remove slice.isFlattenedReply * Remove unnused slice.ts * Inline slice.isFullThread * Refactor condition for clarity * Extract slice.includesThreadRoot * Encapsulate more usages of slice.rootItem into slice * Rename slice.rootItem so semi-private slice._feedPost * Move reason into slice * Simplify slice ctor argument * Reorder getters to reduce diff * Make feedContext a getter to reduce diff
* Implement thread locking (#4545)Paul Frazee2024-06-181-5/+12
| | | | | | | * Add the ability to edit threadgates * Fix bottom border on mobile * Refresh thread after threadgate edit
* [🐴] send record via link in text (Record DMs - base PR) (#4227)Samuel Newman2024-05-311-13/+2
| | | | | * send record via link in text * re-trim text after removing link
* Replace getAgent() with reading agent (#4243)dan2024-05-287-57/+57
| | | | | * Replace getAgent() with agent * Replace {agent} with agent
* ✅ Fix "Download CAR file" on mobile (#3816)Matthieu Sieben2024-05-121-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | * download CAR file using AtpAgent instead of building URL * add loader icon on download car button * actually save to disk on android * style nits * bottom margin nit * localize toast * remove fallback so back button works correctly * keep throwing an error if mime type isn't used * be more explicit with toasts * send errors to sentry when encountered --------- Co-authored-by: Hailey <me@haileyok.com>
* FeedFeedback fixes (#3968)dan2024-05-121-0/+4
| | | | | | | | | | | * Lower seen threshold to 1.5s * Send feedContext for replies * Use a simpler and more reliable feedContext fallback --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Send Bluesky feeds and suggested follows more data (#3695)Eric Bailey2024-04-294-1/+55
| | | | | | | | | | | | | | | | | * WIP * Fix constructors * Clean up * Tweak * Rm extra assignment * Narrow down the argument --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* [Session] Drill `getAgent` into feed APIs (#3701)Eric Bailey2024-04-257-49/+172
| | | | | | | | | | | * Update to desired post-feed usage * Drill agent into feed apis * Thread getAgent instead --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Cleanup files after each iteration of compression and downloading (#3599)Hailey2024-04-251-15/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | * delete image on each iteration of compression * replace a few other instances of `unlink()` * ensure that moving to the permanent path will succeed * use `cacheDirectory` * missing file extension? * assert * Remove extra . * Extract safeDeleteAsync, fix normalization * Normalize everywhere * Use safeDeleteAsync in more places * Delete .bin too --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Cleanup files after upload on native (#3597)Hailey2024-04-171-6/+25
| | | | | | | | | | | | | | | | | | | * cleanup images after uploading from the composer cleanup external embed images as well cleanup files after upload add `expo-file-system` * remove test log * await * Revert "await" This reverts commit 771814b40ce1395cac4f56853d8a9e793ca92c2f. * just log an error if it throws
* Improve the language behaviors around the PWI (#3545)Paul Frazee2024-04-131-10/+71
| | | | | | | | | * Handle leftnav overflow with longer languages' copy * Update the language dropdown to set ALL language prefs * Add hackfix to language cachebusting on PWI * Reset feeds on language change
* Dont apply the content-language filter if it will remove all content (#3492)Paul Frazee2024-04-121-5/+15
| | | | | * Dont apply the content-language filter if it will remove all content * Improve code
* Scale back sentry logs for trivial events (#2997)Hailey2024-02-261-3/+3
| | | | | * scale back sentry logs * update migrate log tests
* basic export repository link in settings (#2641)bnewbold2024-02-121-60/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * basic export repository link in settings Absolutely no prior React experience, and limited TypeScript, so probably doing all kinds of things wrong! I tried to make it a download button instead of link but that didn't work. There is probably a safer way to construct the URL string. I think having the download open in the browser is reasonable, as opposed to an in-app save flow in mobile. But i'm not sure. * Remove appview proxy toggle * Move Settings screen to a subfolder * Add support for the download attribute on links in web * Rewrite ExportRepository modal using ALF * Mobile ui tweaks --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Bump replies (#2604)Mary2024-02-051-3/+14
| | | | | * fix: bump replies * refactor: only bump if not at 0
* Fix the fallback to discover behavior on the home feed (#2546)Paul Frazee2024-01-161-1/+2
|
* Add a new home feed-api wrapper and give a header indicating the fallback ↵Paul Frazee2024-01-152-1/+89
| | | | | | | | | behavior (#2534) * Add a new home feed-api wrapper and give a header indicating the fallback behavior * Sneak in a quick fix: use the correct text color in the delete modal * Use imported constant
* Add accept-language header (#2457)Cooper Edmunds2024-01-152-14/+28
|
* remove deprecated search.bsky.social code (#2461)bnewbold2024-01-101-69/+0
|
* New user home feed fixes (#2421)Paul Frazee2024-01-041-1/+1
| | | | | | | * Readd discover to default feeds for new users * Fallback just to discover in home when mergefeed is disabled * Always provide a cursor with mergefeed (no 'end of feed' condition)
* Protect against react key duplicates (close #2278) (#2309)Paul Frazee2023-12-271-9/+10
| | | | | * Fix duplicate react keys in post search * Protect against duplicate react keys in feeds
* Log post creation failures (#2205)Eric Bailey2023-12-141-0/+6
|
* Go back to content-driven slice keys in feeds (#2190)Paul Frazee2023-12-122-11/+11
| | | | | * Go back to deterministic react keys * Quick fix to cases when custom feeds serve empty responses
* Reduce calls to getFeedGenerator and getFeed (#2166)Paul Frazee2023-12-112-19/+11
| | | | | | | | | | | * Reduce calls to getFeedGenerator by the mergefeed * Dont run end-of-follows mergefeed requests until actually at the end of the feed * build AWS container --------- Co-authored-by: Jake Gold <jake@blueskyweb.xyz>
* Add "Who can reply" controls [WIP] (#1954)Paul Frazee2023-12-101-1/+51
| | | | | | | | | | | | | | | | | | | | | * Add threadgating * UI improvements * More ui work * Remove comment * Tweak colors * Add missing keys * Tweak sizing * Only show composer option on non-reply * Flex wrap fix * Move the threadgate control to the top of the composer
* Use new filter for Posts tab on profile (#2150)Eric Bailey2023-12-081-1/+1
| | | | | | | * Use new filter for Posts tab on profile * Update deps * Remove log
* Grab-bag of post-feed improvements (#2140)Paul Frazee2023-12-071-2/+5
| | | | | | | * Sanity check against cases where empty pages may occur * Use the mergefeed as an emergency fallback to an empty feed * Check for new posts on focus
* Fix: remove replies to deleted and blocked posts from feeds (#2130)Paul Frazee2023-12-071-0/+13
|
* Fix self-threads filter logic (#2091)Eric Bailey2023-12-051-2/+2
|
* Fix state lifecycle management with post-feed query, solving the duplicate ↵Paul Frazee2023-11-292-18/+21
| | | | | | | key issue (#2034) * Assign keys to feed slices via a counter, to enable duplicate items in the feed if needed * Move post-feed query state into the query's page params to consistently bind their lifecycles
* Get more rigorous about getAgent() consistency (#2026)Paul Frazee2023-11-296-54/+35
| | | | | * Get more rigorous about getAgent() consistency * Update the feed wrapper API to use getAgent() directly
* Two fixes to react-key generation (#2004)Paul Frazee2023-11-271-2/+3
| | | | | * Fix missing react keys in ListMembers * Fix react key construction for the posts feed
* Remove deprecated models and mobx usage (react-query refactor) (#1934)Paul Frazee2023-11-161-28/+0
| | | | | | | | | | | | | | | | | | | | | * Update login page to use service query * Update modal to use session instead of store * Move image sizes cache off store * Update settings to no longer use store * Update link-meta fetch to use agent instead of rootstore * Remove deprecated resolveName() * Delete deprecated link-metas cache * Delete deprecated posts cache * Delete all remaining mobx models, including the root store * Strip out unused mobx observer wrappers
* Composer update (react-query refactor) (#1899)Paul Frazee2023-11-141-7/+6
| | | | | | | | | * Move composer state to a context * Rework composer to use RQ --------- Co-authored-by: Eric Bailey <git@esb.lol>
* Refactor lists to use new queries (#1875)Paul Frazee2023-11-121-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | * Refactor lists queries to react-query * Delete old lists-list model * Implement list, list-members, and list-memberships react-queries * Update CreateOrEditList modal * First pass at my-follows and actor-autocomplete queries * Update ListAddUserModal to use new queries, change to ListAddRemoveUsersModal * Update UserAddRemoveLists modal * Remove old TODO * Fix indent, autocomplete query * Add a todo --------- Co-authored-by: Eric Bailey <git@esb.lol>
* Refactor feeds to use react-query (#1862)Paul Frazee2023-11-108-111/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update to react-query v5 * Introduce post-feed react query * Add feed refresh behaviors * Only fetch feeds of visible pages * Implement polling for latest on feeds * Add moderation filtering to slices * Handle block errors * Update feed error messages * Remove old models * Replace simple-feed option with disable-tuner option * Add missing useMemo * Implement the mergefeed and fixes to polling * Correctly handle failed load more state * Improve error and empty state behaviors * Clearer naming
* Replace all logs with new loggerEric Bailey2023-11-041-1/+2
|
* Fix immediate TS errorsEric Bailey2023-11-041-4/+3
|
* Lists updates: curate lists and blocklists (#1689)Paul Frazee2023-11-012-33/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add lists screen * Update Lists screen and List create/edit modal to support curate lists * Rework the ProfileList screen and add curatelist support * More ProfileList progress * Update list modals * Rename mutelists to modlists * Layout updates/fixes * More layout fixes * Modal fixes * List list screen updates * Update feed page to give more info * Layout fixes to ListAddUser modal * Layout fixes to FlatList and Feed on desktop * Layout fix to LoadLatestBtn on Web * Handle did resolution before showing the ProfileList screen * Rename the CustomFeed routes to ProfileFeed for consistency * Fix layout issues with the pager and feeds * Factor out some common code * Fix UIs for mobile * Fix user list rendering * Fix: dont bubble custom feed errors in the merge feed * Refactor feed models to reduce usage of the SavedFeeds model * Replace CustomFeedModel with FeedSourceModel which abstracts feed-generators and lists * Add the ability to pin lists * Add pinned lists to mobile * Remove dead code * Rework the ProfileScreenHeader to create more real-estate for action buttons * Improve layout behavior on web mobile breakpoints * Refactor feed & list pages to use new Tabs layout component * Refactor to ProfileSubpageHeader * Implement modlist block and mute * Switch to new api and just modify state on modlist actions * Fix some UI overflows * Fix: dont show edit buttons on lists you dont own * Fix alignment issue on long titles * Improve loading and error states for feeds & lists * Update list dropdown icons for ios * Fetch feed display names in the mergefeed * Improve rendering off offline feeds in the feed-listing page * Update Feeds listing UI to react to changes in saved/pinned state * Refresh list and feed on posts tab press * Fix pinned feed ordering UI * Fixes to list pinning * Remove view=simple qp * Add list to feed tuners * Render richtext * Add list href * Add 'view avatar' * Remove unused import * Fix missing import * Correctly reflect block by list state * Replace the <Tabs> component with the more effective <PagerWithHeader> component * Improve the responsiveness of the PagerWithHeader * Fix visual jank in the feed loading state * Improve performance of the PagerWithHeader * Fix a case that would cause the header to animate too aggressively * Add the ability to scroll to top by tapping the selected tab * Fix unit test runner * Update modlists test * Add curatelist tests * Fix: remove link behavior in ListAddUser modal * Fix some layout jank in the PagerWithHeader on iOS * Simplify ListItems header rendering * Wait for the appview to recognize the list before proceeding with list creation * Fix glitch in the onPageSelecting index of the Pager * Fix until() * Copy fix Co-authored-by: Eric Bailey <git@esb.lol> --------- Co-authored-by: Eric Bailey <git@esb.lol>
* Filter non-self threads from profile view (#1757)Eric Bailey2023-10-301-1/+47
|
* Dont trim before posting (close #1621) (#1622)Paul Frazee2023-10-051-1/+1
| | | | | * Dont trim before posting (close #1621) * Tweak: do trim end
* Improve image cropping on android and introduce aspect ratio field (#1525)Paul Frazee2023-09-271-0/+2
| | | | | * Fix image cropping on android * Store and use aspect ratio field in post images (close #1392)
* Move home feed and thread preferences to server (#1507)Paul Frazee2023-09-211-1/+1
| | | | | | | | | | | * Move home feed and thread preferences to server * Fix thread usage of prefs * Remove log * Bump @atproto/api@0.6.16 * Improve type usage
* Prefilter the mergefeed to ensure a better mix of following and custom feeds ↵Paul Frazee2023-09-202-18/+46
| | | | | | | | | | | | | | | (#1498) * Prefilter the mergefeed to ensure a better mix of following and custom feeds * Test suite improvements & tests for the mergefeed (#1499) * Disable invite codes test for now * Update test sim to latest iphone * Introduce TestCtrls driver * Add mergefeed tests
* Feed UI update working branch [WIP] (#1420)Paul Frazee2023-09-187-5/+474
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Feeds navigation on right side of desktop (#1403) * Remove home feed header on desktop * Add feeds to right sidebar * Add simple non-moving header to desktop * Improve loading state of custom feed header * Remove log Co-authored-by: Eric Bailey <git@esb.lol> * Remove dead comment --------- Co-authored-by: Eric Bailey <git@esb.lol> * Redesign feeds tab (#1439) * consolidate saved feeds and discover into one screen * Add hoverStyle behavior to <Link> * More UI work on SavedFeeds * Replace satellite icon with a hashtag * Tune My Feeds mobile ui * Handle no results in my feeds * Remove old DiscoverFeeds screen * Remove multifeed * Remove DiscoverFeeds from router * Improve loading placeholders * Small fixes * Fix types * Fix overflow issue on firefox * Add icons prompting to open feeds --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com> * Merge feed prototype [WIP] (#1398) * POC WIP for the mergefeed * Add feed API wrapper and move mergefeed into it * Show feed source in mergefeed * Add lodash.random dep * Improve mergefeed sampling and reliability * Tune source ui element * Improve mergefeed edge condition handling * Remove in-place update of feeds for performance * Fix link on native * Fix bad ref * Improve variety in mergefeed sampling * Fix types * Fix rebase error * Add missing source field (got dropped in merge) * Update find more link * Simplify the right hand feeds nav * Bring back load latest button on desktop & unify impl * Add 'From' to source * Add simple headers to desktop home & notifications * Fix thread view jumping around horizontally * Add unread indicators to desktop headers * Add home feed preference for enabling the mergefeed * Add a preference for showing replies among followed users only (#1448) * Add a preference for showing replies among followed users only * Simplify the reply filter UI * Fix typo * Simplified custom feed header * Add soft reset to custom feed screen * Drop all the in-post translate links except when expanded (#1455) * Update mobile feed settings links to match desktop * Fixes to feeds screen loading states * Bolder active state of feeds tab on mobile web * Fix dark mode issue --------- Co-authored-by: Eric Bailey <git@esb.lol> Co-authored-by: Ansh <anshnanda10@gmail.com>