mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-03-31 20:36:19 +00:00
6.9 KiB
6.9 KiB
SimpleX Chat iOS -- Impact Graph
Source file → product concept mapping. Use this to identify which product documents must be updated when a source file changes.
Derived from CODE.md Document Map and product/concepts.md.
Product Concept Legend
| ID | Concept |
|---|---|
| PC1 | Chat List |
| PC2 | Direct Chat |
| PC3 | Group Chat |
| PC4 | Message Composition |
| PC5 | Message Reactions |
| PC6 | Message Editing |
| PC7 | Message Deletion |
| PC8 | Timed Messages |
| PC9 | Voice Messages |
| PC10 | File Transfer |
| PC11 | Link Previews |
| PC12 | Contact Connection |
| PC13 | Contact Verification |
| PC14 | Group Management |
| PC15 | Group Links |
| PC16 | Member Roles |
| PC17 | Audio/Video Calls |
| PC18 | Push Notifications |
| PC19 | User Profiles |
| PC20 | Incognito Mode |
| PC21 | Hidden Profiles |
| PC22 | Local Authentication |
| PC23 | Database Encryption |
| PC24 | Theme System |
| PC25 | Network Configuration |
| PC26 | Device Migration |
| PC27 | Remote Desktop |
| PC28 | Chat Tags |
| PC29 | User Address |
| PC30 | Member Support Chat |
1. Swift Source Impact
| Source File | Product Concepts Affected | Risk Level | Notes |
|---|---|---|---|
| Shared/ContentView.swift | PC1, PC2, PC3 | High | Root navigation — affects all chat access |
| Shared/SimpleXApp.swift | PC1 through PC30 | High | App entry point — initialization affects everything |
| Shared/AppDelegate.swift | PC18 | Medium | Push notification registration |
| Shared/Views/ChatList/ChatListView.swift | PC1, PC28 | High | Main screen rendering and filtering |
| Shared/Views/Chat/ChatView.swift | PC2, PC3, PC4, PC5, PC6, PC7, PC8, PC9, PC11 | High | Core conversation UI — most messaging features |
| Shared/Views/Chat/ComposeMessage/ComposeView.swift | PC4, PC6, PC9, PC11 | High | Message composition — send path for all messages |
| Shared/Views/Chat/ChatItem/ | PC2, PC3, PC5, PC7, PC8, PC9, PC10, PC11 | Medium | Individual message rendering components |
| Shared/Views/Chat/ChatInfoView.swift | PC2, PC13, PC20 | Medium | Contact details and verification |
| Shared/Views/Chat/Group/GroupChatInfoView.swift | PC3, PC14, PC15, PC16, PC30 | High | Group management hub |
| Shared/Views/Chat/Group/AddGroupMembersView.swift | PC14, PC16 | Medium | Member invitation flow |
| Shared/Views/Chat/Group/GroupLinkView.swift | PC15 | Low | Group link creation/sharing |
| Shared/Views/Chat/Group/GroupMemberInfoView.swift | PC3, PC14, PC16, PC30 | Medium | Member details and role management |
| Shared/Views/NewChat/NewChatView.swift | PC12 | High | New connection creation — onramp for all contacts |
| Shared/Views/NewChat/QRCode.swift | PC12 | Low | QR code display/scanning utility |
| Shared/Views/Call/ActiveCallView.swift | PC17 | Medium | Call UI rendering |
| Shared/Views/Call/CallController.swift | PC17 | High | CallKit integration — call lifecycle |
| Shared/Views/Call/WebRTCClient.swift | PC17 | High | WebRTC session management |
| Shared/Views/UserSettings/SettingsView.swift | PC18, PC22, PC23, PC24, PC25, PC29 | Medium | Settings navigation hub |
| Shared/Views/UserSettings/AppearanceSettings.swift | PC24 | Low | Theme customization UI |
| Shared/Views/UserSettings/NetworkAndServers/ | PC25 | High | Server configuration — affects connectivity |
| Shared/Views/UserSettings/UserProfilesView.swift | PC19, PC21 | Medium | Profile management |
| Shared/Views/Onboarding/ | PC1 | Medium | First-time setup — affects initial state |
| Shared/Views/LocalAuth/ | PC22 | Medium | App lock functionality |
| Shared/Views/Database/ | PC23, PC26 | High | Database encryption and export |
| Shared/Views/Migration/ | PC26 | High | Device migration — data portability |
| Shared/Model/ChatModel.swift | PC1 through PC30 | High | Central state — all features depend on it |
| Shared/Model/SimpleXAPI.swift | PC1 through PC30 | High | FFI bridge — all commands flow through here |
| Shared/Model/AppAPITypes.swift | PC1 through PC30 | High | Command/response types — all API communication |
| Shared/Model/NtfManager.swift | PC18 | High | Notification delivery |
| Shared/Model/BGManager.swift | PC18 | Medium | Background fetch scheduling |
| Shared/Theme/ThemeManager.swift | PC24 | Medium | Theme resolution engine |
| SimpleXChat/ChatTypes.swift | PC1 through PC30 | High | Core data types — all features use them |
| SimpleXChat/APITypes.swift | PC1 through PC30 | High | API result types and error handling |
| SimpleXChat/CallTypes.swift | PC17 | Medium | Call-specific data types |
| SimpleXChat/FileUtils.swift | PC10, PC23, PC26 | Medium | File paths and encryption utilities |
| SimpleXChat/Notifications.swift | PC18 | Medium | Notification type definitions |
| SimpleX NSE/NotificationService.swift | PC18 | High | Push notification decryption and display |
2. Haskell Core Impact
| Source File | Product Concepts Affected | Risk Level | Notes |
|---|---|---|---|
| src/Simplex/Chat/Controller.hs | PC1 through PC30 | High | Command processor — all API commands |
| src/Simplex/Chat/Types.hs | PC1 through PC30 | High | Core data types shared across all features |
| src/Simplex/Chat/Core.hs | PC1 through PC30 | High | Chat engine lifecycle |
| src/Simplex/Chat/Protocol.hs | PC2, PC3, PC4, PC5, PC6, PC7 | High | Chat-level message protocol (x-events) |
| src/Simplex/Chat/Messages.hs | PC2, PC3, PC4, PC5, PC6, PC7, PC8, PC9 | High | Message types and content |
| src/Simplex/Chat/Messages/CIContent.hs | PC4, PC5, PC6, PC7, PC8, PC9, PC11 | Medium | Chat item content variants |
| src/Simplex/Chat/Call.hs | PC17 | Medium | Call signaling types |
| src/Simplex/Chat/Files.hs | PC10 | Medium | File transfer orchestration |
| src/Simplex/Chat/Store/Messages.hs | PC4, PC5, PC6, PC7, PC8 | High | Message persistence |
| src/Simplex/Chat/Store/Groups.hs | PC3, PC14, PC15, PC16, PC30 | High | Group persistence |
| src/Simplex/Chat/Store/Direct.hs | PC2, PC12, PC13 | High | Contact persistence |
| src/Simplex/Chat/Store/Files.hs | PC10 | Medium | File transfer persistence |
| src/Simplex/Chat/Store/Profiles.hs | PC19, PC21 | Medium | User profile persistence |
| src/Simplex/Chat/Store/Connections.hs | PC2, PC12 | High | Connection persistence and entity resolution |
| src/Simplex/Chat/Archive.hs | PC26 | Medium | Database export/import for migration |
| src/Simplex/Chat/ProfileGenerator.hs | PC20 | Low | Random profile generation for incognito |
| src/Simplex/Chat/Remote.hs | PC27 | Medium | Remote desktop protocol handler |
| src/Simplex/Chat/Remote/Types.hs | PC27 | Low | Remote desktop data types |
| src/Simplex/Chat/Types/UITheme.hs | PC24 | Low | Theme data types for UI customization |
| src/Simplex/Chat/Types/Preferences.hs | PC2, PC3, PC8 | Medium | Chat feature preferences (timed messages, etc.) |
| src/Simplex/Chat/Types/Shared.hs | PC3, PC16 | Medium | Shared types including GroupMemberRole |