Skip to content

Apply code formatting and implement downgrade warnings#322

Merged
rainxchzed merged 4 commits intomainfrom
ktlint-format
Mar 13, 2026
Merged

Apply code formatting and implement downgrade warnings#322
rainxchzed merged 4 commits intomainfrom
ktlint-format

Conversation

@rainxchzed
Copy link
Copy Markdown
Member

  • Implement DowngradeWarning logic in the details presentation layer to alert users when attempting to install a version older than the one currently installed.
  • Add project-wide code reformatting across all modules, standardizing indentation, trailing commas, and import organization.
  • Enhance the search feature with clipboard link detection, introducing a ClipboardBanner and DetectedLinksSection.
  • Standardize repository interfaces and domain models in the core modules with consistent spacing and structure.
  • Refine the "Update All" progress tracking and app state management in AppsViewModel.
  • Improve the GitHub device authentication flow with better countdown logic and specific error recovery hints.
  • Update UI components across features to utilize LocalTopbarLiquidState and LocalHomeTopBarLiquid for consistent expressive styling.

- Implement `DowngradeWarning` logic in the details presentation layer to alert users when attempting to install a version older than the one currently installed.
- Add project-wide code reformatting across all modules, standardizing indentation, trailing commas, and import organization.
- Enhance the search feature with clipboard link detection, introducing a `ClipboardBanner` and `DetectedLinksSection`.
- Standardize repository interfaces and domain models in the `core` modules with consistent spacing and structure.
- Refine the "Update All" progress tracking and app state management in `AppsViewModel`.
- Improve the GitHub device authentication flow with better countdown logic and specific error recovery hints.
- Update UI components across features to utilize `LocalTopbarLiquidState` and `LocalHomeTopBarLiquid` for consistent expressive styling.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 12, 2026

Important

Review skipped

Too many files!

This PR contains 300 files, which is 150 over the limit of 150.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: e04cb1ef-7248-4868-84db-0035787162ee

📥 Commits

Reviewing files that changed from the base of the PR and between 2bac18d and fd2468f.

📒 Files selected for processing (300)
  • .editorconfig
  • build-logic/convention/build.gradle.kts
  • build-logic/convention/src/main/kotlin/AndroidApplicationComposeConventionPlugin.kt
  • build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt
  • build-logic/convention/src/main/kotlin/BuildKonfigConventionPlugin.kt
  • build-logic/convention/src/main/kotlin/CmpApplicationConventionPlugin.kt
  • build-logic/convention/src/main/kotlin/CmpFeatureConventionPlugin.kt
  • build-logic/convention/src/main/kotlin/CmpLibraryConventionPlugin.kt
  • build-logic/convention/src/main/kotlin/KmpLibraryConventionPlugin.kt
  • build-logic/convention/src/main/kotlin/KtlintConventionPlugin.kt
  • build-logic/convention/src/main/kotlin/RoomConventionPlugin.kt
  • build-logic/convention/src/main/kotlin/zed/rainxch/githubstore/convention/AndroidCompose.kt
  • build-logic/convention/src/main/kotlin/zed/rainxch/githubstore/convention/KotlinAndroid.kt
  • build-logic/convention/src/main/kotlin/zed/rainxch/githubstore/convention/KotlinAndroidTarget.kt
  • build-logic/convention/src/main/kotlin/zed/rainxch/githubstore/convention/KotlinJvmTarget.kt
  • build-logic/convention/src/main/kotlin/zed/rainxch/githubstore/convention/KotlinMultiplatform.kt
  • build-logic/convention/src/main/kotlin/zed/rainxch/githubstore/convention/PathUtil.kt
  • build-logic/convention/src/main/kotlin/zed/rainxch/githubstore/convention/ProjectExt.kt
  • build-logic/settings.gradle.kts
  • build.gradle.kts
  • composeApp/build.gradle.kts
  • composeApp/src/androidMain/kotlin/zed/rainxch/githubstore/MainActivity.kt
  • composeApp/src/androidMain/kotlin/zed/rainxch/githubstore/app/GithubStoreApp.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/Main.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/MainAction.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/MainViewModel.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/app/components/RateLimitDialog.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/app/components/SessionExpiredDialog.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/app/deeplink/DeepLinkParser.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/app/di/SharedModules.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/app/di/ViewModelsModule.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/app/di/initKoin.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/app/navigation/AppNavigation.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/app/navigation/BottomNavigation.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/app/navigation/BottomNavigationUtils.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/app/navigation/GithubStoreGraph.kt
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/app/navigation/NavigationUtils.kt
  • composeApp/src/jvmMain/kotlin/zed/rainxch/githubstore/DesktopApp.kt
  • composeApp/src/jvmMain/kotlin/zed/rainxch/githubstore/DesktopDeepLink.kt
  • core/data/build.gradle.kts
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/di/PlatformModule.android.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/local/data_store/createDataStore.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/local/db/initDatabase.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/local/db/migrations/MIGRATION_1_2.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/local/db/migrations/MIGRATION_2_3.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/local/db/migrations/MIGRATION_3_4.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/network/HttpClientFactory.android.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/services/AndroidDownloader.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/services/AndroidFileLocationsProvider.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/services/AndroidInstaller.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/services/AndroidInstallerInfoExtractor.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/services/AndroidLocalizationManager.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/services/AndroidPackageMonitor.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/services/PackageEventReceiver.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/services/UpdateCheckWorker.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/services/UpdateScheduler.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/utils/AndroidAppLauncher.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/utils/AndroidBrowserHelper.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/utils/AndroidClipboardHelper.kt
  • core/data/src/androidMain/kotlin/zed/rainxch/core/data/utils/AndroidShareManager.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/cache/CacheManager.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/data_source/TokenStore.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/data_source/impl/DefaultTokenStore.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/di/PlatformModule.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/di/SharedModule.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/dto/AssetNetwork.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/dto/GitHubStarredResponse.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/dto/GithubDeviceStartDto.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/dto/GithubDeviceTokenErrorDto.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/dto/GithubDeviceTokenSuccessDto.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/dto/GithubOwnerNetworkModel.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/dto/GithubRepoNetworkModel.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/dto/GithubRepoSearchResponse.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/dto/OwnerNetwork.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/dto/ReleaseNetwork.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/dto/RepoByIdNetwork.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/dto/RepoInfoNetwork.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/dto/UserProfileNetwork.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/local/data_store/createDataStoreCore.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/local/db/AppDatabase.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/local/db/dao/CacheDao.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/local/db/dao/FavoriteRepoDao.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/local/db/dao/InstalledAppDao.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/local/db/dao/StarredRepoDao.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/local/db/dao/UpdateHistoryDao.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/local/db/entities/CacheEntryEntity.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/local/db/entities/FavoriteRepoEntity.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/local/db/entities/InstalledAppEntity.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/local/db/entities/StarredRepositoryEntity.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/local/db/entities/UpdateHistoryEntity.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/logging/KermitLogger.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/mappers/AssetNetwork.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/mappers/FavouriteRepoMappers.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/mappers/GithubAuthMappers.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/mappers/GithubRepoMapper.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/mappers/InstalledAppsMappers.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/mappers/ReleaseNetwork.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/mappers/StarredRepoMapper.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/mappers/UpdateHistoryMapper.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/network/GitHubClientProvider.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/network/HttpClientFactory.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/network/ProxyManager.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/network/interceptor/RateLimitInterceptor.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/network/interceptor/UnauthorizedInterceptor.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/repository/AuthenticationStateImpl.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/repository/FavouritesRepositoryImpl.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/repository/InstalledAppsRepositoryImpl.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/repository/ProxyRepositoryImpl.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/repository/RateLimitRepositoryImpl.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/repository/StarredRepositoryImpl.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/repository/ThemesRepositoryImpl.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/services/FileLocationsProvider.kt
  • core/data/src/commonMain/kotlin/zed/rainxch/core/data/services/LocalizationManager.kt
  • core/data/src/jvmMain/kotlin/zed/rainxch/core/data/di/PlatformModule.jvm.kt
  • core/data/src/jvmMain/kotlin/zed/rainxch/core/data/local/data_store/createDataStore.kt
  • core/data/src/jvmMain/kotlin/zed/rainxch/core/data/local/db/initDatabase.kt
  • core/data/src/jvmMain/kotlin/zed/rainxch/core/data/model/LinuxPackageType.kt
  • core/data/src/jvmMain/kotlin/zed/rainxch/core/data/model/LinuxTerminal.kt
  • core/data/src/jvmMain/kotlin/zed/rainxch/core/data/network/HttpClientFactory.jvm.kt
  • core/data/src/jvmMain/kotlin/zed/rainxch/core/data/services/DesktopDownloader.kt
  • core/data/src/jvmMain/kotlin/zed/rainxch/core/data/services/DesktopFileLocationsProvider.kt
  • core/data/src/jvmMain/kotlin/zed/rainxch/core/data/services/DesktopInstaller.kt
  • core/data/src/jvmMain/kotlin/zed/rainxch/core/data/services/DesktopInstallerInfoExtractor.kt
  • core/data/src/jvmMain/kotlin/zed/rainxch/core/data/services/DesktopLocalizationManager.kt
  • core/data/src/jvmMain/kotlin/zed/rainxch/core/data/services/DesktopPackageMonitor.kt
  • core/data/src/jvmMain/kotlin/zed/rainxch/core/data/utils/DesktopAppLauncher.kt
  • core/data/src/jvmMain/kotlin/zed/rainxch/core/data/utils/DesktopBrowserHelper.kt
  • core/data/src/jvmMain/kotlin/zed/rainxch/core/data/utils/DesktopClipboardHelper.kt
  • core/data/src/jvmMain/kotlin/zed/rainxch/core/data/utils/DesktopShareManager.kt
  • core/domain/build.gradle.kts
  • core/domain/src/androidMain/kotlin/zed/rainxch/core/domain/Platform.android.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/Platform.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/logging/GitHubStoreLogger.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/ApkPackageInfo.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/AppTheme.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/AssetArchitectureMatcher.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/DownloadProgress.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/FavoriteRepo.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/FontTheme.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/GithubAsset.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/GithubDeviceStart.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/GithubDeviceTokenError.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/GithubDeviceTokenSuccess.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/GithubRelease.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/GithubRepoSummary.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/GithubUser.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/GithubUserProfile.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/InstallSource.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/InstalledApp.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/PackageChangeType.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/PaginatedDiscoveryRepositories.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/Platform.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/ProxyConfig.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/RateLimitInfo.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/StarredRepository.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/SystemArchitecture.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/SystemPackageInfo.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/model/UpdateHistory.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/network/Downloader.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/repository/AuthenticationState.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/repository/FavouritesRepository.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/repository/InstalledAppsRepository.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/repository/ProxyRepository.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/repository/RateLimitRepository.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/repository/StarredRepository.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/repository/ThemesRepository.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/system/Installer.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/system/InstallerInfoExtractor.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/system/PackageMonitor.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/use_cases/SyncInstalledAppsUseCase.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/utils/AppLauncher.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/utils/BrowserHelper.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/utils/ClipboardHelper.kt
  • core/domain/src/commonMain/kotlin/zed/rainxch/core/domain/utils/ShareManager.kt
  • core/domain/src/jvmMain/kotlin/zed/rainxch/core/domain/Platform.jvm.kt
  • core/presentation/build.gradle.kts
  • core/presentation/src/androidMain/kotlin/zed/rainxch/core/presentation/theme/Theme.android.kt
  • core/presentation/src/androidMain/kotlin/zed/rainxch/core/presentation/utils/ApplyAndroidSystemBars.android.kt
  • core/presentation/src/androidMain/kotlin/zed/rainxch/core/presentation/utils/isLiquidFrostAvailable.android.kt
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/components/ExpressiveCard.kt
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/components/GitHubStoreImage.kt
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/components/GithubStoreButton.kt
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/components/RepositoryCard.kt
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/locals/LocalBottomNavigationHeight.kt
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/locals/LocalBottomNavigationLiquid.kt
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/model/DiscoveryRepository.kt
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/theme/Color.kt
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/theme/Theme.kt
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/theme/Type.kt
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/utils/AppThemeUtil.kt
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/utils/ApplyAndroidSystemBars.kt
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/utils/CountFormatter.kt
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/utils/ObserveAsEvents.kt
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/utils/TimeFormatters.kt
  • core/presentation/src/commonMain/kotlin/zed/rainxch/core/presentation/utils/isLiquidFrostAvailable.kt
  • core/presentation/src/jvmMain/kotlin/zed/rainxch/core/presentation/theme/Theme.jvm.kt
  • core/presentation/src/jvmMain/kotlin/zed/rainxch/core/presentation/utils/ApplyAndroidSystemBars.jvm.kt
  • core/presentation/src/jvmMain/kotlin/zed/rainxch/core/presentation/utils/isLiquidFrostAvailable.jvm.kt
  • feature/apps/data/build.gradle.kts
  • feature/apps/data/src/commonMain/kotlin/zed/rainxch/apps/data/di/SharedModule.kt
  • feature/apps/data/src/commonMain/kotlin/zed/rainxch/apps/data/repository/AppsRepositoryImpl.kt
  • feature/apps/domain/build.gradle.kts
  • feature/apps/domain/src/commonMain/kotlin/zed/rainxch/apps/domain/repository/AppsRepository.kt
  • feature/apps/presentation/build.gradle.kts
  • feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsAction.kt
  • feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsEvent.kt
  • feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsRoot.kt
  • feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsState.kt
  • feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsViewModel.kt
  • feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/model/AppItem.kt
  • feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/model/UpdateAllProgress.kt
  • feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/model/UpdateState.kt
  • feature/auth/data/build.gradle.kts
  • feature/auth/data/src/commonMain/kotlin/zed/rainxch/auth/data/di/SharedModule.kt
  • feature/auth/data/src/commonMain/kotlin/zed/rainxch/auth/data/network/GitHubAuthApi.kt
  • feature/auth/data/src/commonMain/kotlin/zed/rainxch/auth/data/repository/AuthenticationRepositoryImpl.kt
  • feature/auth/domain/build.gradle.kts
  • feature/auth/domain/src/commonMain/kotlin/zed/rainxch/auth/domain/repository/AuthenticationRepository.kt
  • feature/auth/presentation/build.gradle.kts
  • feature/auth/presentation/src/commonMain/kotlin/zed/rainxch/auth/presentation/AuthenticationAction.kt
  • feature/auth/presentation/src/commonMain/kotlin/zed/rainxch/auth/presentation/AuthenticationEvents.kt
  • feature/auth/presentation/src/commonMain/kotlin/zed/rainxch/auth/presentation/AuthenticationRoot.kt
  • feature/auth/presentation/src/commonMain/kotlin/zed/rainxch/auth/presentation/AuthenticationState.kt
  • feature/auth/presentation/src/commonMain/kotlin/zed/rainxch/auth/presentation/AuthenticationViewModel.kt
  • feature/auth/presentation/src/commonMain/kotlin/zed/rainxch/auth/presentation/model/AuthLoginState.kt
  • feature/details/data/build.gradle.kts
  • feature/details/data/src/commonMain/kotlin/zed/rainxch/details/data/di/SharedModule.kt
  • feature/details/data/src/commonMain/kotlin/zed/rainxch/details/data/model/ReadmeAttempt.kt
  • feature/details/data/src/commonMain/kotlin/zed/rainxch/details/data/repository/DetailsRepositoryImpl.kt
  • feature/details/data/src/commonMain/kotlin/zed/rainxch/details/data/repository/TranslationRepositoryImpl.kt
  • feature/details/data/src/commonMain/kotlin/zed/rainxch/details/data/utils/ReadmeLocalizationHelper.kt
  • feature/details/data/src/commonMain/kotlin/zed/rainxch/details/data/utils/preprocessMarkdown.kt
  • feature/details/domain/build.gradle.kts
  • feature/details/domain/src/commonMain/kotlin/zed/rainxch/details/domain/model/ReleaseCategory.kt
  • feature/details/domain/src/commonMain/kotlin/zed/rainxch/details/domain/model/RepoStats.kt
  • feature/details/domain/src/commonMain/kotlin/zed/rainxch/details/domain/model/SupportedLanguage.kt
  • feature/details/domain/src/commonMain/kotlin/zed/rainxch/details/domain/model/TranslationResult.kt
  • feature/details/domain/src/commonMain/kotlin/zed/rainxch/details/domain/repository/DetailsRepository.kt
  • feature/details/domain/src/commonMain/kotlin/zed/rainxch/details/domain/repository/TranslationRepository.kt
  • feature/details/presentation/build.gradle.kts
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/DetailsAction.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/DetailsEvent.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/DetailsRoot.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/DetailsState.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/DetailsViewModel.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/AppHeader.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/LanguagePicker.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/ReleaseAssetsPicker.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/SmartInstallButton.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/StatItem.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/TranslationControls.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/VersionPicker.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/VersionTypePicker.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/About.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/Header.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/Logs.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/Owner.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/ReportIssue.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/Stats.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/sections/WhatsNew.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/states/ErrorState.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/model/DownloadStage.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/model/InstallLogItem.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/model/LogResult.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/model/ShowDowngradeWarning.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/model/SupportedLanguages.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/model/TranslationState.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/model/TranslationTarget.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/utils/LocalTopbarLiquidState.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/utils/LogResultAsText.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/utils/MarkdownImageTransformer.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/utils/MarkdownUtils.kt
  • feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/utils/SystemArchitecture.kt
  • feature/dev-profile/data/build.gradle.kts
  • feature/dev-profile/data/src/commonMain/kotlin/zed/rainxch/devprofile/data/di/SharedModule.kt
  • feature/dev-profile/data/src/commonMain/kotlin/zed/rainxch/devprofile/data/dto/GitHubRepoResponse.kt
  • feature/dev-profile/data/src/commonMain/kotlin/zed/rainxch/devprofile/data/dto/GitHubUserResponse.kt
  • feature/dev-profile/data/src/commonMain/kotlin/zed/rainxch/devprofile/data/mappers/GitHubRepoToDomain.kt
  • feature/dev-profile/data/src/commonMain/kotlin/zed/rainxch/devprofile/data/mappers/GitHubUserToDomain.kt
  • feature/dev-profile/data/src/commonMain/kotlin/zed/rainxch/devprofile/data/repository/DeveloperProfileRepositoryImpl.kt
  • feature/dev-profile/domain/build.gradle.kts
  • feature/dev-profile/domain/src/commonMain/kotlin/zed/rainxch/devprofile/domain/model/DeveloperProfile.kt
  • feature/dev-profile/domain/src/commonMain/kotlin/zed/rainxch/devprofile/domain/model/DeveloperRepository.kt
  • feature/dev-profile/domain/src/commonMain/kotlin/zed/rainxch/devprofile/domain/model/RepoFilterType.kt
  • feature/dev-profile/domain/src/commonMain/kotlin/zed/rainxch/devprofile/domain/model/RepoSortType.kt
  • feature/dev-profile/domain/src/commonMain/kotlin/zed/rainxch/devprofile/domain/repository/DeveloperProfileRepository.kt
  • feature/dev-profile/presentation/build.gradle.kts
  • feature/dev-profile/presentation/src/commonMain/kotlin/zed/rainxch/devprofile/presentation/DeveloperProfileAction.kt
  • feature/dev-profile/presentation/src/commonMain/kotlin/zed/rainxch/devprofile/presentation/DeveloperProfileRoot.kt
  • feature/dev-profile/presentation/src/commonMain/kotlin/zed/rainxch/devprofile/presentation/DeveloperProfileState.kt
  • feature/dev-profile/presentation/src/commonMain/kotlin/zed/rainxch/devprofile/presentation/DeveloperProfileViewModel.kt
  • feature/dev-profile/presentation/src/commonMain/kotlin/zed/rainxch/devprofile/presentation/components/DeveloperRepoItem.kt
  • feature/dev-profile/presentation/src/commonMain/kotlin/zed/rainxch/devprofile/presentation/components/FilterSortControls.kt
  • feature/dev-profile/presentation/src/commonMain/kotlin/zed/rainxch/devprofile/presentation/components/ProfileInfoCard.kt
  • feature/dev-profile/presentation/src/commonMain/kotlin/zed/rainxch/devprofile/presentation/components/StatsRow.kt
  • feature/favourites/data/build.gradle.kts
  • feature/favourites/domain/build.gradle.kts
  • feature/favourites/presentation/build.gradle.kts
  • feature/favourites/presentation/src/commonMain/kotlin/zed/rainxch/favourites/presentation/FavouritesAction.kt
  • feature/favourites/presentation/src/commonMain/kotlin/zed/rainxch/favourites/presentation/FavouritesRoot.kt

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ktlint-format
📝 Coding Plan
  • Generate coding plan for human review comments

Comment @coderabbitai help to get the list of available commands and usage tips.

- Create `KtlintConventionPlugin` to configure ktlint with version 1.8.0, console output enabled, and exclusion filters for generated/build directories.
- Register the new `ktlint` convention plugin in `build-logic/convention/build.gradle.kts`.
- Add a task dependency to automatically install the ktlint format git pre-commit hook during the `preBuild` stage.
- Apply the ktlint convention plugin to multiple existing plugins: `CmpFeature`, `CmpLibrary`, `KmpLibrary`, `AndroidApplication`, `AndroidApplicationCompose`, and `CmpApplication`.
- Update `libs.versions.toml` to include the `ktlint-gradle` plugin dependency.
- Add `.editorconfig` with specific rules for ktlint, including disabling wildcard import checks and ignoring naming conventions for `@Composable` functions.
- Centralize ktlint task execution by adding a `subprojects` block in the root `build.gradle.kts` that makes build and compilation tasks depend on `ktlintFormat`.
- Remove manual `ktlint` plugin application from individual convention plugins (`CmpFeature`, `CmpLibrary`, `KmpLibrary`, `AndroidApplication`, `CmpApplication`).
- Update `KtlintConventionPlugin` to exclude generated files and schemas, and configure PLAIN and HTML reporters.
- Remove the automatic git pre-commit hook task dependency from `build-logic`.
- Add `slf4j-simple` dependency to `libs.versions.toml`.
- Add `libs.slf4j.simple` to the `desktopMain` source set in `composeApp/build.gradle.kts` to provide an SLF4J logger implementation for desktop targets.
@rainxchzed rainxchzed merged commit 955cebf into main Mar 13, 2026
1 check passed
@rainxchzed rainxchzed deleted the ktlint-format branch March 13, 2026 02:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant