uawdijnntqw1x1x1
IP : 216.73.216.93
Hostname : panel.codeskitter.com
Kernel : Linux panel.codeskitter.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
Disable Function : apache_child_terminate, apache_note, apache_setenv, define_syslog_variables, dl, link, opcache_get_status, openlog, pcntl_exec, pcntl_fork, pcntl_setpriority, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid
OS : Linux
PATH:
/
home
/
users
/
unlimited
/
www
/
facebook.codeskitter.site
/
nodejs
/
controllers
/
TypingController.js
/
/
const funcs = require('../functions/functions') const compiledTemplates = require('../compiledTemplates/compiledTemplates') const socketEvents = require('../events/events') const { Sequelize, Op, DataTypes } = require("sequelize"); const striptags = require('striptags'); const moment = require("moment") const TypingController = async (ctx, data, io,socket) => { let fromUser = await ctx.wo_users.findOne({ where: { user_id: { [Op.eq]: ctx.userHashUserId[data.user_id] } } }) if (!fromUser) { console.log("Skipping no from_user") return } if (ctx.userIdExtra[ctx.userHashUserId[data.user_id]]) { if (ctx.userIdExtra[ctx.userHashUserId[data.user_id]].typingTimeout) { clearTimeout(ctx.userIdExtra[ctx.userHashUserId[data.user_id]].typingTimeout) } ctx.userIdExtra[ctx.userHashUserId[data.user_id]].typingTimeout = setTimeout(async () => { await socketEvents.typingDone(ctx, io, data, ctx.userHashUserId[data.user_id]) }, 2000) } else { ctx.userIdExtra[ctx.userHashUserId[data.user_id]] = { typingTimeout: setTimeout(async () => { await socketEvents.typingDone(ctx, io, data, ctx.userHashUserId[data.user_id]) }, 2000) } } // await funcs.Wo_RegisterTyping(data.user_id, data.recipient_id, 1) await socketEvents.typing(ctx, io, fromUser.avatar, data.recipient_id, ctx.userHashUserId[data.user_id]) }; module.exports = { TypingController };
/home/users/unlimited/www/facebook.codeskitter.site/nodejs/controllers/TypingController.js