Bugfix/network UI sprint - #10
Merged
Merged
Conversation
Massive UI refactor following Ponytail principles — deleted MD3ETheme.kt, Font.kt, simplified domain enums (ShapeStyle.SQUARE only), replaced MorphingAvatar→MeshifyAvatar, AnimatedMorphingFAB→FAB, removed PremiumNoiseTexture, all shapes RoundedCornerShape(0.dp), cleaned SettingsScreen, SettingsViewModel, SettingsRepository, etc.
- Replaced all 0.dp shapes with proper MD3 values (8-16dp) - Deleted OnboardingComponents.kt (custom SquircleShape math, animated blobs) - Replaced Canvas illustrations with Material Icons on OnboardingPage - Wrapped OnboardingRoute in Box to fix off-screen permission cards - Removed broken "View Details" toggle from PermissionSummaryDialog - Replaced all CircleShape with MeshifyDesignSystem.Shapes references - Simplified PrePermissionDialog, WelcomeUiState, WelcomeViewModel
- Remove duplicate LanguageToggle from WelcomePage (was also in WelcomeScreen dropdown) - Strip dead ViewModel methods (startPermissionFlow, showSummary, dismissSummary) - Delete orphaned string resources (ob_summary_view_details, ob_summary_hide_details) - Remove duplicate CardMedium shape (12.dp, identical to Card) - Remove unused DialogShapes object (replaced by Shapes.Dialog) - Strip useless AnimatedVisibility wrappers (always visible) - Rename PrePermissionDialog.kt -> SkipConfirmationDialog.kt - Delete outdated README files - Remove test dependencies (no tests in module) - Add MissingComposable() fallback for unmounted nav routes - Fix teal seed color inconsistency (#008080 -> #006D68) - Replace CardMedium -> Card across all modules - Migrate DialogShapes.Default -> Shapes.Dialog - Add AGENTS.md and GEMINI.md to .gitignore
Sub-ViewModels extracted from ChatViewModel but never used -- ChatScreen continued with the monolithic ViewModel. Remove alongside State classes and tests that only exercised dead code. Strip now-unused test deps. -2617 lines across 11 files.
Remove the manual pagination system (ArrayDeque, currentPage, pageSize, isAllMessagesLoaded, paginationMutex, loadMoreMessages) and the scroll-to-top trigger LaunchedEffect. Room Flow (getMessages + distinctUntilChanged) is now the single source of truth for chat messages. Also removes unused imports (ChatEntity, UUID) and stale UiState fields (hasMoreMessages, isLoadingMore).
Remove unused isPeerTyping field from ChatUiState. Drop isLoadingMore parameter from MessageList component along with the gated loading-spinner block and its CircularProgressIndicator import. Note: AGENT.md changelog update mentioned in task but had no unstaged changes — likely applied in prior commit.
Apply stored language from DataStore before Compose rendering so localized strings display correctly on cold start. Wire onboarding language picker to settingsRepository and recreate Activity on change. Add Activity recreation after language change in SettingsScreen to match the same pattern.
The importBackup method had no remaining callers across the codebase. Remove the interface declaration in ISettingsRepository, the DataStore-backed implementation in SettingsRepository, and the ViewModel wrapper in SettingsViewModel. This is dead code elimination — no functional change.
Bugs squashed across network, data, and UI layers: - KeepAliveManager: read PONG after PING to detect half-open connections - BlePayloadSerializer: fix timeout check ordering (was never triggering) - ConnectionPool: drainPermits() for safe semaphore reset on shutdown - TransportManager: filter MULTI_PATH by online peers only - LanTransportImpl: respond to PING with PONG, skip wasteful RSSI sockets - ChatRepositoryImpl/PendingMessageRepository: stream reads via 8KB buffers - ProgressFileReader: guard Long-to-Int overflow for files >2GB - core:ui: decouple from core:data; introduce UiModel types - core:domain: remove unused androidx.graphics.shapes dependency - 7+ screens: collectAsState -> collectAsStateWithLifecycle - 8+ components: add contentDescriptions for TalkBack accessibility - ChatViewModel: cap transportUsed at 100 entries, clean up on delete
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.