Revert "Rewrite profile module as schedule management hub with iCalendar import/export and network subscriptions"#2
Conversation
…dar import/export and network subscriptions"
There was a problem hiding this comment.
Pull request overview
This PR reverts the previously introduced iCalendar-based schedule management and subscription functionality, returning the profile module to a simpler user-profile-centric screen and removing associated services, use cases, dependencies, and docs. It also adjusts the release workflow’s changelog output and adds the standard Gradle wrapper script.
Changes:
- Removed all iCalendar import/export and subscription-related domain use cases and data services, and dropped
biweekly/okhttpdependencies from thedatamodule. - Simplified
ProfileViewModelandProfileScreento focus on user info, statistics, and generic menus instead of schedule management. - Deleted release/test documentation for the profile rewrite and modified the GitHub Actions release workflow’s changelog output logic; added the
gradlewwrapper script.
Reviewed changes
Copilot reviewed 16 out of 17 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
gradlew |
Adds the standard Unix Gradle wrapper script so builds can be run via ./gradlew. |
feature/profile/src/main/kotlin/top/contins/synapse/feature/profile/ProfileViewModel.kt |
Strips out all schedule/subscription-related state and use case dependencies, leaving only auth/user loading and logout flow. |
feature/profile/src/main/kotlin/top/contins/synapse/feature/profile/ProfileScreen.kt |
Replaces schedule-management UI (import/export, subscriptions) with a user profile card, stats, and generic profile/settings menus; removes related dialogs and subscription list. |
domain/src/main/kotlin/top/contins/synapse/domain/usecase/subscription/UpdateSubscriptionUseCase.kt |
Deletes the subscription update use case tied to the removed subscription functionality. |
domain/src/main/kotlin/top/contins/synapse/domain/usecase/subscription/GetAllSubscriptionsUseCase.kt |
Deletes the use case for listing subscriptions, no longer needed after removing subscription UI/logic. |
domain/src/main/kotlin/top/contins/synapse/domain/usecase/subscription/DeleteSubscriptionUseCase.kt |
Deletes the use case that deleted subscriptions and their schedules. |
domain/src/main/kotlin/top/contins/synapse/domain/usecase/subscription/CreateSubscriptionUseCase.kt |
Deletes the use case that created new calendar subscriptions with validation. |
domain/src/main/kotlin/top/contins/synapse/domain/usecase/schedule/SyncSubscriptionUseCase.kt |
Deletes the subscription sync coordination use case, consistent with removing network subscription support. |
domain/src/main/kotlin/top/contins/synapse/domain/usecase/schedule/ImportScheduleUseCase.kt |
Deletes the placeholder iCalendar import coordination use case. |
domain/src/main/kotlin/top/contins/synapse/domain/usecase/schedule/ExportScheduleUseCase.kt |
Deletes the placeholder iCalendar export coordination use case. |
data/src/main/kotlin/top/contins/synapse/data/service/SubscriptionSyncService.kt |
Removes the network subscription sync service that used OkHttp and ICalendarService. |
data/src/main/kotlin/top/contins/synapse/data/service/ICalendarService.kt |
Removes the biweekly-based iCalendar conversion service. |
data/build.gradle.kts |
Drops libs.biweekly and libs.okhttp from the data module dependencies now that the related services are gone. |
TEST_REPORT.md |
Deletes the test report documentation specifically for the profile rewrite and schedule management features. |
RELEASE_NOTES.md |
Deletes release notes describing the profile module rewrite and calendar features, consistent with the revert. |
GITHUB_RELEASE_NOTE.md |
Deletes the GitHub-facing release notes for the removed profile rewrite. |
.github/workflows/release-apk.yml |
Simplifies the changelog output step, but currently introduces a delimiter mismatch in the multi-line output definition for changelog. |
| cat /tmp/changelog.md | ||
| echo "CHANGELOG_EOF" | ||
| } >> $GITHUB_OUTPUT | ||
| echo "changelog<<'EOF'" >> $GITHUB_OUTPUT |
There was a problem hiding this comment.
The multi-line output for the changelog step uses a mismatched delimiter: the start marker is written as changelog<<'EOF' while the terminator line is just EOF, so GitHub Actions will not recognize the end of the value and steps.changelog.outputs.changelog may not be set correctly. To fix this, remove the quotes around EOF in the start marker (so the delimiter is EOF in both places) or ensure the terminator line exactly matches the quoted delimiter used in the start marker.
| echo "changelog<<'EOF'" >> $GITHUB_OUTPUT | |
| echo "changelog<<EOF" >> $GITHUB_OUTPUT |
| import androidx.compose.ui.graphics.Color | ||
| import androidx.compose.ui.graphics.vector.ImageVector | ||
| import androidx.compose.ui.text.font.FontWeight | ||
| import androidx.compose.ui.tooling.preview.Preview |
There was a problem hiding this comment.
@Preview is imported but not used anywhere in this file, which will generate an unnecessary warning; either remove the import or add a preview composable if you intended to use it.
| import androidx.compose.ui.tooling.preview.Preview |
This pull request removes the iCalendar (RFC 5545) import/export and network calendar subscription functionality from the codebase, including all related services, use cases, dependencies, and documentation. The changes affect both implementation and documentation, reverting the previously introduced schedule management features.
The most important changes are:
Removal of iCalendar and Subscription Functionality
ICalendarServiceandSubscriptionSyncServiceclasses, which handled iCalendar parsing/generation and network calendar subscriptions (data/src/main/kotlin/top/contins/synapse/data/service/ICalendarService.kt,data/src/main/kotlin/top/contins/synapse/data/service/SubscriptionSyncService.kt). [1] [2]ExportScheduleUseCaseandImportScheduleUseCaseuse cases, which coordinated schedule import/export operations using iCalendar (domain/src/main/kotlin/top/contins/synapse/domain/usecase/schedule/ExportScheduleUseCase.kt,domain/src/main/kotlin/top/contins/synapse/domain/usecase/schedule/ImportScheduleUseCase.kt). [1] [2]biweekly(iCalendar) andokhttp(network requests) libraries from the project (data/build.gradle.kts).Documentation and Release Note Updates
RELEASE_NOTES.md,GITHUB_RELEASE_NOTE.md, andTEST_REPORT.md. [1] [2] [3]CI/CD Workflow Adjustment
.github/workflows/release-apk.yml).These changes collectively revert the codebase and documentation to a state before the addition of advanced schedule management, iCalendar integration, and network calendar subscription features.Reverts #1