mattermost-mobile-upstream/app/routes/(modals)
Eva Sarafianou 9a40cad748
Route through usePropsFromParams for remaining stragglers (#9949)
Four route files were still consuming useLocalSearchParams directly,
bypassing the safeParseJSON decode that every other route already
uses via usePropsFromParams. Combined with propsToParams unconditionally
JSON.stringify'ing every prop (#9931), that means their string params
arrived with literal quote characters embedded (e.g. rootId "abc123"
-> `"abc123"`).

Impact:
- thread.tsx: rootId doesn't match any post in the DB, rootPost stays
  undefined, ThreadContent never renders. The user sees a blank thread
  screen with subtitle `in "channel name"` (visible quote characters).
- code.tsx: code param is rendered verbatim by the highlighter with
  outer quotes and escaped inner quotes/backslashes. The MM-69330
  workaround (bypassing the hook to preserve string type) is obsolete
  now that propsToParams always JSON-encodes: safeParseJSON('"42"')
  returns the string '42', not the number 42.
- about.tsx / settings_display_timezone_select.tsx: header text and
  timezone identifier arrive with extra quotes.

Migrating all four to usePropsFromParams closes the symmetry: every
param is JSON-encoded on send and JSON-decoded on receive.

Also updates code.test.tsx to feed the route JSON-encoded params, so
the MM-69330 regression coverage still exercises the exact scenario
seen in production.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 19:16:46 +03:00
..
(add-server) Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
(browse_channels) Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
(channel_info) Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
(custom_status) Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
(settings) Route through usePropsFromParams for remaining stragglers (#9949) 2026-07-18 19:16:46 +03:00
_layout.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
apps_form.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
channel_bookmark.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
create_direct_message.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
create_or_edit_channel.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
dialog_router.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
edit_post.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
edit_profile.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
edit_server.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
find_channels.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
integration_selector.tsx Mattermost Blocks (#9764) 2026-06-29 18:42:16 +02:00
invite.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
join_team.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
pdf_viewer.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
reschedule_draft.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00