about summary refs log tree commit diff
path: root/src/lib/api
Commit message (Collapse)AuthorAgeFilesLines
* Hook debugTopics to override X-Bsky-Topics (#6060)dan2024-11-011-1/+8
|
* Implement posting threads (#6049)dan2024-11-012-65/+166
| | | | | | | | | | | | | | | * Implement posting a thread Co-authored-by: Dan Abramov <dan.abramov@gmail.com> * Fix native build * Remove dependency on web crypto API * Fix unrelated TS error (wtf) --------- Co-authored-by: Mary <148872143+mary-ext@users.noreply.github.com>
* Sort imports (#6009)dan2024-10-291-3/+3
| | | | | * Mark import sort/order/style rules as error * npm run lint -- --fix
* Refactor composer state for threads (#5945)dan2024-10-291-9/+14
| | | | | | | * Refactor composer state for threads * Remove unnecessary default case TS can see it's exhaustive.
* Remove waterfalls from posting (#5931)dan2024-10-251-29/+36
| | | | | * Extract resolveRT, resolveReply * Parallelize waterfalls
* Make use of applyWrites when publishing posts (#5809)Mary2024-10-241-53/+66
| | | | | | | | | * make use of applywrites * Explicit $type --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Include hydrated responses for other records (#5646)dan2024-10-241-29/+29
| | | | | | | * Include hydrated responses for other records * Rename meta -> view This is actually all it is now.
* Refactor post meta to return PostView (#5645)dan2024-10-241-12/+3
|
* Apply labelers and handle language for PWI home (#5816)Eric Bailey2024-10-171-4/+20
|
* Translate strings in `src/lib/api/index.ts` (#5750)surfdude292024-10-141-9/+10
|
* Nicer error message for disabled quotes (#5644)dan2024-10-081-1/+1
|
* Move remaining composer state into reducer (#5623)dan2024-10-072-53/+85
| | | | | | Co-authored-by: Mary <git@mary.my.id> Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com> Co-authored-by: Hailey <me@haileyok.com>
* Fetch link previews from RQ (#5608)dan2024-10-072-15/+81
| | | | | Co-authored-by: Mary <git@mary.my.id> Co-authored-by: Hailey <me@haileyok.com>
* Use composer state as source of truth for embeds/links on publish (#5606)dan2024-10-072-55/+261
| | | | | Co-authored-by: Mary <git@mary.my.id> Co-authored-by: Hailey <me@haileyok.com>
* Make composer reducer source of truth for images/video when publishing (#5595)dan2024-10-051-17/+15
| | | | | * Move caption and altText state into video reducer * Make composer state source of truth for images and video publish
* Rename some files and variables (#5587)dan2024-10-031-1/+1
| | | | | | | * Move composer reducers together * videoUploadState -> videoState * Inline videoDispatch
* Introduce a composer reducer and move image state there (#5547)dan2024-10-021-0/+2
| | | | | | | | | | | | | | | | | | | * Add composer reducer * Support adding images Co-authored-by: Mary <git@mary.my.id> * Support updating and deleting images Co-authored-by: Mary <git@mary.my.id> * Derive images state from composer state Co-authored-by: Mary <git@mary.my.id> --------- Co-authored-by: Mary <git@mary.my.id>
* Paralellize image uploads (#5535)dan2024-10-021-137/+117
| | | | | | | | | | | | | | | * Remove unsafe type coercions from posting embed * Extract resolveEmbed into a separate function * Refactor to if-else because these are mutually exclusive * Refactor resolveEmbed to early returns * Separate resolving embed and media * Parallelize image upload * Prioritize not dropping media
* Pinned posts (#5055)Samuel Newman2024-09-281-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add to dropdown menu * use normal profile mutation hook * add pin as reason * request pins * shadow update * rm logs * get prev pinned from getProfile * fix toasts * invalidate after appview ready * don't mutate params * rm log * use checkCommited rather than manual whenAppViewReady * move to mutation * even more optimistic optimistic update * allow pins in `posts_and_author_threads` * update @atproto/api * add reasonPin type * fix strange type error in unrelated query * another missing type
* Remove `react-native-fs` (#5463)Hailey2024-09-251-3/+5
| | | | | | | | | * remove rnfs * tweak e2e * log * use `safeDeleteAsync`
* MobX removal take 2 (#5381)Mary2024-09-251-39/+14
| | | | | | | | | * mobx removal take 2 * Actually rm mobx --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Fix lexicon validation in PWI Discover (#5329)dan2024-09-131-2/+3
|
* Revert "Show some known OP replies in Following (#5049)" (#5301)dan2024-09-121-21/+6
| | | This reverts commit bff6aedecf007a4225bf30e1800933a9005cb0b2.
* Disable in-thread deduping for reposted replies (#5135)dan2024-09-041-1/+6
|
* Mark unhydrated replies as orphaned (#5048)dan2024-08-311-1/+9
|
* Show some known OP replies in Following (#5049)dan2024-08-311-6/+21
| | | | | * Show known OP replies in Following * Fiter by >0 parent likes
* [Video] Captions and alt text (#5009)Samuel Newman2024-08-301-3/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | * video settings modal in composer * show done button on web * rm download options * fix logic for showing settings button * add language picker (wip) * subtitle list with language select * send captions & alt text with video when posting * style "ensure you have selected a language" text * include aspect ratio with video * filter out captions where the lang is not set * rm log * fix label and add hint * minor scrubber fix
* Fix language filtering for feeds (#5026)dan2024-08-291-12/+5
| | | | | * Fix language filtering for feeds * Simplify logic
* [Video] Add uploaded video to post (#4884)Samuel Newman2024-08-291-11/+27
| | | | | | | | | | | | | | | | | | | | | * video uploads! * use video upload lexicons * add missing postgate * remove references to prerelease package * fix scrubber showing a "0" * Delete types.ts * rm logs * rm upload header --------- Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* Detached QPs and hidden replies (#4878)Eric Bailey2024-08-211-50/+55
| | | | Co-authored-by: Hailey <me@haileyok.com>
* Fix orphaned feed slices, handle blocks (#4944)Eric Bailey2024-08-191-5/+26
| | | | | | | | | | | * Fix orphaned feed slices, handle blocks * Revert to filerting out orphan threads * Support NotFoundPost views too * Just kidding, use ReplyRef.root as source of grandparent data * Fixes
* Upgrade API, implement XRPC rework (#4857)Hailey2024-08-126-136/+124
| | | | Co-authored-by: Matthieu Sieben <matthieu.sieben@gmail.com>
* Tweak feed manip to show cases of A -> B without further children (#4883)Hailey2024-08-061-8/+10
|
* Show more replies in Following (different heuristic) (#4880)dan2024-08-061-15/+79
|
* 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