Conversation
朕の所見Walkthrough朕の観察するところ、本差分は路線一覧・列車種別表示関連の複数コンポーネントおよび複数画面を体系的に削除し、いくつかの画面で相対インポートパスを修正している。 Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes 理由:複数の独立した画面/コンポーネント削除が含まれ、依存関係・ナビゲーション・公開APIへの影響確認が必要なため。 Possibly related PRs
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🔇 Additional comments (1)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/screens/AppSettings.tsx (1)
143-146: TuningSettings画面がナビゲーションスタックに登録されていない。これが実なる問題なり。朕が綿密に検証したところ、当初の懸念は誤りであった。ThemeSettingsおよびEnabledLanguagesSettingsは、MainStack.txzにて正常に登録・インポートされており、ナビゲーションは正常に機能する。
しかれど、真なる問題ここにあり。TuningSettingsはMainStack.txzに登録されておらず、146行目の
navigation.navigate('TuningSettings')は実行時エラーを引き起こさん。
- TuningSettingsコンポーネントは
src/components/TuningSettings.tsxに存在するも、ナビゲーションスクリーンとして登録されていない- このボタンは開発版でのみ表示される(isDevApp条件下)が、クリック時に確実に失敗する
修正方法: MainStack.txzにてTuningSettingsをインポートし、Stack.Screen登録を追加せよ。
import TuningSettings from '../components/TuningSettings'; // In Stack.Navigator: <Stack.Screen options={optionsWithCustomStyle} name="TuningSettings" component={TuningSettings} />
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (11)
src/components/RouteList.tsx(0 hunks)src/components/RouteListModal.tsx(0 hunks)src/components/TrainTypeInfoModal.tsx(0 hunks)src/components/TrainTypeInfoPage.tsx(0 hunks)src/screens/AppSettings.tsx(1 hunks)src/screens/AppSettings/ThemeSettings.tsx(0 hunks)src/screens/CommunityRoutesScreen.tsx(0 hunks)src/screens/FakeStationSettingsScreen.tsx(0 hunks)src/screens/NotificationSettingsScreen.tsx(0 hunks)src/screens/SpecifyDestinationSettingsScreen.tsx(0 hunks)src/screens/TrainTypeSettingsScreen.tsx(0 hunks)
💤 Files with no reviewable changes (10)
- src/screens/TrainTypeSettingsScreen.tsx
- src/screens/CommunityRoutesScreen.tsx
- src/components/TrainTypeInfoPage.tsx
- src/screens/SpecifyDestinationSettingsScreen.tsx
- src/components/TrainTypeInfoModal.tsx
- src/screens/FakeStationSettingsScreen.tsx
- src/components/RouteList.tsx
- src/components/RouteListModal.tsx
- src/screens/NotificationSettingsScreen.tsx
- src/screens/AppSettings/ThemeSettings.tsx
* カナリア版Androidをself-hostedでデプロイする (#4518) * カナリア版Androidをself-hostedでデプロイする * bump android version * ANDROID_HOME明記 * 一旦毎回ビルドが走るようにする * org.gradle.jvmargs=-Xmx8g * Android版ストレージ系の権限削除 * READ_EXTERNAL_STORAGEしばき * expo-doctorで指摘されたパッケージのバージョン変更 * 一旦READ_EXTERNAL_STORAGE消すのを消す * android.permission.READ_EXTERNAL_STORAGEとandroid.permission.READ_MEDIA_IMAGESを明示的にremove * deploy yml更新 * 縦画面対応で不要となったファイルの削除 (#4523) * 縦画面対応で不要となったファイルの削除 * biome fix * 必要なファイルまで消してた * biome fix * pnpm lint --unsafe --fix * 縦画面対応に関わるバグの修正とGraphQL BFF移行 (#4521) * Refactor imports to use types from GraphQL instead of proto files; add GraphQL code generation configuration * Refactor code to use type imports consistently and improve type safety across components and hooks * Remove unused proto subproject reference * Refactor simulation mode tests to improve structure and add comprehensive mock setups * Refactor test mocks for useLocationStore to improve readability and consistency * Refactor mock setup for useCurrentLine in useSimulationMode tests for improved readability * Update type definition for line names in useTTSText to use 'undefined' instead of 'null' * Refactor various components and hooks to improve null handling and type safety - Updated `LineBoardYamanotePad` to handle optional line values. - Modified `SelectBoundModal` to default lineId to 0 instead of null. - Enhanced `useSimulationMode` to check for null values instead of undefined for latitude and longitude. - Adjusted `useTTSText` to ensure nameRoman is set to undefined if not present. - Filtered valid lines in `SelectLineScreen` to ensure line IDs are not null. - Added checks for train types in `SelectLineScreen` to ensure station IDs are valid. - Improved handling of train types in `TrainTypeSettingsScreen` to filter out null values. - Updated `groupStations` utility to ensure prefectureId is within valid range. - Added environment variable check in `codegen.ts` for GQL_API_URL. - Changed maybeValue type in `codegen.ts` to include null for better type safety. * Refactor TrainTypeSettingsScreen: Improve readability of train type mapping * Refactor type definitions and null handling across components and hooks for improved type safety * Refactor background color and border color assignments for improved readability * Add .d.ts to source extensions in metro.config.js and update pnpm-lock.yaml to include rxjs dependency * Refactor GraphQL query variables and condition checks for improved type safety and clarity * Refactor test data initialization in TrainTypeBoxJL and TrainTypeBoxJO: Replace undefined values with null for consistency * Refactor keyExtractor functions in StationList and StationSearchModal for improved uniqueness and clarity * Refactor StationSearchModal to improve cache management and handle query results more effectively * Refactor Transfers component to handle empty line symbols more effectively * Refactor Transfers component to prevent onPress execution for undefined stations * Refactor keyExtractor in TrainTypeList for improved uniqueness by including index as a fallback * Refactor latitude and longitude checks to use null comparison for consistency across hooks and components * Refactor useRefreshStation to use null comparison for nextStation for consistency * Refactor useStationList to improve null handling for lineId and stationId variables * Refactor useStationsCache to improve error handling for fetch operations * Refactor useTTSText to improve formatting of next station announcements * Refactor validateEnvUrls function to enhance error reporting for missing and empty API URL environment variables * Refactor handleSubmit to ensure a default limit for station search results * Refactor RouteSearchScreen to add guard clause for groupId presence before querying routes * Refactor RouteSearchScreen to add guard clause for selectedStation presence before querying stations by line ID * Refactor useSimulationMode tests to improve async handling and state verification * Refactor useSimulationMode tests to verify train speed profile generation only for stations with valid coordinates * Refactor useTTSText to validate stationNumberIndex before accessing stationNumbers * Refactor keyExtractor in SelectLineScreen to handle null or undefined line IDs * Refactor TypeChangeNotify to handle potential null values for trainType and currentLine properties * Refactor TrainTypeListModal keyExtractor to simplify ID extraction logic and ensure fallback to empty string. Enhance gqlClient cache configuration to safely merge incoming lines with existing values. * Refactor StationSearchModal to enhance uniqueness logic for station entries by incorporating prefecture information when groupId and id are unavailable. * Refactor useSimulationMode tests to utilize modern fake timers and improve mock restoration in afterEach. * Refactor SelectLineScreen to filter stations with valid coordinates and determine nearest station based on user location or first available station coordinates. * Refactor RouteSearchScreen keyExtractor to improve ID extraction logic with fallback mechanism using index and groupId or name. * Refactor EmptyResult component to handle loading and search states; remove RouteList and RouteListModal components; update StationSearchModal to use new EmptyResult props; modify TrainTypeListModal to improve line selection logic; enhance Apollo Client cache handling for TrainType; adjust GraphQL queries to streamline data fetching; update RouteSearchScreen to manage train type caching and improve search functionality. * Refactor TrainTypeListModal keyExtractor to improve ID extraction logic with fallback mechanism using groupId, id, or index; update RouteSearchScreen to parse and validate station result limit before fetching data. * Update README.md to reflect new Node.js and pnpm versions; enhance project structure details and available scripts; clarify GraphQL type regeneration requirements. * Refactor EmptyResult component to simplify condition for displaying search result message when not loading. * Add guard clause in handleTrainTypeSelected to prevent selection of train types without groupId * Increase JVM memory settings in gradle.properties to optimize build performance * Refactor SelectLineScreen to replace stationsRef with stationsCache for improved state management and data fetching logic. * ?? 0は不要 * 気が狂うほどバグを修正した * biome check ./src --unsafe --fix * 型エラー一掃 * loadingがたりん * ユニットテスト拡充と修正 * biome fix * すごいbiome fix * 型エラー修正 * 駅名検索後路線キャッシュをクリアする * batchMax拡張 * 路線選択フローのバグ修正、最適化 * エラー処理 * 必須バリデーション完了後にモーダルを開く * destinationStationIdはgroupIdではなくid * SelectBoundModalに片方の行先しか出ないことがあるバグを修正 * プリセットの駅一覧取得処理のバグを修正 * エラー処理をマシにした * クリーンアップ処理の欠落 * バグ修正 * 軽微な修正 * LineBoardのデグレ修正 * evict/gcをdepsにするとよくないらしい * 必要ないコードの削除 * 必要なのかわからんけど一応キャスト * 型安全 * useScaleのメモ化 * nullish送信絶対許さないマン * 堅牢化 * 初期化漏れ * Add repository guidelines for automation agents collaboration (#4524) * Add sonar-project.properties for SonarQube configuration (#4525) * 累積的UI改善とリファクタリング (#4526) * Add singleLine prop to Heading component for better text handling * Refactor LineBoard components for improved readability and maintainability - Extracted station numbering logic into a custom hook in LineBoardWest. - Introduced helper functions for rendering background and future bars in LineBoardToei. - Consolidated station progress calculations into a separate hook in LineBoardWest. - Simplified chevron visibility logic in LineBoard components. - Enhanced gradient rendering for station bars in LineBoardSaikyo and LineBoardToei. - Improved code organization by separating concerns into smaller components and hooks. * Enhance NowHeader component with dynamic background color and padding adjustments for improved styling on Android * Refactor SelectBoundModal and SelectBoundSettingListModal components to remove unused props and improve state management * Refactor TypeChangeNotify component to streamline styles and improve readability * Refactor NowHeader component to use type imports for ViewStyle and remove duplicate LED_THEME_BG_COLOR import * Refactor LineBoard components to improve empty array generation logic for better readability and maintainability * Refactor StationNameCell and LineBoardWest components to enhance station numbering logic by incorporating line parameter for improved data handling * bump android version
Summary by CodeRabbit
リリースノート
Removed Features
リファクタリング