diff --git a/.circleci/config.yml b/.circleci/config.yml
index 599170715..ce17cdabd 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -7,7 +7,7 @@ orbs:
macos: &macos
macos:
xcode: "14.2.0"
- resource_class: large
+ resource_class: macos.m1.large.gen1
bash-env: &bash-env
BASH_ENV: "~/.nvm/nvm.sh"
diff --git a/.detoxrc.js b/.detoxrc.js
index 0c5800f09..a899f6a35 100644
--- a/.detoxrc.js
+++ b/.detoxrc.js
@@ -9,9 +9,9 @@ module.exports = {
},
artifacts: {
plugins: {
- screenshot: 'failing',
- video: 'failing',
- uiHierarchy: 'enabled'
+ screenshot: process.env.CI ? undefined : 'failing',
+ video: process.env.CI ? undefined : 'failing',
+ uiHierarchy: process.env.CI ? undefined : 'enabled'
}
},
apps: {
diff --git a/__tests__/containers/message/__snapshots__/Message.stories.storyshot b/__tests__/containers/message/__snapshots__/Message.stories.storyshot
index 141b48698..6b585a820 100644
--- a/__tests__/containers/message/__snapshots__/Message.stories.storyshot
+++ b/__tests__/containers/message/__snapshots__/Message.stories.storyshot
@@ -54,7 +54,7 @@ exports[`Storyshots Message Sequential Thread Messages Following Thread Button 1
exports[`Storyshots Message Sequential Thread Messages Following Thread Reply 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"marginBottom\\":12},\\"testID\\":\\"message-thread-replied-on-How are you?\\"},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"selectable\\":false,\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#1d74f5\\"},{\\"marginRight\\":10,\\"marginLeft\\":16},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"How are you?\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"},{\\"fontSize\\":16,\\"flex\\":1,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#1d74f5\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"How are you?\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"marginLeft\\":4,\\"marginRight\\":4,\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"selectable\\":false,\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#9ca2a8\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":4},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=40\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"I'm fine!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"I'm fine!\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":4},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=40\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Cool!\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Cool!\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":4},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=40\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":4},{\\"marginLeft\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":20,\\"height\\":20,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=40\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}]}]}]}]}]}]}"`;
-exports[`Storyshots Message Show Button As Attachment 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=72\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flexShrink\\":1,\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[\\"Test Button\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"Text button\\",\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":4,\\"marginBottom\\":12,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#ffffff\\",\\"fontSize\\":16},null],\\"accessibilityLabel\\":\\"Text button\\"},\\"children\\":[\\"Text button\\"]}]}]}]}]}]}]}]}]}"`;
+exports[`Storyshots Message Show Button As Attachment 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=72\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flexShrink\\":1,\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Test Button\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Test Button\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"Text button\\",\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":4,\\"marginBottom\\":12,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#ffffff\\",\\"fontSize\\":16},null],\\"accessibilityLabel\\":\\"Text button\\"},\\"children\\":[\\"Text button\\"]}]}]}]}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=72\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flexShrink\\":1,\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"color\\":\\"#2f343d\\"},{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},{}]},\\"children\\":[\\"🥑\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\" \\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\" \\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message with markdown\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"},{\\"fontWeight\\":\\"bold\\"}]]},\\"children\\":[\\"Message with markdown\\"]},{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[\\"\\\\n\\"]},{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[\\"\\\\n\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Some text\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"},{\\"fontStyle\\":\\"italic\\"}]]},\\"children\\":[\\"Some text\\"]},{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[\\"\\\\n\\"]},{\\"type\\":\\"Text\\",\\"props\\":{},\\"children\\":[\\"\\\\n\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"This is a test\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"This is a test\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"Text button\\",\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":4,\\"marginBottom\\":12,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#ffffff\\",\\"fontSize\\":16},null],\\"accessibilityLabel\\":\\"Text button\\"},\\"children\\":[\\"Text button\\"]}]}]}]}]}]}]}]}]}"`;
exports[`Storyshots Message Static Avatar 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"paddingVertical\\":4,\\"width\\":\\"100%\\",\\"paddingHorizontal\\":14,\\"flexDirection\\":\\"column\\"},null]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4},{\\"marginTop\\":4}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":36,\\"height\\":36,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://pbs.twimg.com/profile_images/1016397063649660929/14EIApTi_400x400.jpg\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"marginLeft\\":46},{\\"marginLeft\\":10}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"flexDirection\\":\\"row\\",\\"justifyContent\\":\\"space-between\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"flexShrink\\":1,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"flexShrink\\":1,\\"fontSize\\":16,\\"lineHeight\\":22,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"}],\\"numberOfLines\\":1},\\"children\\":[\\"diego.mello\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":13,\\"marginLeft\\":8,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"10:00 AM\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#2f343d\\"}]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"accessibilityLabel\\":\\"Message\\",\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"Inter\\",\\"fontWeight\\":\\"400\\"},[{},{\\"marginTop\\":0,\\"marginBottom\\":0,\\"flexWrap\\":\\"wrap\\",\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"flex-start\\",\\"justifyContent\\":\\"flex-start\\"}]]},\\"children\\":[\\"Message\\"]}]}]}]}]}]}]}]}]}]}"`;
diff --git a/android/app/build.gradle b/android/app/build.gradle
index 28962cfff..c4244912c 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -147,7 +147,7 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode VERSIONCODE as Integer
- versionName "4.37.1"
+ versionName "4.38.0"
vectorDrawables.useSupportLibrary = true
if (!isFoss) {
manifestPlaceholders = [BugsnagAPIKey: BugsnagAPIKey as String]
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index e5c7b75dc..b1305bfd6 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -79,10 +79,4 @@
-
-
-
-
-
-
diff --git a/android/app/src/play/java/chat/rocket/reactnative/ReplyBroadcast.java b/android/app/src/play/java/chat/rocket/reactnative/ReplyBroadcast.java
index b3e5c43e8..ef1579b51 100644
--- a/android/app/src/play/java/chat/rocket/reactnative/ReplyBroadcast.java
+++ b/android/app/src/play/java/chat/rocket/reactnative/ReplyBroadcast.java
@@ -138,7 +138,7 @@ public class ReplyBroadcast extends BroadcastReceiver {
final Resources res = mContext.getResources();
String packageName = mContext.getPackageName();
- int smallIconResId = res.getIdentifier("ic_notification", "mipmap", packageName);
+ int smallIconResId = res.getIdentifier("ic_notification", "drawable", packageName);
NotificationChannel channel = new NotificationChannel(CHANNEL_ID, CHANNEL_ID, NotificationManager.IMPORTANCE_LOW);
notificationManager.createNotificationChannel(channel);
diff --git a/app/containers/message/Attachments.tsx b/app/containers/message/Attachments.tsx
index 8731d1505..79f329d19 100644
--- a/app/containers/message/Attachments.tsx
+++ b/app/containers/message/Attachments.tsx
@@ -1,6 +1,5 @@
import React, { useContext } from 'react';
import { dequal } from 'dequal';
-import { Text } from 'react-native';
import { IMessageAttachments } from './interfaces';
import Image from './Image';
@@ -8,13 +7,12 @@ import Audio from './Audio';
import Video from './Video';
import Reply from './Reply';
import Button from '../Button';
-import styles from './styles';
import MessageContext from './Context';
import { useTheme } from '../../theme';
-import { IAttachment } from '../../definitions';
+import { IAttachment, TGetCustomEmoji } from '../../definitions';
import CollapsibleQuote from './Components/CollapsibleQuote';
import openLink from '../../lib/methods/helpers/openLink';
-import { themes } from '../../lib/constants';
+import Markdown from '../markdown';
export type TElement = {
type: string;
@@ -23,9 +21,8 @@ export type TElement = {
text: string;
};
-const AttachedActions = ({ attachment }: { attachment: IAttachment }) => {
+const AttachedActions = ({ attachment, getCustomEmoji }: { attachment: IAttachment; getCustomEmoji: TGetCustomEmoji }) => {
const { onAnswerButtonPress } = useContext(MessageContext);
- const { theme } = useTheme();
if (!attachment.actions) {
return null;
@@ -50,7 +47,7 @@ const AttachedActions = ({ attachment }: { attachment: IAttachment }) => {
});
return (
<>
- {attachment.text}
+
{attachedButtons}
>
);
@@ -106,7 +103,7 @@ const Attachments: React.FC = React.memo(
}
if (file && file.actions && file.actions.length > 0) {
- return ;
+ return ;
}
if (typeof file.collapsed === 'boolean') {
return (
diff --git a/app/containers/message/Blocks.ts b/app/containers/message/Blocks.ts
index b9e6223b3..278e0a205 100644
--- a/app/containers/message/Blocks.ts
+++ b/app/containers/message/Blocks.ts
@@ -1,37 +1,33 @@
-import React, { useRef } from 'react';
+import React from 'react';
import { messageBlockWithContext } from '../UIKit/MessageBlock';
import { IMessageBlocks } from './interfaces';
-const Blocks = React.memo(({ blocks, id: mid, rid, blockAction }: IMessageBlocks) => {
+const Blocks = ({ blocks, id: mid, rid, blockAction }: IMessageBlocks) => {
if (blocks && blocks.length > 0) {
const appId = blocks[0]?.appId || '';
- // eslint-disable-next-line react-hooks/rules-of-hooks
- const comp = useRef(
- React.createElement(
- messageBlockWithContext({
- action: async ({ actionId, value, blockId }: { actionId: string; value: string; blockId: string }) => {
- if (blockAction) {
- await blockAction({
- actionId,
- appId,
- value,
- blockId,
- rid,
- mid
- });
- }
- },
- appId,
- rid
- }),
- { blocks }
- )
+ return React.createElement(
+ messageBlockWithContext({
+ action: async ({ actionId, value, blockId }: { actionId: string; value: string; blockId: string }) => {
+ if (blockAction) {
+ await blockAction({
+ actionId,
+ appId,
+ value,
+ blockId,
+ rid,
+ mid
+ });
+ }
+ },
+ appId,
+ rid
+ }),
+ { blocks }
);
- return comp.current;
}
return null;
-});
+};
Blocks.displayName = 'MessageBlocks';
diff --git a/app/containers/message/Message.stories.tsx b/app/containers/message/Message.stories.tsx
index 6e7aed137..33994b5e3 100644
--- a/app/containers/message/Message.stories.tsx
+++ b/app/containers/message/Message.stories.tsx
@@ -875,21 +875,38 @@ export const Ignored = () => ;
export const CustomStyle = () => ;
export const ShowButtonAsAttachment = () => (
-
+ <>
+
+
+ >
);
export const ThumbnailFromServer = () => (
diff --git a/app/containers/message/index.tsx b/app/containers/message/index.tsx
index ff309cfd8..920c68dcb 100644
--- a/app/containers/message/index.tsx
+++ b/app/containers/message/index.tsx
@@ -1,6 +1,5 @@
import React from 'react';
import { Keyboard, ViewStyle } from 'react-native';
-import { Subscription } from 'rxjs';
import Message from './Message';
import MessageContext from './Context';
@@ -78,13 +77,16 @@ class MessageContainer extends React.Component {
+ // @ts-ignore
+ if (item && item.experimentalSubscribe) {
+ // TODO: Update watermelonDB to recognize experimentalSubscribe at types
+ // experimentalSubscribe(subscriber: (isDeleted: boolean) => void, debugInfo?: any): Unsubscribe
+ // @ts-ignore
+ this.subscription = item.experimentalSubscribe(() => {
this.forceUpdate();
});
}
@@ -112,8 +114,8 @@ class MessageContainer extends React.Component;
-
-export default JitsiMeetView;
diff --git a/app/views/JitsiMeetView.ios.tsx b/app/views/JitsiMeetView.ios.tsx
deleted file mode 100644
index d4f0c4c72..000000000
--- a/app/views/JitsiMeetView.ios.tsx
+++ /dev/null
@@ -1,74 +0,0 @@
-// @ts-ignore
-// eslint-disable-next-line import/no-unresolved
-import JitsiMeet from '@socialcode-rob1/react-native-jitsimeet-custom';
-import React, { useEffect } from 'react';
-import { RouteProp, useNavigation, useRoute } from '@react-navigation/native';
-
-import RCActivityIndicator from '../containers/ActivityIndicator';
-import { useAppSelector } from '../lib/hooks';
-import { events, logEvent } from '../lib/methods/helpers/log';
-import { getUserSelector } from '../selectors/login';
-import { ChatsStackParamList } from '../stacks/types';
-import { endVideoConfTimer, initVideoConfTimer } from '../lib/methods/videoConfTimer';
-
-const formatUrl = (url: string, baseUrl: string, uriSize: number, avatarAuthURLFragment: string) =>
- `${baseUrl}/avatar/${url}?format=png&width=${uriSize}&height=${uriSize}${avatarAuthURLFragment}`;
-
-const JitsiMeetView = (): React.ReactElement => {
- const { goBack } = useNavigation();
- const {
- params: { url, onlyAudio, videoConf, rid }
- } = useRoute>();
- const user = useAppSelector(state => getUserSelector(state));
- const baseUrl = useAppSelector(state => state.server.server);
-
- useEffect(() => {
- initJitsi();
- }, []);
-
- const initJitsi = async () => {
- const audioOnly = onlyAudio ?? false;
- const { name, id: userId, token, username } = user;
- const avatarAuthURLFragment = `&rc_token=${token}&rc_uid=${userId}`;
- const avatar = formatUrl(username, baseUrl, 100, avatarAuthURLFragment);
-
- const userInfo = {
- displayName: name as string,
- avatar
- };
- const regex = /(?:\/.*\/)(.*)/;
- const urlWithoutServer = regex.exec(url)![1];
- const serverUrl = url.replace(`/${urlWithoutServer}`, '');
- const room = (url.includes('jwt=') ? urlWithoutServer.split('jwt=')[0] : urlWithoutServer.split('#')[0]).replace('?', '');
- const jwtToken = url.includes('jwt=') ? url.substring(url.indexOf('jwt=') + 4, url.lastIndexOf('#config')) : undefined;
- const conferenceOptions = {
- room,
- serverUrl,
- userInfo: {
- displayName: userInfo.displayName,
- avatar: userInfo.avatar
- },
- subject: room,
- audioOnly,
- audioMuted: false,
- videoMuted: audioOnly,
- token: jwtToken,
- featureFlags: {
- 'calendar.enabled': false
- },
- configOverrides: {
- 'breakoutRooms.hideAddRoomButton': false
- }
- };
- logEvent(videoConf ? events.LIVECHAT_VIDEOCONF_JOIN : events.JM_CONFERENCE_JOIN);
- if (!videoConf) initVideoConfTimer(rid);
- await JitsiMeet.launchJitsiMeetView(conferenceOptions);
- logEvent(videoConf ? events.LIVECHAT_VIDEOCONF_TERMINATE : events.JM_CONFERENCE_TERMINATE);
- if (!videoConf) endVideoConfTimer();
- goBack();
- };
-
- return ;
-};
-
-export default JitsiMeetView;
diff --git a/app/views/JitsiMeetView.android.tsx b/app/views/JitsiMeetView.tsx
similarity index 60%
rename from app/views/JitsiMeetView.android.tsx
rename to app/views/JitsiMeetView.tsx
index 45265494d..9b5f5e4d7 100644
--- a/app/views/JitsiMeetView.android.tsx
+++ b/app/views/JitsiMeetView.tsx
@@ -1,18 +1,17 @@
import { activateKeepAwake, deactivateKeepAwake } from 'expo-keep-awake';
import React from 'react';
-import { BackHandler, NativeEventSubscription } from 'react-native';
-import { isAppInstalled, openAppWithUri } from 'react-native-send-intent';
+import { BackHandler, Linking, NativeEventSubscription, SafeAreaView } from 'react-native';
import WebView from 'react-native-webview';
-import { WebViewMessage, WebViewNavigation } from 'react-native-webview/lib/WebViewTypes';
+import { WebViewNavigation } from 'react-native-webview/lib/WebViewTypes';
import { IBaseScreen } from '../definitions';
+import { userAgent } from '../lib/constants';
+import { isIOS } from '../lib/methods/helpers';
import { events, logEvent } from '../lib/methods/helpers/log';
import { endVideoConfTimer, initVideoConfTimer } from '../lib/methods/videoConfTimer';
import { ChatsStackParamList } from '../stacks/types';
import { withTheme } from '../theme';
-const JITSI_INTENT = 'org.jitsi.meet';
-
type TJitsiMeetViewProps = IBaseScreen;
class JitsiMeetView extends React.Component {
@@ -29,19 +28,8 @@ class JitsiMeetView extends React.Component {
}
componentDidMount() {
- const { route, navigation } = this.props;
- isAppInstalled(JITSI_INTENT)
- .then(function (isInstalled) {
- if (isInstalled) {
- const callUrl = route.params.url.replace(/^https?:\/\//, '').split('#')[0];
- openAppWithUri(`intent://${callUrl}#Intent;scheme=${JITSI_INTENT};package=${JITSI_INTENT};end`)
- .then(() => navigation.pop())
- .catch(() => {});
- }
- })
- .catch(() => {});
+ this.handleJitsiApp();
this.onConferenceJoined();
- this.backHandler = BackHandler.addEventListener('hardwareBackPress', () => true);
activateKeepAwake();
}
@@ -50,10 +38,24 @@ class JitsiMeetView extends React.Component {
if (!this.videoConf) {
endVideoConfTimer();
}
- this.backHandler.remove();
+ if (this.backHandler) {
+ this.backHandler.remove();
+ }
deactivateKeepAwake();
}
+ handleJitsiApp = async () => {
+ const { route, navigation } = this.props;
+ const callUrl = route.params.url.replace(/^https?:\/\//, '');
+ try {
+ await Linking.openURL(`org.jitsi.meet://${callUrl}`);
+ navigation.pop();
+ } catch (error) {
+ // As the jitsi app was not opened disable the backhandler on android
+ this.backHandler = BackHandler.addEventListener('hardwareBackPress', () => true);
+ }
+ };
+
// Jitsi Update Timeout needs to be called every 10 seconds to make sure
// call is not ended and is available to web users.
onConferenceJoined = () => {
@@ -63,28 +65,36 @@ class JitsiMeetView extends React.Component {
}
};
- onNavigationStateChange = (webViewState: WebViewNavigation | WebViewMessage) => {
+ onNavigationStateChange = (webViewState: WebViewNavigation) => {
const { navigation, route } = this.props;
const jitsiRoomId = route.params.url
?.split(/^https?:\/\//)[1]
?.split('#')[0]
?.split('/')[1];
if ((jitsiRoomId && !webViewState.url.includes(jitsiRoomId)) || webViewState.url.includes('close')) {
- navigation.pop();
+ if (isIOS) {
+ if (webViewState.navigationType) {
+ navigation.pop();
+ }
+ } else {
+ navigation.pop();
+ }
}
};
render() {
return (
- this.onNavigationStateChange(nativeEvent)}
- onNavigationStateChange={this.onNavigationStateChange}
- style={{ flex: 1 }}
- javaScriptEnabled
- domStorageEnabled
- mediaPlaybackRequiresUserAction={false}
- />
+
+
+
);
}
}
diff --git a/app/views/NewServerView/index.tsx b/app/views/NewServerView/index.tsx
index 7bb3d0874..85d0846c3 100644
--- a/app/views/NewServerView/index.tsx
+++ b/app/views/NewServerView/index.tsx
@@ -22,7 +22,7 @@ import { sanitizeLikeString } from '../../lib/database/utils';
import UserPreferences from '../../lib/methods/userPreferences';
import { OutsideParamList } from '../../stacks/types';
import { withTheme } from '../../theme';
-import { isTablet } from '../../lib/methods/helpers';
+import { isIOS, isTablet } from '../../lib/methods/helpers';
import EventEmitter from '../../lib/methods/helpers/events';
import { BASIC_AUTH_KEY, setBasicAuth } from '../../lib/methods/helpers/fetch';
import { showConfirmationAlert } from '../../lib/methods/helpers/info';
@@ -392,28 +392,32 @@ class NewServerView extends React.Component
-
-
- {I18n.t('Onboarding_join_open_description')}
-
-
+ {isIOS ? (
+ <>
+
+
+ {I18n.t('Onboarding_join_open_description')}
+
+
+ >
+ ) : null}
{this.renderCertificatePicker()}
diff --git a/app/views/RoomView/index.tsx b/app/views/RoomView/index.tsx
index 8ed4b40da..a6c1ee78a 100644
--- a/app/views/RoomView/index.tsx
+++ b/app/views/RoomView/index.tsx
@@ -906,7 +906,7 @@ class RoomView extends React.Component {
const { selectedMessage } = this.state;
this.handleCloseEmoji(showActionSheet, {
children: ,
- snaps: ['50%', '80%'],
+ snaps: ['50%'],
enableContentPanningGesture: false
});
};
diff --git a/e2e/data.ts b/e2e/data.ts
index d5c314b62..9e0c93c06 100644
--- a/e2e/data.ts
+++ b/e2e/data.ts
@@ -31,7 +31,7 @@ const data = {
return {
username: `user${randomVal}`,
name: `user${randomVal}`, // FIXME: apply a different name
- password: `password${randomVal}`,
+ password: `Password1@${randomVal}`,
email: `mobile+${randomVal}@rocket.chat`
};
}
diff --git a/e2e/tests/assorted/01-e2eencryption.spec.ts b/e2e/tests/assorted/01-e2eencryption.spec.ts
index d88c78165..9879b70a8 100644
--- a/e2e/tests/assorted/01-e2eencryption.spec.ts
+++ b/e2e/tests/assorted/01-e2eencryption.spec.ts
@@ -108,7 +108,10 @@ describe('E2E Encryption', () => {
});
it('should tap "How it works" and navigate', async () => {
- await element(by.id('e2e-save-password-view-how-it-works').and(by.label('How It Works'))).tap();
+ await waitFor(element(by[textMatcher]('How It Works')).atIndex(0))
+ .toExist()
+ .withTimeout(1000);
+ await element(by.id('e2e-save-password-view-how-it-works')).tap();
await waitFor(element(by.id('e2e-how-it-works-view')))
.toBeVisible()
.withTimeout(2000);
@@ -116,7 +119,10 @@ describe('E2E Encryption', () => {
});
it('should tap "Save my password" and close modal', async () => {
- await element(by.id('e2e-save-password-view-saved-password').and(by.label('I Saved My E2E Password'))).tap();
+ await waitFor(element(by[textMatcher]('I Saved My E2E Password')).atIndex(0))
+ .toExist()
+ .withTimeout(1000);
+ await element(by.id('e2e-save-password-view-saved-password')).tap();
await sleep(300); // wait for animation
await waitFor(element(by.id('rooms-list-view')))
.toBeVisible()
@@ -237,8 +243,14 @@ describe('E2E Encryption', () => {
.toBeVisible()
.withTimeout(2000);
await expect(element(by.id('e2e-encryption-security-view-password'))).toExist();
- await expect(element(by.id('e2e-encryption-security-view-change-password').and(by.label('Save Changes')))).toExist();
- await expect(element(by.id('e2e-encryption-security-view-reset-key').and(by.label('Reset E2E Key')))).toExist();
+ await waitFor(element(by[textMatcher]('Save Changes')).atIndex(0))
+ .toExist()
+ .withTimeout(1000);
+ await expect(element(by.id('e2e-encryption-security-view-change-password'))).toExist();
+ await waitFor(element(by[textMatcher]('Reset E2E Key')).atIndex(0))
+ .toExist()
+ .withTimeout(1000);
+ await expect(element(by.id('e2e-encryption-security-view-reset-key'))).toExist();
});
});
@@ -330,7 +342,10 @@ describe('E2E Encryption', () => {
await waitFor(element(by.id('e2e-encryption-security-view')))
.toBeVisible()
.withTimeout(2000);
- await element(by.id('e2e-encryption-security-view-reset-key').and(by.label('Reset E2E Key'))).tap();
+ await waitFor(element(by[textMatcher]('Reset E2E Key')).atIndex(0))
+ .toExist()
+ .withTimeout(1000);
+ await element(by.id('e2e-encryption-security-view-reset-key')).tap();
await waitFor(element(by[textMatcher]('Are you sure?')))
.toExist()
.withTimeout(2000);
diff --git a/e2e/tests/assorted/12-i18n.spec.ts b/e2e/tests/assorted/12-i18n.spec.ts
index bbf4df4b2..fbce37cb8 100644
--- a/e2e/tests/assorted/12-i18n.spec.ts
+++ b/e2e/tests/assorted/12-i18n.spec.ts
@@ -1,9 +1,10 @@
import Detox, { device, waitFor, element, by, expect } from 'detox';
-import { navigateToLogin, login } from '../../helpers/app';
+import { navigateToLogin, login, TTextMatcher, platformTypes } from '../../helpers/app';
import { createRandomUser, ITestUser } from '../../helpers/data_setup';
const defaultLaunchArgs = { permissions: { notifications: 'YES' } } as Detox.DeviceLaunchAppConfig;
+let textMatcher: TTextMatcher;
const navToLanguage = async () => {
await waitFor(element(by.id('rooms-list-view')))
@@ -28,10 +29,13 @@ const navToLanguage = async () => {
describe('i18n', () => {
describe('OS language', () => {
+ beforeAll(() => {
+ ({ textMatcher } = platformTypes[device.getPlatform()]);
+ });
it("OS set to 'en' and proper translate to 'en'", async () => {
- // if (device.getPlatform() === 'android') {
- // return; // FIXME: Passing language with launch parameters doesn't work with Android
- // }
+ if (device.getPlatform() === 'android') {
+ return; // FIXME: Passing language with launch parameters doesn't work with Android
+ }
await device.launchApp({
...defaultLaunchArgs,
languageAndLocale: {
@@ -43,13 +47,16 @@ describe('i18n', () => {
await waitFor(element(by.id('new-server-view')))
.toBeVisible()
.withTimeout(20000);
- await expect(element(by.id('new-server-view-open').and(by.label('Join our open workspace')))).toBeVisible();
+ await expect(element(by.id('new-server-view-open'))).toBeVisible();
+ await waitFor(element(by[textMatcher]('Join our open workspace')).atIndex(0))
+ .toExist()
+ .withTimeout(1000);
});
it("OS set to unavailable language and fallback to 'en'", async () => {
- // if (device.getPlatform() === 'android') {
- // return; // FIXME: Passing language with launch parameters doesn't work with Android
- // }
+ if (device.getPlatform() === 'android') {
+ return; // FIXME: Passing language with launch parameters doesn't work with Android
+ }
await device.launchApp({
...defaultLaunchArgs,
languageAndLocale: {
@@ -60,7 +67,10 @@ describe('i18n', () => {
await waitFor(element(by.id('new-server-view')))
.toBeVisible()
.withTimeout(20000);
- await expect(element(by.id('new-server-view-open').and(by.label('Join our open workspace')))).toBeVisible();
+ await expect(element(by.id('new-server-view-open'))).toBeVisible();
+ await waitFor(element(by[textMatcher]('Join our open workspace')).atIndex(0))
+ .toExist()
+ .withTimeout(1000);
});
/**
diff --git a/e2e/tests/onboarding/01-onboarding.spec.ts b/e2e/tests/onboarding/01-onboarding.spec.ts
index d44777c7e..6190a8c27 100644
--- a/e2e/tests/onboarding/01-onboarding.spec.ts
+++ b/e2e/tests/onboarding/01-onboarding.spec.ts
@@ -19,9 +19,9 @@ describe('Onboarding', () => {
await expect(element(by.id('new-server-view'))).toBeVisible();
});
- it('should have "Join our open workspace"', async () => {
- await expect(element(by.id('new-server-view-open'))).toBeVisible();
- });
+ // it('should have "Join our open workspace"', async () => {
+ // await expect(element(by.id('new-server-view-open'))).toBeVisible();
+ // });
});
describe('Usage', () => {
@@ -34,12 +34,12 @@ describe('Onboarding', () => {
await element(by[textMatcher]('OK').and(by.type(alertButtonType))).tap();
});
- it('should tap on "Join our open workspace" and navigate', async () => {
- await element(by.id('new-server-view-open')).tap();
- await waitFor(element(by.id('workspace-view')))
- .toBeVisible()
- .withTimeout(60000);
- });
+ // it('should tap on "Join our open workspace" and navigate', async () => {
+ // await element(by.id('new-server-view-open')).tap();
+ // await waitFor(element(by.id('workspace-view')))
+ // .toBeVisible()
+ // .withTimeout(60000);
+ // });
it('should enter a valid server without login services and navigate to login', async () => {
await device.launchApp({ newInstance: true });
diff --git a/e2e/tests/room/09-jumptomessage.spec.ts b/e2e/tests/room/09-jumptomessage.spec.ts
index 84736464f..12ad0b67d 100644
--- a/e2e/tests/room/09-jumptomessage.spec.ts
+++ b/e2e/tests/room/09-jumptomessage.spec.ts
@@ -48,6 +48,13 @@ async function waitForLoading() {
// .withTimeout(10000);
}
+function getIndex() {
+ if (device.getPlatform() === 'android') {
+ return 1;
+ }
+ return 0;
+}
+
describe('Room', () => {
beforeAll(async () => {
await device.launchApp({ permissions: { notifications: 'YES' }, delete: true });
@@ -123,11 +130,11 @@ describe('Room', () => {
.toExist()
.withTimeout(5000);
await element(by.id('search-message-view-input')).replaceText('30');
- await waitFor(element(by[textMatcher]('30')).atIndex(1))
+ await waitFor(element(by[textMatcher]('30')).atIndex(getIndex()))
.toExist()
.withTimeout(30000);
await sleep(1000);
- await element(by[textMatcher]('30')).atIndex(1).tap();
+ await element(by[textMatcher]('30')).atIndex(getIndex()).tap();
await waitForLoading();
await waitFor(element(by[textMatcher]('30')).atIndex(0))
.toExist()
@@ -267,10 +274,10 @@ describe('Threads', () => {
.toExist()
.withTimeout(5000);
await element(by.id('search-message-view-input')).replaceText('to be searched');
- await waitFor(element(by[textMatcher]('to be searched')).atIndex(1))
+ await waitFor(element(by[textMatcher]('to be searched')).atIndex(getIndex()))
.toExist()
.withTimeout(30000);
- await element(by[textMatcher]('to be searched')).atIndex(1).tap();
+ await element(by[textMatcher]('to be searched')).atIndex(getIndex()).tap();
await expectThreadMessages('to be searched');
});
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 145098036..41e078640 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -107,9 +107,6 @@ PODS:
- GoogleUtilities/Logger
- hermes-engine (0.11.0)
- iosMath (0.9.4)
- - JitsiMeetSDKLite (7.0.1-lite):
- - JitsiWebRTC (~> 106.0)
- - JitsiWebRTC (106.0.0)
- KeyCommands (2.0.3):
- React
- libevent (2.1.12)
@@ -366,9 +363,6 @@ PODS:
- React-Core
- react-native-document-picker (8.1.2):
- React-Core
- - react-native-jitsimeet-custom (2.5.0):
- - JitsiMeetSDKLite (= 7.0.1-lite)
- - React-Core
- react-native-mmkv-storage (0.8.0):
- MMKV (= 1.2.13)
- React-Core
@@ -630,7 +624,6 @@ DEPENDENCIES:
- "react-native-cameraroll (from `../node_modules/@react-native-community/cameraroll`)"
- "react-native-cookies (from `../node_modules/@react-native-cookies/cookies`)"
- react-native-document-picker (from `../node_modules/react-native-document-picker`)
- - "react-native-jitsimeet-custom (from `../node_modules/@socialcode-rob1/react-native-jitsimeet-custom`)"
- react-native-mmkv-storage (from `../node_modules/react-native-mmkv-storage`)
- "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)"
- react-native-notifications (from `../node_modules/react-native-notifications`)
@@ -696,8 +689,6 @@ SPEC REPOS:
- GoogleUtilities
- hermes-engine
- iosMath
- - JitsiMeetSDKLite
- - JitsiWebRTC
- libevent
- libwebp
- MMKV
@@ -784,8 +775,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/@react-native-cookies/cookies"
react-native-document-picker:
:path: "../node_modules/react-native-document-picker"
- react-native-jitsimeet-custom:
- :path: "../node_modules/@socialcode-rob1/react-native-jitsimeet-custom"
react-native-mmkv-storage:
:path: "../node_modules/react-native-mmkv-storage"
react-native-netinfo:
@@ -917,8 +906,6 @@ SPEC CHECKSUMS:
GoogleUtilities: c2bdc4cf2ce786c4d2e6b3bcfd599a25ca78f06f
hermes-engine: 84e3af1ea01dd7351ac5d8689cbbea1f9903ffc3
iosMath: f7a6cbadf9d836d2149c2a84c435b1effc244cba
- JitsiMeetSDKLite: d59573336ce887ec52327a9927aa8443f560d0b9
- JitsiWebRTC: f441eb0e2d67f0588bf24e21c5162e97342714fb
KeyCommands: f66c535f698ed14b3d3a4e58859d79a827ea907e
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef
@@ -946,7 +933,6 @@ SPEC CHECKSUMS:
react-native-cameraroll: 2957f2bce63ae896a848fbe0d5352c1bd4d20866
react-native-cookies: f54fcded06bb0cda05c11d86788020b43528a26c
react-native-document-picker: f5ec1a712ca2a975c233117f044817bb8393cad4
- react-native-jitsimeet-custom: a57ca376bfc1c69f639b138f2de2a10e0ed42c04
react-native-mmkv-storage: 8ba3c0216a6df283ece11205b442a3e435aec4e5
react-native-netinfo: e849fc21ca2f4128a5726c801a82fc6f4a6db50d
react-native-notifications: 83b4fd4a127a6c918fc846cae90da60f84819e44
diff --git a/ios/RocketChatRN.xcodeproj/project.pbxproj b/ios/RocketChatRN.xcodeproj/project.pbxproj
index 1a3d604ee..2a7de4b40 100644
--- a/ios/RocketChatRN.xcodeproj/project.pbxproj
+++ b/ios/RocketChatRN.xcodeproj/project.pbxproj
@@ -273,7 +273,6 @@
56A64DDF0C1730D640D3931C /* libPods-defaults-NotificationService.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-NotificationService.a"; sourceTree = BUILT_PRODUCTS_DIR; };
60B2A6A31FC4588700BD58E5 /* RocketChatRN.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = RocketChatRN.entitlements; path = RocketChatRN/RocketChatRN.entitlements; sourceTree = ""; };
6346D438F967C4A0CF0218B4 /* libPods-defaults-RocketChatRN.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-RocketChatRN.a"; sourceTree = BUILT_PRODUCTS_DIR; };
- 65360F272979AA1500778C04 /* JitsiMeetViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = JitsiMeetViewController.swift; path = "../node_modules/@socialcode-rob1/react-native-jitsimeet-custom/ios/JitsiMeetViewController.swift"; sourceTree = ""; };
7A006F13229C83B600803143 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; };
7A0D62D1242AB187006D5C06 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; };
7A14FCEC257FEB3A005BDCD4 /* Experimental.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Experimental.xcassets; sourceTree = ""; };
@@ -359,7 +358,6 @@
13B07FAE1A68108700A75B9A /* RocketChatRN */ = {
isa = PBXGroup;
children = (
- 65360F272979AA1500778C04 /* JitsiMeetViewController.swift */,
7A006F13229C83B600803143 /* GoogleService-Info.plist */,
60B2A6A31FC4588700BD58E5 /* RocketChatRN.entitlements */,
008F07F21AC5B25A0029DE68 /* main.jsbundle */,
@@ -945,15 +943,11 @@
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN-frameworks.sh",
- "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDKLite/JitsiMeetSDK.framework/JitsiMeetSDK",
- "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiWebRTC/WebRTC.framework/WebRTC",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/hermes.framework/hermes",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JitsiMeetSDK.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
);
@@ -1306,15 +1300,11 @@
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat-frameworks.sh",
- "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDKLite/JitsiMeetSDK.framework/JitsiMeetSDK",
- "${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiWebRTC/WebRTC.framework/WebRTC",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/hermes.framework/hermes",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JitsiMeetSDK.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
);
@@ -1770,7 +1760,7 @@
INFOPLIST_FILE = NotificationService/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 4.37.1;
+ MARKETING_VERSION = 4.38.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
@@ -1809,7 +1799,7 @@
INFOPLIST_FILE = NotificationService/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
- MARKETING_VERSION = 4.37.1;
+ MARKETING_VERSION = 4.38.0;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative.NotificationService;
diff --git a/ios/RocketChatRN/Info.plist b/ios/RocketChatRN/Info.plist
index 5428b1074..dc7b8abc8 100644
--- a/ios/RocketChatRN/Info.plist
+++ b/ios/RocketChatRN/Info.plist
@@ -26,7 +26,7 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 4.37.1
+ 4.38.0
CFBundleSignature
????
CFBundleURLTypes
diff --git a/ios/ShareRocketChatRN/Info.plist b/ios/ShareRocketChatRN/Info.plist
index d8420c5bf..47dfa6e18 100644
--- a/ios/ShareRocketChatRN/Info.plist
+++ b/ios/ShareRocketChatRN/Info.plist
@@ -26,7 +26,7 @@
CFBundlePackageType
XPC!
CFBundleShortVersionString
- 4.37.1
+ 4.38.0
CFBundleVersion
1
KeychainGroup
diff --git a/metro.config.js b/metro.config.js
index ffdaf6bcd..7ee9a5e10 100644
--- a/metro.config.js
+++ b/metro.config.js
@@ -21,7 +21,6 @@ module.exports = {
},
maxWorkers: 2,
resolver: {
- blocklistRE: blocklist([/ios\/Pods\/JitsiMeetSDK\/Frameworks\/JitsiMeet.framework\/assets\/node_modules\/react-native\/.*/]),
resolverMainFields: ['sbmodern', 'react-native', 'browser', 'main'],
sourceExts: process.env.RUNNING_E2E_TESTS ? ['mock.ts', ...defaultSourceExts] : defaultSourceExts
}
diff --git a/package.json b/package.json
index 0454bad70..12ac20be7 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "rocket-chat-reactnative",
- "version": "4.37.1",
+ "version": "4.38.0",
"private": true,
"scripts": {
"start": "react-native start",
@@ -64,7 +64,6 @@
"@rocket.chat/message-parser": "^0.31.14",
"@rocket.chat/sdk": "RocketChat/Rocket.Chat.js.SDK#mobile",
"@rocket.chat/ui-kit": "^0.31.19",
- "@socialcode-rob1/react-native-jitsimeet-custom": "socialcode-rob1/react-native-jitsimeet-custom.git",
"bytebuffer": "^5.0.1",
"color2k": "1.2.4",
"commonmark": "git+https://github.com/RocketChat/commonmark.js.git",
@@ -127,7 +126,6 @@
"react-native-safe-area-context": "3.2.0",
"react-native-screens": "3.13.1",
"react-native-scrollable-tab-view": "ptomasroos/react-native-scrollable-tab-view",
- "react-native-send-intent": "^1.3.0",
"react-native-simple-crypto": "RocketChat/react-native-simple-crypto#0.5.1",
"react-native-skeleton-placeholder": "^5.2.3",
"react-native-slowlog": "^1.0.2",
diff --git a/patches/@socialcode-rob1+react-native-jitsimeet-custom+2.5.0.patch b/patches/@socialcode-rob1+react-native-jitsimeet-custom+2.5.0.patch
deleted file mode 100644
index 52777ec0c..000000000
--- a/patches/@socialcode-rob1+react-native-jitsimeet-custom+2.5.0.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/node_modules/@socialcode-rob1/react-native-jitsimeet-custom/react-native-jitsimeet-custom.podspec b/node_modules/@socialcode-rob1/react-native-jitsimeet-custom/react-native-jitsimeet-custom.podspec
-index 80a584b..5b2f71c 100644
---- a/node_modules/@socialcode-rob1/react-native-jitsimeet-custom/react-native-jitsimeet-custom.podspec
-+++ b/node_modules/@socialcode-rob1/react-native-jitsimeet-custom/react-native-jitsimeet-custom.podspec
-@@ -16,5 +16,5 @@ Pod::Spec.new do |s|
- s.source_files = "ios/**/*.{h,m,mm,swift}"
-
- s.dependency "React-Core"
-- s.dependency 'JitsiMeetSDK', '6.2.2'
-+ s.dependency 'JitsiMeetSDKLite', '7.0.1-lite'
- end
diff --git a/react-native.config.js b/react-native.config.js
index 137b05c26..9e78b41ad 100644
--- a/react-native.config.js
+++ b/react-native.config.js
@@ -14,11 +14,6 @@ module.exports = {
platforms: {
android: null
}
- },
- '@socialcode-rob1/react-native-jitsimeet-custom': {
- platforms: {
- android: null
- }
}
}
};
diff --git a/yarn.lock b/yarn.lock
index 5c777ce75..228407791 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5431,10 +5431,6 @@
dependencies:
"@sinonjs/commons" "^1.7.0"
-"@socialcode-rob1/react-native-jitsimeet-custom@socialcode-rob1/react-native-jitsimeet-custom.git":
- version "2.5.0"
- resolved "https://codeload.github.com/socialcode-rob1/react-native-jitsimeet-custom/tar.gz/b1f57cd065028fef2e806824e176d2b54e12cfaf"
-
"@storybook/addon-storyshots@6.3":
version "6.3.13"
resolved "https://registry.yarnpkg.com/@storybook/addon-storyshots/-/addon-storyshots-6.3.13.tgz#282a48880e5074baea7b84f5b091591eb21a9485"
@@ -17581,11 +17577,6 @@ react-native-scrollable-tab-view@ptomasroos/react-native-scrollable-tab-view:
prop-types "^15.6.0"
react-timer-mixin "^0.13.3"
-react-native-send-intent@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/react-native-send-intent/-/react-native-send-intent-1.3.0.tgz#d8c7898827da1b8b10e25a645ce6802d1a0b440c"
- integrity sha512-ODTX7BHITFxdcAL0K2iHfa3qVYnqG8GPcv1NbLBNC1DyCaOSJiiGtVH6Kc5YBqzQ8+1pV9uN5nfQ5wyFgiq74g==
-
react-native-simple-crypto@RocketChat/react-native-simple-crypto#0.5.1:
version "0.5.1"
resolved "https://codeload.github.com/RocketChat/react-native-simple-crypto/tar.gz/dcf6eef5359c739d521371918e13a73f2ea6cb42"