@@ -77,6 +77,10 @@ def private_box_view(self, button: Any=None, email: str='',
77
77
78
78
def stream_box_view (self , stream_id : int , caption : str = '' , title : str = '' ,
79
79
) -> None :
80
+ if (self .model .is_user_view_in_removed_stream (stream_id )):
81
+ self .model .controller .view .set_footer_text (
82
+ " You can't reply to messages from unsubscribed streams." , 3 )
83
+ return
80
84
self .set_editor_mode ()
81
85
self .stream_id = stream_id
82
86
self .recipient_user_ids = self .model .get_other_subscribers_in_stream (
@@ -1133,6 +1137,11 @@ def keypress(self, size: urwid_Size, key: str) -> Optional[str]:
1133
1137
stream_id = self .stream_id ,
1134
1138
)
1135
1139
elif is_command_key ('STREAM_MESSAGE' , key ):
1140
+ if (self .model .is_user_view_in_removed_stream (self .stream_id )):
1141
+ self .model .controller .view .set_footer_text (
1142
+ " You can't write messages from unsubscribed streams." ,
1143
+ 3 )
1144
+ return None
1136
1145
if self .message ['type' ] == 'private' :
1137
1146
self .model .controller .view .write_box .private_box_view (
1138
1147
email = self .recipients_emails ,
@@ -1177,13 +1186,18 @@ def keypress(self, size: urwid_Size, key: str) -> Optional[str]:
1177
1186
recipient_user_ids = [self .message ['sender_id' ]],
1178
1187
)
1179
1188
elif is_command_key ('MENTION_REPLY' , key ):
1180
- self .keypress (size , 'enter' )
1181
- mention = '@**' + self .message ['sender_full_name' ] + '** '
1182
- self .model .controller .view .write_box .msg_write_box .set_edit_text (
1183
- mention )
1184
- self .model .controller .view .write_box .msg_write_box .set_edit_pos (
1185
- len (mention ))
1186
- self .model .controller .view .middle_column .set_focus ('footer' )
1189
+ if (not self .model .is_user_view_in_removed_stream (self .stream_id )):
1190
+ self .keypress (size , 'enter' )
1191
+ mention = '@**' + self .message ['sender_full_name' ] + '** '
1192
+ write_box = self .model .controller .view .write_box .msg_write_box
1193
+ write_box .set_edit_text (mention )
1194
+ write_box .set_edit_pos (len (mention ))
1195
+ self .model .controller .view .middle_column .set_focus ('footer' )
1196
+ else :
1197
+ self .model .controller .view .set_footer_text (
1198
+ " You can't reply to messages from unsubscribed streams." ,
1199
+ 3 )
1200
+ return key
1187
1201
elif is_command_key ('QUOTE_REPLY' , key ):
1188
1202
self .keypress (size , 'enter' )
1189
1203
quote = '```quote\n ' + self .model .client .get_raw_message (
@@ -1194,6 +1208,11 @@ def keypress(self, size: urwid_Size, key: str) -> Optional[str]:
1194
1208
len (quote ))
1195
1209
self .model .controller .view .middle_column .set_focus ('footer' )
1196
1210
elif is_command_key ('EDIT_MESSAGE' , key ):
1211
+ if (self .model .is_user_view_in_removed_stream (self .stream_id )):
1212
+ self .model .controller .view .set_footer_text (
1213
+ " You can't edit messages from unsubscribed streams." ,
1214
+ 3 )
1215
+ return key
1197
1216
if self .message ['sender_id' ] != self .model .user_id :
1198
1217
self .model .controller .view .set_footer_text (
1199
1218
" You can't edit messages sent by other users." , 3 )
0 commit comments