Files
simplex-chat/apps
Narasimha-sc 2c5702a271 android, desktop: refine RTL fix and add design doc
Surgical refinements on top of the initial RTL fix, plus a design doc
in plans/.

- chatItemShape (ChatItemView.kt): extract `val tailOnRight = ...` so
  the predicate names what the conditional does. Comment trimmed to
  the single load-bearing invariant ("default path draws tail at
  bottom-left") since the rest is implied by the variable name.

- SubscriptionStatusIcon.kt: hoist `val iconModifier =
  modifier.mirrorIfRtl()` once at the top of the composable and reuse
  it at all five Icon call sites. Calling mirrorIfRtl five times or
  once produces the same Modifier within one composition.

- GoToItemInnerButton (ChatItemView.kt): add `mirror: Boolean = false`
  parameter and pass `mirror = true` at the directional call site
  (ic_arrow_forward, "go to forwarded source"). The other call site
  (ic_search) keeps the default and is unchanged.

- Modifiers.kt, FramedItemView.kt: drop two explanatory comments that
  restated framework-primitive behavior (mirrorIfRtl's own name, and
  the documented behavior of placeRelative).

plans/2026-05-13-rtl-layout-issues.md documents the three independent
mechanisms behind the fix (bubble shape, app-bar slot placement,
asymmetric drawables), the bubble-tail XOR predicate, and four
considered-and-rejected alternatives.
2026-05-13 17:29:41 +00:00
..
2025-07-08 12:22:57 +01:00