Giter Club home page Giter Club logo

chat-room-lite's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

chat-room-lite's Issues

Bug Report

 Error Code : 1006
Cannot find the service.

在服务端的电脑上, 当我一段时间不发消息, 就会自动连不到设备

DEVICE INFO:

OS: Ubuntu 20.04 focal
Kernel: x86_64 Linux 5.4.0-56-generic
CPU: AMD PRO A10-8770 R7, 10 COMPUTE CORES 4C+6G @ 4x 3.5GHz
GPU: AMD/ATI Oland [Radeon HD 8570 / R7 240/340 / Radeon 520 OEM]
RAM: 3229MiB / 3927MiB

我猜测这是否是因为我中间将电脑锁屏导致的, 但是我锁屏后别的聊天室的成员却没有发生任何事, 这让我感到困惑

表情支持

众所周知OIer是习惯于使用QQ表情来交流的, 例如

  • /kk 快哭了
  • /kel 可怜
  • /dk 流泪
  • /fad 发抖

希望添加这一特性

未认证用户也能接受,发送,显示动态用户列表

在输入IP和端口,建立连接之后,能够直接发送信息,接受房间内人的信息,显示动态用户列表。用户名显示undefined。

话说写码的质量要提高点啊……不能随便就加一个游离的请求种类,新功能加爽了,bug倒是顾头不顾尾地冒出来了……

支持自定义的公共房间列表

支持在客户端添加自定义房间列表,这里的客户端指拿到了客户端文件并且有意自定义之后打包发送给其他人的人,便捷添加自定义默认房间。

响应式布局

使得页面能够根据当前客户端的不同长宽比,页面实际宽度更换布局,便于移动端使用,以及设计一套专门供移动端使用的布局。

多标签页

具体来说,就是像vscode之类的一样,他允许你同时打开多个不同的任务,而不必启动多次应用:

我感觉这有点太肝了,不会真有人能肝到这种地步吧/fad

后端的服务器管理

管理的话现在打算是添加一个服务器端的管理命令行,拥有 root 权限,可以给用户添加 sudo 权限,包括禁言,ban人等。

#1 分离出来了

房间描述

添加房间的可选描述。纯文本,对字数有限制,考虑到输入中文不能,所以大概会变成读取特定文件作为描述。

使用cookie

使得Chat Room Lite更好使用cookie这一工具,实现包括保存默认主题,上次进入的房间这一功能

新特性

希望添加的内容:

  • 输入框内支持tab
  • 支持自添加服务器地址和端口, 点击服务器地址前面的图标直接跳到输入名字环节

砍掉指令功能

显而易见的,这东西非常鸡肋,所以需要砍掉。
已经可以砍掉的指令有:/exit /notice /theme。
需要稍微做点优化之后砍掉的指令有:/cls /tag /untag

具体怎么优化我会再开一个issue

更新登录接口

历史遗留问题,现在登录到服务器的接口太简陋了,要稍微更新一下。同时也是为了快速登录到服务器做前置

创造主题和主题商店

需要一个创造主题的工具,流程是用户使用工具,创建主题,可以的话要实时预览(通过JS修改style就行),最后生成文件调用浏览器下载功能保存为主题文件/文件夹/压缩包。

主题商店就是分享用户制作的主题。

服务端检查信息安全性问题

服务器突然挂了,我去看了下错误信息,有人直接给服务器发了一条裸的 message 为test的信息,然后服务器就挂掉了。

服务端没有对收到的信息做安全性检查,虽然不会造成什么损坏,但是不合格式的消息可能会导致崩溃。

要加入格式检查。

服务器管理面板

显然虽然服务端的命令行能满足当前需求,但是对于需要长期挂起的服务器来说则无法操作。

我们需要一个能直接访问的服务器管理面板。

Client.js显示消息架构

原有的方法是把output里面的东西拷贝出来,加上新消息,再改回去,这样有着明显的弊端,例如多媒体元素每有新消息就会重新刷新一遍。

把消息封装在div里面,每次有新消息往output里面appendchild。

在主页面添加更多内容

包括有特色的横幅,标识符,动态公共房间列表,曾经进入过的房间,甚至是好友列表等。最好分栏展示。

开发PWA应用

目前Chat Room Lite作为应用方面,可离线这一点已经不错,具有开发为App的潜质。

连接问题

我今天使用时发现每个连接都是断开的,请问是怎么回事
page

主题设置

希望能够加入更多的颜色主题, 处理更多的细节(比如light主题中的inline-block的主题颜色好丑)

希望能够自主设置hljs的配色(还是仿照hack.chat

屏蔽HTML标签

目前对HTML标签处于无管控状态,用户可以轻易发送带有<script></script>标签的内容,需要修复。

希望可以做到HTML标签分层管控,强制禁用<script></script><style></style><link>等标签,是否禁用危害性较小的HTML标签加入房间设置。

出于前端设计考虑将只会在服务端检测并屏蔽

增加用户列表的功能

可以用其他的一些功能替换掉指令的位置。例如为用户列表中的用户添加右键下拉菜单。(当然这实际上把用户旁边按钮的位置也替代掉了)

然后tag,untag一类需要输入的功能可以通过类似洛谷那样弹出式窗口的形式完成。(就,举报帖子那个就行了)

服务端读入

现在是把同步和异步的输入混着用,同步输入的那个模块好像在重定向 process.stdin 的时候有点问题,它会无视挂起指令,强制把 question 输出到控制台流里面,然后输入也是直接从控制台流里面读入的。

当然,除非是希望挂到服务器上,实际使用区别几乎没有区别,readline相比readline-sync更加底层,效率也更高,找时间统一一下。

因为没有什么影响所以就放在这了。

Bug Report

使用markdown时, 使用代码块, 在代码块中的尖括号全部变为html中显示该字符对应的字符方式, 但是并没有正确显示

显示 :

&lt; &gt;

而不是

<>

然后有消息时进度条自动下拉这个功能好像不见了, 希望修复

在退出房间后能够回到主页面

将退出房间的图标置于一个更容易看见的位置,退出后能够回到主页面,为之后可能的平行式,多任务的聊天模式做准备

预览功能支持

希望支持在输入框内添加preview功能来预览自己的输入

preview功能建议参照github

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.