feat(lotus): sendNotificationType=none turns the call-start notification off (cinny #295)
The widget intent presets default sendNotificationType to "notification", and the URL param could only switch it to ring/notification, so the host had no way to say "don't notify". In persistent voice channels and space rooms that notification carries an @room mention: every member got a highlighted ping (and phone push) whenever a moderator joined first, and other clients showed it as a missed call. `sendNotificationType=none` now clears it after the presets are applied. Unit test added. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
3b0050e8bb
commit
93905c5bc1
@@ -305,6 +305,19 @@ describe("UrlParams", () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("[lotus] sendNotificationType=none turns the preset notification off", () => {
|
||||||
|
expect(
|
||||||
|
computeUrlParams(
|
||||||
|
"?intent=start_call&widgetId=1234&parentUrl=parent.org&sendNotificationType=none",
|
||||||
|
).sendNotificationType,
|
||||||
|
).toBeUndefined();
|
||||||
|
expect(
|
||||||
|
computeUrlParams(
|
||||||
|
"?intent=start_call&widgetId=1234&parentUrl=parent.org",
|
||||||
|
).sendNotificationType,
|
||||||
|
).toBe("notification");
|
||||||
|
});
|
||||||
|
|
||||||
it("accepts join_existing", () => {
|
it("accepts join_existing", () => {
|
||||||
expect(
|
expect(
|
||||||
computeUrlParams(
|
computeUrlParams(
|
||||||
|
|||||||
@@ -523,6 +523,14 @@ export const computeUrlParams = (search = "", hash = ""): UrlParams => {
|
|||||||
...properties,
|
...properties,
|
||||||
...intentPreset,
|
...intentPreset,
|
||||||
...pickBy(configuration, (v?: unknown) => v !== undefined),
|
...pickBy(configuration, (v?: unknown) => v !== undefined),
|
||||||
|
// [lotus] `sendNotificationType=none` turns the intent preset's
|
||||||
|
// notification off. The host passes it for persistent voice channels and
|
||||||
|
// space rooms, where a call start must not @room-ping every member
|
||||||
|
// (LotusGuild/cinny#295). pickBy above drops undefined, so it can't be
|
||||||
|
// expressed as a plain override.
|
||||||
|
...(parser.getParam("sendNotificationType") === "none"
|
||||||
|
? { sendNotificationType: undefined }
|
||||||
|
: {}),
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user