Skip to content

docs(openspec): propose keep-parties-after-members-leave - #25

Merged
TheMeinerLP merged 1 commit into
mainfrom
docs/propose-keep-parties-after-members-leave
Oct 30, 2026
Merged

TheMeinerLP merged 1 commit into
mainfrom
docs/propose-keep-parties-after-members-leave

Conversation

@TheMeinerLP

Copy link
Copy Markdown
Contributor

Proposed changes

A player invites a friend, and they play together for an hour. The friend's connection drops, or they step away. The
player who stayed sees "the party was disbanded, the last member left". When the friend comes back a few minutes later,
there is no party to rejoin, and the player has to create one again and invite everyone again.

This proposal keeps the party open when it drops to one member. The remaining player stays the party's leader if they
were already, or becomes the leader by the existing succession rule. The party keeps its id and gets the same alone
timeout as a party that nobody ever joined (30 minutes by default), counted from the moment the friend left. If somebody
joins in time, the timer stops. If the party is alone again later, the timer starts again from that moment. A party that
loses its last member is still closed at once.

The remaining player is told that the other one left and that the party closes if nobody joins for a while. The warning
before closing and the closing message stay as they are today. Parties stored by an older backend keep their current
expiry.

The change ships as fix(party). Code follows once this proposal is merged. The full proposal, design decisions and
tasks are in openspec/changes/keep-parties-after-members-leave/.

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Update (if none of the other choices apply)

Checklist

  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)

Further comments

Only the OpenSpec proposal is in this pull request; no code. Points for review:

  • The alone timeout is reused rather than adding a second setting. The design records why.
  • The stored start of the alone period is a nullable field on the party. Parties without it expire by creation time, as
    before, so no migration is needed.
  • Velocity plugin 0.4.0 already handles a one-member party after a leave without failing. It only lacks the message that
    the party stays open, and the code change adds that message in English and German.
  • The OpenSpec validator reports INFO notes: the two MODIFIED deltas refer to requirements of add-party-lifecycle, which
    is not archived yet, so there is no base spec to modify. They become valid once that change is archived.

@TheMeinerLP
TheMeinerLP merged commit 18d7b13 into main Oct 30, 2026
9 checks passed
@TheMeinerLP
TheMeinerLP deleted the docs/propose-keep-parties-after-members-leave branch October 30, 2026 19:25
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.

1 participant