delete_sub: Do not remove stream from subscriptions when archived.

This commit is contained in:
sanchi-t
2024-11-20 10:10:22 +05:30
committed by Tim Abbott
parent 874e7bacf9
commit f9babb37a2
3 changed files with 5 additions and 4 deletions

View File

@@ -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,

View File

@@ -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 = [];

View File

@@ -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);