Skip to content

Commit d9ba3d1

Browse files
committed
fix: cursor data and user status
1 parent 729164e commit d9ba3d1

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

lib/realtime/realtime.ts

+8-7
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export interface RealtimeUserData {
3333
'user-agent'?: string
3434
photo?: string
3535

36-
cursor?: {line: number, ch: number}
36+
cursor?: CursorData
3737
login?: boolean
3838
userid?: string
3939
name?: string
@@ -65,7 +65,7 @@ export interface RealtimeNoteData {
6565
socks: SocketIO.Socket[]
6666
users: Record<string, RealtimeUserData>
6767
//???
68-
tempUsers: any
68+
tempUsers: Record<string, number>
6969

7070
createtime: number
7171
updatetime: number
@@ -497,7 +497,7 @@ export function emitRefresh(socket: SocketIO.Socket): void {
497497
socket.emit('refresh', out)
498498
}
499499

500-
export function checkViewPermission(req, note) {
500+
export function checkViewPermission(req, note: RealtimeNoteData) {
501501
if (note.permission === 'private') {
502502
if (req.user && req.user.logged_in && req.user.id === note.owner) {
503503
return true
@@ -644,8 +644,9 @@ interface RealtimeClientUserData {
644644
color?: string
645645
cursor?: CursorData
646646
name?: string
647-
idle?: boolean
648-
type?: string
647+
648+
idle: boolean
649+
type: 'xs' | 'sm' | 'md' | 'lg'
649650
}
650651

651652
export function buildUserOutData(user: RealtimeUserData): RealtimeClientUserData {
@@ -664,7 +665,7 @@ export function buildUserOutData(user: RealtimeUserData): RealtimeClientUserData
664665
}
665666

666667
// TODO: test it
667-
export function updateUserData(socket: SocketIO.Socket, user): void {
668+
export function updateUserData(socket: SocketIO.Socket, user: RealtimeUserData): void {
668669
// retrieve user data from passport
669670
if (socket.request.user && socket.request.user.logged_in) {
670671
const profile = User.getProfile(socket.request.user)
@@ -756,7 +757,7 @@ function operationCallback(socket: SocketIO.Socket, operation: any) {
756757
}
757758

758759
// TODO: test it
759-
export function updateHistory(userId: string, note, time?: number): void {
760+
export function updateHistory(userId: string, note: RealtimeNoteData, time?: number): void {
760761
const noteId = note.alias ? note.alias : Note.encodeNoteId(note.id)
761762
if (note.server) history.updateHistory(userId, noteId, note.server.document, time)
762763
}

lib/realtime/realtimeClientConnection.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ import {Note} from "../models";
88
import {logger} from "../logger";
99
import {RealtimeNoteData, RealtimeUserData} from "./realtime";
1010

11-
export type CursorData = Record<string, string>
11+
export type CursorData = {line: number, ch: number}
1212

1313
export interface UserStatus {
14-
type: string
1514
idle: boolean
15+
type: 'xs' | 'sm' | 'md' | 'lg'
1616
}
1717

1818
export class RealtimeClientConnection {

0 commit comments

Comments
 (0)