mattermost-mobile-upstream/app/hooks
Pablo Vélez 7df4a0ab97
Some checks are pending
ci / lint-typecheck (push) Waiting to run
ci / detox-lint-typecheck (push) Waiting to run
ci / test (push) Waiting to run
Mm 68219 show placeholder for redacted files (#9719)
* MM-68219 - Add redacted files placeholder and related functionality

* add feature flag control and e2e tests

* adjust placeholder design, polish code, fix permalink preview issue

* polish code and add missing test

* use import path with right path

* gate post refetch behind the feature flag, refetch the open thread and avoid observeCount

* restore filesInfo for the permalink files prop added upstream

* fix stale redaction on background servers, consume the flag on every fetch path and share the viewport emitter

* replace the in-memory redaction flag with a persisted per-post epoch so ABAC file decisions survive restarts and stale posts stay hidden

* raise the redaction epoch on every resync, capture the epoch counter, only invalidate channels on role changes, and store the newer epoch when a re-verified post is otherwise unchanged

* store superseded responses unverified instead of dropping them, keep the since-fetch when re-verifying, verify permalink embeds against the linked channel, and capture the websocket epoch on arrival

* nvalidate file decisions when a user attribute field changes or all its values are cleared

* batch channel invalidations, close file viewers only when affected, reset the epoch on unstamped redaction changes, and only  re-verify the newest page's attachment posts

* re-check older channel posts a page at a time instead of one request per post

* skip the unstamped epoch lookup for posts with no files, redacted count or permalink

* keep the attribute-view retry after later invalidations, retry linked posts unless refused for the current epoch, and stop older payloads from rolling back edits via the redaction check

* MM-70905 - disable and grey out the attachment button when an ABAC pe… (#10195)

* MM-70905 - disable and grey out the attachment button when an ABAC permission policy denies uploads in the channel

* only back off render permission fetches when the server request fails, and log other errors without retrying

* remove the disableServer helper and have removeServer do both steps

* split defaultAllowed into allowWhenUnenforced and allowWhenNotEvaluated, and treat render permissions as unenforced  on servers without the decisions API

* MM-69627: Add playbook task requirements support on mobile (#10035)

* MM-69627: Add playbook task requirements support on mobile

Allow filling required task fields when checking off checklist items during
a run, gated by the same Playbooks beta setting used on web.

Co-authored-by: Cursor <cursoragent@cursor.com>

* MM-69627: Address PR review feedback for task requirements

Propagate settings write failures, harden fill-requirements save/title handling, and add missing unit coverage.

Co-authored-by: Cursor <cursoragent@cursor.com>

* MM-69627: Fix TypeScript errors in new unit tests

Co-authored-by: Cursor <cursoragent@cursor.com>

* MM-69627: Use defineMessages for fill requirements titles

Keep i18n extraction able to find the header titles after moving them to the route.

Co-authored-by: Cursor <cursoragent@cursor.com>

* MM-69627: Address review feedback for task requirements

Update checklist items locally when saving requirement values instead of
refetching the run, add missing query/navigation tests, and apply small
callback/reduce cleanups from review.

Co-authored-by: Cursor <cursoragent@cursor.com>

* MM-69627: Fix task requirements review follow-ups

Propagate local checklist write failures, clear a stale task-requirements
flag when playbooks is unsupported, and cap fill values at the desktop/
server max length.

Co-authored-by: Cursor <cursoragent@cursor.com>

* MM-69627: Move requirement field into its own component

Keep one component per file on the fill-requirements screen.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>

* MM-69122: Add file element support to interactive dialogs (#9898)

* Implement Interactive Dialog - file upload

* update demo plugin version for e2etests

* fix and add e2etests

* review fixes

* Fix version bump checkout when a tag shares the branch name (#10229)

* Fix Android crashes caused by animated custom emoji (#10030)

* Route GIF decoding through Glide

- Keep APNG4Android for APNG, animated WebP, and animated AVIF support.
- Prepend Glide's GIF decoders to avoid APNG4Android's native GIF overflow.

* Clear Expo image resources with Glide targets

- Detach drawables when Glide clears their custom target.
- Prevent recycled GIF frame resources from remaining attached to Expo image views.

* Preserve foreground image during GIF target recycling

---------

Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
Co-authored-by: Nuno Simões <nuno.simoes@mattermost.com>
Co-authored-by: MangelSpec <74370284+MangelSpec@users.noreply.github.com>

* detox - fix clobbering of feature flags that cause failures in other suites.  Also small fix of a incorrectly set test-id

---------

Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
Co-authored-by: Nuno Simões <nuno.simoes@mattermost.com>
Co-authored-by: MangelSpec <74370284+MangelSpec@users.noreply.github.com>
Co-authored-by: Nate Schlossberg <nate.schlossberg@mattermost.com>
2026-10-15 15:59:13 -07:00
..
use_input_accessory_view_gesture Multiple Fixes (#9767) 2026-05-19 16:35:20 +08:00
use_keyboard_events Mm 67525 bump min version (#9640) 2026-09-16 10:53:06 +00:00
use_keyboard_state_context Mm 67525 bump min version (#9640) 2026-09-16 10:53:06 +00:00
use_keyboard_state_machine Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
use_pressable_opacity Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
use_tabs Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
access_control_attributes.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
access_control_attributes.ts Mm 63935 abac end user indicators (#8848) 2025-05-19 15:34:03 +02:00
android_back_handler.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
android_back_handler.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
android_home_tab_back_handler.test.ts [MM-69227] Fix back button behavior (#9927) 2026-07-13 17:43:09 +02:00
android_home_tab_back_handler.ts [MM-69227] Fix back button behavior (#9927) 2026-07-13 17:43:09 +02:00
apps.test.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
apps.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
autocomplete.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
autocomplete.ts Fixes autocomplete, bad ssl message on android and edit post (#9799) 2026-06-01 23:21:29 +08:00
channel_switch.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
channel_switch.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
device.test.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
device.ts Mm 67525 bump min version (#9640) 2026-09-16 10:53:06 +00:00
did_mount.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
did_mount.ts Enable exhaustive deps in the repo (#9508) 2026-02-18 11:56:16 +01:00
did_update.test.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
did_update.ts Enable exhaustive deps in the repo (#9508) 2026-02-18 11:56:16 +01:00
emoji_category_bar.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
emoji_category_bar.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
fetching_thread.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
fetching_thread.ts Enable exhaustive deps in the repo (#9508) 2026-02-18 11:56:16 +01:00
field_refs.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
field_refs.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
file_upload_error.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
file_upload_error.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
files.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
files.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
gallery.test.ts [MM-69455] Fix channel bookmark taps with React Native New Architecture (#9904) 2026-07-02 13:55:27 -07:00
gallery.ts [MM-69455] Fix channel bookmark taps with React Native New Architecture (#9904) 2026-07-02 13:55:27 -07:00
handle_send_message.test.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
handle_send_message.ts Agents "RHS" view (#9318) 2026-03-16 09:48:32 -07:00
header.test.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
header.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
in_viewport.test.ts Mm 68219 show placeholder for redacted files (#9719) 2026-10-15 15:59:13 -07:00
in_viewport.ts Mm 68219 show placeholder for redacted files (#9719) 2026-10-15 15:59:13 -07:00
initial_value.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
initial_value.ts Enable exhaustive deps in the repo (#9508) 2026-02-18 11:56:16 +01:00
is_initial_sync.test.ts Mm 68767 zero persistence (#9803) 2026-07-16 13:55:45 +02:00
is_initial_sync.ts Mm 68767 zero persistence (#9803) 2026-07-16 13:55:45 +02:00
markdown.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
markdown.ts Show at mentions in RemoveMarkdown renderer (#7664) 2023-11-17 11:43:25 +01:00
navigate_back.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
navigate_back.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
navigation_header.test.tsx MM-70051 Fixing issues with system classifications (#9989) 2026-08-11 11:17:39 +03:00
navigation_header.tsx Fix/detox hittest cluster (#10023) 2026-08-27 08:58:03 +05:30
notification_props.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
notification_props.ts Enable exhaustive deps in the repo (#9508) 2026-02-18 11:56:16 +01:00
persistent_notification_props.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
persistent_notification_props.ts Mobile drafts (#8280) 2025-01-13 18:40:03 +05:30
props_from_params.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
props_from_params.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
render_permissions.test.ts Mm 68219 show placeholder for redacted files (#9719) 2026-10-15 15:59:13 -07:00
render_permissions.ts Mm 68219 show placeholder for redacted files (#9719) 2026-10-15 15:59:13 -07:00
screen_transition_animation.test.ts resumes slide animation after stopping due to modal system dialog showing (#9792) 2026-05-29 06:50:57 +08:00
screen_transition_animation.ts resumes slide animation after stopping due to modal system dialog showing (#9792) 2026-05-29 06:50:57 +08:00
show_more.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
show_more.ts [Gekidou] post component tree and partial postList (#5637) 2021-09-06 08:22:55 -03:00
team_switch.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
team_switch.ts [Gekidou] perf improvement & fix upgrade path (#6302) 2022-05-24 08:45:17 -04:00
teams_loading.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
teams_loading.ts fix: app bugs surfaced by Detox RF migration (#9789) 2026-06-09 13:25:42 +05:30
throttled.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
throttled.ts Implementing the Audio Playback/Download on the chat (#7900) 2025-02-19 11:17:30 +01:00
use_external_link_handler.ts Mention, embedded link and handling of post update on offline device (#9104) 2025-09-12 14:06:58 +05:30
use_external_link.test.ts Update useExternalLink to match webapp (#8675) 2025-03-13 12:28:00 +01:00
use_external_link.ts Update useExternalLink to match webapp (#8675) 2025-03-13 12:28:00 +01:00
use_has_credentials.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
use_has_credentials.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
useCollapsibleHeader.test.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
user_timezone.test.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
user_timezone.tsx Enable exhaustive deps in the repo (#9508) 2026-02-18 11:56:16 +01:00
utils.test.tsx Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
utils.ts Add Floating Label Autocomplete Selector (#9119) 2025-10-01 13:31:16 +02:00
why_did_you_update.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
why_did_you_update.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00