Нужны добровольцы для тестирования
Доброго времени суток!
Буквально месяц назад начал разработку плагина «xChat», судя по названию Вы уже поняли что речь идет о плагине чата, аналогов на ЛС возможно много и т.д. но не в этом суть. Сейчас плагин находится на этапе тестирования и требуется ваша помощь. Все найденные ошибки, косяки и т.д. прошу писать сюда в комментарии. За одно будет проводится проверка на нагрузку сервера и т.д.
Спасибо за помощь тем кто откликнулся!
Небольшая инструкция…
1. Адреса сайта ls.xdev.kz
2. Регистрация без подтверждения
3. Чат позволяет вести диалог только с 1 человеком, то есть приват чат.
4. Для того чтобы добавить кого либо в контакт лист нужно добавить его в друзья (разрешено общаться только с друзьями)
5. Все найденные ошибки, глюки и все что в общем может показаться не верным прошу писать сюда, желательно приложив скрин.
6. Все сообщения в чате хранятся ровно 24 часа, чтобы не засорять базу.
И так теперь не большое описание плагина.
— Плагин на AJAX (jQuery 1.7+)
— Может сохранять положение окон, при перезагрузки или переходе страницы (хранит все в куках)
— Повторяющиеся запросы в БД кэшируются (для уменьшения нагрузки)
— Имеется звуковое сопровождение (входящее сообщение, контакт онлайн, контакт оффлайн, ошибка в AJAX)
— Имеется флаг о прочтении сообщения получателем, все не прочтенные сообщения подсвечены желтым цветом
— Окно чата может сворачиваться
— Всплывающее окна при изменении статуса контакта, и при входящем сообщении если окно чата было свернуто
— В заголовок страницы вписывается кол-во не прочтенных сообщений
— В контакт листе помечаются люди те кто в онлайн
UPD:
— Список активных контактов (активные контакты выводятся на самый верх) (JS)
— Поиск по списку контактов (JS)
— Убрана «лишняя» анимация (JS)
— Оптимизирована нагрузка на сервер (JS + PHP)
— Изменены интервалы запроса (на более умеренный) (JS)
— — Запрос контакт листа = 40с
— — Получение сообщений активного контакта = 10с
— — Получение всех не прочтенных сообщений = 10с
— — Отправка отчета о доставке каждый цикл по 10 сообщений с интервалом ~1-2с
Не много скринов для наглядности:
Окно с контактами:
Полный вид чата:
Свернутый:
В планах:
— Заставить мигать окно браузера в случае если окно браузера свернуто и пришло новое сообщение (если есть решение как сделать пишите :) )
— Запретить повторное появление окна чата на других страницах (если открыты не сколько страниц одного сайта) (если есть решение как сделать пишите :) )
— Добавить возможность работы на Node.js (в разработке)
16 комментариев
Еще вопрос, а почему вы хотя бы на время тестирования не хотите в чате отображать всех пользователей сайта, которые онлайн, а не только друзей. А то я зарегистрировался и теперь искать кого бы добавить, создает определенные трудности.
а зачем вы так хотите сделать?
И какие планы по стоимости?
Насчет node.js сейчас рассматриваются все оптимальные вариант по его внедрению в плагин, но пока что на второй план ибо пока не каждый может у себя на хосте его разметить.
Насчет запрета, просто если открыть чат в 2х окнах будет удваиваться нагрузка с 1го человека т.к. запросы на проверку будут идти с обоих окон, не говоря о том что их может быть гораздо больше. Но этот вопрос должен решить если сделать чат через node.js
Цена плагина точно будет не дорогой, думаю не больше 20$ может и того меньше. Но это пока ориентировка насчет этого ничего конкретного сказать не могу.
Одна таблица? В том же кометчате тоже одна для истории (поиск по этой таблице когда в ней 200 тысяч записей начинает работать медленно, даже с индексами) + ещё одна для статусов (пользователь может выставить статус что он занят, невидим или оффлайн, поскольку это плагин к ЛС, то можно эти поля добавить в таблицу пользователя). Его можно сделать минимальным примерно как у вас или в фейсбуке.
По чату в одном окне, я понимаю вашу мысль про нагрузку, но это жуткое ограничение, я например частенько открываю много вкладок и это меня честно говоря огорчит.
2. Чтобы общаться нужно держать постоянно открытым список контактов. Допустим у меня 50 друзей, и каждый раз когда я хочу написать человеку с ником на А я поднимаю список вверх, а когда хочу написать человеку с ником на Z буду прокручивать вниз? В том же кометчате переписка с каждым человеком это отдельное окошко. Объединение всех переписок в одно окно это круто, но если в этом окне будет список только тех с кем я сейчас переписываюсь (аля qip), а список всех моих друзей отдельно, притом чтобы они независимо друг от друга сворачивались
3. у вас не быстрый сервер? Посмотрел тайминги запросов новых сообщение 200-600мс, это безумно много
2. Подумаю что можно сделать
3. На сервере сейчас ведется бекап и поэтому тормозит, скоро должен стать более стабильней