* Update websockets to allow joining document-based rooms * dynamic websocket joining * emit user.join/leave events when entering and exiting document rooms * presence storage * feat: frontend presence store * lint * UI updates * First pass editing state * refactoring * Timeout per user/doc lint * Document data loading refactor to keep Socket mounted * restore: Mark as viewed functionality Add display of 'you' to collaborators * fix: Socket/document remount when document slug changes due to title change * Revert unneccessary package update * Move editing ping interval to a shared constant * fix: Flash of sidebar when loading page directly on editing mode * separate document and revision loading * add comments for socket events * fix: Socket events getting bound multiple times on reconnect * fix: Clear client side presence state on disconnect * fix: Don't ignore server side error Improved documentation * More comments / why comments * rename Socket -> SocketPresence * fix: Handle redis is down remove unneccessary join * fix: PR feedback
21 lines
350 B
JavaScript
21 lines
350 B
JavaScript
// @flow
|
|
import { action } from 'mobx';
|
|
import BaseModel from './BaseModel';
|
|
import User from './User';
|
|
|
|
class View extends BaseModel {
|
|
id: string;
|
|
documentId: string;
|
|
firstViewedAt: string;
|
|
lastViewedAt: string;
|
|
count: number;
|
|
user: User;
|
|
|
|
@action
|
|
touch() {
|
|
this.lastViewedAt = new Date().toString();
|
|
}
|
|
}
|
|
|
|
export default View;
|