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", () => {
|
||||
expect(
|
||||
computeUrlParams(
|
||||
|
||||
@@ -523,6 +523,14 @@ export const computeUrlParams = (search = "", hash = ""): UrlParams => {
|
||||
...properties,
|
||||
...intentPreset,
|
||||
...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