Commit Graph

7759 Commits

Author SHA1 Message Date
Claude 681fc74469 Update sonner-native hashed peer suffix for new react-native-svg patch hash
pnpm digests long peer-combination suffixes, and react-native-svg's
patch hash is part of sonner-native's combination, so the digest changed
with the patch. Matches the diff verify-pnpm-lock computed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCuMKXWHuyGoNhTVAHBMyk
2026-07-16 21:13:17 +03:00
Claude 015fc3518d Replace react-native-svg web-check shim with a patch deleting its web types
react-native-svg publishes ReactNativeSVG.web.d.ts / elements.web.d.ts
declarations whose API surface diverges from the native one the app is
written against (no SvgProps/PathProps, react-native-web style types),
even though the web runtime accepts the same props. Instead of mirroring
the native type surface in an ambient shim, extend the existing
react-native-svg patch to delete the divergent web declarations so the
web typecheck pass falls through to the native ones.

To be raised with Software Mansion upstream.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCuMKXWHuyGoNhTVAHBMyk
2026-07-16 21:13:17 +03:00
Claude 08eadd8149 Split typecheck into per-platform passes (ios, android, web)
The single native pass resolved [".ios", ".android", ".native", ""],
which models a platform that does not exist - on iOS Metro never falls
back to .android files and vice versa. Replace it with
tsconfig.check.ios.json and tsconfig.check.android.json, each mirroring
Metro's real resolution order for its platform, alongside the existing
web pass. pnpm typecheck now runs all three, and the lint workflow
matrix runs them as separate jobs.

The ambient check shims in src/platform are now excluded from passes
they aren't written for (previously the web shims were silently included
in the native pass via the "src" include glob), and a new Android-pass
shim pins react-native-device-attest to its platform-neutral base class,
whose Android variant omits the iOS-only getDeviceCheckToken static.

The Android pass surfaced a real bug: Referrer.getReferrerInfo() is
async on Android (the Play referrer API only exposes a promise) but sync
on iOS/web, and the shared callers used it synchronously - so on Android
the deepLink:referrerReceived metric fired with a Promise instead of
data. The API is now uniformly promise-returning and the callers await
it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCuMKXWHuyGoNhTVAHBMyk
2026-07-16 21:13:17 +03:00
Claude 3652b30811 Add web typecheck pass (tsconfig.check.web.json) and fix web type drift
The main typecheck models native resolution (.ios/.android/.native), so
.web variants were never checked in their real resolution context. Add a
second pass that roots the program at the web entry point and resolves
with moduleSuffixes [".web", ""], wire it up as pnpm typecheck:web, and
add it to the lint workflow matrix.

Ambient shims (src/platform/*.web-check.d.ts, web pass only) pin
react-native-svg, expo-file-system, and expo-image-manipulator to their
native declarations, since their .web.d.ts files expose a different API
surface than the one the app is written against (and, for
expo-file-system/legacy, raw package sources that break under suffix
remapping).

The rest fixes the drift the new pass surfaced, notably:
- List.web: ListRef now carries ListMethods (was RefObject<View>),
  scrollToOffset accepts optional animated, ListProps defaults ItemT
- Dialog.web: ScrollableInner accepts a (never-attached) ScrollView ref,
  InnerFlatList label optional + ListMethods ref, Handle accepts props
- Menu.web exports MenuControlProps; ContextMenu.web gets a properly
  typed Trigger wrapper and accepts align
- Pager/TabBar/PagerWithHeader web variants align with the shared
  contract (testID, onTabPressed, drag shared values, setMinimumHeight)
- useNavigationTabState.web now reports isAtFeeds/isAtBookmarks, fixing
  drawer highlighting for those routes on web
- Web-only throw-stubs get real signatures; duplicated prop types move
  into .shared.ts files (CaptchaWebView, EditImageDialog, OpenCameraBtn,
  GestureActionView, ValuePropositionPager)
- findListNativeTag helper replaces findNodeHandle casts on List refs
- Assorted call-site type fixes (keyExtractor params, PostQuotes record
  narrowing, saveBytesToDisk bytes param, openCamera web signature)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCuMKXWHuyGoNhTVAHBMyk
2026-07-16 21:13:17 +03:00
Claude f6a16c1cef Share platform-split module types via .shared.ts files
Extract the prop/control types (and the video error classes) that were
duplicated between web implementations and their native throw-stubs into
sibling .shared.ts files, so both variants reference one definition and
cannot drift.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCuMKXWHuyGoNhTVAHBMyk
2026-07-16 21:13:17 +03:00
Claude 47293de3ac Add moduleSuffixes to tsconfig
Resolve platform-specific modules native-first ([".ios", ".android",
".native", ""]) during typechecking, matching the react-native
customConditions already set by the base config. Typecheck now sees the
.native variants of web-only modules, so their throw-stubs gain real
signatures (typed props, never return, error class exports) to keep
their web consumers typechecking correctly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCuMKXWHuyGoNhTVAHBMyk
2026-07-16 21:13:17 +03:00
Samuel Newman f9384e44c7 Bump expected cocoapods version to match latest macos-26 runner image (#11171) 1.128.0 2026-07-16 09:33:07 -07:00
RetroSunstar 54a1d81936 Remove success toast from Bookmark Button (#11054)
Co-authored-by: Eric Bailey <git@esb.lol>
2026-07-16 10:33:49 -05:00
Samuel Newman b91f5e16bc use pnpm 11.13.1 (#11168) 2026-07-16 07:23:37 -07:00
Samuel Newman 4134e062cf v1.128.0 release prep (#11167) 2026-07-16 07:10:39 -07:00
Samuel Newman 406fb5425c Add Japan-gated custom logo (#11161) 2026-07-16 04:26:05 -07:00
Samuel Newman 4037392105 Update SVGO (#11083) 2026-07-16 04:21:31 -07:00
pfrazee 4983fee7a4 Nightly source-language update 2026-07-16 03:10:26 +00:00
DS Boyce 2a4642f324 Add mark requests as read to chat settings menu (#11107) 2026-07-15 16:12:02 -07:00
Abdelrahman Youssef 83a791d7c8 Fix invisible bidi characters copied with handles on web (#11066) 2026-07-15 17:56:34 -05:00
RetroSunstar 4705b7f408 Add DM button to labeller profiles (#11149) 2026-07-15 17:32:18 -05:00
DS Boyce 48fecae677 Log additional context for post:* events (#11035) 2026-07-15 12:52:53 -07:00
DS Boyce a0c75944a3 Don't suggest retrying an unretryable error (#11159) 2026-07-15 11:27:19 -07:00
DS Boyce 7009417035 Remove IS_INTERNAL check for beta feedback button (#11162) 2026-07-15 11:21:07 -07:00
DS Boyce 211c8838a9 Upgrade pnpm to 11.13.0 (#11163) 2026-07-15 11:15:34 -07:00
DS Boyce 5b9967b17d Strip leading @ in from: queries (#11158) 2026-07-15 09:23:11 -07:00
DS Boyce 3c5c11c002 Add setting for opting in to beta features (#11123) 2026-07-15 06:06:54 -07:00
Spence Pope d7f40b7e7f fix android carousel jiggle from cdn-rounded aspect ratio (#11153) 2026-07-15 04:36:04 -07:00
Eric Bailey 821e1b838a [APP-2642] Social proof text is truncated on mobile (#11155) 2026-07-15 10:53:40 +03:00
pfrazee 581aee5472 Nightly source-language update 2026-07-15 03:10:36 +00:00
Spence Pope f42a325f49 fix web feed footer clearing the bottom bar (#11151) 2026-07-14 10:15:28 -07:00
Samuel Newman 4c111eb45e Stub out react-native-svg fetchData on web to drop buffer polyfill (#11097)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 10:15:10 -07:00
Samuel Newman 9fa5f15baa Revert "Typescript 7" (#11152) 2026-07-14 08:50:06 -07:00
Spence Pope a5adb0e97a Add video playback observability to Sentry (#11111) 2026-07-14 10:38:39 -04:00
Samuel Newman 30e862bc26 Allow up to 10 images in share intent (#11132) 2026-07-14 06:14:11 -07:00
DS Boyce 4778142ee8 Create primary tooltip variant (#11140) 2026-07-14 05:57:11 -07:00
Samuel Newman ac0a249721 Typescript 7 (#11109) 2026-07-14 05:52:56 -07:00
Samuel Newman 4b5138fdc1 Update Sentry to 8.x (#11147)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 05:39:05 -07:00
pfrazee 6f69ded492 Nightly source-language update 2026-07-14 03:10:07 +00:00
dependabot[bot] 19872124bf Bump the actions group with 6 updates (#11148) 2026-07-13 23:48:14 +03:00
Alex Benzer 04ebd02ce3 Prototype: Show known likers on post thread page (#11080)
Co-authored-by: Eric Bailey <git@esb.lol>
2026-07-13 14:55:15 -05:00
DS Boyce 0701a08a63 Ensure long trending topic titles can wrap (#11141) 2026-07-13 07:23:08 -07:00
pfrazee 3989356316 Nightly source-language update 2026-07-11 03:10:36 +00:00
Austin McKinley b4dfa3cc22 Collapse label appeal flow into ModerationDetailsDialog (#11091)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Eric Bailey <git@esb.lol>
2026-07-10 18:26:10 -05:00
Samuel Newman fa27d446d8 Migrate to Oxlint (#10384)
Co-authored-by: DS Boyce <260543580+ds-boyce@users.noreply.github.com>
2026-07-10 12:27:00 -07:00
Samuel Newman 6be6f14aed pnpm 11.11.0 (#11130) 2026-07-10 18:12:02 +03:00
Samuel Newman 9b34d357d4 Lazy load @ipld/dag-cbor in computeCid (#11099)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 02:43:04 -07:00
DS Boyce f1b2bcd638 Potentially fix disappearing chat emoji on some devices (#11113) 2026-07-10 02:40:54 -07:00
Samuel Newman 5e6b693294 Fix crash when maxHeight is nil at sheet presentation (#11104)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 02:39:02 -07:00
Samuel Newman 1c88299eee restore v1.128.0 (#11131) 2026-07-10 02:33:28 -07:00
pfrazee fe5d531afe Nightly source-language update 2026-07-10 03:13:47 +00:00
DS Boyce 3499d3646e Migrate all search to v2 and remove v1 (#11125) 2026-07-09 15:08:20 -07:00
Samuel Newman 65e10f13f7 Slim down CLAUDE.md (#11102) 2026-07-10 00:37:48 +03:00
Samuel Newman ffd4172a64 Replace @tiptap/html generateJSON with native DOMParser equivalent (#11098) 2026-07-10 00:37:05 +03:00
surfdude29 1d1b2f748e Update KWS supported languages and mapping (#11085)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 13:24:20 -05:00