Compare commits

..
Author SHA1 Message Date
Lotus CIandClaude Opus 5.5 93905c5bc1 feat(lotus): sendNotificationType=none turns the call-start notification off (cinny #295)
CI / Build embedded bundle (pull_request) Successful in 3m55s
CI / Publish to Gitea npm registry (pull_request) Skipped
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
2026-10-16 22:06:12 -04:00
Lotus CIandClaude Opus 5.5 3b0050e8bb chore(lotus): 0.25.0-lotus.22
CI / Build embedded bundle (push) Successful in 4m12s
CI / Publish to Gitea npm registry (push) Successful in 1m11s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PPmy3tPq869XDW4njjVaKA
2026-09-27 13:05:01 -04:00
jared 41b45bef25 Merge pull request #42: in-frame "Share your screen?" prompt (cinny #43)
CI / Build embedded bundle (push) Canceled after 0s
CI / Publish to Gitea npm registry (push) Canceled after 0s
2026-09-27 13:05:01 -04:00
3 changed files with 22 additions and 1 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@lotusguild/element-call-embedded",
"version": "0.25.0-lotus.21",
"version": "0.25.0-lotus.22",
"files": [
"README.md",
"LICENSE-AGPL-3.0",
+13
View File
@@ -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(
+8
View File
@@ -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 }
: {}),
};
};