* feat: ai rewrite
* feat: allow crating content apart from editing it
* feat: feature parity with webapp
* feat: feature parity with webapp
* chore: fixed padding
* map ux to webapp
* refactored ai rewrite logic to separate package
* chore: tests and lint
* Update app/products/ai/rewrite/screens/options/options.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* rewrite post editor animation
* i18n
* ui feedback, centered icon and less top padding
* chore: lint
* Consolidate @ai product into @agents
Move all rewrite functionality from app/products/ai/ into
app/products/agents/ to unify under a single namespace.
- Add rewrite types, store, hooks, components, and screens to agents
- Merge AI client methods into agents client
- Update screen constants (AI_* -> AGENTS_*)
- Update all consumer imports
- Remove AI state from EphemeralStore
- Remove @ai path alias from config
- Delete app/products/ai/ directory
* refactor: load screens from product package
* refactor: move detection logic to the agents pacakge
* refactor: remove "backwards compatibility"
* refactor: move hooks to proper package
* refactor: styles
* refactor: remove unneedd position attribute
* refactor: remove unneeded cancel animation calls
* refactor: "backwards compat"
* refactor: optimize renderContent with useCallback for performance
* refactor: rename variable to avoid confusion
* refactor: update handleRewrite to use async/await for better error handling
* refactor: simplify handleRewrite by always dismissing keyboard
* refactor: use hook, always all keyboard.dismiss
* chore: enhance AgentSelector component with FlatList support
* feat: add rewriteMessage function for AI message rewriting and integrate it into useRewrite hook
* refactor: simplify message length calculation in useHandleSendMessage hook
* refactor: consolidate agent screen constants and integrate with existing screens
* fix: update dependency array in useMemo for isUnrevealedPost to include post expiration metadata
* refactor: remove unused variable to clean up Typing component
* refactor: simplify logic for atDisabled and slashDisabled flags in QuickActions component
* feat: add AIRewriteAction component for AI message rewriting functionality
* revert: thread.ts changes manually
* refactor: integrate useSafeAreaInsets
* refactor: cleanup unused methods
* chore: add comment to clarify casting
* refactor: use_agents
* chore: lint and test
* fix: trim
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* 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
* 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
* Fix thread view bottom safe area and gap between keyboard and searched emojis
* 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
* 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
* fix buid issue
* Fix the cancel state to emoji picker
* use portals for autocomplete
* fix permalink extra space in post list
* Portal only for android
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* 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 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
* added last viewed feature
* added constants
* storing data in global table and added server col
* fixed stack screen"
* fixed values for crt
* fixed threadid store logic
* added status on profile in bottom tabs
* fixed error for profile edit
* refactored and removed rule from eslint
* fixed variable in username field
* fixed screen blur focus issue
* keyboard show issue
* Save message draft when post input is unmounted
* Fix switch CRT on/off
* Handle iPad on Stage Manager
* iOS Share Extension to use LRU cache instead of file cache
* Support building android as aab
* use handleReconnect instead of appEntry on handleCRTToggled
* show skin tone selector tutorial after running all interactions
* Update app/actions/remote/preference.ts
Co-authored-by: Daniel Espino García <larkox@gmail.com>
* fix lint
---------
Co-authored-by: Daniel Espino García <larkox@gmail.com>
* Timezone search results not updating on term edit MM-45621
* Fix update theme MM-45604 / MM-45591
* Prevent channel items from stacking when collapse/expand category MM-45590
* Remove current channel from unread section MM-45589
* Latex code block style MM-45572
* Update Post input style when theme update
* Show tutorial only for the first item in the first section MM-45549
* Fix close user profile modal on iPad
* Move style out of component
Co-authored-by: Daniel Espino García <larkox@gmail.com>
* User profile
* Access User Profile from reaction list
* Fix threads participants list & open user profile on tap
* Extra bottom padding
* Profile long press tutorial
* Adjust heights
* Reduce label margin from 12 to 8
* Extract common observers to queries
* Separate also queries and more agressive refactoring
* Use query to avoid throws from findAndObserve
* Fix minor error
* Address feedback
* Address feedback
* Address feedback
* Fix model types
* Address feedback
* Thread screen
* misc
* Added snapshot for ThreadOverview
* Updated snapshot
* Misc
* Updated snapshot and ts fixes
* Made thread as a modal, fixes post list not closing on tablet
* Removed unsued variables
* Putting back the empty space before the root post (inverse list footer)
* Changed input text
* Removed empty footer space
* Misc fixes
* Disables new messages line for thread
* Loading threads before opening modal & BottomSheet componentId fix
* Moved merge navigation options to switchToThread
* Moved LeftButton to switch to thread
* Removed Q.and
* Misc fixes
* Added task id for pagination
* Removed useMemo, Q.and
* move thread close button as a prop
* Remove title font styles to use default
* Misc changes
* Misc fix
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Add channel autocomplete
* Fix autocomplete position and shadow effect
* Fix feedback issues
* Fix autocomplete on iOS and piggyback removal of section borders
* Fixes the channel autocomplete showing up after completion
* Address feedback
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Initial commit post input
* Fix message posting, add create direct channel and minor fixes
* Fix "is typing" and "react to last post" behaviour
* Some reordering, better handling of upload error, properly clear draft on send message, and fix minor progress bar misbehavior
* Add keyboard listener for shift-enter, add selection between video or photo while attaching, add alert when trying to attach more than you are allowed, add paste functionality, minor fixes and reordering
* Add library patch
* Fix lint
* Address feedback
* Address feedback
* Add missing negation
* Check for group name and fix typo on draft comparisons
* Address feedback
* Address feedback
* Address feedback
* Address feedback
* Fix several bugs
* Remove @app imports
* Address feedback
* fix post list & post draft layout on iOS
* Fix post draft cursor position
* Fix file upload route
* Allow to pick multiple images using the image picker
* accurately get the channel member count
* remove android cursor workaround
* Remove local const INPUT_LINE_HEIGHT
* move getPlaceHolder out of the component
* use substring instead of legacy substr for hardward keyboard
* Move onAppStateChange above the effects
* Fix camera action bottom sheet
* no need to memo SendButton
* properly use memberCount in sender handler
* Refactor how to get memberCount
* Fix queryRecentPostsInThread
* Remove unused isDirectChannelVisible && isGroupChannelVisible util functions
* rename errorBadUser to errorUnkownUser
* extract localized strings
* use ClientErrorProps instead of ClientError
* Minor improvements
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>