* [MM-66420] Add missing tests for playbooks
* i18n-extract
* Update message keys to more accurate ones
* Update status update post to use a more standard error handling and fix linter bugs
* Add post-merge tests and address feedback
* Fix failing test
* Address feedback
* add new value to conditionAction
* update progress management regarding conditions
* hide items
* add test to filtering
* icon added for condition reason
* add conditional reason to bottom sheet
* improve UI
* i18n
* this might need to be reverted later. Fix for condition changes not triggering updates
* cosmetic changes
* improve branch icon positioning
* pressing on checklist item should display bottom sheet
* review improvements
* feat: implement floating banner system
- Add FloatingBanner component with gesture support and keyboard awareness
- Implement BannerManager singleton for banner lifecycle management
- Create floating banner screen with SafeAreaProvider integration
- Add comprehensive banner configuration types and positioning
- Update Banner component to use modern gesture handling
- Enhance BannerItem with improved typography and spacing (40px height)
- Add ConnectionBanner improvements with better sizing
- Remove ConnectionBanner from channel list (moved to floating system)
- Update screens constants (remove FLOATING_BANNER - handled as overlay)
- Add i18n support for limited network connection message
The system provides:
- Auto-hide functionality with customizable duration
- Position-aware rendering (top/bottom with keyboard adjustment)
- Tablet-specific offset handling
- Swipe-to-dismiss with configurable thresholds
- Custom component support alongside default banner items
- Comprehensive test coverage with device-specific scenarios
* docs: add floating banner system documentation and cleanup
- Add comprehensive floating-banner.md with architecture diagrams
- Remove incompatible connection_banner/index.ts file
- Update device.ts hooks for better keyboard handling
- Simplify screens/index.tsx floating banner registration
- Update test/setup.ts to remove deprecated keyboard mocks
- Clean up keyboard height logic and ESLint issues
The documentation covers:
- System architecture and component relationships
- API reference and usage patterns
- Performance considerations and best practices
- Integration points and troubleshooting guide
- Comprehensive testing strategy
All tests now pass with the updated setup.
* fix issue with translation file
* some self cleanup.
* renamed index.tsx => Banner.tsx
* creaete meaningful tests for Banner component and all the hooks.
* fix tests
* cleanup based on initial review by AI
* dismissible was set to true, changing to what was configured.
* making title and message optional
* feat(MM-65145): Network connectivity/performance observer
* add MONITOR_NETWORK_PERFORMANCE
* i18n stuff
* remove unused props
* Undo some AI changes that caught by another AI
* network connectivity observation md
* addressed some comments in PR
* more fixes based on PR review.
* added future enhancement
* dismissOverlay will be awaited
* delay dismissing overlay so we don't have to show a new one all the time
* make the banner stackable
* Fix issue with last banner dismissal delayed by 2s
* update floating-banner test
* put back an extra space
* add a todo to use namespace
* add comment on priority order for connectivity performance
* use static const vs magic number
* add a guard against adding performanceSubject when server has been removed
* fix failing tests
* clean-up based on review by @enahum
* fix failing test
* fix failiing tests
* rename confusing var
* update changes to types
* fixed issue with swipe not working on android
* performance and connectivity use the same id so that 2 banners won't appear
* fix issue w/ android not registering touch events behind the overlay
* fix failing test
* hideBanner now needs id.
* Connection status unknown added in en.json
* update the doc
* animate the banner moving up when bottom banner first appear.
* removed unused functions and update tests
* add useMemo and useCallback
* update jsdoc to say dismissable is default true
* fix failing test
* feat: implement floating banner system
- Add FloatingBanner component with gesture support and keyboard awareness
- Implement BannerManager singleton for banner lifecycle management
- Create floating banner screen with SafeAreaProvider integration
- Add comprehensive banner configuration types and positioning
- Update Banner component to use modern gesture handling
- Enhance BannerItem with improved typography and spacing (40px height)
- Add ConnectionBanner improvements with better sizing
- Remove ConnectionBanner from channel list (moved to floating system)
- Update screens constants (remove FLOATING_BANNER - handled as overlay)
- Add i18n support for limited network connection message
The system provides:
- Auto-hide functionality with customizable duration
- Position-aware rendering (top/bottom with keyboard adjustment)
- Tablet-specific offset handling
- Swipe-to-dismiss with configurable thresholds
- Custom component support alongside default banner items
- Comprehensive test coverage with device-specific scenarios
* docs: add floating banner system documentation and cleanup
- Add comprehensive floating-banner.md with architecture diagrams
- Remove incompatible connection_banner/index.ts file
- Update device.ts hooks for better keyboard handling
- Simplify screens/index.tsx floating banner registration
- Update test/setup.ts to remove deprecated keyboard mocks
- Clean up keyboard height logic and ESLint issues
The documentation covers:
- System architecture and component relationships
- API reference and usage patterns
- Performance considerations and best practices
- Integration points and troubleshooting guide
- Comprehensive testing strategy
All tests now pass with the updated setup.
* fix issue with translation file
* some self cleanup.
* renamed index.tsx => Banner.tsx
* creaete meaningful tests for Banner component and all the hooks.
* fix tests
* cleanup based on initial review by AI
* dismissible was set to true, changing to what was configured.
* making title and message optional
* addressed some comments in PR
* more fixes based on PR review.
* added future enhancement
* dismissOverlay will be awaited
* delay dismissing overlay so we don't have to show a new one all the time
* make the banner stackable
* Fix issue with last banner dismissal delayed by 2s
* update floating-banner test
* clean-up based on review by @enahum
* fix failing test
* fix failiing tests
* rename confusing var
* fixed issue with swipe not working on android
* fix issue w/ android not registering touch events behind the overlay
* fix failing test
* animate the banner moving up when bottom banner first appear.
* removed unused functions and update tests
* add useMemo and useCallback
* update jsdoc to say dismissable is default true
* fix failing test
* Adding the notification disabled notice
* Change the color of the icon on the section notice to red.
* Fix Linter Issues
* Add new line due to CI failure
* Adressing pull request comments and change requests.
* i18 Strings alphabetical order
* result of `npm run i18n-extract`
* Add a couple more tests for notifications
* Remove two unneeded styles
* fix linter issue
* Add select user screen to select owner and task assignee
* Fix i18n
* Add tests
* Address feedback
* Fix test
* Address UX feedback
* Fix test
* Put the no assignee button inline with the search
* typescript and view component for permalink with user and message
* Old post edited handling in permalink
* Added test and update flag value to EnablePermalinkPreview
* Added test for permalink_preview component
* Added test for content/index.tsx for permalink
* Addressed review comments
* Unit test for missing file and review comments
* Added test to check handlePostEdited permalink sync only calls one time only
* Change TouchableOpacity to Pressable
* When user not found fetch the user from the server
* Removed the redundant test in the test for permalink_preview/index?
* ts to tsx
* Removed the circular dependency
* Address review comments
* displayname fallback
* remove permalink when permalink post is deleted
* UX review comments
* Linter fixes
* Test fixes
* File attachment in permalink preview component
* Fix the width and height of the image in permalink
* Added gredient when exceeds height of permalink container
* Minor
* Updated tests
* Minor
* Review comments
* Minor review comments
* type fixes
* Review comments
* Minor
* Mention ability in permalink preview
* Support for external link in permalink
* Handle device not connected update permalink post
* test fixes
* Address review comments
* Minor
* Merge fixes
* Addressed review comments
* Fix content.test.tsx after permalink branch merge
- Updated test expectations to use embedData prop instead of post prop
- Fixed assertions to match the new PermalinkPreview API
- All content tests now pass
* review comments
* Review comments
* Some more review comments
* Minor
* Fixed the undefined issue for opengraph component metadata
* More fixes
* type chech for site name
* linter fixes
* UX review and remove show more height not require
* Fix tests
* Review nitpick and fixes
* Minor UX changes
---------
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
* Common component for upload item for main application and share extension
* Addressed review comments
* intl fixes
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* typescript and view component for permalink with user and message
* Old post edited handling in permalink
* Added test and update flag value to EnablePermalinkPreview
* Added test for permalink_preview component
* Added test for content/index.tsx for permalink
* Addressed review comments
* Unit test for missing file and review comments
* Added test to check handlePostEdited permalink sync only calls one time only
* Change TouchableOpacity to Pressable
* When user not found fetch the user from the server
* Removed the redundant test in the test for permalink_preview/index?
* ts to tsx
* Removed the circular dependency
* Address review comments
* displayname fallback
* remove permalink when permalink post is deleted
* UX review comments
* Linter fixes
* Test fixes
* Address review comments
* Minor
* Some more review comments
---------
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
* feat: add shared server password to server setup
* feat: allow editing the sever
* refactor: changed password -> secret, styling and tests
* e2e: draft e2e tests
* chore: lint fix
* feat: also send preauth secret header when using native share
* fix: removed unused server database migration
credentials are being stored in the keychain
* i18n: added missing english translations
* test(e2e): simplified connection tests
* test(e2e): rework
* refactor: remove setBearerToken
* chore: restore migrations the way it was
* chore: reverted file to original state
* chore: removed unneeded test and renamed password to secret
* chore: function version
* chore: updated forms i18n keys
* chore: remove if from test
* chore: unneeded variable
* fix: add missing key on object list
* refactor: swift keychain access to retrieve all credentials in one call
* revert: edit server screen
* refactor: credentials use getGenericCredential
* fix: objc code calling old method
* fix: added scroll to login screen
* chore: variable names
* fix: avoid inline styles
* fix: Improved appVersion positioning
* Update app/screens/server/form.tsx
Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>
* feat: show error message on 403
* Revert "feat: show error message on 403"
This reverts commit f41630c767e10211adf1885321ceefd8a0931e32.
---------
Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>
* Playbook run status update post
* Show Playbooks button in Channel Info screen only if playbooks is enabled
* Handle Playbook links
* Fetch playbook if needed
* fix playbooks migration
* fix deeplinks using parsedUrl
* update last time playbooks where fetched if no errors
* show participants for run status update post
* fix tests
* remove console.log in test
* feedback review
* wrap participants footer
* add fastlane FASTLANE_XCODEBUILD_SETTINGS_RETRIES env vars
* Fix order of finished runs and add a show more button
* Add missing text
* Add prevent double tap
* Fix show more button showing when it shouldn't
* fix tests
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Add the channel options to get into playbooks (#8750)
* Add the channel options to get into playbooks
* Use playbook run id instead of playbook id
* i18n
* Fix issues and move playbooks to the products folder
* Address some tests
* Fix test
* Address design issues
* Add requested comment
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Playbooks database (#8802)
* Add lastPlaybookFetchAt to channel table (#8916)
* Add lastPlaybookFetchAt to channel table
* Add missing commit
* Use my_channel table instead
* Fix test
* Address feedback
* First implementation of playbooks API (#8897)
* First implementation of playbooks API
* Add version check
* Address feedback
* Fix test
* Add last fetch at usage and other improvements
* Simplify test
* Add sort_order, update_at and previousReminder columns (#8927)
* Add sort_order, update_at and previousReminder columns
* Remove order from the schema
* Fix tests
* Add tests
* Add websockets for playbooks (#8947)
* Add websocket events for playbooks
* Fix typo
* Add playbook run list (#8761)
* Add the channel options to get into playbooks
* Use playbook run id instead of playbook id
* i18n
* Fix issues and move playbooks to the products folder
* Address some tests
* Fix test
* Add playbook run list
* Add missing texts
* Add back button support and item size to flash list
* Address design issues
* Add requested comment
* Standardize tag and use it in the card
* Fix merge
* Add API related functionality
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Add playbooks run details (#8872)
* Add the channel options to get into playbooks
* Use playbook run id instead of playbook id
* i18n
* Fix issues and move playbooks to the products folder
* Address some tests
* Fix test
* Add playbook run list
* Add missing texts
* Add back button support and item size to flash list
* Address design issues
* Add requested comment
* Standardize tag and use it in the card
* Add playbooks run details
* Fix merge
* Add API related functionality
* Add API related changes
* Order fixes
* Several fixes
* Add error state on playbook run
* i18n-extract
* Fix tests
* Fix test
* Several fixes
* Fixes and add missing UI elements
* i18n-extract
* Fix tests
* Remove files from bad merge
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Add missing tests for playbooks (#8976)
* Add the channel options to get into playbooks
* Use playbook run id instead of playbook id
* i18n
* Fix issues and move playbooks to the products folder
* Address some tests
* Fix test
* Add playbook run list
* Add missing texts
* Add back button support and item size to flash list
* Address design issues
* Add requested comment
* Standardize tag and use it in the card
* Add playbooks run details
* Fix merge
* Add API related functionality
* Add API related changes
* Order fixes
* Several fixes
* Add error state on playbook run
* i18n-extract
* Fix tests
* Fix test
* Several fixes
* Fixes and add missing UI elements
* i18n-extract
* Fix tests
* Remove files from bad merge
* Add tests
* Fix typo
* Add missing strings
* Fix tests and skip some
* Fix test
* Fix typo
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Address feedback
* Address feedback and fix tests
* Address comments and fix tests
* Address feedback
* Address plugin changes and fix bugs
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>