Skip to content
8 changes: 8 additions & 0 deletions app/definitions/rest/v1/teams.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,12 @@ export type TeamsEndpoints = {
room: { readOnly: boolean; extraData: { broadcast: boolean; encrypted: boolean } };
}) => { team: ITeam };
};
'teams.listRooms': {
GET: (params: { teamId: string; count: number; offset: number; type: string; filter?: any }) => {
rooms: IServerTeamUpdateRoom[];
total: number;
count: number;
offset: number;
};
};
};
4 changes: 1 addition & 3 deletions app/lib/rocketchat/services/restApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ export const getTeamListRoom = ({
offset: number;
type: string;
filter: any;
}): any => {
}) => {
const params: any = {
teamId,
count,
Expand All @@ -332,8 +332,6 @@ export const getTeamListRoom = ({
params.filter = filter;
}
// RC 3.13.0
// TODO: missing definitions from server
// @ts-ignore
return sdk.get('teams.listRooms', params);
};

Expand Down
53 changes: 17 additions & 36 deletions app/views/TeamChannelsView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { EdgeInsets, withSafeAreaInsets } from 'react-native-safe-area-context';
import { connect } from 'react-redux';
import { Dispatch } from 'redux';

import { IServerTeamUpdateRoom } from '../definitions/ITeam';
import { deleteRoom } from '../actions/room';
import { themes } from '../constants/colors';
import { withActionSheet } from '../containers/ActionSheet';
Expand All @@ -18,7 +19,6 @@ import SafeAreaView from '../containers/SafeAreaView';
import SearchHeader from '../containers/SearchHeader';
import StatusBar from '../containers/StatusBar';
import { IApplicationState, IBaseScreen } from '../definitions';
import { ERoomType } from '../definitions/ERoomType';
import { withDimensions } from '../dimensions';
import I18n from '../i18n';
import database from '../lib/database';
Expand All @@ -41,41 +41,20 @@ const PERMISSION_EDIT_TEAM_CHANNEL = 'edit-team-channel';
const PERMISSION_REMOVE_TEAM_CHANNEL = 'remove-team-channel';
const PERMISSION_ADD_TEAM_CHANNEL = 'add-team-channel';

const getItemLayout = (data: IItem[] | null | undefined, index: number) => ({
const getItemLayout = (data: IServerTeamUpdateRoom[] | null | undefined, index: number) => ({
length: data?.length || 0,
offset: ROW_HEIGHT * index,
index
});
const keyExtractor = (item: IItem) => item._id;

// This interface comes from request RocketChat.getTeamListRoom
interface IItem {
_id: ERoomType;
fname: string;
customFields: object;
broadcast: boolean;
encrypted: boolean;
name: string;
t: string;
msgs: number;
usersCount: number;
u: { _id: string; name: string };
ts: string;
ro: boolean;
teamId: string;
default: boolean;
sysMes: boolean;
_updatedAt: string;
teamDefault: boolean;
}
const keyExtractor = (item: IServerTeamUpdateRoom) => item._id;

interface ITeamChannelsViewState {
loading: boolean;
loadingMore: boolean;
data: IItem[];
data: IServerTeamUpdateRoom[];
isSearching: boolean;
searchText: string | null;
search: IItem[];
search: IServerTeamUpdateRoom[];
end: boolean;
showCreate: boolean;
}
Expand Down Expand Up @@ -187,8 +166,10 @@ class TeamChannelsView extends React.Component<ITeamChannelsViewProps, ITeamChan
} as ITeamChannelsViewState;

if (isSearching) {
// @ts-ignore
newState.search = [...search, ...result.rooms];
} else {
// @ts-ignore
newState.data = [...data, ...result.rooms];
}

Expand Down Expand Up @@ -339,12 +320,12 @@ class TeamChannelsView extends React.Component<ITeamChannelsViewProps, ITeamChan
}
};

getRoomTitle = (item: IItem) => RocketChat.getRoomTitle(item);
getRoomTitle = (item: IServerTeamUpdateRoom) => RocketChat.getRoomTitle(item);

getRoomAvatar = (item: IItem) => RocketChat.getRoomAvatar(item);
getRoomAvatar = (item: IServerTeamUpdateRoom) => RocketChat.getRoomAvatar(item);

onPressItem = debounce(
async (item: IItem) => {
async (item: IServerTeamUpdateRoom) => {
logEvent(events.TC_GO_ROOM);
const { navigation, isMasterDetail } = this.props;
try {
Expand Down Expand Up @@ -372,7 +353,7 @@ class TeamChannelsView extends React.Component<ITeamChannelsViewProps, ITeamChan
true
);

toggleAutoJoin = async (item: IItem) => {
toggleAutoJoin = async (item: IServerTeamUpdateRoom) => {
logEvent(events.TC_TOGGLE_AUTOJOIN);
try {
const { data } = this.state;
Expand All @@ -392,7 +373,7 @@ class TeamChannelsView extends React.Component<ITeamChannelsViewProps, ITeamChan
}
};

remove = (item: IItem) => {
remove = (item: IServerTeamUpdateRoom) => {
Alert.alert(
I18n.t('Confirmation'),
I18n.t('Remove_Team_Room_Warning'),
Expand All @@ -411,7 +392,7 @@ class TeamChannelsView extends React.Component<ITeamChannelsViewProps, ITeamChan
);
};

removeRoom = async (item: IItem) => {
removeRoom = async (item: IServerTeamUpdateRoom) => {
logEvent(events.TC_DELETE_ROOM);
try {
const { data } = this.state;
Expand All @@ -426,7 +407,7 @@ class TeamChannelsView extends React.Component<ITeamChannelsViewProps, ITeamChan
}
};

delete = (item: IItem) => {
delete = (item: IServerTeamUpdateRoom) => {
logEvent(events.TC_DELETE_ROOM);
const { dispatch } = this.props;

Expand All @@ -441,15 +422,15 @@ class TeamChannelsView extends React.Component<ITeamChannelsViewProps, ITeamChan
{
text: I18n.t('Yes_action_it', { action: I18n.t('delete') }),
style: 'destructive',
// VERIFY ON PR
// @ts-ignore
onPress: () => dispatch(deleteRoom(item._id, item))
}
],
{ cancelable: false }
);
};

showChannelActions = async (item: IItem) => {
showChannelActions = async (item: IServerTeamUpdateRoom) => {
logEvent(events.ROOM_SHOW_BOX_ACTIONS);
const {
showActionSheet,
Expand Down Expand Up @@ -511,7 +492,7 @@ class TeamChannelsView extends React.Component<ITeamChannelsViewProps, ITeamChan
showActionSheet({ options });
};

renderItem = ({ item }: { item: IItem }) => {
renderItem = ({ item }: { item: IServerTeamUpdateRoom }) => {
const { StoreLastMessage, useRealName, theme, width, showAvatar, displayMode } = this.props;
return (
<RoomItem
Expand Down
4 changes: 2 additions & 2 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -950,7 +950,7 @@ SPEC CHECKSUMS:
EXVideoThumbnails: 442c3abadb51a81551a3b53705b7560de390e6f7
EXWebBrowser: 76783ba5dcb8699237746ecf41a9643d428a4cc5
FBLazyVector: e686045572151edef46010a6f819ade377dfeb4b
FBReactNativeSpec: 8a1012a62d7a3d667376b413656d780b8e4680ce
FBReactNativeSpec: 686ac17e193dcf7d5df4d772b224504dd2f3ad81
Firebase: 919186c8e119dd9372a45fd1dd17a8a942bc1892
FirebaseAnalytics: 5fa308e1b13f838d0f6dc74719ac2a72e8c5afc4
FirebaseCore: 8cd4f8ea22075e0ee582849b1cf79d8816506085
Expand Down Expand Up @@ -1055,4 +1055,4 @@ SPEC CHECKSUMS:

PODFILE CHECKSUM: 9fd323641c96f6bf98b309066332c3ff95b9cf15

COCOAPODS: 1.11.2
COCOAPODS: 1.10.1
Comment thread
gerzonc marked this conversation as resolved.
Outdated
12 changes: 6 additions & 6 deletions ios/RocketChatRN.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -958,8 +958,8 @@
"${PODS_ROOT}/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN-frameworks.sh",
"${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDK/JitsiMeetSDK.framework/JitsiMeetSDK",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDK/WebRTC.framework/WebRTC",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/WebRTC/WebRTC.framework/WebRTC",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework/OpenSSL",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
Expand Down Expand Up @@ -1179,8 +1179,8 @@
"${PODS_ROOT}/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat-frameworks.sh",
"${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDK/JitsiMeetSDK.framework/JitsiMeetSDK",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/JitsiMeetSDK/WebRTC.framework/WebRTC",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/WebRTC/WebRTC.framework/WebRTC",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework/OpenSSL",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
Expand Down Expand Up @@ -1869,7 +1869,7 @@
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 i386";
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
Expand Down Expand Up @@ -1924,7 +1924,7 @@
COPY_PHASE_STRIP = YES;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 i386";
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
Expand Down