@planningcenter/chat-react-native 3.42.2 → 3.42.3-qa-staging.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/conversation/attachments/attachment_card.d.ts +3 -3
- package/build/components/conversation/attachments/attachment_card.d.ts.map +1 -1
- package/build/components/conversation/attachments/attachment_card.js +3 -7
- package/build/components/conversation/attachments/attachment_card.js.map +1 -1
- package/build/components/conversation/attachments/attachment_deleting_overlay.d.ts +1 -2
- package/build/components/conversation/attachments/attachment_deleting_overlay.d.ts.map +1 -1
- package/build/components/conversation/attachments/attachment_deleting_overlay.js +12 -7
- package/build/components/conversation/attachments/attachment_deleting_overlay.js.map +1 -1
- package/build/components/conversation/attachments/audio_attachment.d.ts +1 -2
- package/build/components/conversation/attachments/audio_attachment.d.ts.map +1 -1
- package/build/components/conversation/attachments/audio_attachment.js +6 -23
- package/build/components/conversation/attachments/audio_attachment.js.map +1 -1
- package/build/components/conversation/attachments/expanded_link.d.ts +1 -2
- package/build/components/conversation/attachments/expanded_link.d.ts.map +1 -1
- package/build/components/conversation/attachments/expanded_link.js +2 -8
- package/build/components/conversation/attachments/expanded_link.js.map +1 -1
- package/build/components/conversation/attachments/generic_file_attachment.d.ts +1 -2
- package/build/components/conversation/attachments/generic_file_attachment.d.ts.map +1 -1
- package/build/components/conversation/attachments/generic_file_attachment.js +2 -12
- package/build/components/conversation/attachments/generic_file_attachment.js.map +1 -1
- package/build/components/conversation/attachments/giphy_attachment.d.ts +1 -2
- package/build/components/conversation/attachments/giphy_attachment.d.ts.map +1 -1
- package/build/components/conversation/attachments/giphy_attachment.js +2 -7
- package/build/components/conversation/attachments/giphy_attachment.js.map +1 -1
- package/build/components/conversation/attachments/image_attachment.d.ts +1 -2
- package/build/components/conversation/attachments/image_attachment.d.ts.map +1 -1
- package/build/components/conversation/attachments/image_attachment.js +16 -53
- package/build/components/conversation/attachments/image_attachment.js.map +1 -1
- package/build/components/conversation/attachments/video_attachment.d.ts +1 -2
- package/build/components/conversation/attachments/video_attachment.d.ts.map +1 -1
- package/build/components/conversation/attachments/video_attachment.js +3 -13
- package/build/components/conversation/attachments/video_attachment.js.map +1 -1
- package/build/components/conversation/conversation_start_banner.d.ts +1 -2
- package/build/components/conversation/conversation_start_banner.d.ts.map +1 -1
- package/build/components/conversation/conversation_start_banner.js +2 -14
- package/build/components/conversation/conversation_start_banner.js.map +1 -1
- package/build/components/conversation/empty_conversation_blank_state.d.ts +1 -1
- package/build/components/conversation/empty_conversation_blank_state.d.ts.map +1 -1
- package/build/components/conversation/empty_conversation_blank_state.js +2 -9
- package/build/components/conversation/empty_conversation_blank_state.js.map +1 -1
- package/build/components/conversation/jump_to_bottom_button.d.ts +1 -1
- package/build/components/conversation/jump_to_bottom_button.d.ts.map +1 -1
- package/build/components/conversation/jump_to_bottom_button.js +2 -10
- package/build/components/conversation/jump_to_bottom_button.js.map +1 -1
- package/build/components/conversation/message.d.ts +1 -2
- package/build/components/conversation/message.d.ts.map +1 -1
- package/build/components/conversation/message.js +2 -53
- package/build/components/conversation/message.js.map +1 -1
- package/build/components/conversation/message_attachments.d.ts +1 -2
- package/build/components/conversation/message_attachments.d.ts.map +1 -1
- package/build/components/conversation/message_attachments.js +17 -21
- package/build/components/conversation/message_attachments.js.map +1 -1
- package/build/components/conversation/message_form/message_form_attachment_file.d.ts +1 -2
- package/build/components/conversation/message_form/message_form_attachment_file.d.ts.map +1 -1
- package/build/components/conversation/message_form/message_form_attachment_file.js +2 -2
- package/build/components/conversation/message_form/message_form_attachment_file.js.map +1 -1
- package/build/components/conversation/message_form/message_form_attachment_image.d.ts +1 -2
- package/build/components/conversation/message_form/message_form_attachment_image.d.ts.map +1 -1
- package/build/components/conversation/message_form/message_form_attachment_image.js +2 -2
- package/build/components/conversation/message_form/message_form_attachment_image.js.map +1 -1
- package/build/components/conversation/message_form/message_form_attachment_video.d.ts +1 -2
- package/build/components/conversation/message_form/message_form_attachment_video.d.ts.map +1 -1
- package/build/components/conversation/message_form/message_form_attachment_video.js +2 -2
- package/build/components/conversation/message_form/message_form_attachment_video.js.map +1 -1
- package/build/components/conversation/message_form.d.ts +5 -6
- package/build/components/conversation/message_form.d.ts.map +1 -1
- package/build/components/conversation/message_form.js +20 -82
- package/build/components/conversation/message_form.js.map +1 -1
- package/build/components/conversation/message_markdown.d.ts +1 -2
- package/build/components/conversation/message_markdown.d.ts.map +1 -1
- package/build/components/conversation/message_markdown.js +8 -16
- package/build/components/conversation/message_markdown.js.map +1 -1
- package/build/components/conversation/message_reaction.d.ts +1 -2
- package/build/components/conversation/message_reaction.d.ts.map +1 -1
- package/build/components/conversation/message_reaction.js +3 -5
- package/build/components/conversation/message_reaction.js.map +1 -1
- package/build/components/conversation/message_read_receipts.d.ts +1 -2
- package/build/components/conversation/message_read_receipts.d.ts.map +1 -1
- package/build/components/conversation/message_read_receipts.js +3 -13
- package/build/components/conversation/message_read_receipts.js.map +1 -1
- package/build/components/conversation/messages_disabled_banners.d.ts +7 -3
- package/build/components/conversation/messages_disabled_banners.d.ts.map +1 -1
- package/build/components/conversation/messages_disabled_banners.js +11 -11
- package/build/components/conversation/messages_disabled_banners.js.map +1 -1
- package/build/components/conversation/reply_connectors.d.ts +2 -2
- package/build/components/conversation/reply_connectors.d.ts.map +1 -1
- package/build/components/conversation/reply_connectors.js +18 -50
- package/build/components/conversation/reply_connectors.js.map +1 -1
- package/build/components/conversation/reply_shadow_message.d.ts +1 -2
- package/build/components/conversation/reply_shadow_message.d.ts.map +1 -1
- package/build/components/conversation/reply_shadow_message.js +16 -46
- package/build/components/conversation/reply_shadow_message.js.map +1 -1
- package/build/components/conversation/system_message.d.ts +1 -2
- package/build/components/conversation/system_message.d.ts.map +1 -1
- package/build/components/conversation/system_message.js +3 -12
- package/build/components/conversation/system_message.js.map +1 -1
- package/build/components/conversation/typing_indicator.d.ts +1 -2
- package/build/components/conversation/typing_indicator.d.ts.map +1 -1
- package/build/components/conversation/typing_indicator.js +3 -13
- package/build/components/conversation/typing_indicator.js.map +1 -1
- package/build/components/conversations/conversation_actions.d.ts +2 -2
- package/build/components/conversations/conversation_actions.d.ts.map +1 -1
- package/build/components/conversations/conversation_actions.js +4 -10
- package/build/components/conversations/conversation_actions.js.map +1 -1
- package/build/components/conversations/conversation_preview.d.ts +2 -3
- package/build/components/conversations/conversation_preview.d.ts.map +1 -1
- package/build/components/conversations/conversation_preview.js +7 -37
- package/build/components/conversations/conversation_preview.js.map +1 -1
- package/build/components/conversations/conversations.d.ts +1 -1
- package/build/components/conversations/conversations.d.ts.map +1 -1
- package/build/components/conversations/conversations.js +16 -17
- package/build/components/conversations/conversations.js.map +1 -1
- package/build/components/conversations/conversations_blank_state.d.ts +1 -2
- package/build/components/conversations/conversations_blank_state.d.ts.map +1 -1
- package/build/components/conversations/conversations_blank_state.js +2 -12
- package/build/components/conversations/conversations_blank_state.js.map +1 -1
- package/build/components/conversations/mute_indicator.d.ts +1 -2
- package/build/components/conversations/mute_indicator.d.ts.map +1 -1
- package/build/components/conversations/mute_indicator.js +2 -2
- package/build/components/conversations/mute_indicator.js.map +1 -1
- package/build/components/conversations/swipeable_toggle_button.d.ts +1 -2
- package/build/components/conversations/swipeable_toggle_button.d.ts.map +1 -1
- package/build/components/conversations/swipeable_toggle_button.js +3 -10
- package/build/components/conversations/swipeable_toggle_button.js.map +1 -1
- package/build/components/conversations/unread_count_badge.d.ts +1 -2
- package/build/components/conversations/unread_count_badge.d.ts.map +1 -1
- package/build/components/conversations/unread_count_badge.js +3 -7
- package/build/components/conversations/unread_count_badge.js.map +1 -1
- package/build/components/display/action_button.d.ts +1 -1
- package/build/components/display/action_button.d.ts.map +1 -1
- package/build/components/display/action_button.js +3 -13
- package/build/components/display/action_button.js.map +1 -1
- package/build/components/display/adult_requirement_notice.d.ts +1 -2
- package/build/components/display/adult_requirement_notice.d.ts.map +1 -1
- package/build/components/display/adult_requirement_notice.js +2 -4
- package/build/components/display/adult_requirement_notice.js.map +1 -1
- package/build/components/display/avatar.d.ts +1 -2
- package/build/components/display/avatar.d.ts.map +1 -1
- package/build/components/display/avatar.js +2 -7
- package/build/components/display/avatar.js.map +1 -1
- package/build/components/display/avatar_group.d.ts +1 -2
- package/build/components/display/avatar_group.d.ts.map +1 -1
- package/build/components/display/avatar_group.js +2 -9
- package/build/components/display/avatar_group.js.map +1 -1
- package/build/components/display/badge.d.ts +1 -2
- package/build/components/display/badge.d.ts.map +1 -1
- package/build/components/display/badge.js +6 -37
- package/build/components/display/badge.js.map +1 -1
- package/build/components/display/banner.d.ts +3 -3
- package/build/components/display/banner.d.ts.map +1 -1
- package/build/components/display/banner.js +4 -11
- package/build/components/display/banner.js.map +1 -1
- package/build/components/display/banner_collapsible.d.ts +2 -2
- package/build/components/display/banner_collapsible.d.ts.map +1 -1
- package/build/components/display/banner_collapsible.js +2 -10
- package/build/components/display/banner_collapsible.js.map +1 -1
- package/build/components/display/button.d.ts +1 -2
- package/build/components/display/button.d.ts.map +1 -1
- package/build/components/display/button.js +3 -14
- package/build/components/display/button.js.map +1 -1
- package/build/components/display/child_notice.d.ts +1 -2
- package/build/components/display/child_notice.d.ts.map +1 -1
- package/build/components/display/child_notice.js +3 -15
- package/build/components/display/child_notice.js.map +1 -1
- package/build/components/display/conversation_avatar.d.ts +1 -2
- package/build/components/display/conversation_avatar.d.ts.map +1 -1
- package/build/components/display/conversation_avatar.js +5 -9
- package/build/components/display/conversation_avatar.js.map +1 -1
- package/build/components/display/emoji_avatar.d.ts +1 -2
- package/build/components/display/emoji_avatar.d.ts.map +1 -1
- package/build/components/display/emoji_avatar.js +2 -12
- package/build/components/display/emoji_avatar.js.map +1 -1
- package/build/components/display/file_attachment_preview.d.ts +1 -1
- package/build/components/display/file_attachment_preview.d.ts.map +1 -1
- package/build/components/display/file_attachment_preview.js +3 -17
- package/build/components/display/file_attachment_preview.js.map +1 -1
- package/build/components/display/heading.d.ts +1 -2
- package/build/components/display/heading.d.ts.map +1 -1
- package/build/components/display/heading.js +2 -4
- package/build/components/display/heading.js.map +1 -1
- package/build/components/display/icon.d.ts +1 -2
- package/build/components/display/icon.d.ts.map +1 -1
- package/build/components/display/icon.js +4 -4
- package/build/components/display/icon.js.map +1 -1
- package/build/components/display/icon_avatar.d.ts +1 -2
- package/build/components/display/icon_avatar.d.ts.map +1 -1
- package/build/components/display/icon_avatar.js +2 -12
- package/build/components/display/icon_avatar.js.map +1 -1
- package/build/components/display/icon_button.d.ts +1 -2
- package/build/components/display/icon_button.d.ts.map +1 -1
- package/build/components/display/icon_button.js +3 -5
- package/build/components/display/icon_button.js.map +1 -1
- package/build/components/display/image.d.ts +1 -2
- package/build/components/display/image.d.ts.map +1 -1
- package/build/components/display/image.js +3 -7
- package/build/components/display/image.js.map +1 -1
- package/build/components/display/image_attachment_preview.d.ts +1 -1
- package/build/components/display/image_attachment_preview.d.ts.map +1 -1
- package/build/components/display/image_attachment_preview.js +2 -7
- package/build/components/display/image_attachment_preview.js.map +1 -1
- package/build/components/display/keyboard_view.d.ts +1 -2
- package/build/components/display/keyboard_view.d.ts.map +1 -1
- package/build/components/display/keyboard_view.js +4 -9
- package/build/components/display/keyboard_view.js.map +1 -1
- package/build/components/display/person.d.ts +1 -2
- package/build/components/display/person.d.ts.map +1 -1
- package/build/components/display/person.js +2 -12
- package/build/components/display/person.js.map +1 -1
- package/build/components/display/platform_modal_header_buttons.d.ts +3 -3
- package/build/components/display/platform_modal_header_buttons.d.ts.map +1 -1
- package/build/components/display/platform_modal_header_buttons.js +5 -10
- package/build/components/display/platform_modal_header_buttons.js.map +1 -1
- package/build/components/display/pressable_row.d.ts +1 -1
- package/build/components/display/pressable_row.d.ts.map +1 -1
- package/build/components/display/pressable_row.js +2 -7
- package/build/components/display/pressable_row.js.map +1 -1
- package/build/components/display/spinner.d.ts +1 -2
- package/build/components/display/spinner.d.ts.map +1 -1
- package/build/components/display/spinner.js +3 -9
- package/build/components/display/spinner.js.map +1 -1
- package/build/components/display/switch.d.ts +1 -2
- package/build/components/display/switch.d.ts.map +1 -1
- package/build/components/display/switch.js +2 -2
- package/build/components/display/switch.js.map +1 -1
- package/build/components/display/tabs.d.ts +1 -1
- package/build/components/display/tabs.d.ts.map +1 -1
- package/build/components/display/tabs.js +21 -31
- package/build/components/display/tabs.js.map +1 -1
- package/build/components/display/text.d.ts +1 -2
- package/build/components/display/text.d.ts.map +1 -1
- package/build/components/display/text.js +2 -4
- package/build/components/display/text.js.map +1 -1
- package/build/components/display/text_button.d.ts +1 -2
- package/build/components/display/text_button.d.ts.map +1 -1
- package/build/components/display/text_button.js +3 -8
- package/build/components/display/text_button.js.map +1 -1
- package/build/components/display/text_inline_button.d.ts +1 -2
- package/build/components/display/text_inline_button.d.ts.map +1 -1
- package/build/components/display/text_inline_button.js +4 -5
- package/build/components/display/text_inline_button.js.map +1 -1
- package/build/components/display/text_input.d.ts +1 -1
- package/build/components/display/text_input.d.ts.map +1 -1
- package/build/components/display/text_input.js +2 -1
- package/build/components/display/text_input.js.map +1 -1
- package/build/components/display/toggle_button.d.ts +1 -2
- package/build/components/display/toggle_button.d.ts.map +1 -1
- package/build/components/display/toggle_button.js +3 -9
- package/build/components/display/toggle_button.js.map +1 -1
- package/build/components/display/video_attachment_preview.d.ts +1 -1
- package/build/components/display/video_attachment_preview.d.ts.map +1 -1
- package/build/components/display/video_attachment_preview.js +3 -20
- package/build/components/display/video_attachment_preview.js.map +1 -1
- package/build/components/group_conversation_list.d.ts +1 -1
- package/build/components/group_conversation_list.d.ts.map +1 -1
- package/build/components/group_conversation_list.js +4 -14
- package/build/components/group_conversation_list.js.map +1 -1
- package/build/components/page/component_error_boundary.d.ts +2 -2
- package/build/components/page/component_error_boundary.d.ts.map +1 -1
- package/build/components/page/component_error_boundary.js +2 -4
- package/build/components/page/component_error_boundary.js.map +1 -1
- package/build/components/page/loading.d.ts +1 -2
- package/build/components/page/loading.d.ts.map +1 -1
- package/build/components/page/loading.js +2 -4
- package/build/components/page/loading.js.map +1 -1
- package/build/components/page/page_error_boundary.d.ts +2 -2
- package/build/components/page/page_error_boundary.d.ts.map +1 -1
- package/build/components/page/page_error_boundary.js +11 -32
- package/build/components/page/page_error_boundary.js.map +1 -1
- package/build/components/primitive/avatar_primitive.js +14 -41
- package/build/components/primitive/avatar_primitive.js.map +1 -1
- package/build/components/primitive/banner_primitive.js +10 -18
- package/build/components/primitive/banner_primitive.js.map +1 -1
- package/build/components/primitive/blank_state_primitive.js +8 -12
- package/build/components/primitive/blank_state_primitive.js.map +1 -1
- package/build/components/primitive/form_sheet.d.ts +1 -1
- package/build/components/primitive/form_sheet.d.ts.map +1 -1
- package/build/components/primitive/form_sheet.js +9 -22
- package/build/components/primitive/form_sheet.js.map +1 -1
- package/build/components/safe_area_modal.d.ts +1 -1
- package/build/components/safe_area_modal.d.ts.map +1 -1
- package/build/components/safe_area_modal.js +2 -3
- package/build/components/safe_area_modal.js.map +1 -1
- package/build/contexts/api_provider.d.ts +1 -2
- package/build/contexts/api_provider.d.ts.map +1 -1
- package/build/contexts/api_provider.js +3 -5
- package/build/contexts/api_provider.js.map +1 -1
- package/build/contexts/chat_context.d.ts +1 -1
- package/build/contexts/chat_context.d.ts.map +1 -1
- package/build/contexts/chat_context.js +2 -1
- package/build/contexts/chat_context.js.map +1 -1
- package/build/contexts/conversation_context.d.ts +2 -2
- package/build/contexts/conversation_context.d.ts.map +1 -1
- package/build/contexts/conversation_context.js +3 -2
- package/build/contexts/conversation_context.js.map +1 -1
- package/build/contexts/conversations_context.d.ts +2 -2
- package/build/contexts/conversations_context.d.ts.map +1 -1
- package/build/contexts/conversations_context.js +3 -2
- package/build/contexts/conversations_context.js.map +1 -1
- package/build/contexts/session_context.d.ts +1 -1
- package/build/contexts/session_context.d.ts.map +1 -1
- package/build/contexts/session_context.js +3 -2
- package/build/contexts/session_context.js.map +1 -1
- package/build/hooks/direct_messages/find_direct_message_conversation.d.ts +14 -0
- package/build/hooks/direct_messages/find_direct_message_conversation.d.ts.map +1 -0
- package/build/hooks/direct_messages/find_direct_message_conversation.js +10 -0
- package/build/hooks/direct_messages/find_direct_message_conversation.js.map +1 -0
- package/build/hooks/direct_messages/resolve_message_available_members_link.d.ts +16 -0
- package/build/hooks/direct_messages/resolve_message_available_members_link.d.ts.map +1 -0
- package/build/hooks/direct_messages/resolve_message_available_members_link.js +24 -0
- package/build/hooks/direct_messages/resolve_message_available_members_link.js.map +1 -0
- package/build/hooks/direct_messages/use_find_or_create_direct_message_conversation.d.ts.map +1 -1
- package/build/hooks/direct_messages/use_find_or_create_direct_message_conversation.js +1 -8
- package/build/hooks/direct_messages/use_find_or_create_direct_message_conversation.js.map +1 -1
- package/build/hooks/direct_messages/use_message_available_members.d.ts +6 -0
- package/build/hooks/direct_messages/use_message_available_members.d.ts.map +1 -0
- package/build/hooks/direct_messages/use_message_available_members.js +40 -0
- package/build/hooks/direct_messages/use_message_available_members.js.map +1 -0
- package/build/hooks/direct_messages/use_message_available_members_action.d.ts +6 -0
- package/build/hooks/direct_messages/use_message_available_members_action.d.ts.map +1 -0
- package/build/hooks/direct_messages/use_message_available_members_action.js +30 -0
- package/build/hooks/direct_messages/use_message_available_members_action.js.map +1 -0
- package/build/hooks/use_animated_message_background_color.d.ts +2 -2
- package/build/hooks/use_conversation.d.ts +1 -1
- package/build/hooks/use_conversation.d.ts.map +1 -1
- package/build/hooks/use_conversation.js +1 -0
- package/build/hooks/use_conversation.js.map +1 -1
- package/build/hooks/use_conversation_membership.d.ts +1 -1
- package/build/hooks/use_conversation_membership.d.ts.map +1 -1
- package/build/hooks/use_conversations_actions.d.ts +36 -36
- package/build/hooks/use_person_settings.d.ts +1 -1
- package/build/index.d.ts +2 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js.map +1 -1
- package/build/navigation/chat_access_gate.d.ts +2 -2
- package/build/navigation/chat_access_gate.d.ts.map +1 -1
- package/build/navigation/chat_access_gate.js +6 -5
- package/build/navigation/chat_access_gate.js.map +1 -1
- package/build/navigation/index.d.ts +35 -36
- package/build/navigation/index.d.ts.map +1 -1
- package/build/navigation/index.js +19 -21
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/screenLayout.d.ts +2 -2
- package/build/navigation/screenLayout.d.ts.map +1 -1
- package/build/navigation/screenLayout.js +3 -9
- package/build/navigation/screenLayout.js.map +1 -1
- package/build/polyfills/events/EventTarget.d.ts +1 -1
- package/build/polyfills/events/EventTarget.d.ts.map +1 -1
- package/build/polyfills/events/EventTarget.js.map +1 -1
- package/build/screens/age_check/age_check_required_screen.d.ts +1 -2
- package/build/screens/age_check/age_check_required_screen.d.ts.map +1 -1
- package/build/screens/age_check/age_check_required_screen.js +3 -46
- package/build/screens/age_check/age_check_required_screen.js.map +1 -1
- package/build/screens/age_check/age_check_underage_screen.d.ts +1 -2
- package/build/screens/age_check/age_check_underage_screen.d.ts.map +1 -1
- package/build/screens/age_check/age_check_underage_screen.js +2 -25
- package/build/screens/age_check/age_check_underage_screen.js.map +1 -1
- package/build/screens/age_check/components/age_check_select_birthdate_modal.d.ts +1 -2
- package/build/screens/age_check/components/age_check_select_birthdate_modal.d.ts.map +1 -1
- package/build/screens/age_check/components/age_check_select_birthdate_modal.js +6 -25
- package/build/screens/age_check/components/age_check_select_birthdate_modal.js.map +1 -1
- package/build/screens/attachment_actions/attachment_actions_screen.d.ts +1 -2
- package/build/screens/attachment_actions/attachment_actions_screen.d.ts.map +1 -1
- package/build/screens/attachment_actions/attachment_actions_screen.js +3 -5
- package/build/screens/attachment_actions/attachment_actions_screen.js.map +1 -1
- package/build/screens/avatar_picker/avatar_picker_screen.d.ts +1 -2
- package/build/screens/avatar_picker/avatar_picker_screen.d.ts.map +1 -1
- package/build/screens/avatar_picker/avatar_picker_screen.js +9 -36
- package/build/screens/avatar_picker/avatar_picker_screen.js.map +1 -1
- package/build/screens/avatar_picker/avatar_preview.d.ts +1 -1
- package/build/screens/avatar_picker/avatar_preview.d.ts.map +1 -1
- package/build/screens/avatar_picker/avatar_preview.js +5 -9
- package/build/screens/avatar_picker/avatar_preview.js.map +1 -1
- package/build/screens/avatar_picker/color_picker.d.ts +1 -2
- package/build/screens/avatar_picker/color_picker.d.ts.map +1 -1
- package/build/screens/avatar_picker/color_picker.js +4 -5
- package/build/screens/avatar_picker/color_picker.js.map +1 -1
- package/build/screens/avatar_picker/emoji_tab.d.ts +1 -2
- package/build/screens/avatar_picker/emoji_tab.d.ts.map +1 -1
- package/build/screens/avatar_picker/emoji_tab.js +12 -13
- package/build/screens/avatar_picker/emoji_tab.js.map +1 -1
- package/build/screens/avatar_picker/icon_grid.d.ts +1 -2
- package/build/screens/avatar_picker/icon_grid.d.ts.map +1 -1
- package/build/screens/avatar_picker/icon_grid.js +4 -5
- package/build/screens/avatar_picker/icon_grid.js.map +1 -1
- package/build/screens/avatar_picker/upload_tab.d.ts +1 -2
- package/build/screens/avatar_picker/upload_tab.d.ts.map +1 -1
- package/build/screens/avatar_picker/upload_tab.js +3 -4
- package/build/screens/avatar_picker/upload_tab.js.map +1 -1
- package/build/screens/bug_report_screen.d.ts +1 -2
- package/build/screens/bug_report_screen.d.ts.map +1 -1
- package/build/screens/bug_report_screen.js +11 -117
- package/build/screens/bug_report_screen.js.map +1 -1
- package/build/screens/conversation/message_read_receipts_screen.d.ts +1 -2
- package/build/screens/conversation/message_read_receipts_screen.d.ts.map +1 -1
- package/build/screens/conversation/message_read_receipts_screen.js +4 -20
- package/build/screens/conversation/message_read_receipts_screen.js.map +1 -1
- package/build/screens/conversation_details_screen.d.ts +1 -2
- package/build/screens/conversation_details_screen.d.ts.map +1 -1
- package/build/screens/conversation_details_screen.js +43 -106
- package/build/screens/conversation_details_screen.js.map +1 -1
- package/build/screens/conversation_filter_recipients/components/checkbox_row.d.ts +1 -1
- package/build/screens/conversation_filter_recipients/components/checkbox_row.d.ts.map +1 -1
- package/build/screens/conversation_filter_recipients/components/checkbox_row.js +3 -9
- package/build/screens/conversation_filter_recipients/components/checkbox_row.js.map +1 -1
- package/build/screens/conversation_filter_recipients/components/header_row.d.ts +1 -1
- package/build/screens/conversation_filter_recipients/components/header_row.d.ts.map +1 -1
- package/build/screens/conversation_filter_recipients/components/header_row.js +2 -12
- package/build/screens/conversation_filter_recipients/components/header_row.js.map +1 -1
- package/build/screens/conversation_filter_recipients/conversation_filter_recipients_screen.d.ts +1 -2
- package/build/screens/conversation_filter_recipients/conversation_filter_recipients_screen.d.ts.map +1 -1
- package/build/screens/conversation_filter_recipients/conversation_filter_recipients_screen.js +20 -44
- package/build/screens/conversation_filter_recipients/conversation_filter_recipients_screen.js.map +1 -1
- package/build/screens/conversation_filters/components/conversation_filters.d.ts +1 -2
- package/build/screens/conversation_filters/components/conversation_filters.d.ts.map +1 -1
- package/build/screens/conversation_filters/components/conversation_filters.js +10 -11
- package/build/screens/conversation_filters/components/conversation_filters.js.map +1 -1
- package/build/screens/conversation_filters/components/rows.d.ts +6 -6
- package/build/screens/conversation_filters/components/rows.d.ts.map +1 -1
- package/build/screens/conversation_filters/components/rows.js +7 -34
- package/build/screens/conversation_filters/components/rows.js.map +1 -1
- package/build/screens/conversation_filters/context/conversation_filter_context.d.ts +1 -1
- package/build/screens/conversation_filters/context/conversation_filter_context.d.ts.map +1 -1
- package/build/screens/conversation_filters/context/conversation_filter_context.js +2 -1
- package/build/screens/conversation_filters/context/conversation_filter_context.js.map +1 -1
- package/build/screens/conversation_filters/group_filters.d.ts +1 -2
- package/build/screens/conversation_filters/group_filters.d.ts.map +1 -1
- package/build/screens/conversation_filters/group_filters.js +2 -2
- package/build/screens/conversation_filters/group_filters.js.map +1 -1
- package/build/screens/conversation_filters/team_filters.d.ts +1 -2
- package/build/screens/conversation_filters/team_filters.d.ts.map +1 -1
- package/build/screens/conversation_filters/team_filters.js +2 -2
- package/build/screens/conversation_filters/team_filters.js.map +1 -1
- package/build/screens/conversation_filters_screen.d.ts +1 -2
- package/build/screens/conversation_filters_screen.d.ts.map +1 -1
- package/build/screens/conversation_filters_screen.js +4 -16
- package/build/screens/conversation_filters_screen.js.map +1 -1
- package/build/screens/conversation_new/components/avatar_selection_row.d.ts +2 -3
- package/build/screens/conversation_new/components/avatar_selection_row.d.ts.map +1 -1
- package/build/screens/conversation_new/components/avatar_selection_row.js +6 -16
- package/build/screens/conversation_new/components/avatar_selection_row.js.map +1 -1
- package/build/screens/conversation_new/components/filter_by_plan.d.ts +3 -4
- package/build/screens/conversation_new/components/filter_by_plan.d.ts.map +1 -1
- package/build/screens/conversation_new/components/filter_by_plan.js +22 -46
- package/build/screens/conversation_new/components/filter_by_plan.js.map +1 -1
- package/build/screens/conversation_new/components/form_list.d.ts +2 -3
- package/build/screens/conversation_new/components/form_list.d.ts.map +1 -1
- package/build/screens/conversation_new/components/form_list.js +4 -6
- package/build/screens/conversation_new/components/form_list.js.map +1 -1
- package/build/screens/conversation_new/components/gender_filter_toggle.d.ts +1 -2
- package/build/screens/conversation_new/components/gender_filter_toggle.d.ts.map +1 -1
- package/build/screens/conversation_new/components/gender_filter_toggle.js +4 -20
- package/build/screens/conversation_new/components/gender_filter_toggle.js.map +1 -1
- package/build/screens/conversation_new/components/groups_form.d.ts +1 -2
- package/build/screens/conversation_new/components/groups_form.d.ts.map +1 -1
- package/build/screens/conversation_new/components/groups_form.js +4 -30
- package/build/screens/conversation_new/components/groups_form.js.map +1 -1
- package/build/screens/conversation_new/components/services_form.d.ts +1 -2
- package/build/screens/conversation_new/components/services_form.d.ts.map +1 -1
- package/build/screens/conversation_new/components/services_form.js +27 -61
- package/build/screens/conversation_new/components/services_form.js.map +1 -1
- package/build/screens/conversation_new/components/source_app_error_card.d.ts +1 -1
- package/build/screens/conversation_new/components/source_app_error_card.d.ts.map +1 -1
- package/build/screens/conversation_new/components/source_app_error_card.js +2 -3
- package/build/screens/conversation_new/components/source_app_error_card.js.map +1 -1
- package/build/screens/conversation_new/conversation_new_screen.d.ts +1 -2
- package/build/screens/conversation_new/conversation_new_screen.d.ts.map +1 -1
- package/build/screens/conversation_new/conversation_new_screen.js +4 -4
- package/build/screens/conversation_new/conversation_new_screen.js.map +1 -1
- package/build/screens/conversation_notification_level_select_screen.d.ts +1 -2
- package/build/screens/conversation_notification_level_select_screen.d.ts.map +1 -1
- package/build/screens/conversation_notification_level_select_screen.js +4 -6
- package/build/screens/conversation_notification_level_select_screen.js.map +1 -1
- package/build/screens/conversation_screen.d.ts +2 -3
- package/build/screens/conversation_screen.d.ts.map +1 -1
- package/build/screens/conversation_screen.js +26 -65
- package/build/screens/conversation_screen.js.map +1 -1
- package/build/screens/conversation_select_recipients/components/groups_recipient_row.d.ts +1 -1
- package/build/screens/conversation_select_recipients/components/groups_recipient_row.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/components/groups_recipient_row.js +2 -1
- package/build/screens/conversation_select_recipients/components/groups_recipient_row.js.map +1 -1
- package/build/screens/conversation_select_recipients/components/recipient_link_row.d.ts +1 -2
- package/build/screens/conversation_select_recipients/components/recipient_link_row.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/components/recipient_link_row.js +2 -15
- package/build/screens/conversation_select_recipients/components/recipient_link_row.js.map +1 -1
- package/build/screens/conversation_select_recipients/components/restricted_group_row.d.ts +1 -2
- package/build/screens/conversation_select_recipients/components/restricted_group_row.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/components/restricted_group_row.js +2 -14
- package/build/screens/conversation_select_recipients/components/restricted_group_row.js.map +1 -1
- package/build/screens/conversation_select_recipients/components/team_recipient_row.d.ts +1 -1
- package/build/screens/conversation_select_recipients/components/team_recipient_row.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/components/team_recipient_row.js +2 -1
- package/build/screens/conversation_select_recipients/components/team_recipient_row.js.map +1 -1
- package/build/screens/conversation_select_recipients/components/view_more_link_row.d.ts +1 -1
- package/build/screens/conversation_select_recipients/components/view_more_link_row.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/components/view_more_link_row.js +2 -5
- package/build/screens/conversation_select_recipients/components/view_more_link_row.js.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_new_entry_screen.d.ts +1 -2
- package/build/screens/conversation_select_recipients/conversation_new_entry_screen.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_new_entry_screen.js +4 -11
- package/build/screens/conversation_select_recipients/conversation_new_entry_screen.js.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.d.ts +1 -1
- package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js +24 -85
- package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.d.ts +1 -2
- package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.js +7 -14
- package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.js.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.d.ts +1 -2
- package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.js +15 -18
- package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.js.map +1 -1
- package/build/screens/conversation_select_recipients/types/screen_props.d.ts +2 -0
- package/build/screens/conversation_select_recipients/types/screen_props.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/types/screen_props.js.map +1 -1
- package/build/screens/conversation_select_type_screen.d.ts +1 -2
- package/build/screens/conversation_select_type_screen.d.ts.map +1 -1
- package/build/screens/conversation_select_type_screen.js +3 -10
- package/build/screens/conversation_select_type_screen.js.map +1 -1
- package/build/screens/conversations/components/chat_group_badge.d.ts +1 -2
- package/build/screens/conversations/components/chat_group_badge.d.ts.map +1 -1
- package/build/screens/conversations/components/chat_group_badge.js +3 -4
- package/build/screens/conversations/components/chat_group_badge.js.map +1 -1
- package/build/screens/conversations/components/list_header_action_button.d.ts +1 -2
- package/build/screens/conversations/components/list_header_action_button.d.ts.map +1 -1
- package/build/screens/conversations/components/list_header_action_button.js +3 -5
- package/build/screens/conversations/components/list_header_action_button.js.map +1 -1
- package/build/screens/conversations/components/list_header_component.d.ts +1 -2
- package/build/screens/conversations/components/list_header_component.d.ts.map +1 -1
- package/build/screens/conversations/components/list_header_component.js +19 -42
- package/build/screens/conversations/components/list_header_component.js.map +1 -1
- package/build/screens/conversations/conversations_screen.d.ts +1 -2
- package/build/screens/conversations/conversations_screen.d.ts.map +1 -1
- package/build/screens/conversations/conversations_screen.js +2 -6
- package/build/screens/conversations/conversations_screen.js.map +1 -1
- package/build/screens/design_system_screen.d.ts +1 -2
- package/build/screens/design_system_screen.d.ts.map +1 -1
- package/build/screens/design_system_screen.js +35 -558
- package/build/screens/design_system_screen.js.map +1 -1
- package/build/screens/get_help_screen.d.ts +1 -1
- package/build/screens/get_help_screen.d.ts.map +1 -1
- package/build/screens/get_help_screen.js +4 -25
- package/build/screens/get_help_screen.js.map +1 -1
- package/build/screens/group_notification_level_select_screen.d.ts +1 -2
- package/build/screens/group_notification_level_select_screen.d.ts.map +1 -1
- package/build/screens/group_notification_level_select_screen.js +2 -4
- package/build/screens/group_notification_level_select_screen.js.map +1 -1
- package/build/screens/group_notification_settings_screen.d.ts +1 -2
- package/build/screens/group_notification_settings_screen.d.ts.map +1 -1
- package/build/screens/group_notification_settings_screen.js +3 -25
- package/build/screens/group_notification_settings_screen.js.map +1 -1
- package/build/screens/message_actions_screen.d.ts +1 -2
- package/build/screens/message_actions_screen.d.ts.map +1 -1
- package/build/screens/message_actions_screen.js +12 -28
- package/build/screens/message_actions_screen.js.map +1 -1
- package/build/screens/message_report/components/message_preview.d.ts +1 -2
- package/build/screens/message_report/components/message_preview.d.ts.map +1 -1
- package/build/screens/message_report/components/message_preview.js +2 -22
- package/build/screens/message_report/components/message_preview.js.map +1 -1
- package/build/screens/message_report/components/report_reason_list.d.ts +1 -2
- package/build/screens/message_report/components/report_reason_list.d.ts.map +1 -1
- package/build/screens/message_report/components/report_reason_list.js +4 -13
- package/build/screens/message_report/components/report_reason_list.js.map +1 -1
- package/build/screens/message_report_screen.d.ts +1 -2
- package/build/screens/message_report_screen.d.ts.map +1 -1
- package/build/screens/message_report_screen.js +9 -61
- package/build/screens/message_report_screen.js.map +1 -1
- package/build/screens/not_found.d.ts +1 -2
- package/build/screens/not_found.d.ts.map +1 -1
- package/build/screens/not_found.js +2 -5
- package/build/screens/not_found.js.map +1 -1
- package/build/screens/notification_settings/hooks/groups.d.ts +1 -1
- package/build/screens/notification_settings/hooks/groups.d.ts.map +1 -1
- package/build/screens/notification_settings_screen.d.ts +1 -2
- package/build/screens/notification_settings_screen.d.ts.map +1 -1
- package/build/screens/notification_settings_screen.js +28 -66
- package/build/screens/notification_settings_screen.js.map +1 -1
- package/build/screens/preferred_app_selection_screen.d.ts +1 -2
- package/build/screens/preferred_app_selection_screen.d.ts.map +1 -1
- package/build/screens/preferred_app_selection_screen.js +3 -21
- package/build/screens/preferred_app_selection_screen.js.map +1 -1
- package/build/screens/reactions_screen.d.ts +1 -2
- package/build/screens/reactions_screen.d.ts.map +1 -1
- package/build/screens/reactions_screen.js +7 -19
- package/build/screens/reactions_screen.js.map +1 -1
- package/build/screens/send_giphy_screen.d.ts +1 -2
- package/build/screens/send_giphy_screen.d.ts.map +1 -1
- package/build/screens/send_giphy_screen.js +5 -31
- package/build/screens/send_giphy_screen.js.map +1 -1
- package/build/screens/settings_screen.d.ts +1 -2
- package/build/screens/settings_screen.d.ts.map +1 -1
- package/build/screens/settings_screen.js +4 -26
- package/build/screens/settings_screen.js.map +1 -1
- package/build/screens/system_message_people_screen.d.ts +1 -2
- package/build/screens/system_message_people_screen.d.ts.map +1 -1
- package/build/screens/system_message_people_screen.js +4 -10
- package/build/screens/system_message_people_screen.js.map +1 -1
- package/build/screens/team_conversation_screen.d.ts +1 -1
- package/build/screens/team_conversation_screen.d.ts.map +1 -1
- package/build/screens/team_conversation_screen.js +4 -12
- package/build/screens/team_conversation_screen.js.map +1 -1
- package/build/types/resources/direct_message_candidate.d.ts +1 -0
- package/build/types/resources/direct_message_candidate.d.ts.map +1 -1
- package/build/types/resources/direct_message_candidate.js.map +1 -1
- package/build/types/resources/member.d.ts +1 -0
- package/build/types/resources/member.d.ts.map +1 -1
- package/build/types/resources/member.js.map +1 -1
- package/build/types/resources/member_ability.d.ts +1 -0
- package/build/types/resources/member_ability.d.ts.map +1 -1
- package/build/types/resources/member_ability.js.map +1 -1
- package/build/utils/sha_256.js.map +1 -1
- package/build/utils/system_messages.d.ts +1 -1
- package/build/utils/system_messages.d.ts.map +1 -1
- package/build/utils/system_messages.js.map +1 -1
- package/build/utils/theme.d.ts +2 -2
- package/build/utils/theme.d.ts.map +1 -1
- package/build/utils/theme.js +6 -3
- package/build/utils/theme.js.map +1 -1
- package/package.json +12 -12
- package/src/__tests__/hooks/resolve_message_available_members_link.test.ts +72 -0
- package/src/__tests__/hooks/use_attachment_uploader.test.tsx +1 -0
- package/src/__tests__/hooks/use_font_scale.test.ts +7 -3
- package/src/__tests__/utils/native_adapters/configuration.ts +1 -1
- package/src/__tests__/utils/system_messages.ts +1 -1
- package/src/__tests__/utils/uri.ts +8 -50
- package/src/__utils__/handlers.ts +5 -6
- package/src/components/conversation/attachments/attachment_deleting_overlay.tsx +10 -3
- package/src/components/conversation/messages_disabled_banners.tsx +31 -4
- package/src/components/page/__tests__/component_error_boundary.test.tsx +1 -1
- package/src/components/page/__tests__/error_boundary.test.tsx +6 -2
- package/src/components/page/__tests__/page_error_boundary.test.tsx +1 -1
- package/src/hooks/direct_messages/find_direct_message_conversation.ts +16 -0
- package/src/hooks/direct_messages/resolve_message_available_members_link.ts +42 -0
- package/src/hooks/direct_messages/use_find_or_create_direct_message_conversation.ts +2 -11
- package/src/hooks/direct_messages/use_message_available_members.ts +65 -0
- package/src/hooks/direct_messages/use_message_available_members_action.ts +34 -0
- package/src/hooks/use_conversation.ts +1 -0
- package/src/index.tsx +2 -1
- package/src/polyfills/events/EventTarget.ts +1 -1
- package/src/screens/conversation_screen.tsx +9 -1
- package/src/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.tsx +18 -4
- package/src/screens/conversation_select_recipients/types/screen_props.tsx +2 -0
- package/src/types/resources/direct_message_candidate.ts +5 -0
- package/src/types/resources/member.ts +1 -0
- package/src/types/resources/member_ability.ts +1 -0
- package/src/utils/sha_256.ts +24 -24
- package/src/utils/system_messages.ts +1 -1
- package/src/utils/theme.ts +9 -4
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { http, HttpResponse } from 'msw'
|
|
2
|
-
import { JSONAPIResponse } from '../types'
|
|
1
|
+
import { http, HttpResponse, type JsonBodyType } from 'msw'
|
|
3
2
|
import DefaultFixtures from './fixtures/defaults'
|
|
4
3
|
|
|
5
4
|
export const BASE_URL = 'https://api.pco.test/chat/v2'
|
|
@@ -13,25 +12,25 @@ export const handlers = [
|
|
|
13
12
|
del(BASE_URL + '/records/:id'),
|
|
14
13
|
]
|
|
15
14
|
|
|
16
|
-
function get(url: string, mockedResponse:
|
|
15
|
+
function get(url: string, mockedResponse: JsonBodyType, mockedStatus: number = 200) {
|
|
17
16
|
return http.get(url, () => {
|
|
18
17
|
return HttpResponse.json(mockedResponse, { status: mockedStatus })
|
|
19
18
|
})
|
|
20
19
|
}
|
|
21
20
|
|
|
22
|
-
function post(url: string, mockedResponse:
|
|
21
|
+
function post(url: string, mockedResponse: JsonBodyType, mockedStatus: number = 200) {
|
|
23
22
|
return http.post(url, () => {
|
|
24
23
|
return HttpResponse.json(mockedResponse, { status: mockedStatus })
|
|
25
24
|
})
|
|
26
25
|
}
|
|
27
26
|
|
|
28
|
-
function del(url: string, mockedResponse?:
|
|
27
|
+
function del(url: string, mockedResponse?: JsonBodyType, mockedStatus: number = 200) {
|
|
29
28
|
return http.delete(url, () => {
|
|
30
29
|
return HttpResponse.json(mockedResponse, { status: mockedStatus })
|
|
31
30
|
})
|
|
32
31
|
}
|
|
33
32
|
|
|
34
|
-
function patch(url: string, mockedResponse:
|
|
33
|
+
function patch(url: string, mockedResponse: JsonBodyType, mockedStatus: number = 200) {
|
|
35
34
|
return http.patch(url, () => {
|
|
36
35
|
return HttpResponse.json(mockedResponse, { status: mockedStatus })
|
|
37
36
|
})
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
1
|
import { View, StyleSheet } from 'react-native'
|
|
3
2
|
import { useTheme } from '../../../hooks'
|
|
4
3
|
import { Spinner } from '../../display'
|
|
@@ -19,14 +18,22 @@ const useStyles = () => {
|
|
|
19
18
|
|
|
20
19
|
return StyleSheet.create({
|
|
21
20
|
container: {
|
|
22
|
-
|
|
21
|
+
position: 'absolute',
|
|
22
|
+
top: 0,
|
|
23
|
+
left: 0,
|
|
24
|
+
right: 0,
|
|
25
|
+
bottom: 0,
|
|
23
26
|
justifyContent: 'center',
|
|
24
27
|
alignItems: 'center',
|
|
25
28
|
borderRadius: 8,
|
|
26
29
|
overflow: 'hidden',
|
|
27
30
|
},
|
|
28
31
|
overlay: {
|
|
29
|
-
|
|
32
|
+
position: 'absolute',
|
|
33
|
+
top: 0,
|
|
34
|
+
left: 0,
|
|
35
|
+
right: 0,
|
|
36
|
+
bottom: 0,
|
|
30
37
|
backgroundColor: colors.fillColorNeutral070,
|
|
31
38
|
opacity: 0.5,
|
|
32
39
|
},
|
|
@@ -3,7 +3,7 @@ import { useSafeAreaInsets } from 'react-native-safe-area-context'
|
|
|
3
3
|
import { useTheme } from '../../hooks'
|
|
4
4
|
import type { ConversationDisabledReason } from '../../types'
|
|
5
5
|
import { ADULT_REQUIREMENT_BODY } from '../../utils'
|
|
6
|
-
import { Text } from '../display'
|
|
6
|
+
import { Button, Text } from '../display'
|
|
7
7
|
|
|
8
8
|
export const LeaderMessagesDisabledBanner = () => {
|
|
9
9
|
return (
|
|
@@ -31,22 +31,37 @@ const DEFAULT_DISABLED_TEXT = 'This conversation has been disabled.'
|
|
|
31
31
|
|
|
32
32
|
interface ConversationDisabledBannerProps {
|
|
33
33
|
disabledReason?: ConversationDisabledReason
|
|
34
|
+
messageLink?: { label: string; onPress: () => void }
|
|
34
35
|
}
|
|
35
36
|
|
|
36
|
-
export const ConversationDisabledBanner = ({
|
|
37
|
+
export const ConversationDisabledBanner = ({
|
|
38
|
+
disabledReason,
|
|
39
|
+
messageLink,
|
|
40
|
+
}: ConversationDisabledBannerProps) => {
|
|
37
41
|
const styles = useStyles()
|
|
38
42
|
const description =
|
|
39
43
|
(disabledReason && DISABLED_REASON_TEXT[disabledReason]) ?? DEFAULT_DISABLED_TEXT
|
|
40
44
|
|
|
41
|
-
return
|
|
45
|
+
return (
|
|
46
|
+
<MessagesDisabledBanner
|
|
47
|
+
description={description}
|
|
48
|
+
style={styles.memberBanner}
|
|
49
|
+
messageLink={messageLink}
|
|
50
|
+
/>
|
|
51
|
+
)
|
|
42
52
|
}
|
|
43
53
|
|
|
44
54
|
interface MessagesDisabledBannerProps {
|
|
45
55
|
description: string
|
|
46
56
|
style?: ViewStyle
|
|
57
|
+
messageLink?: { label: string; onPress: () => void }
|
|
47
58
|
}
|
|
48
59
|
|
|
49
|
-
const MessagesDisabledBanner = ({
|
|
60
|
+
const MessagesDisabledBanner = ({
|
|
61
|
+
description,
|
|
62
|
+
style,
|
|
63
|
+
messageLink,
|
|
64
|
+
}: MessagesDisabledBannerProps) => {
|
|
50
65
|
const styles = useStyles()
|
|
51
66
|
|
|
52
67
|
return (
|
|
@@ -54,6 +69,15 @@ const MessagesDisabledBanner = ({ description, style }: MessagesDisabledBannerPr
|
|
|
54
69
|
<Text style={styles.text} variant="tertiary">
|
|
55
70
|
{description}
|
|
56
71
|
</Text>
|
|
72
|
+
{messageLink && (
|
|
73
|
+
<Button
|
|
74
|
+
variant="fill"
|
|
75
|
+
size="lg"
|
|
76
|
+
title={messageLink.label}
|
|
77
|
+
onPress={messageLink.onPress}
|
|
78
|
+
style={styles.messageButton}
|
|
79
|
+
/>
|
|
80
|
+
)}
|
|
57
81
|
</View>
|
|
58
82
|
)
|
|
59
83
|
}
|
|
@@ -78,5 +102,8 @@ const useStyles = () => {
|
|
|
78
102
|
paddingBottom: 16 + bottom,
|
|
79
103
|
marginBottom: -bottom,
|
|
80
104
|
},
|
|
105
|
+
messageButton: {
|
|
106
|
+
marginTop: 12,
|
|
107
|
+
},
|
|
81
108
|
})
|
|
82
109
|
}
|
|
@@ -4,7 +4,7 @@ import { Text } from 'react-native'
|
|
|
4
4
|
import { Log } from '../../../utils/native_adapters/configuration'
|
|
5
5
|
import { ComponentErrorBoundary } from '../component_error_boundary'
|
|
6
6
|
|
|
7
|
-
function Boom({ thrown }: { thrown: unknown }) {
|
|
7
|
+
function Boom({ thrown }: { thrown: unknown }): React.ReactElement {
|
|
8
8
|
throw thrown
|
|
9
9
|
}
|
|
10
10
|
|
|
@@ -6,7 +6,7 @@ import { Log } from '../../../utils/native_adapters/configuration'
|
|
|
6
6
|
import { ResponseError } from '../../../utils/response_error'
|
|
7
7
|
import { ErrorBoundary } from '../error_boundary'
|
|
8
8
|
|
|
9
|
-
function Boom({ thrown }: { thrown: unknown }) {
|
|
9
|
+
function Boom({ thrown }: { thrown: unknown }): React.ReactElement {
|
|
10
10
|
throw thrown
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -46,7 +46,11 @@ describe('ErrorBoundary', () => {
|
|
|
46
46
|
})
|
|
47
47
|
|
|
48
48
|
it('does not report ResponseError — those are owned by the HTTP layer', () => {
|
|
49
|
-
const failure = {
|
|
49
|
+
const failure = {
|
|
50
|
+
status: 500,
|
|
51
|
+
statusText: 'Server Error',
|
|
52
|
+
errors: [],
|
|
53
|
+
} as unknown as FailedResponse
|
|
50
54
|
|
|
51
55
|
render(
|
|
52
56
|
<ErrorBoundary fallback={null}>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ApiCollection, ConversationResource } from '../../types'
|
|
2
|
+
import { ApiClient } from '../use_api_client'
|
|
3
|
+
|
|
4
|
+
export const getFindDirectMessageConversationRequestArgs = (participantIds: string[]) => ({
|
|
5
|
+
url: '/me/conversations',
|
|
6
|
+
data: {
|
|
7
|
+
fields: { Conversation: ['title', 'disabled'] },
|
|
8
|
+
filter: 'with_exact_direct_message_participants',
|
|
9
|
+
participant_ids: participantIds.join(','),
|
|
10
|
+
},
|
|
11
|
+
})
|
|
12
|
+
|
|
13
|
+
export const findDirectMessageConversation = (apiClient: ApiClient, participantIds: string[]) =>
|
|
14
|
+
apiClient.chat.get(getFindDirectMessageConversationRequestArgs(participantIds)) as Promise<
|
|
15
|
+
ApiCollection<ConversationResource>
|
|
16
|
+
>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ConversationResource } from '../../types'
|
|
2
|
+
import { PreselectedDirectMessagePerson } from '../../types/resources/direct_message_candidate'
|
|
3
|
+
import { MemberResource } from '../../types/resources/member'
|
|
4
|
+
|
|
5
|
+
export type MessageAvailableMembersLink =
|
|
6
|
+
| { label: string; existingConversationId: number }
|
|
7
|
+
| { label: string; recipients: PreselectedDirectMessagePerson[] }
|
|
8
|
+
|
|
9
|
+
export function resolveMessageAvailableMembersLink({
|
|
10
|
+
availableMembers,
|
|
11
|
+
existingConversations,
|
|
12
|
+
canMessageAvailableMembers,
|
|
13
|
+
}: {
|
|
14
|
+
availableMembers: Pick<MemberResource, 'id' | 'name' | 'avatar'>[]
|
|
15
|
+
existingConversations: Pick<ConversationResource, 'id' | 'disabled'>[] | undefined
|
|
16
|
+
canMessageAvailableMembers: boolean
|
|
17
|
+
}): MessageAvailableMembersLink | undefined {
|
|
18
|
+
if (availableMembers.length === 0 || !existingConversations) return undefined
|
|
19
|
+
|
|
20
|
+
const label =
|
|
21
|
+
availableMembers.length === 1
|
|
22
|
+
? `Message ${availableMembers[0].name.split(' ')[0]}`
|
|
23
|
+
: `Message the remaining ${availableMembers.length} people`
|
|
24
|
+
|
|
25
|
+
const existingConversation = existingConversations[0]
|
|
26
|
+
if (existingConversation) {
|
|
27
|
+
return existingConversation.disabled
|
|
28
|
+
? undefined
|
|
29
|
+
: { label, existingConversationId: Number(existingConversation.id) }
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (!canMessageAvailableMembers) return undefined
|
|
33
|
+
|
|
34
|
+
return {
|
|
35
|
+
label,
|
|
36
|
+
recipients: availableMembers.map(m => ({
|
|
37
|
+
id: m.id.toString(),
|
|
38
|
+
name: m.name,
|
|
39
|
+
avatar: m.avatar,
|
|
40
|
+
})),
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
import { useQuery } from '@tanstack/react-query'
|
|
2
2
|
import { useState, useCallback } from 'react'
|
|
3
|
-
import {
|
|
3
|
+
import { ApiResource, ConversationResource } from '../../types'
|
|
4
4
|
import { ApiClient, useApiClient } from '../use_api_client'
|
|
5
|
-
|
|
6
|
-
const findDirectMessageConversation = (apiClient: ApiClient, participantIds: string[]) =>
|
|
7
|
-
apiClient.chat.get({
|
|
8
|
-
url: '/me/conversations',
|
|
9
|
-
data: {
|
|
10
|
-
fields: { Conversation: ['title'] },
|
|
11
|
-
filter: 'with_exact_direct_message_participants',
|
|
12
|
-
participant_ids: participantIds.join(','),
|
|
13
|
-
},
|
|
14
|
-
}) as Promise<ApiCollection<ConversationResource>>
|
|
5
|
+
import { findDirectMessageConversation } from './find_direct_message_conversation'
|
|
15
6
|
|
|
16
7
|
const createDirectMessageConversation = (apiClient: ApiClient, ids: string[]) =>
|
|
17
8
|
apiClient.chat.post({
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { useQuery } from '@tanstack/react-query'
|
|
2
|
+
import { useMemo } from 'react'
|
|
3
|
+
import { ConversationResource } from '../../types'
|
|
4
|
+
import { MemberResource } from '../../types/resources/member'
|
|
5
|
+
import { useApiGet } from '../use_api'
|
|
6
|
+
import { useApiClient } from '../use_api_client'
|
|
7
|
+
import { useCurrentPerson } from '../use_current_person'
|
|
8
|
+
import { getRequestQueryKey } from '../use_suspense_api'
|
|
9
|
+
import {
|
|
10
|
+
findDirectMessageConversation,
|
|
11
|
+
getFindDirectMessageConversationRequestArgs,
|
|
12
|
+
} from './find_direct_message_conversation'
|
|
13
|
+
import {
|
|
14
|
+
MessageAvailableMembersLink,
|
|
15
|
+
resolveMessageAvailableMembersLink,
|
|
16
|
+
} from './resolve_message_available_members_link'
|
|
17
|
+
|
|
18
|
+
export function useMessageAvailableMembers(
|
|
19
|
+
conversation: ConversationResource,
|
|
20
|
+
{ enabled }: { enabled: boolean }
|
|
21
|
+
): MessageAvailableMembersLink | undefined {
|
|
22
|
+
const apiClient = useApiClient()
|
|
23
|
+
const currentPerson = useCurrentPerson()
|
|
24
|
+
|
|
25
|
+
const { data: members } = useApiGet<MemberResource[]>(
|
|
26
|
+
{
|
|
27
|
+
url: `/me/conversations/${conversation.id}/members`,
|
|
28
|
+
data: { fields: { Member: ['name', 'avatar', 'direct_messages_disabled'] } },
|
|
29
|
+
},
|
|
30
|
+
{ enabled }
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
const availableMembers = useMemo(() => {
|
|
34
|
+
if (!enabled || !members) return []
|
|
35
|
+
|
|
36
|
+
const currentMember = members.find(m => m.id === currentPerson.id)
|
|
37
|
+
if (currentMember?.directMessagesDisabled) return []
|
|
38
|
+
|
|
39
|
+
return members.filter(m => m.id !== currentPerson.id && !m.directMessagesDisabled)
|
|
40
|
+
}, [enabled, members, currentPerson.id])
|
|
41
|
+
|
|
42
|
+
const availablePersonIds = useMemo(() => availableMembers.map(m => m.id), [availableMembers])
|
|
43
|
+
|
|
44
|
+
const { data: existingDirectMessageData } = useQuery({
|
|
45
|
+
queryKey: getRequestQueryKey(
|
|
46
|
+
getFindDirectMessageConversationRequestArgs(availablePersonIds.map(String))
|
|
47
|
+
),
|
|
48
|
+
queryFn: () => findDirectMessageConversation(apiClient, availablePersonIds.map(String)),
|
|
49
|
+
enabled: availablePersonIds.length > 0,
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
return useMemo(
|
|
53
|
+
() =>
|
|
54
|
+
resolveMessageAvailableMembersLink({
|
|
55
|
+
availableMembers,
|
|
56
|
+
existingConversations: existingDirectMessageData?.data,
|
|
57
|
+
canMessageAvailableMembers: !!conversation.memberAbility?.canMessageAvailableMembers,
|
|
58
|
+
}),
|
|
59
|
+
[
|
|
60
|
+
availableMembers,
|
|
61
|
+
existingDirectMessageData,
|
|
62
|
+
conversation.memberAbility?.canMessageAvailableMembers,
|
|
63
|
+
]
|
|
64
|
+
)
|
|
65
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { StackActions, useNavigation } from '@react-navigation/native'
|
|
2
|
+
import { ConversationResource } from '../../types'
|
|
3
|
+
import { useMessageAvailableMembers } from './use_message_available_members'
|
|
4
|
+
|
|
5
|
+
export function useMessageAvailableMembersAction(conversation: ConversationResource) {
|
|
6
|
+
const navigation = useNavigation()
|
|
7
|
+
const isDmDisabled =
|
|
8
|
+
!!conversation.disabled && conversation.disabledReason === 'direct_messages_disabled'
|
|
9
|
+
const messageAvailableMembersLink = useMessageAvailableMembers(conversation, {
|
|
10
|
+
enabled: isDmDisabled,
|
|
11
|
+
})
|
|
12
|
+
|
|
13
|
+
if (!messageAvailableMembersLink) return undefined
|
|
14
|
+
|
|
15
|
+
return {
|
|
16
|
+
label: messageAvailableMembersLink.label,
|
|
17
|
+
onPress: () => {
|
|
18
|
+
if ('existingConversationId' in messageAvailableMembersLink) {
|
|
19
|
+
// replace instead of navigate/push so the disabled conversation isn't
|
|
20
|
+
// left in the back stack as a dead end
|
|
21
|
+
navigation.dispatch(
|
|
22
|
+
StackActions.replace('Conversation', {
|
|
23
|
+
conversation_id: messageAvailableMembersLink.existingConversationId,
|
|
24
|
+
})
|
|
25
|
+
)
|
|
26
|
+
} else {
|
|
27
|
+
navigation.navigate('New', {
|
|
28
|
+
screen: 'ConversationSelectDirectMessageRecipients',
|
|
29
|
+
params: { preselected_people: messageAvailableMembersLink.recipients },
|
|
30
|
+
})
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
}
|
|
34
|
+
}
|
package/src/index.tsx
CHANGED
|
@@ -12,7 +12,8 @@ export { default as Event } from './polyfills/events/Event'
|
|
|
12
12
|
export * from './screens'
|
|
13
13
|
export { AgeCheckUnderageScreen } from './screens/age_check/age_check_underage_screen' // TODO: add to barrel
|
|
14
14
|
export * from './types'
|
|
15
|
-
export {
|
|
15
|
+
export { platformFontWeightBold, Session, Uri } from './utils'
|
|
16
|
+
export type { ENV, TemporaryDefaultColorsType } from './utils'
|
|
16
17
|
export * from './utils/client'
|
|
17
18
|
export * from './utils/host_bridge'
|
|
18
19
|
export * from './utils/native_adapters'
|
|
@@ -142,7 +142,7 @@ export default class EventTarget {
|
|
|
142
142
|
|
|
143
143
|
removeEventListener(
|
|
144
144
|
type: string,
|
|
145
|
-
callback: EventListener,
|
|
145
|
+
callback: EventListener | null,
|
|
146
146
|
optionsOrUseCapture: EventListenerOptions | boolean = {}
|
|
147
147
|
): void {
|
|
148
148
|
if (arguments.length < 2) {
|
|
@@ -28,6 +28,7 @@ import { KeyboardView } from '../components/display/keyboard_view'
|
|
|
28
28
|
import BlankState from '../components/primitive/blank_state_primitive'
|
|
29
29
|
import { ConversationContextProvider } from '../contexts/conversation_context'
|
|
30
30
|
import { useTheme } from '../hooks'
|
|
31
|
+
import { useMessageAvailableMembersAction } from '../hooks/direct_messages/use_message_available_members_action'
|
|
31
32
|
import { useConversation } from '../hooks/use_conversation'
|
|
32
33
|
import { useConversationJoltEvents } from '../hooks/use_conversation_jolt_events'
|
|
33
34
|
import { useConversationMessages } from '../hooks/use_conversation_messages'
|
|
@@ -251,8 +252,15 @@ function ConversationBottomBar({
|
|
|
251
252
|
currentlyEditingMessage,
|
|
252
253
|
onFlaggedInMessageForm,
|
|
253
254
|
}: ConversationBottomBarProps) {
|
|
255
|
+
const messageLink = useMessageAvailableMembersAction(conversation)
|
|
256
|
+
|
|
254
257
|
if (conversation.disabled)
|
|
255
|
-
return
|
|
258
|
+
return (
|
|
259
|
+
<ConversationDisabledBanner
|
|
260
|
+
disabledReason={conversation.disabledReason}
|
|
261
|
+
messageLink={messageLink}
|
|
262
|
+
/>
|
|
263
|
+
)
|
|
256
264
|
if (!canReply) return <MemberMessagesDisabledBanner />
|
|
257
265
|
return (
|
|
258
266
|
<MessageForm.Root
|
|
@@ -17,16 +17,30 @@ import { ConversationSelectRecipientsScreenProps } from './types/screen_props'
|
|
|
17
17
|
|
|
18
18
|
const MAX_RECIPIENTS = 9
|
|
19
19
|
|
|
20
|
-
export function ConversationSelectDirectMessageRecipientsScreen(
|
|
21
|
-
|
|
22
|
-
) {
|
|
20
|
+
export function ConversationSelectDirectMessageRecipientsScreen({
|
|
21
|
+
route,
|
|
22
|
+
}: ConversationSelectRecipientsScreenProps) {
|
|
23
|
+
const { preselected_people = [] } = route.params ?? {}
|
|
23
24
|
const styles = useStyles()
|
|
24
25
|
const navigation = useNavigation()
|
|
25
26
|
const { featureEnabled } = useFeatures()
|
|
26
27
|
const [searchTerm, setSearchTerm] = useState('')
|
|
27
28
|
const [debouncedTerm, setDebouncedTerm] = useState('')
|
|
28
29
|
const [selectedPeople, setSelectedPeople] = useState<Map<string, DirectMessageCandidateResource>>(
|
|
29
|
-
|
|
30
|
+
() =>
|
|
31
|
+
new Map(
|
|
32
|
+
preselected_people.map(person => [
|
|
33
|
+
person.id,
|
|
34
|
+
{
|
|
35
|
+
...person,
|
|
36
|
+
type: 'DirectMessageCandidate' as const,
|
|
37
|
+
groups: [],
|
|
38
|
+
teams: [],
|
|
39
|
+
under_18: false,
|
|
40
|
+
directMessagesDisabled: false,
|
|
41
|
+
},
|
|
42
|
+
])
|
|
43
|
+
)
|
|
30
44
|
)
|
|
31
45
|
const searchInputRef = useRef<TextInput>(null)
|
|
32
46
|
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { StaticScreenProps } from '@react-navigation/native'
|
|
2
2
|
import { AppName } from '../../../types/resources/app_name'
|
|
3
|
+
import { PreselectedDirectMessagePerson } from '../../../types/resources/direct_message_candidate'
|
|
3
4
|
import { GraphId } from '../../../types/resources/group_resource'
|
|
4
5
|
|
|
5
6
|
export type ConversationSelectRecipientsParams = {
|
|
6
7
|
chat_group_graph_id?: GraphId
|
|
7
8
|
group_source_app_name?: AppName
|
|
9
|
+
preselected_people?: PreselectedDirectMessagePerson[]
|
|
8
10
|
}
|
|
9
11
|
|
|
10
12
|
export type ConversationSelectRecipientsScreenProps =
|
package/src/utils/sha_256.ts
CHANGED
|
@@ -113,7 +113,7 @@ function preprocessMessage(message: number[]): Uint32Array {
|
|
|
113
113
|
const words = new Uint32Array(message.length / 4)
|
|
114
114
|
for (let i = 0; i < message.length; i += 4) {
|
|
115
115
|
words[i / 4] =
|
|
116
|
-
(message[i] << 24) | (message[i + 1] << 16) | (message[i + 2] << 8) | message[i + 3]
|
|
116
|
+
(message[i]! << 24) | (message[i + 1]! << 16) | (message[i + 2]! << 8) | message[i + 3]!
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
return words
|
|
@@ -125,25 +125,25 @@ function processChunk(chunk: Uint32Array, hash: number[]): void {
|
|
|
125
125
|
|
|
126
126
|
// Prepare message schedule
|
|
127
127
|
for (let t = 0; t < 16; t++) {
|
|
128
|
-
W[t] = chunk[t]
|
|
128
|
+
W[t] = chunk[t]!
|
|
129
129
|
}
|
|
130
130
|
for (let t = 16; t < 64; t++) {
|
|
131
|
-
W[t] = (gamma1(W[t - 2]) + W[t - 7] + gamma0(W[t - 15]) + W[t - 16]) >>> 0
|
|
131
|
+
W[t] = (gamma1(W[t - 2]!) + W[t - 7]! + gamma0(W[t - 15]!) + W[t - 16]!) >>> 0
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
// Initialize working variables
|
|
135
|
-
let a = hash[0]
|
|
136
|
-
let b = hash[1]
|
|
137
|
-
let c = hash[2]
|
|
138
|
-
let d = hash[3]
|
|
139
|
-
let e = hash[4]
|
|
140
|
-
let f = hash[5]
|
|
141
|
-
let g = hash[6]
|
|
142
|
-
let h = hash[7]
|
|
135
|
+
let a = hash[0]!
|
|
136
|
+
let b = hash[1]!
|
|
137
|
+
let c = hash[2]!
|
|
138
|
+
let d = hash[3]!
|
|
139
|
+
let e = hash[4]!
|
|
140
|
+
let f = hash[5]!
|
|
141
|
+
let g = hash[6]!
|
|
142
|
+
let h = hash[7]!
|
|
143
143
|
|
|
144
144
|
// Main loop
|
|
145
145
|
for (let t = 0; t < 64; t++) {
|
|
146
|
-
const T1 = (h + sigma1(e) + ch(e, f, g) + K[t] + W[t]) >>> 0
|
|
146
|
+
const T1 = (h + sigma1(e) + ch(e, f, g) + K[t]! + W[t]!) >>> 0
|
|
147
147
|
const T2 = (sigma0(a) + maj(a, b, c)) >>> 0
|
|
148
148
|
h = g
|
|
149
149
|
g = f
|
|
@@ -156,14 +156,14 @@ function processChunk(chunk: Uint32Array, hash: number[]): void {
|
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
// Add compressed chunk to current hash value
|
|
159
|
-
hash[0] = (hash[0] + a) >>> 0
|
|
160
|
-
hash[1] = (hash[1] + b) >>> 0
|
|
161
|
-
hash[2] = (hash[2] + c) >>> 0
|
|
162
|
-
hash[3] = (hash[3] + d) >>> 0
|
|
163
|
-
hash[4] = (hash[4] + e) >>> 0
|
|
164
|
-
hash[5] = (hash[5] + f) >>> 0
|
|
165
|
-
hash[6] = (hash[6] + g) >>> 0
|
|
166
|
-
hash[7] = (hash[7] + h) >>> 0
|
|
159
|
+
hash[0] = (hash[0]! + a) >>> 0
|
|
160
|
+
hash[1] = (hash[1]! + b) >>> 0
|
|
161
|
+
hash[2] = (hash[2]! + c) >>> 0
|
|
162
|
+
hash[3] = (hash[3]! + d) >>> 0
|
|
163
|
+
hash[4] = (hash[4]! + e) >>> 0
|
|
164
|
+
hash[5] = (hash[5]! + f) >>> 0
|
|
165
|
+
hash[6] = (hash[6]! + g) >>> 0
|
|
166
|
+
hash[7] = (hash[7]! + h) >>> 0
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
/** Compute SHA-256 hash and return as byte array */
|
|
@@ -181,10 +181,10 @@ function sha256Raw(message: string): number[] {
|
|
|
181
181
|
// Convert hash to byte array
|
|
182
182
|
const result: number[] = []
|
|
183
183
|
for (let i = 0; i < 8; i++) {
|
|
184
|
-
result.push((hash[i] >>> 24) & 0xff)
|
|
185
|
-
result.push((hash[i] >>> 16) & 0xff)
|
|
186
|
-
result.push((hash[i] >>> 8) & 0xff)
|
|
187
|
-
result.push(hash[i] & 0xff)
|
|
184
|
+
result.push((hash[i]! >>> 24) & 0xff)
|
|
185
|
+
result.push((hash[i]! >>> 16) & 0xff)
|
|
186
|
+
result.push((hash[i]! >>> 8) & 0xff)
|
|
187
|
+
result.push(hash[i]! & 0xff)
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
return result
|
package/src/utils/theme.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Platform, PlatformColor } from 'react-native'
|
|
2
|
+
import type { ColorSchemeName, ColorValue, OpaqueColorValue } from 'react-native'
|
|
2
3
|
import { aliasTokensColorMap } from '../vendor/tapestry/alias_tokens_color_map'
|
|
3
4
|
import { tokens } from '../vendor/tapestry/tokens'
|
|
4
5
|
|
|
@@ -30,7 +31,7 @@ export interface DefaultTheme {
|
|
|
30
31
|
showBadgeProductLogo: boolean
|
|
31
32
|
}
|
|
32
33
|
|
|
33
|
-
export const defaultTheme = (colorScheme: ColorSchemeName): ChatTheme => {
|
|
34
|
+
export const defaultTheme = (colorScheme: ColorSchemeName | null): ChatTheme => {
|
|
34
35
|
const scheme: 'light' | 'dark' = colorScheme === 'dark' ? 'dark' : 'light'
|
|
35
36
|
|
|
36
37
|
const defaultColors = {
|
|
@@ -92,10 +93,14 @@ interface ChatColors {
|
|
|
92
93
|
statusNeutralComposedBackground: string
|
|
93
94
|
}
|
|
94
95
|
|
|
96
|
+
// 'link' is an iOS-only semantic color name — constructing it on Android is
|
|
97
|
+
// undefined behavior, so only build it when the code is actually running on iOS
|
|
98
|
+
const iOSLinkColor = Platform.OS === 'ios' ? PlatformColor('link') : undefined
|
|
99
|
+
|
|
95
100
|
const colorsChatLight: ChatColors = {
|
|
96
101
|
name: 'light',
|
|
97
102
|
androidModalHeaderButtonTextColor: tokens.fillColorInteractionDefault,
|
|
98
|
-
iOSModalHeaderButtonTextColor:
|
|
103
|
+
iOSModalHeaderButtonTextColor: iOSLinkColor,
|
|
99
104
|
buttonStart: undefined,
|
|
100
105
|
buttonEnd: undefined,
|
|
101
106
|
interaction: tokens.fillColorInteractionDefault,
|
|
@@ -138,7 +143,7 @@ const colorsChatLight: ChatColors = {
|
|
|
138
143
|
const colorsChatDark: ChatColors = {
|
|
139
144
|
name: 'dark',
|
|
140
145
|
androidModalHeaderButtonTextColor: tokens.fillColorInteractionDefaultDark,
|
|
141
|
-
iOSModalHeaderButtonTextColor:
|
|
146
|
+
iOSModalHeaderButtonTextColor: iOSLinkColor,
|
|
142
147
|
buttonStart: undefined,
|
|
143
148
|
buttonEnd: undefined,
|
|
144
149
|
interaction: tokens.fillColorInteractionDefaultDark,
|