mirror of
https://github.com/zulip/zulip.git
synced 2025-10-26 09:34:02 +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;
|
return;
|
||||||
}
|
}
|
||||||
sub.is_archived = true;
|
sub.is_archived = true;
|
||||||
stream_info.set_false(stream_id, sub);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function get_non_default_stream_names(): {name: string; unique_id: number}[] {
|
export function get_non_default_stream_names(): {name: string; unique_id: number}[] {
|
||||||
let subs = [...stream_info.values()];
|
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) => ({
|
const names = subs.map((sub) => ({
|
||||||
name: sub.name,
|
name: sub.name,
|
||||||
unique_id: sub.stream_id,
|
unique_id: sub.stream_id,
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ export function get_unmatched_streams_for_notification_settings(): ({
|
|||||||
invite_only: boolean;
|
invite_only: boolean;
|
||||||
is_web_public: 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));
|
subscribed_rows.sort((a, b) => util.strcmp(a.name, b.name));
|
||||||
|
|
||||||
const notification_settings = [];
|
const notification_settings = [];
|
||||||
|
|||||||
@@ -727,7 +727,7 @@ test("delete_sub", () => {
|
|||||||
assert.ok(stream_data.is_subscribed(canada.stream_id));
|
assert.ok(stream_data.is_subscribed(canada.stream_id));
|
||||||
assert.ok(stream_data.get_sub("Canada"));
|
assert.ok(stream_data.get_sub("Canada"));
|
||||||
assert.ok(sub_store.get(canada.stream_id));
|
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");
|
blueslip.expect("warn", "Failed to archive stream 99999");
|
||||||
stream_data.delete_sub(99999);
|
stream_data.delete_sub(99999);
|
||||||
|
|||||||
Reference in New Issue
Block a user