isaac and Claude Opus 4.8
9dada484aa
InstantPage V2: proper RTL layout for rich messages
...
When a rich message's page-level rtl flag is set, mirror every V2 block
ornament and content column onto the trailing (right) edge, gated solely on
the explicit flag (no content auto-detection, no send/wire change, V2 only):
- Two centralized leading/trailing geometry helpers (instantPageV2ContentColumnX
/ instantPageV2LeadingEdgeX) as the single source of truth for gutter side.
- Lists: content column mirrors to match the marker (8pt trailing gap).
- Blockquotes: bar + text gutter on the trailing edge, single- and multi-block
(multi-block child band rigid-translated; caption uses its own single-inset
delta).
- <details>: chevron + title indented from the right (rtl flag on the item).
- Uniform trailing alignment for paragraph/heading/simple-text.
- Keep the full bounding width for non-leading alignment so display-time
alignment lands at the true edge: .right (RTL text) was collapsing short
content to the leading edge under fitToWidth (the list-gap), and .center
(pull quotes) was failing to center body + author. Only .natural shrinks.
LTR output is unchanged (.right/.center are only produced under RTL contexts /
pull quotes). Builds clean; runtime-verified on an rtl message with lists,
blockquotes, pull quotes, and inline formatting.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 15:01:59 +02:00
..
2026-05-31 17:35:32 +02:00
2026-04-20 20:26:58 +02:00
2026-05-28 16:50:05 +02:00
2026-04-25 20:48:15 +04:00
2026-03-10 00:38:36 +01:00
2026-05-28 16:50:05 +02:00
2026-04-20 20:26:58 +02:00
2026-06-04 01:44:36 +02:00
2026-02-06 17:14:35 +04:00
2026-05-14 12:45:26 +02:00
2026-05-14 12:45:26 +02:00
2026-04-25 20:48:15 +04:00
2026-06-02 13:31:23 +02:00
2026-06-04 13:45:48 +02:00
2026-05-28 16:50:05 +02:00
2026-05-28 16:50:05 +02:00
2026-05-31 17:35:32 +02:00
2026-04-20 20:26:58 +02:00
2026-04-16 23:16:45 +02:00
2026-05-14 12:45:26 +02:00
2026-06-04 01:44:36 +02:00
2026-04-20 20:26:58 +02:00
2026-06-04 01:44:36 +02:00
2026-05-29 15:46:16 +02:00
2026-05-14 12:45:26 +02:00
2026-03-24 16:47:36 +08:00
2026-04-17 09:06:14 +02:00
2026-02-15 22:50:18 +04:00
2026-05-28 16:50:05 +02:00
2026-05-28 16:50:05 +02:00
2026-05-14 12:45:26 +02:00
2026-05-14 12:45:26 +02:00
2026-05-14 12:45:26 +02:00
2026-03-22 13:44:04 +01:00
2026-03-06 13:20:49 +01:00
2026-05-14 12:45:26 +02:00
2026-04-17 11:06:56 +02:00
2026-05-28 16:50:05 +02:00
2026-05-29 09:24:16 +02:00
2026-05-31 17:35:32 +02:00
2026-04-24 03:16:14 +02:00
2026-05-29 09:24:16 +02:00
2026-04-30 18:28:43 +02:00
2026-04-21 22:04:47 +04:00
2026-04-20 20:26:58 +02:00
2026-05-14 12:45:26 +02:00
2026-06-04 01:44:36 +02:00
2026-04-03 15:50:39 +08:00
2026-04-16 01:18:22 +02:00
2026-04-16 01:18:22 +02:00
2026-03-13 11:04:33 +01:00
2026-05-14 12:45:26 +02:00
2026-04-20 20:37:41 +02:00
2026-05-14 12:45:26 +02:00
2026-04-20 20:26:58 +02:00
2026-05-28 16:50:05 +02:00
2026-05-03 10:28:50 +02:00
2026-05-05 00:44:27 +02:00
2026-06-04 15:01:59 +02:00
2026-05-14 12:45:26 +02:00
2026-03-22 16:41:22 +01:00
2026-04-20 21:46:02 +02:00
2026-02-27 14:34:18 +04:00
2026-05-29 09:24:16 +02:00
2026-05-29 09:24:16 +02:00
2026-06-02 10:48:17 +02:00
2026-05-29 10:01:53 +02:00
2026-05-28 16:50:05 +02:00
2026-05-31 17:35:32 +02:00
2026-05-29 09:24:16 +02:00
2026-05-31 17:35:32 +02:00
2026-05-14 12:45:26 +02:00
2026-04-20 00:25:28 +02:00
2026-05-28 16:50:05 +02:00
2026-05-14 12:45:26 +02:00
2026-05-28 16:50:05 +02:00
2026-04-17 09:07:54 +02:00
2026-04-20 20:26:58 +02:00
2026-05-31 17:35:32 +02:00
2026-04-24 11:24:13 +04:00
2026-05-14 12:45:26 +02:00
2026-05-02 10:10:18 +01:00
2026-04-22 23:03:51 +02:00
2026-06-02 13:31:23 +02:00
2026-04-20 20:26:58 +02:00
2026-05-14 12:45:26 +02:00
2026-05-29 10:01:53 +02:00
2026-04-20 20:26:58 +02:00
2026-05-28 16:50:05 +02:00
2026-05-28 16:50:05 +02:00
2026-04-20 20:26:58 +02:00
2026-06-04 01:44:36 +02:00
2026-04-25 20:48:15 +04:00
2026-06-04 01:44:36 +02:00
2026-05-14 12:45:26 +02:00
2026-05-14 12:45:26 +02:00
2026-04-30 12:15:57 +04:00
2026-05-28 16:50:05 +02:00
2026-05-14 12:45:26 +02:00
2026-04-16 23:55:48 +02:00
2026-05-14 12:45:26 +02:00
2026-05-28 16:50:05 +02:00
2026-04-19 23:45:34 +02:00
2026-04-07 16:47:08 +02:00
2026-05-14 12:45:26 +02:00
2026-04-18 08:41:08 +02:00
2026-04-20 20:37:41 +02:00
2026-06-02 10:48:17 +02:00
2026-05-28 16:50:05 +02:00
2026-04-23 01:48:48 +02:00
2026-04-26 02:46:44 +04:00
2026-04-22 23:03:51 +02:00
2026-05-14 12:45:26 +02:00
2026-05-28 16:50:05 +02:00
2026-04-16 23:37:44 +02:00
2026-05-14 12:45:26 +02:00
2026-04-24 23:19:15 +04:00
2026-03-18 00:27:13 +01:00
2026-05-05 00:44:27 +02:00
2026-05-29 09:24:16 +02:00
2026-04-03 22:15:42 +08:00
2026-05-28 16:50:05 +02:00
2026-05-29 09:24:16 +02:00
2026-06-04 13:45:48 +02:00
2026-05-14 12:45:26 +02:00
2026-05-14 12:45:26 +02:00
2026-05-05 14:57:06 +02:00
2026-05-14 12:45:26 +02:00
2026-05-28 16:50:05 +02:00
2026-06-04 13:45:48 +02:00
2026-06-04 13:45:48 +02:00
2026-05-28 16:50:05 +02:00
2026-05-14 12:45:26 +02:00
2026-01-25 22:17:49 +04:00
2026-05-05 00:45:32 +02:00
2026-05-29 10:01:53 +02:00
2026-05-31 17:51:37 +02:00
2026-05-20 00:34:25 +08:00
2026-05-14 12:45:26 +02:00
2026-05-31 17:35:32 +02:00
2026-03-06 18:13:48 +01:00
2026-04-27 01:39:39 +02:00
2026-05-28 16:50:05 +02:00
2026-01-27 21:04:08 +08:00
2026-05-14 12:45:26 +02:00
2026-05-28 16:50:05 +02:00
2026-03-30 20:44:10 +08:00
2026-05-05 00:44:27 +02:00
2026-05-31 17:35:32 +02:00