about summary refs log tree commit diff
path: root/src/lib/api
Commit message (Collapse)AuthorAgeFilesLines
* fix(feed): only include pins for author threads filterCaidan Williams2025-09-021-6/+4
| | | | | | | Previously, pins were included for both 'posts_with_replies' and 'posts_and_author_threads' filters. This change restricts pin inclusion to only the 'posts_and_author_threads' filter, ensuring correct feed behavior and reducing unnecessary data in other filter modes.
* Add feed tuner to remove muted threads (#8773)kindgracekind2025-08-041-0/+16
|
* Replace `resumeSession` with `getSession` in the email check (#8670)Samuel Newman2025-07-231-3/+3
| | | | | | | | | | | | | * replace resumeSession with getSession * copy lil type tweak from the other PR * Add partialRefreshSession to session API context, use session state to infer state further down tree * Review --------- Co-authored-by: Eric Bailey <git@esb.lol>
* Activity notification settings (#8485)Samuel Newman2025-07-012-6/+58
| | | | | | Co-authored-by: Eric Bailey <git@esb.lol> Co-authored-by: Samuel Newman <mozzius@protonmail.com> Co-authored-by: hailey <me@haileyok.com>
* Fix video aspect ratio error - "Record/embed/aspectRatio/width cannot be ↵Samuel Newman2025-06-281-4/+16
| | | | less than 1" (#8571)
* add reqId to feed feedback (#8396)hailey2025-05-211-2/+6
| | | | Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Live (#8354)Samuel Newman2025-05-101-7/+7
|
* bump it bop it upgrade it (rn 79/expo 53) (#8281)hailey2025-05-021-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * basic bumps * more tweaking * fix rn patch * fix crop picker patch * fix media library patch * rm unnecessary patch * fix notifications patch * update bottomsheet * Update withAppDelegateReferrer.js * Delete withNoBundleCompression.js * rm withNoBundleCompression plugin * rm findLast shim * metro package exports is enabled by default * update react/react-dom/react-compiler * fix reanimated issue * vendor expo-ized emoji popup * fix types * hackfix view full thread * Update EmojiPickerModule.podspec * more upgrades * fix multiformats package version * add baseurl * bump mmkv * bumps * update react-keyed-flatten-children * bump locale packages * fix emoji picker dark mode * rn upgrades * Revert "bump locale packages" This reverts commit fc82f0f173032127dd7c18ed0316ae26f53db51d. * upgrade testing-library * rm test renderer * update patch name minors * rm findNodeHandle from tabbar * only do scrollview tag thing on ios * disable package exports * update expo notifications handler * memoize emoji picker styles * fix tests, mock multiformats * bump some dev deps with RC versions * completely rearchitect toasts * rm logs * layout animation config for composer footer * disable autolinking for patched libs * undo lingui changes * version bump from release candidate to 0.1 * update atproto deps * rm @did-plc/server * fix key issue (maybe) * move URL polyfill to the polyfill file * fix yarn lock * upgrade to 53.0.3 * reanimated layout anim bug patch * workletize a function that wasn't getting autoworkletized anymore (#8309) * bump to expo 53.0.4 * bump RN to 0.79.2 * fix yarn lock ci * Revert "completely rearchitect toasts" This reverts commit 2e2fcaeeed527580a6c485718544b85e8b4f52b9. * final upgrades * chore: cleanup yarn lock * prettier --------- Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* demo modeSamuel Newman2025-04-231-0/+20
|
* hackfix likes tab (#7770)Samuel Newman2025-02-251-1/+3
|
* `@atproto/api@next` integration (#7344)Eric Bailey2025-02-184-38/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Bump SDK * Use consistent type in profile query * Omit from constraint for profile shadow * Replace isRecord with isValidRecord in QuoteEmbed * Omit type from constraint for old ProfileCard * Omit type from constraint in profile queries where appropriate * Use correct type for update profile mutation * Conslidate and fix check for isValidRecord in Post.tsx * Replace isRecord with isValidRecord in PostThreadItem * Remove redundant cast in PostThreadFollowBtn * Ignore errors in DebugMod screen * Use matching type in ProfileFollows screen * Use matching type in ProfileFollowers screen * Migrate to isValidRecord in PostFeedItem * Use matching type if PostRepostedBy * Omit type from constraint in avatar props * Use matching types in NotificationFeedItem * Todo * Use isValidRecord in NotfyFeedItem * Improve MediaPreview types * Migrate another isValidRecord in NotificationFeedItem * Migrate to isValidView in queries/util * Migrate to isValidRecord in threadgate/util * Fix types in threadgates * Fix up types in starter-packs queries * Todo * Specify exact types in search-posts * Use internal type util to align types * Ditto last * Migrate postgate/index * Specify exact types in post-thread * Use correct type in post-quotes * FIX potential bug in post-thread * Use correct type in post-feed * Add correct type guards to notifications/feed * Migrate a guard in notifications/util * Migrate guard in Wizard/State * [@next] Profile handling, migrate `ProfileCard` (#7347) * Introduce new utils for profiles, migrate old ProfileCard * Rename, reorg * Add parseEmbed utils * Expand AnyProfileView to include chat profile view, update post shadow to reflect this * Cast for perf reasons * Tighten up types now that we have AnyProfileView * Add fastIsType util * Use `assertDid` Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com> * Use util types * Comment * Use fastIsType where no validation was happening before * suggestions (#7382) * suggestions * Revert unneeded changes --------- Co-authored-by: Eric Bailey <git@esb.lol> * Use new util * Rename to dangerousIsType * Convert object shape * Use dangerous util * Use dangerous util * Use dangerous util, we can trust post records * Use dangerous util * Use AnyProfileVIew * Convert object shape * Clean up handling * Patch moderateProfile to accept known profile views, to discuss * Add AnyStarterPackView and related, implement in first usage * Remove validation, fix type, fix ref * Migrate over list-conversations * Clarify intent behind precacheProfile and its unstable query cache * Clean up unstable profile cache * Fix types during label creation in PwiOptOut (#7346) * Tighten types in queries/list * Chat: use correct profile views * Chat: fix log type check * Chat: construct lexically correct shape, even though it's only internal usage * Chat: use correct profile types * Chat: fix type check in logs * Starter: use correct profile types * Starter: use correct profile types * Starter: tighten types to match lex * Any profile type will work in blocked-and-muted * Use dangerous util * Use dangerousIsType * Update new ProfileCard to use AnyProfileView * Use dangerousIsType * Remove outdated todo * Use correct profile type * Use correct profile types * Tighten up types * Use dangerousIsType * Chat: more type fixes * Remove unused file * Add a few utils * Remove unused file * Ignore feedPost.__source * Clean up types, leave validation in critical path * Use dangerousIstype * Use ANyProfileView * Use isValidRecord * Use dangerousIsType * Fix types in ListCard * Fix FeedInterstitials types * Fix types in FeedCard * Fix types in dms ReportDialog * Fix types in SearchablePeopleList * Fix bad type in composer opts * Starter: ok these need to be loose too * Clarify docs Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com> * Less code Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com> * Use package exports Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com> * Use package exports * Bump sdk, update $Typed imports * Format * Format * Fix weird TS error * Remove patch * Beter name * It's memo, can validate * Tighten up parseEmbed, dogfood * Bump sdk * Use asPredicate * Loosen types a bit * use asPredicate * Fix types * Use asPredicate * Use asPredicate * Use asPredicate * Clean up upsertProfile types * Use asPredicate * Use Un util * Fix types * Use new AnyProfileView * Use dangerousIsType * Use asPredicate * Use asPredicate * Add fallback content-type to pass typecheck * Clean up upsertProfile types * Align types * Use dangerousIsType * Use dangerousIsType * Use asPredicate * Align types * Convert findLast * Align types * Just ignore type errors and use findLast * Rename atproto -> bsky * Add validate util * Fix type error * Loosen types * Export post * rename atp bsky * Remove unused code * minor changes * Bump deps * Fix types * Tighten back up loose check * Tighten back up loose check * Fix small bug * Update comment * Revert change --------- Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com> Co-authored-by: Matthieu Sieben <matthieu.sieben@gmail.com>
* Trim leading whitespace-only lines (#7555)dan2025-01-231-1/+6
|
* Only show pins on Posts and Replies (#7544)dan2025-01-221-1/+3
|
* show video feeds from posts even if they are replies (#7516)Chris Kanich2025-01-211-0/+2
| | | | | * show video feeds from posts even if they are replies * only show feed post in VideoFeed
* Fix posting images on web (#7105)dan2024-12-141-1/+4
| | | | | | | * Fix uploadBlob to handle blob: URI * Patch expo-image-manipulator to support "compress" argument * Narrow down the fix
* 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