Synchronous groupware depends on the assumption that people are fully connected to the others in the group, but there are many situations (network delay, network outage, or explicit departure) where users are disconnected for various periods. There is little research dealing with disconnection in synchronous groupware from a user and application perspective; as a result, most current groupware systems do not handle disconnection events well, and several user-level problems occur. To address this limitation, we developed the Disco framework, a model for handling several types of disconnection in synchronous groupware. The framework considers how disconnections are identified, what senders and receivers should do during an absence, and what should be done with accumulated data upon reconnection. We have implemented the framework in three applications that show the feasibility, generality, and functionality of our ideas. Our framework is the first to deal with a full range of disconnection issues for synchronous groupware, and shows how groupware can better support the realities of distributed collaboration.