Commit graph

444 commits

Author SHA1 Message Date
Felipe Martin
714c3dc769
feat: AI rewrite (#9280)
* 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>
2026-02-16 16:48:57 +01:00
unified-ci-app[bot]
616483edbf
Bump app build number to 720 (#9511)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2026-02-13 11:41:14 +02:00
unified-ci-app[bot]
bf3f1d5241
Bump app build and version number (#9501)
* Bump app build number to 719

* Bump app version number to 2.38.0

---------

Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2026-02-11 09:55:31 +02:00
unified-ci-app[bot]
717ea47735
Bump app build number to 718 (#9491)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2026-02-06 12:13:05 +02:00
Matthew Birtch
8732cb9430
updated splash screen assets (#9483) 2026-02-03 11:19:59 -05:00
unified-ci-app[bot]
205b7a4aea
Bump app build number to 716 (#9482)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2026-01-30 11:51:25 +02:00
unified-ci-app[bot]
71d67f27d0
Bump app build number to 714 (#9466)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2026-01-23 11:23:05 +02:00
Rahim Rahman
6fb109faf1
fix(): update INTUNE_ENABLED within Github CI & Podfile (#9453)
* fix(): update INTUNE_ENABLED within Github CI & Podfile
* temporary switch to iOS 15 and false INTUNE_ENABLED
* revert INTUNE_ENABLED='false' and iOS 15
2026-01-21 16:50:35 -07:00
Rahim Rahman
855a6b8e26
feat(): update iOS min version to 16 (#9432) 2026-01-20 09:50:02 -07:00
unified-ci-app[bot]
e436e1992e
Bump app build and version number (#9434)
* Bump app build number to 706

* Bump app version number to 2.37.0

---------

Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2026-01-20 10:45:29 +02:00
unified-ci-app[bot]
7c8d63ef28
Bump app build number to 705 (#9417)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2026-01-16 11:18:14 +02:00
Rajat Dabade
e39b27be7e
New keyboard library Setup (#9278)
* 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>
2026-01-13 22:38:35 +05:30
unified-ci-app[bot]
98b4191fec
Bump app build number to 701 (#9399)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2026-01-07 13:14:47 +02:00
Rahim Rahman
522812e126
feat(MM-65147): upgrade to react-native 0.77.3 (#9253)
* feat(MM-65147): upgrade to react-native 0.77.3
* basic iOS & Android changes
* patch packages
* react-native-network-client temporary until fix upstream
* local updates
* delete patch for react-native-network-client
* update react-native-network-client@1.9.0
* update RNN patch package to fix kotlin bug
* revert unneeded changes
* changes based on PR review
* ensure insert not happening if any of the values are null
* update watermelondb to 2.81.0
* update watermelon patch file name
* update secure-pdf-viewer to use latest lib
* fix typescript errors
* update podfile.lock
* update podfile.lock
* update podfile.lock again?
* podfile.lock update again
* temporarily update hermes engine
* temp
* fix alamo issue.
* revert changes to pod update
* pod update vs pod install
* remove cache for a bit
* revert the pod caching
* oops
* update podfile.lock again
* fix(MM-66825): dynamic patching of 16kb pagesize (#9361)
* fix(MM-66825): dynamic patching of 16kb pagesize
* fix lint and tsc errors
* add npx patch-package
* run patcing somewhere else instead, but this will break  iOS
* move reinstall around
* simplify script
* expo-image wasn't updating
* update caching restore key
* using git apply
* fix lint issues
* readme changes
* remove some wrong instructions
* remove redundant npx patch-package
* update build script
2025-12-22 07:35:38 -07:00
unified-ci-app[bot]
d51a4a6641
Bump app build number to 697 (#9375)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-12-19 11:16:07 +02:00
Elias Nahum
23fec945a4
Fix login with Intune using the Authenticator app (#9349) 2025-12-12 13:24:03 +02:00
unified-ci-app[bot]
3ee8afb808
Bump app build and version number (#9350)
* Bump app build number to 695

* Bump app version number to 2.36.0

---------

Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-12-12 13:19:58 +02:00
unified-ci-app[bot]
1a063acd91
Bump app build number to 694 (#9348)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-12-12 11:16:24 +02:00
Eva Sarafianou
ebb7a2241f
Update react-native-network-client (#9343)
* fresh install of react-native-network-client

* address feedback
2025-12-10 19:00:38 +02:00
Elias Nahum
44eb76bed7
feat(iOS): Add Microsoft Intune MAM integration with multi-server support (#9312)
* refactor: implement custom ExpoImage wrapper for cache control

Add ExpoImage component with automatic cacheKey/cachePath management and replace all expo-image imports across the app

* refactor(ios): convert Gekidou to CocoaPods

Migrate from Swift Package Manager to CocoaPods, add Keychain write operations, refactor notification handler to remove react-native-notifications headers, and upgrade Swift to 5.0

* npm audit

* update fastlane

* feat(ci): integrate Intune MAM for enterprise builds with strict OSS protection

Add Intune submodule, CI actions, Fastlane configuration, developer scripts, pre-commit hooks, and validation workflows to enable internal MAM builds while protecting OSS repository

* fix tests by mocking @mattermost/intune

* feat: implement Intune MAM integration with comprehensive security enforcement

Add IntuneManager, refactor SecurityManager/SessionManager for MAM policies, implement native OIDC auth flow, add biometric enforcement, conditional launch blocking, and file protection controls

* fix alerts when no server database is present

* Unify cache strategy

* fix emit config changed after it was stored in the db

* Handle Mid-Session Enrollment Detection

* fix ADALLogOverrideDisabled missing in Fastfile

* fix flow for initial enrollment

* fix and add unit tests

* enable Intune configuration for PR and beta builds, CLIENT_ID should be changed before actual release

* Update intune submodule with addressed feedback

* fix validate-intune-clean workflow

* feat(intune): add comprehensive error handling and SAML+Entra support

Add production-ready error handling for native Entra authentication with
user-friendly i18n messages, comprehensive test coverage, and support for
Entra login when server requires SAML.

* update i18n

* update intune submodule

* update build-pr token

* fix race condition between server auth and intune enrollment

* fix CI workflow to build with intune

* use deploy key for intune submodule

* set the config directly in the submodule .git

* debug injection

* try setting GIT_SSH_COMMAND

* remove action debug

* fix server url input

* match pod cache with intune hash

* Fastfile and envs

* have workflows check for intune/.git

* have ci cache intune frameworks as well

* update Fastlane to set no-cache to artifacts uploaded

* fix s3 upload

* fix pblist template

* Attempt to remove the cache control for PR uploads to s3

* use hash from commit for S3 path

* Implement crash-resilient selective wipe with automatic retry and add removeInternetPassword to Gekidou Keychain

* Fix surface errors from intune login

* fix postinstall scripts

* use cacheKey for draft md images

* remove unnecessary double await during test

* Have isMinimumLicenseTier accept valid license sku tier as target

* Add missing Auth error messages

* remove the last period for intune errors in i18n

* do not call unenroll with wipe on manual logout

* Fix tests and Intune error messages

* do not filter any SSO type regardless of which is used for Intune

* fix 412 to not retry

* fix tests, app logs sharing and share_extension avatar cache

* apply setScreenCapturePolicy on license change

Co-authored-by: Eva Sarafianou <eva.sarafianou@mattermost.com>

* re-apply screen capture on enrollment

Co-authored-by: Eva Sarafianou <eva.sarafianou@mattermost.com>

* use userData from intunr login and prevent getMe

Co-authored-by: Eva Sarafianou <eva.sarafianou@mattermost.com>

* Check for Biometrics and Jailbreak as we used to

---------

Co-authored-by: Eva Sarafianou <eva.sarafianou@mattermost.com>
2025-12-10 13:07:28 +02:00
unified-ci-app[bot]
ae545ab62d
Bump app build number to 689 (#9306)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-11-21 11:14:13 +02:00
unified-ci-app[bot]
d0a28cdc67
Bump app build and version number (#9297)
* Bump app build number to 688

* Bump app version number to 2.35.0

---------

Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-11-19 14:42:50 +02:00
unified-ci-app[bot]
6129c8571d
Bump app build number to 687 (#9287)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-11-14 11:16:41 +02:00
unified-ci-app[bot]
b11b7d1d17
Bump app build number to 686 (#9273)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-11-07 11:13:36 +02:00
Elias Nahum
84846b01a9
MM-66173 fixes crash when receiving notifications (#9243)
* MM-66173 fixes crash when receiving notifications

* Update ios/Gekidou/Sources/Gekidou/PushNotification/PushNotification+Signature.swift

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update ios/Gekidou/Sources/Gekidou/PushNotification/PushNotification+Signature.swift

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update ios/Gekidou/Sources/Gekidou/DataTypes/ChannelMember.swift

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-01 19:19:31 +08:00
unified-ci-app[bot]
67e709b414
Bump app build number to 683 (#9249)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-10-31 11:13:49 +02:00
unified-ci-app[bot]
aa88019582
Bump app build and version number (#9223)
* Bump app build number to 681

* Bump app version number to 2.34.0

---------

Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-10-17 13:39:51 +03:00
unified-ci-app[bot]
c2e78dc452
Bump app build number to 679 (#9220)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-10-17 12:12:59 +03:00
Daniel Espino García
1f9fc9bda7
Fix error on notification reply on iOS (#9181)
* Fix error on notification reply on iOS

* Revert unneeded change

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-03 13:43:46 +03:00
unified-ci-app[bot]
dcf2a3c6e1
Bump app build number to 676 (#9184)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-10-03 12:19:29 +03:00
Elias Nahum
5b0b099a95
Some UI fixes (#9149) 2025-09-23 19:49:26 +08:00
unified-ci-app[bot]
3c6ae12634
Bump app build and version number (#9151)
* Bump app build number to 672

* Bump app version number to 2.33.0

---------

Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-09-19 12:29:09 +03:00
unified-ci-app[bot]
5fa57e5787
Bump app build number to 671 (#9150)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-09-19 12:13:01 +03:00
unified-ci-app[bot]
530cbb4ba5
Bump app build number to 670 (#9123)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-09-12 12:13:37 +03:00
unified-ci-app[bot]
bb2321da26
Bump app build number to 669 (#9106)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-09-05 12:36:29 +03:00
Felipe Martin
f50056f57b
MM-65085: Support Pre Shared Password on server connect (#9082)
* 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>
2025-09-01 11:24:15 +02:00
Elias Nahum
2c1d896e9b
update react-native-network-client (#9094) 2025-09-01 16:22:26 +08:00
unified-ci-app[bot]
1965b4777d
Bump app build number to 666 (#9083)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-08-22 12:12:31 +03:00
unified-ci-app[bot]
ebc39fd386
Bump app build and version number (#9080)
* Bump app build number to 665

* Bump app version number to 2.32.0

---------

Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-08-20 15:06:21 +03:00
Daniel Espino García
2e5bbb9f62
Fix share screenshot on ios 26 (#9068)
* Fix share screenshot on ios 26

* Address copilot feedback

* Address more copilot comments
2025-08-19 09:04:37 +02:00
unified-ci-app[bot]
eb4609a890
Bump app build number to 662 (#9069)
Co-authored-by: Anka <runner@Mac-1755248560088.local>
2025-08-15 12:12:38 +03:00
Rajat Dabade
abb8fc84e9
(IOS) Consistent component for upload item for share extension (#9030)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-08-11 16:56:46 +05:30
unified-ci-app[bot]
464b15ffb0
Bump app build number to 661 (#9063)
Co-authored-by: Anka <runner@Mac-1754641802002.local>
2025-08-08 12:18:13 +03:00
Elias Nahum
e8a0be4589
Upgrade SQLite.Swift to 0.15.4 (#9061) 2025-08-08 07:09:51 +08:00
unified-ci-app[bot]
f4530653e3
Bump app build number to 660 (#9047)
Co-authored-by: Anka <runner@Mac-1754038924271.local>
2025-08-01 12:15:57 +03:00
unified-ci-app[bot]
b2cec1c7a1
Bump app build number to 656 (#9027)
Co-authored-by: Anka <runner@Mac-1753434238346.local>
2025-07-25 12:16:46 +03:00
Elias Nahum
5eb3a1ab41
Refactor gallery gestures (#8752) 2025-07-22 14:00:57 +08:00
unified-ci-app[bot]
a098de3481
Bump app build and version number (#9013)
* Bump app build number to 655

* Bump app version number to 2.31.0

---------

Co-authored-by: Anka <runner@Mac-1753071427258.local>
2025-07-21 08:00:49 +03:00
unified-ci-app[bot]
394b441874
Bump app build number to 654 (#9006)
Co-authored-by: Anka <runner@Mac-1752828286516.local>
2025-07-18 12:34:30 +03:00
unified-ci-app[bot]
dff9119519
Bump app build number to 653 (#8983)
Co-authored-by: Anka <runner@Mac-1752222762174.local>
2025-07-11 12:11:16 +03:00