Skip to content

feat: Add Talk meeting button to calendar entries - #22

Merged
rathlinus merged 3 commits into
bulwarkmail:mainfrom
kdanielm:main
Oct 28, 2026
Merged

rathlinus merged 3 commits into
bulwarkmail:mainfrom
kdanielm:main

Conversation

@kdanielm

Copy link
Copy Markdown
Contributor

Summary

This adds the ability to add a Nextcloud Talk meeting link to a calendar entry similar to what the Jitsi plugin does

Changes

  • Added permissions to manifest
    • calendar:read
    • calendar:write
    • ui:calendar-action
  • Added setting enableTalkMeetingsButton in manifest
  • Added translations for en and de (Sorry, I unfortunately can't translate the rest) for the identifiers:
    • setting.enableTalkMeetingsButton
    • setting.enableTalkMeetingsButtonHelp
    • talkMeeting.add
    • talkMeeting.added
    • talkMeeting.error
  • Added createTalkRoom method to client (client.js)
  • Added talkmeeting-button.js, which contains the button and the click logic

Related issues

Closes #

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactor / code quality improvement
  • Chore / dependency update / CI change

Checklist

  • I have read the Contributing Guide
  • My code follows the project's code style and conventions
  • I have run npm run typecheck && npm run lint and there are no errors
  • The build passes (npm run build)
  • I have tested my changes locally
  • I have added or updated documentation if needed
  • I have updated translations (locales/) if my changes affect user-facing text
  • I have included screenshots or a screen recording for UI changes

Screenshots / demo

Added settings option:
image

Add Talk meeting button in event ui:
image

Notes for reviewers

@jothoma1

Copy link
Copy Markdown

Whaaaa nice !!!

@rathlinus
rathlinus merged commit b4755d7 into bulwarkmail:main Oct 28, 2026
@rathlinus

Copy link
Copy Markdown
Member

Merged with a fix on top (4829b00):

  • The room request is now a POST. Without a method it went out as a GET, which doesn't create a conversation.
  • The button looks up the connection when you click it. Before, the client was created asynchronously during render, so an early click hit an undefined client. When Nextcloud isn't connected you now get the plugin's usual message.
  • The alert fallback used an undefined url.
  • The "already has a link" check reads eventData.virtualLocation. The host doesn't pass a top-level virtualLocation prop, so the button was never disabled.
  • A 404 from Talk now says the Talk app isn't installed.
  • Dropped calendar:write: the slot only needs ui:calendar-action and calendar:read.
  • Renamed the setting to talkButton with the plugin's .help key convention, translated the strings into all 27 languages, and reverted the whitespace-only changes.
  • Added tests and documented the button in the READMEs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants