mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
delete_sub: Do not remove stream from subscriptions when archived.
This commit is contained in:
@@ -313,12 +313,13 @@ export function delete_sub(stream_id: number): void {
|
||||
return;
|
||||
}
|
||||
sub.is_archived = true;
|
||||
stream_info.set_false(stream_id, sub);
|
||||
}
|
||||
|
||||
export function get_non_default_stream_names(): {name: string; unique_id: number}[] {
|
||||
let subs = [...stream_info.values()];
|
||||
subs = subs.filter((sub) => !is_default_stream_id(sub.stream_id) && !sub.invite_only);
|
||||
subs = subs.filter(
|
||||
(sub) => !is_default_stream_id(sub.stream_id) && !sub.invite_only && !sub.is_archived,
|
||||
);
|
||||
const names = subs.map((sub) => ({
|
||||
name: sub.name,
|
||||
unique_id: sub.stream_id,
|
||||
|
@@ -89,7 +89,7 @@ export function get_unmatched_streams_for_notification_settings(): ({
|
||||
invite_only: boolean;
|
||||
is_web_public: boolean;
|
||||
})[] {
|
||||
const subscribed_rows = stream_data.subscribed_subs();
|
||||
const subscribed_rows = stream_data.subscribed_subs().filter((sub) => !sub.is_archived);
|
||||
subscribed_rows.sort((a, b) => util.strcmp(a.name, b.name));
|
||||
|
||||
const notification_settings = [];
|
||||
|
@@ -727,7 +727,7 @@ test("delete_sub", () => {
|
||||
assert.ok(stream_data.is_subscribed(canada.stream_id));
|
||||
assert.ok(stream_data.get_sub("Canada"));
|
||||
assert.ok(sub_store.get(canada.stream_id));
|
||||
assert.equal(stream_data.num_subscribed_subs(), num_subscribed_subs - 1);
|
||||
assert.equal(stream_data.num_subscribed_subs(), num_subscribed_subs);
|
||||
|
||||
blueslip.expect("warn", "Failed to archive stream 99999");
|
||||
stream_data.delete_sub(99999);
|
||||
|
Reference in New Issue
Block a user