* Initial setup for new keyboard
* fix the offset calculation onMove by adding isKeyboardFullyOpened
* Done with the keyboard handling implementation
* Handled keyboard focus and blured state using context
* Added default height for input container
* Android support
* Tablet state handling
* Fix for refreshing offset in list
* Created a default context for mention post list
* Fix linter errors
* Fix tests
* Minor
* Fix the height issue for tablet view
* Review comments
* Dependency fix
* Reveiw comment
* keyboard animation only enabled with screen on top navigation
* added tests
* Added extra keyboard component for emoji picker (#9328)
* Added extra keyboard component
* handled swipe geature for extra keyboard
* scroll to bottom visible on emoji picker
* Check for stale event for keyboard geature area
* fix keyboard stale event for mid-gesture change swipe direction
* Closing emoji picker when message priority is opened
* changing to thread view closes emoji picker
* Close emoij picker and keyboard when attachment icons are clicked
* handle android emoji picker behaviour
* Remove emoji picker code
* fix tests
* Address reviev comments
* Test fixes
* usePreventDoubleTab for race condition and corrected comment on isInputAccessoryViewMode flag
* File attachments option in bottom sheet quick action (#9331)
* Added extra keyboard component
* handled swipe geature for extra keyboard
* File attachments option in bottom sheet quick action
* Updated tests
* i18n
* fix test
* Added tests
* Review comment
* fix tests
* Integrated Emoji picker to Extra keyboard component. (#9339)
* Added extra keyboard component
* handled swipe geature for extra keyboard
* scroll to bottom visible on emoji picker
* Fix the post input container height change issue
* Added emoji picker with search functionality
* keyboard height not recorded fallback to default height, set search to false closing emoji picker
* fix search funcitonality in android
* scroll to end bottom dismissed with pressed
* Fixed the scroll issue for android
* fix the flickering post input issue
* Wired up the emoji picker
* Added keyboard and spaceback in emoji picker
* intl extract
* initial cursor position and simple calculation review comment
* separated grapheme to utils file
* Review comments
* nitpick
* Fix the bottom safe area and navigation stack restore fix
* Fix test
* disabled emoji picker in edit post screen
* change the name of the variable to name it clarier
* fix the tab gap issue in andriod
* disabled the emoji skin tone change on andriod
* fix the input container jump issue
* fix the failing test
* UX review
* added white space after the attachment icon
* When @ or / is press open keyboard on andriod also fix the scroll issue when keyboard is open
* back bottom closes emoji picker and opening keyboard jump fix
* reverted code
* fixed the flickering issue of input and scroll position fix
* Added BoR button
* Fix the gap issue in thread
* fix the warning reaminated issue when opening a channel
* Fix the extra space issue between input and emoij picker
* Minor fix for extra space between input and emoji picker
* WIP
* Fix thread view bottom safe area and gap between keyboard and searched emojis
* WIP
* refactor: make borConfig optional in BoRAction component
* refactor: remove optional borConfig and simplify state initialization
* Fix the keyboard issue in tablet
* Fix the warning issue react-native-keyboard-controller
* Fix tests
* Fix the tablet search hight issue
* Replaced the ExtraKeyboardProvider with KeyboardProvider from rnkc for permalink
* WIP
* Successfully toggeled bor status
* Displayed bor chip in draft editor
* Send bor post
* Displayed bor chip in draft editor with wrapping
* Added read receipt
* Bottom sheet jump issue resolved
* Search do not close after selecting emoji in search list
* Added the bottom inset height in search emoji for android
* integrated bor receipt count
* fix buid issue
* Added margin
* Handled updating receipts on sync
* test: add comprehensive tests for updateDraftBoRConfig
* test: add initial test file for burn on read label component
* test: add tests for BoRLabel component
* test: update BoRLabel tests to use toBeVisible and remove formatTime mock
* test: update BoR label tests to use renderWithIntl
* refactor: remove getBaseProps and specify props inline in BoRLabel tests
* refactor: improve test component formatting for readability
* test: add validation for BoRLabel time display formats
* test: add comprehensive tests for Burst on Read (BoR) functionality
* WIP
* test: add unit tests for BOR quick action component
* test: add comprehensive tests for BoR quick action component
* test: add missing props to QuickActions test setup
* test: add tests for BoR quick action rendering
* test: mock BoRQuickAction component for testing
* test: add comprehensive tests for observeIsBoREnabled function
* test: add initial test file for BOR read receipts screen
* test: add comprehensive tests for BORReadReceipts component
* test: add test cases for BOR read receipts display
* test: add comprehensive tests for humanReadable format in formatTime
* Added tests
* lint fix
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* i18n fix
* Fix the cancel state to emoji picker
* Prevented displaying BoR quick action in threads
* Fixed a test
* lint fix
* review fixes
* review fixes
* i18n fix
* fixed tests
* review fixes
* lint fix
* restored podfile
* Fixed WS event handling for receiving bor post receipnt
* Fixed a test
* fixed TS
* Implemented burn post now for sender and receiver (#9401)
* Implemented burn post now for sender and receiver
* test: add tests for burnPostNow function
* test: add test for delete post option
* test: add comprehensive tests for DeletePostOption component
* Added tests
* Lint fix
* minor improvemenmts
* lint fix
* reset unintended changes
* reset unintended changes
* Bor delete when read by all (#9407)
* WIP
* Updated for all read
* cleanup
* test: add comprehensive tests for handleBoRPostAllRevealed
* test: add tests for BOR events in websocket event handler
* feat: add comprehensive tests for shouldUpdateForBoRPost function
* Added tests
* Lint fix
* fixed TS
* fixed padding
* UX fixes
---------
Co-authored-by: Rajat Dabade <a-rajat.dabade@mattermost.com>
Co-authored-by: Rajat Dabade <rajatdabade1997@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
* Added type column to scheduled post and draft table
* removed console log
* fixed a test
* fixes
* Restored ununtended changes
* Added BoR indicator in scheduled posts
* used fixed padding
* used Tag for BoR chip
* test: add comprehensive tests for formatTime humanReadable parameter
* test: add initial test file for burn on read label component
* test: add comprehensive tests for BoRLabel component
* test: update BoRLabel tests to use deep rendering and remove mocks
* test: fix renderWithIntl import and usage in BoRLabel test
* refactor: Update BoRLabel tests to use renderWithIntl and remove formatTime mock
* refactor: simplify imports and remove renderWithIntl mock in test file
* Updated tests
* reset unintended changes
* reset unintended changes
* reset unintended changes
* i18n fixes
* fixed tests
* Matched BOR tag size to post priority tag
* Review fixes
* Added scaffolding for unrevealed BoR post
* Displayed reveal UI
* Displayed expiry timer
* WIP
* Displayed own post indicator and blur text
* restored button
* Ungrouped BoR posts
* WIP
* WIP
* DIsplayed error message on revealing
* Added last run check on mobile app cleanup job
* Cleanup
* lint fix
* i18n-fix
* Added tests
* test: add test suite for revealBoRPost function
* test: add unrevealed burn on read post test file
* feat: add tests for UnrevealedBurnOnReadPost component
* test: update UnrevealedBurnOnReadPost test with PostModel type
* test: replace toBeTruthy with toBeVisible for component visibility assertions
* test: add initial test file for expiry timer component
* test: add comprehensive tests for ExpiryCountdown component
* refactor: clean up test formatting and remove redundant test case
* fix: adjust test timing for ExpiryCountdown onExpiry callback
* test: fix timer test by advancing timers in smaller increments
* Added tests
* Updated tests
* fixed accidental change
* restored package.resolved
* WIP review fixes
* Review fixes
* Review fixes
* Fixed tests
* restored package.resolved
* WIP
* test: add test for skipping BoR post cleanup within 15 minutes
* test: add comprehensive test cases for expiredBoRPostCleanup
* WIP
* WIP
* test: add bor.test.ts placeholder file
* test: add comprehensive tests for BoR utility functions
* test: add comprehensive tests for formatTime function
* WIP
* test: add comprehensive tests for getLastBoRPostCleanupRun function
* Added tests
* removed a commented code
* post list optimization
* test: add test case for updating unrevealed burn-on-read post
* fix: handle error logging in expiredBoRPostCleanup test
* test: add test case for updateLastBoRCleanupRun error handling
* review fixes
* lint fixes
* Added WS event handling (#9320)
* Added WS event handling
* test: add burn on read websocket action test
* test: add tests for handleBoRPostRevealedEvent in burn_on_read
* Added tests
* test: add comprehensive error handling test cases for burn on read
* Added tests and error handling
* BoR post - restricted actions (#9315)
* Restricted post actions for BoR post type
* Prevent opening thread fr nBoR post
* WIP
* fix: remove redundant observable wrapping in post options
* fixed a change
* removed broken
* restored package.resolved
* Added tests
* Awaiting for last run to be set
* Added tests for validating expiry timer behaviour (#9338)
* Added tests for validating expiry timer behaviour
* No need of use event setup
* Bor ux fixes (#9336)
* WIP
* UI and delete fixes
* lint fixes
* fixed tests
* Improved mocking
* Improved test