Skip to content

fix: handle back/dismiss on edit mode - #287

Merged
isaacsa51 merged 1 commit into
masterfrom
fix/editor/handle_dismiss_on_edit
Oct 5, 2026
Merged

isaacsa51 merged 1 commit into
masterfrom
fix/editor/handle_dismiss_on_edit

Conversation

@isaacsa51

@isaacsa51 isaacsa51 commented Oct 5, 2026 •

Copy link
Copy Markdown
Owner

Description

This change updates transaction edit mode so users can exit it by tapping the edit-screen label. It also clears edit state when the history screen leaves composition.

Issue Linked

#285

Implemented

  • Added a full-width “Tap to exit” control to the transaction edit screen and removed TransactionEditTopBar.
  • Updated the edit-screen layout and toggle button sizing.
  • Added the tap_to_exit_edit_transaction string resource to the listed locales.
  • Updated history and transaction edit E2E tests to use the new label.

Working demo

No demo evidence was provided.

Testing

  • E2E tests were updated.
  • Test execution results were not provided.
  • No screenshot or screen recording was provided.

Notes

  • TransactionDateTimeRow now spaces its date and time controls by 4 dp.

@isaacsa51 isaacsa51 self-assigned this Oct 5, 2026
@isaacsa51 isaacsa51 added bug Something isn't working chore Maintenance or task that doesn't affect current project logic labels Oct 5, 2026
- Remove `TransactionEditTopBar` and introduce a "Tap to exit" pill button in `TransactionEditScreen` layout
- Reset editing transaction state on `HistoryScreen` disposal via `DisposableEffect`
- Adjust toggle button sizing, padding, and corner radius in transaction edit views
- Add `tap_to_exit_edit_transaction` string resource across all supported locales
- Update E2E UI test assertions to verify the new exit button label instead of top bar titles
@coderabbitai

coderabbitai Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 31e8dd96-4b21-4b77-9020-20fa6ed2d92f
📥 Commits

Reviewing files that changed from the base of the PR and between b42b839 and 5ad6b9f.

📒 Files selected for processing (21)
  • app/src/androidTest/java/com/serranoie/app/minus/presentation/ui/e2e/history/HistoryScreenE2ETest.kt
  • app/src/androidTest/java/com/serranoie/app/minus/presentation/ui/e2e/history/TransactionEditE2ETests.kt
  • app/src/main/java/com/serranoie/app/minus/presentation/ui/history/HistoryScreen.kt
  • app/src/main/java/com/serranoie/app/minus/presentation/ui/history/edit/TransactionDateTimeRow.kt
  • app/src/main/java/com/serranoie/app/minus/presentation/ui/history/edit/TransactionEditScreen.kt
  • app/src/main/java/com/serranoie/app/minus/presentation/ui/history/edit/TransactionEditToggleButton.kt
  • app/src/main/java/com/serranoie/app/minus/presentation/ui/history/edit/TransactionEditTopBar.kt
  • app/src/main/res/values-bg/strings.xml
  • app/src/main/res/values-de/strings.xml
  • app/src/main/res/values-el/strings.xml
  • app/src/main/res/values-es-rMX/strings.xml
  • app/src/main/res/values-es/strings.xml
  • app/src/main/res/values-fr/strings.xml
  • app/src/main/res/values-hi/strings.xml
  • app/src/main/res/values-it/strings.xml
  • app/src/main/res/values-ja/strings.xml
  • app/src/main/res/values-ko/strings.xml
  • app/src/main/res/values-pt/strings.xml
  • app/src/main/res/values-ru/strings.xml
  • app/src/main/res/values-zh/strings.xml
  • app/src/main/res/values/strings.xml
💤 Files with no reviewable changes (1)
  • app/src/main/java/com/serranoie/app/minus/presentation/ui/history/edit/TransactionEditTopBar.kt

Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 1 remain after this review.


📝 Walkthrough

Walkthrough

The transaction edit screen replaces its top bar with a cancel pill labeled “Tap to exit,” and updates the layout of its toggles and date/time controls. Localized labels and E2E assertions are added. The history screen clears regular and recurrent edit state when it leaves composition.

Changes

Transaction editing

Layer / File(s) Summary
Edit screen layout and exit interaction
app/src/main/java/com/serranoie/app/minus/presentation/ui/history/edit/TransactionEditScreen.kt, app/src/main/java/com/serranoie/app/minus/presentation/ui/history/edit/TransactionEditTopBar.kt, app/src/main/java/com/serranoie/app/minus/presentation/ui/history/edit/TransactionEditToggleButton.kt, app/src/main/java/com/serranoie/app/minus/presentation/ui/history/edit/TransactionDateTimeRow.kt, app/src/main/res/values*/strings.xml, app/src/main/res/values/strings.xml, app/src/androidTest/java/com/serranoie/app/minus/presentation/ui/e2e/history/HistoryScreenE2ETest.kt, app/src/androidTest/java/com/serranoie/app/minus/presentation/ui/e2e/history/TransactionEditE2ETests.kt
The edit screen replaces TransactionEditTopBar with a cancel pill that invokes onCancel. The toggle and date/time layouts change, and the toggle buttons increase in size. The new exit label is added to the listed translations. E2E tests check the label and use it to cancel.
Clear edit state on disposal
app/src/main/java/com/serranoie/app/minus/presentation/ui/history/HistoryScreen.kt
When HistoryScreen leaves composition, it sends intents to clear editingTransaction and recurrentToEdit.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~12 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 5ad6b

The exit control’s cancellation behavior is tested, and leaving History clears both edit selections. No concrete merge-blocking regression was identified; the change is mergeable with normal checks.

Security Architecture Review

Security architecture risk: 🔵 Low · up to 5ad6b

The change stays within the existing transaction-edit flow. Closing History clears edit selections, and the new cancel control uses the existing callback rather than adding a storage or privileged operation. No introduced security concern was established, although runtime lifecycle behavior was not verified.

Retained concerns
No architecture-level concerns identified.

Security review details

Security Blast Radius

  • inferred — The established changed control path is bounded to local edit-session selection and presentation. Existing transaction writes retain the same parent-controlled dispatch; the inspected changes do not establish additional asset, service, environment, or data-store authority.

Trust Boundaries and Controls

  • inferred — The routed public-entrypoint labels do not, in the inspected production path, imply a new externally callable authority boundary. The changed controls remain composable UI callbacks under the existing HistoryScreen owner; no bypass to the persistent-write sink was established.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 13 functions across 6 files. (14 skipped: … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly describes the edit-mode dismissal fix. The changes clear edit state when the screen leaves composition and add a cancel control.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 13 functions across 6 files. (14 skipped: 14 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@isaacsa51
isaacsa51 merged commit be969d1 into master Oct 5, 2026
3 checks passed
@isaacsa51
isaacsa51 deleted the fix/editor/handle_dismiss_on_edit branch October 5, 2026 22:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working chore Maintenance or task that doesn't affect current project logic

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant