* refactor: started with draft, done until new tabs for draft
* refactor: change the query and added the screen for draft
* added condition for fetching draft for channel delete or not
* refactor: added draft screen
* linter fixes
* Added draft post component
* added avatar and header display name for the draft post list
* added channel info component
* channel info completed
* proper naming
* added image file markdown acknowledgement support
* draft actions
* Fix the draft receiver in drafts
* separated send message handler
* Done with send drafts
* done with delete drafts
* change save to send draft
* handle lengthy message with show more button
* done with persistent message edit, send and delete drafts
* added alert for sending message
* added update at time for the drafts
* en.json extract fix
* Updated dependencies for useCallback
* refactor: added drafts list to animated list
* added swipeable component and delete conformation for drafts
* done with rendering of images in markdown for drafts
* en.json issue fixed
* fix en.json issue
* refactor: en.json fix
* addressed review comments
* updated image metadata handling code
* linter fixes
* added the empty draft screen
* linter fix
* style fix
* back button an android takes to the channel list page
* en.json fix
* draft actions theme compatible
* CSS fix for draft channel_info and avatar component
* removed the badge icon and change font style drafts
* fix send alert sender name for GMs
* updated snapshot
* added testId to the drafts components
* updated send draft test id
* clicking on draft takes to the channel
* Added toptip for draft tours
* intl extract
* Rebase to main and reverted local testing changes
* Added tooltip for drafts
* addressed review comments
* reset navigation when click on a draft in draft tabs
* fix the theme issue and navigation issue
* reverted back the draft click navigation changes
* observing draft when hitting back button
* removed the unwanted animiation
* updated regex for parsing markdown
* removed unnecessary checks and change folder name
* removed react memo and merge unwanted observes function
* removed unnecessary comments
* changed the name for observing and querying draft function
* removed memo from component level
* Text to FormattedText component
* Text to formatted text, change image name
* added confirmation modal for deleting draft from bottomsheet
* using common send_handler for both draft and post
* removed magic number for tooltip and bottomsheet
* renamed channel_info to draft_post_header
* text to formattedText for Edit drafts
* removed unnecessary changes
* minor fixes
* mounting draft only when there is draft
* map to reduce
* renamed SwipeableDraft to DraftSwipeAction
* name fixes
* isValidUrl to isParsableUrl and added test
* added test and addressed minor review comments
* added inline component for the duplicate code
* inlt fixes
* clearDraft is not optional
* optimised categories_list.tsx component
* Swipeable to ReanimatedSwipeable, TouchableWithoutFeedback to Pressable and folder name changes
* Added comment and disabled eslint rule for showing warning
* fixed component file name
* minor'
* Removed deprecated Animated createAnimatedComponent flatlist
* added test for missing protocol check
* import change for SwipeableMethod
* active tab for tablet view
* Updated the drafts icons
* Updated compass-icon version to v0.1.48
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Add unit tests to actions/remote/retry
* Factor out some common test variables
* add some other test
---------
Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
* Add tests to client/rest/users
* Add tests to client/rest/channels
* Add tests to client/rest/posts
* Add tests to client/rest/teams
* Add tests to client/rest/general
* Minor clean-up
* Add tests to client/rest/file
* Add tests to client/rest/threads
* Add tests to client/rest/emojis
* Add tests to client/rest/integrations
* Add tests to client/rest/categories
* Add tests to client/rest/groups
* Add tests to client/rest/channel_bookmark
* Add tests to client/rest/preferences
* Add tests to client/rest/tos
* Add tests to client/rest/nps and client/rest/plugins
* Minor clean-up
* Fix type error with proper client.searchFiles definition
* add more test to cover 100%
* add teamId test
* improve users test
---------
Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
* fix(MM-49742): broken user avatar
* add border for both focused and unfocused for profile photo on the bottom tab bar
* status size reduced to 12 from default 14
* the size of the profile photo has been reduced from 28 to 22 to be inline with other icons on tab bar
* revert initial commit
* add unit test for Account
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* MM-56899 - prevent app block when setting custom status if no internet
* remove alert and use build in error message
* remove unused translations
* implement pr feedback
* keep function in local file
* remove unnecessary change
* fix placeholder position
* block the done button while the server replies
* add close button to the modal
* Add support to use the keyboard area with a component
* fix import
* add missing providers to involved screens
* Change the way we handle the keyboard to allow using custom components in that area
* review feedback
* Increase branch test coverage for actions/remote/command
* Increase branch test coverage for actions/remote/session
* Increase branch test coverage for actions/remote/post
* prevent overlap of clear button, fix font, reduce space on recent statuses
* remove font size
* prevent newlines on android external keyboard
* move to reducer action
* change newline behaviour to space
* MM-61148 Rewrite table parsing based off cmark-gfm
* MM-61148 Add better error handling to Markdown code
* Use logError instead of console.error
* Switch back to published release
* Update import paths
* refactor to improve requests on login
* include in team sidebar order by display name teams not present in the order preference
* Fix iOS reload while developing
* fix code causing tests to fail
* feedback review
* update network-client
* Add tests for actions/remote/command/executeCommand
* Add tests for actions/remote/command/executeAppCommand
* Add tests for the rest of actions/remote/command
* Add test notification menu
* Reduce the minimum version for testing purposes
* Address feedback
* Add missing strings
* Address feedback
* Fix snapshots
* Bump version limit and use correct link
* Fix tests
* Fix URL issues
* fix: remove ephemeral posts on refresh
* fix: remove ephemeral posts during app launch
* fix: remove code to await the cleanup
* use built in constant instead of string `system_ephemeral`
* remove sort from `queryPostsByType()`
* switch back to the `await` approach in `cleanupEphemeralPosts`
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* feat: Add visible to you text on ephemeral posts
* docs: update localization file
* style: system header of ephemeral post
* feat: visible to you text for ephemeral posts
* update `Post` table schema and migration plan to index `type` column
* use `unsafeExecuteSql()` for adding index during migration
* Update SQL query to create index
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Update docs
* Remove `UNIQUE` from SQL query
Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
* MM-59973: fix the emoji count 0 issue when archive and unarchive channels
* ref to null and initialing it
* refactor: added a safe condition
* refactor code
* more clean up
* clean-ups
* index to tosting as a key to component
* refactor code
* fix: (MM-59973) emoji count 0 update (#8256)
* reversed from all useMemo to useMemo + useEffect
* tried to include everything into useMemo was an anti-pattern
* moved back to useMemo + useEffect
* previousNumber and animateToNumber comparison has some flaw when dealing with difference length between the two
* simple fix
* fix more silly mistakes
* move _previousNumberString to constant
* Test: increase timeout-minutes to 120 for e2e test
* reverted the timeout-minutes back to 40
---------
Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
* MM-60705 DB migration: added update_at column to draft table for mobile
* refactor: updated docs
* refactor: reverted unwanted changes and updated default value for update_at columns
* refactor: changed the condition for excepting 0 value for update_at column
* fix: disables the gallery click on images inside a markdown link
* feat: removing the logic for acknowledging children that is inside link
* chore: renaming for consistency
* fix: MM-58164 search text hides behind textbox
* clean up unit test for useCollapsibleHeader
* simplify math
* unlock doesn't need to use useCallback as it doesn't have any deps
* revert changes on unlock
* using lockValue & headerOffset directly into children props
* disable scrolling to prevent scrollValue from being updated
* properly snapping flatlist to the proper spot in a few scenarios
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Add member tests for actions/remote/channel
* Add channel and dm tests to actions/remote/channel
* Update app/actions/remote/channel.test.ts
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Add tests for actions/local/draft/updateDraftFile
* Add tests for actions/local/draft/removeDraftFile
* Add tests for actions/local/draft/updateDraftMessage
* Add tests for actions/local/draft/addFilesToDraft
* Add tests for actions/local/draft/removeDraft
* Add tests for actions/local/draft/updateDraftPriority
* Fix updateDraftMessage test case
* Update app/actions/local/draft.test.ts
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* place common beforeeach/aftereach top of file (#8076)
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
* notification ringing, settings screen, native code patch, ringing mp3s
* i18n
* play preview on first press
* prevent playing from background (only affects Android) to match iOS beh
* stop ringing/vibration on entering background
* ring when coming back from background and new incoming call is present
* no push notification sound when it's a call; improve ringing
* move sounds to asset folder; copy on postinstall for android bundling
* make Ringtone type a string enum
* make Android ring async + await ring and stop; changes from PR comments
* missing fields after merge
* release lock on an exception
* cancel sample ringing when turning notifications off
* copy sound files for android build
* typo
* update snapshots
* testing if the problem is copying the mp3 files
* fix android mp3 assets when building for non-release
* add sounds to .gitignore
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* make joinCall async; adding loading spinner to join/start button
* always close channelInfo
* i18n
* change how we compute active text
* use isPreferred for leave & join call button
* add joiningChannelId to calls state to track when joining a call
* host remove command, host removed feedback
* add view profile control
* i18n; dismissBottomSheet later
* PR comments
* remove confusing setPreviousCall(null)
* our own separator, bit more space for Android
* no need for previousCall due to changes on server
* move host removed alert to an error
* channel_id is not send via the msg.broadcast
* channel_id is still sent via the msg.broadcast
* add host controls screen; add control for make host
* licensing & host logic
* refactor participant card; dynamic profile sizing; PR comments
* render participant name and profile changes in ParticipantsList
* package-lock update after rebase onto main
* use config's HostControlsAllowed
* Fix MM 56723 (iOS)
* Add android
* Android fixes and version checking
* Add version check to ios
* Address feedback
* Add all versions to android
* Check all versions on iOS
* Fix unhandled version case
* Add comments
* Add final version numbers
* Add participants bottom sheet to call screen
* i18n
* fix ruby-version
* use tag instead of host_badge
* extract Participant, use FlatList
* fix for android
* android participants list close button
* showing unread and threads, of group unread setting in on
* using third variable to maintain state for showing categories
* removed useState from useMemo
* Removed state, return orderctegroies if onlyUnreads & unreadsOnTop is true
* test cases updates
* removed onlyUnreads props from threads
* removed onlyUnreads
* test cases updated
* removed unnecessary changes
* removed onlyUnreads from dep
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Load more users when reaching bottom of the list
Fix mattermost issue when typing quickly within search input
* Update: logic to load next users on bottom list reached
* Update: logic refactored
---------
Co-authored-by: Philippe Ka <philippe.karle@infomaniak.com>
* mobile support for live captions
* add the 'Live captions turned on' ephemeral notice
* PR comments
* message should be translatable
* run i18n-extract
* call_recording_state -> call_job_state; ccAvailable is now dynamic
* backwards compatibility with pre calls v0.26.0
* correct mobile version in deprecation comments
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>