Skip to content

fix(support): hide TransactionIssue + LimitRequest from ticket menu#586

Merged
TaprootFreak merged 1 commit into
RealUnitCH:chore/post-580-followupsfrom
Blume1977:fix/support-hide-broken-issue-types
May 26, 2026
Merged

fix(support): hide TransactionIssue + LimitRequest from ticket menu#586
TaprootFreak merged 1 commit into
RealUnitCH:chore/post-580-followupsfrom
Blume1977:fix/support-hide-broken-issue-types

Conversation

@Blume1977
Copy link
Copy Markdown
Contributor

Summary

Both TransactionIssue and LimitRequest options in the in-app support ticket type picker silently fail with HTTP 400 on submit because the app never sends the API-required nested DTOs (transaction / limitRequest). The reproduction in the field is RealUnitApiException: limitRequest should not be empty (statusCode: 400) for LimitRequest; the TransactionIssue equivalent has not surfaced because realunit-app users typically file transaction issues via services.dfx.swiss instead.

This PR hides both options from the picker until the proper forms are implemented. The enum values, i18n keys (supportTransactionIssue, supportLimitRequest), icons, and the cubit's _getTicketName mapping are intentionally left in place so re-enabling is a one-tuple revert per type once the structured input UI (dropdowns, transaction picker, document upload) lands.

Why not implement the forms now

  • LimitRequest needs three dropdowns (limit / investmentDate / fundOrigin), an optional fundOriginText field mapped from message, a KYC ≥ 50 gate, and a mandatory document upload (PNG / JPEG / PDF). Requires a new file_picker dependency for PDF support.
  • TransactionIssue needs a transaction picker (list of the user's recent transactions via GET /v1/transactions) plus a reason dropdown filtered to [FundsNotReceived, TransactionMissing, Other].
  • Both are independent feature PRs of meaningful scope; hiding now removes the user-facing failure immediately.

Scope

  • lib/screens/support/subpages/support_create_ticket_page.dart — remove two tuples from the items: array of TagSelection<SupportIssueType>.
  • No API, model, cubit, service, or i18n changes.

Test plan

  • flutter analyzeNo issues found! (ran in 4.7s)
  • flutter test test/screens/support/ → 62 / 62 passed
  • Manual smoke: open Neues Ticket erstellen, confirm only Allgemeines Anliegen, Fehlerbericht, KYC-Problem are selectable.
  • Manual smoke: submit each of the three remaining types with a short message and verify a ticket is created (no 400).

Both types fail with HTTP 400 on submission because the app does not
capture the API-required nested DTOs (transaction object / limitRequest
object). Removing them from the type picker prevents users from filing
tickets that can never succeed. Enum values and i18n keys are kept
intact so re-enabling is a one-tuple revert once the proper form fields
are implemented.
@TaprootFreak TaprootFreak changed the base branch from develop to chore/post-580-followups May 26, 2026 14:55
@TaprootFreak TaprootFreak marked this pull request as ready for review May 26, 2026 14:57
@TaprootFreak TaprootFreak merged commit eec3a87 into RealUnitCH:chore/post-580-followups May 26, 2026
5 checks passed
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.

2 participants