The line was added by hand without the markers that the
@react-native-firebase/app config plugin writes, so every
`expo prebuild --no-clean` inserted a second, tagged copy of it. Wrap it
in the plugin's generated markers so prebuild leaves the committed
Podfile unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Apps linked against the iOS 27 SDK (Xcode 27) stop at launch on iOS 27 in
_UIApplicationEvaluateRuntimeIssueForNoSceneLifecycleAdoption unless they use
the scene-based life cycle. Enable expo-build-properties'
ios.enableSceneSupport (Expo 57.0.23+) and apply the same changes to the
committed native project, so a prebuild reproduces it:
- AppDelegate conforms to ExpoReactNativeFactoryProvider and no longer
creates the window or starts React Native.
- Info.plist declares a scene manifest that points at Expo's
EXExpoAppSceneDelegate, which creates the window and starts React Native.
Builds made with Xcode 26 keep working with the scene life cycle.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A local simulator build raised CFBundleVersion in Info.plist and the change
slipped into the previous commit; the bump had set it to 13.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signing out (and the other runtime reloads) crashed the app with SIGSEGV on
the expo.modules.fetch.RequestQueue thread. Expo's native fetch keeps a
closure that owns the JS promise until the response reaches a terminal state;
reloading while a request was pending destroyed that closure against the
torn-down runtime. Sign-out always had requests pending: clearing the cookie
refetches the session queries and popping to the root loads the guest timeline.
Expo also installs its fetch as the global `fetch`, so every request in the app
goes through it. `network-activity.ts` wraps the global fetch (from the
polyfill entry) and the explicit `expo/fetch` imports, tracks each request
until the native response reports `readyForJSFinalization`, and can abort them
all. `reloadApp` cancels the queries, aborts the in-flight requests, waits for
the network to go idle (three seconds at most) and only then reloads. Every
`reloadAppAsync` call site goes through it.
Verified with the Maestro iOS auth journey against production: register, sign
out and log in pass with no crash report.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Xcode 27 refuses the iOS 9.0 and 12.0 deployment targets that older pods still
declare on their resource bundle targets, and its Swift compiler rejects
react-native-ios-context-menu, which uses UIAction.subtitle behind an iOS 15
availability check. The app requires iOS 16.4, so the Podfile now raises every
pod target to at least ios.deploymentTarget in post_install; the config plugin
generates the block and the checked-in Podfile carries it.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* feat: add cross-platform e2e coverage
* fix: stabilize desktop e2e navigation
* fix: harden desktop e2e read flow
* fix: harden desktop e2e auth and follow flows
* fix: stabilize desktop e2e discover entry flows
* fix: run android e2e in a single shell
* fix: speed up mobile e2e builds in ci
* fix: build android e2e app from mobile workspace
* fix: invoke android gradle build from repo root
* fix: use absolute path for android ci build
* fix: restore android eas build in ci
* fix: target iOS simulator by udid in ci
* fix: align desktop e2e with discover card flow
* fix: reorder web e2e after relogin
* fix: navigate web e2e via real hash url
* fix: close stale settings modal before reopening
* fix: track android maestro flows
* fix: wait for settings router in web e2e
* fix: wait for web settings sync propagation
* fix: stabilize desktop e2e settings flows
* fix: harden desktop e2e regressions
* fix: stabilize desktop e2e selectors
* fix: read desktop entry state from locators
* fix: relax desktop e2e entry assertions
* fix: avoid waiting on missing desktop feed ids
* feat: migrate desktop and mobile error tracking to PostHog
* fix(mobile): remove unsupported tab bar minimize API
* Revert "fix(mobile): remove unsupported tab bar minimize API"
This reverts commit e234dda512.
- Introduced `TabBarBottomAccessoryModule` to provide a new bottom accessory view for the tab bar.
- Updated `TabBarRootView` to utilize a custom tab bar controller, improving the management of the tab bar's visibility and behavior.
- Refactored `UIWindow` extension methods for better readability and structure.
- Enhanced `expo-module.config.json` to include the new module and improved formatting for better clarity.
These changes aim to enhance the tab bar functionality and improve the overall user interface experience in the mobile application.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated the `AIChainOfThought` component to support a new `ChainReasoningPart` type, allowing for better integration of tool and reasoning parts.
- Refactored the logic for determining when the current chain reasoning is finished, ensuring accurate state management.
- Enhanced the `AIMessageParts` component to utilize the new `ChainReasoningPart` type, improving the handling of message parts.
- Modified the `ToolInvocationComponent` to streamline the rendering of tool invocation details, improving UI consistency and clarity.
These changes aim to enhance the functionality and maintainability of the AI chat components, providing a more robust user experience.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated the version number from 0.2.8 to 0.2.9 in both package.json and Info.plist to reflect the latest changes and improvements.
This version bump ensures that the mobile app is correctly identified with the latest updates.
Signed-off-by: Innei <tukon479@gmail.com>
- Created a new .watchmanconfig file to specify directories to ignore during file watching, enhancing performance and reducing unnecessary processing.
- Modified the Xcode project configuration to clean up output paths and ensure proper handling of build flags.
- Updated BottomTabProvider to use ResolvedTabScreenProps for better type safety.
- Adjusted spring configurations in various components for improved animation performance.
- Added Eye2CuteReIcon to EntryDetailScreen for enhanced user interface.
These changes aim to optimize the development workflow and improve the overall user experience in the mobile application.
Signed-off-by: Innei <tukon479@gmail.com>
- Added Sentry for error reporting in the mobile application.
- Updated the app configuration to initialize Sentry with the necessary DSN and settings.
- Replaced Firebase Crashlytics with Sentry for error capturing in the ErrorBoundary component.
- Updated various workflows to include Sentry authentication token.
- Adjusted dependencies to use React Native version 0.79.6 and updated related packages.
This integration enhances the application's ability to track and manage errors effectively.
Signed-off-by: Innei <tukon479@gmail.com>
- Added a force flag to the build ID increment script to allow manual increments regardless of branch or staged changes.
- Updated iOS build version in Info.plist from 134 to 135.
- Removed unused changelog CLI configuration file.
- Modified bump.config.ts to disable tagging for mobile releases.
Signed-off-by: Innei <tukon479@gmail.com>