Skip to content

expired links from reschedules #98

Closed

Description

@serversathome-personal

Before submitting

  • I've searched existing issues and this isn't a duplicate.
  • This is a reproducible bug in Calnode — not a configuration/setup question or a feature request.

What's the bug?

Someone had booked then rescheduled. I use the built in video rooms for my 1-on-1 and the autogenerated link had expired since it had not been regenerated for the new reschedule date

Steps to reproduce

  1. schedule a meeting with the built in video room
  2. reschedule the meetings
  3. try to click the link after the date of the first meeting has passed
  4. fail

Calnode version / commit

0.9.0

How are you running Calnode?

Self-hosted — Docker

Logs, screenshots, or anything else

Image

Activity

  1. pullfrog commented on Sep 24, 2026

    @pullfrog
    Contributor
  2. shockalotti commented on Sep 26, 2026

    @shockalotti
    Contributor

    Root cause confirmed in code: rescheduleSideEffects moves calendar events, updates the Zoom meeting (whose link is stable), rotates the manage token, re-sends emails - but never touched LiveKit rooms. The room name is stable (booking-<id>), yet the signed join URLs expire two hours past the meeting end, so after rescheduling past the original date every stored link is dead. That's exactly your screenshot.

    Fixed on main: reschedule now re-mints both join links against the same room with an expiry past the new end, refreshes the stored location, and only then sends the emails - so the attendee email, the manage page, and the record all carry live links.

    Two adjacent gaps I deliberately left out of this fix: host calendar events keep the old host link (updating event locations on move needs provider API work across Google/Microsoft/CalDAV), and host reschedule emails carry the attendee link rather than the controls-enabled host link. Say the word if either bites and they'll get their own issues.

  3. shockalotti commented on Sep 26, 2026

    @shockalotti
    Contributor

    Verified in production: reschedule mints fresh links (confirmation vs reschedule tokens differ). Closing as completed.

  4. added a commit that references this issue on Sep 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions