轻量级开源聊天软件喧喧 发布1.1.1版本,集成然之签到优化细节
本篇目錄
喧喧是由然之協同團隊推出的一款輕量級的開源企業聊天軟件。喧喧官網: http://xuan.im/
喧喧的定位
喧喧定位是企业内部的轻量级的聊天软件。为了让喧喧足够轻量级,客戶端软件使用了html5的技术,服務器端使用了go语言。喧喧以文字和图片交流为主,不提供语音、视频和远程控制等功能(这些QQ已经足够好了)。喧喧可以当作协同软件的一个延伸和补充。
特色功能
開聊:和服務器上的任何用戶開聊,收發表情、圖片、截屏、文件樣樣在行;
開源安全:源碼開放,客戶端和服務器通信全程加密,安全可靠;
討論組:一個人討論的不過瘾?隨時邀請多人組建個性討論組;
公開討論組:將討論組公開,任何感興趣的人都可以加入進來;
通知及提醒:與系統桌面環境集成,即時收到新消息通知;
會話管理:將任意會話(包括討論組和公開討論組)置頂,精彩內容不容錯過,還可以重命名討論組、爲討論組設置白名單及浏覽會話的所有消息曆史記錄;
通訊錄:浏覽企業成員資料和聯系信息;
轻量级服務器端:轻松搭配然之協同使用。
下載地址
- Windows 7+: 64 位安装包(.exe)、 64 位压缩包、 32 位安装包(.exe)、 32 位压缩包、 64 位 Debug 安装包(.exe)
- MacOS: xuanxuan-1.1.1-mac.dmg
- Linux: 64 位(.tar.gz)、 64 位(.deb)、 64 位(.rpm)、 32 位(.tar.gz)、 32 位(.deb)、 32 位(.rpm)
- Server: xxd server;
- 然之: 源碼包、 windows 一键安装包、 linux rpm 安装包、 linux deb 安装包。
服務器端
客戶端主要通过 WebSocket 协议与服務器端进行实时通信,另外还用到了 https 协议来从服务器获取配置及上传下载文件。
+------------+ +------------+ +----------------+ | Xuanxuan |---------------->| Xuanxuan |----------->| Rangerteam | | Client | WebSocket/Https | Server | Http/Https | Server | | (PC/Mac) |<----------------| (xxd) |<-----------| (Your Website) | +------------+ +------------+ +----------------+客戶端与服務器端 API 参考: API 文档 。服務器端 API 同样是开放的,你可以使用自己熟悉的技术(例如 node.js、go、swift)实现自己的服務器端。
官方默認的服務器使用 go 語言實現(簡稱爲 xxd 服務),你可以在 /server/xxd/ 目录下找到源代码。xxd 服务提供了 WebSocket和 https 接口供客戶端使用。
xxd 服务本身并不存储和管理用户资料和消息数据,而是使用应用更为广泛的 http 协议与另一个服务器(简称 http 服务)通信。这样你只需要在你自己的网站上开发一系列 http 接口即可为你的网站用户启用喧喧。
官方默認提供的 http 服務是基于開源協同辦公軟件 然之協同 開發,你可以在 /server/ranzhi/ 目录下找到相关源代码。然之協同服务器部署请参考: 服務器部署指南 。
這裏有一個公開的測試服務器供使用:
地址:https://demo.ranzhi.org/xuanxuan
用户:demo
密码:demo
或用户:demo1, demo2, ... demo10
密码:123456
注意:測試服務器不能使用傳送文件功能。
界面截圖
喧喧主界面
喧喧服務器運行界面
主界面主要由垂直功能導航和功能區域組成。
點擊會話菜單標簽頁上的創建會話按鈕,打開創建會話對話框。
Emoji 表情符图片资源升级到 Emoji one 3.0。
通過點擊文件或圖片按鈕從系統中選擇要發送的圖片或文件。也可以直接從系統文件管理器中拖放文件到當前聊天窗口進行發送。
點擊會話窗口頂部工具欄上的側邊欄按鈕可以打開會話的側邊欄界面。在側邊欄上可以看到參與此會話的所有人員及會話中收發的文件。
增加個人設置功能,可以在用戶頭像下拉菜單中打開個人設置面板。
喧喧1.1.1 版本,集成然之签到优化细节
本次更新集成了然之的签到功能,对客戶端界面进行了大量交互细节优化,并且处理社区反馈的大量问题。现在最新发布的然之 4.2.2 已内置喧喧最新版本,大家无需在为然之安装扩展。喧喧还启用了全新的域名 xuan.im ,歡迎大家訪問網站了解更多內容。
更新明細:
-
客戶端
:
- 增加用户个人配置云同步功能,在登录时会从服务器获取客戶端配置,退出时上传个人配置到服务器;
- 現在會記住用戶上次保存文件的位置,在打開保存位置對話框時會自動定位到用戶上次保存的位置;
- 在上傳文件之前會先檢查服務器設置的最大允許上傳文件大小,如果不符合要求會提示用戶並拒絕上傳文件;
- 修複上傳或下載文件,服務器提示錯誤沒有捕捉到的問題;
- 用戶當天第一次登錄時會提示簽到成功的消息;
- 更改導航上項目順序,現在討論組排在聯系人上方;
- 最近會話不再是可選的(已經從設置面板中移除設置),首次啓動時會默認顯示最近會話;
- 當最近會話沒有在導航上激活時,如果當前會話收到消息或著向外發送了消息會自動激活最近會話;
- 當激活一個包含新消息的會話時會自動滾動到消息列表的底部(如果在之前滾動位置發生過變化);
- 優化導航下拉菜單界面,去掉“離線”條目,增加“注銷”條目;
- 優化會話和聯系人搜索功能,現在當在聯系人列表時只會在聯系人會話中查找,當在討論組列表時只在討論組中查找,最近會話列表中可以查找所有會話;
- 修複第一次使用時沒有在導航上定位到最近會話的問題;
- 調整了系統會話在討論組列表上的顯示順序,現在系統會話會顯示在除加星會話的上方;
- 優化了會話底部工具欄上的圖標外觀,增加更改字體大小圖標按鈕,點擊按鈕會彈出面板來實時更改字體大小,更改會話字體大小功能不再在會話下拉菜單中提供訪問入口;
- 調整了默認會話字體設置,現在文字的行間距更適合閱讀;
- 現在在消息發送框“@他人”時,默認顯示用戶真實姓名;
- 修複無法顯示消息中的空白行的問題;
- 修複有用戶推出討論組時,討論組消息短暫消失的問題;
- 會話側邊欄文件列表中不再顯示發送失敗的文件,移除了文件列表中的圖標,修複了有時文件名無法顯示完整的問題,修複了文件列表無法自動更新的問題;
- 修複了會話側邊欄上的成員列表在有用戶退出時沒有正確刷新的問題,修複了一對一會話也顯示管理員標志的問題;
- 調整會話側邊欄最小寬度;
- 現在請求退出應用時(點擊關閉按鈕或者在通知欄圖標上選擇退出),會立即關閉主界面而不是先顯示登錄界面再退出;
- 当服务器连接超时时,会在客戶端上显示提示消息;
- 優化新建會話對話框中聯系人排列順序;
- 优化 Windows 上用户个人设置对话框操作按钮显示顺序;
- 优化在 Windows 上任务栏高亮闪烁提示功能,现在会一直高亮,直到窗口被激活;
- 優化關于對話框上的內容顯示;
- 優化界面上工具提示顯示的動畫效果;
- 優化了界面上的文本,更符合語義;
-
開發支持:
- 修复了第一次启动调试时等待时间过长的问题,移除了首次运行自动安装 React 扩展策略;
-
xxd 服务器
- 增加了xxd到然之服務器和客戶端的通信容错处理;
- 增加了默认然之服務器的设置,客戶端登录不填写服务器名称时xxd使用默认设置;
- 增加了限制附件上傳大小的配置;
-
然之服務器
- 加解密功能优先使用 openssl 扩展,其次选择 mcrypt 扩展,两者都未启用时使用内置纯 PHP 实现的 AES 加密类库;
- 喧喧登錄和然之簽到集成,可以在然之中設置只能通過喧喧簽到;
- 然之内置对喧喧 1.1.1 的支持,现在使用最新版然之(4.2.2+)不再需要为然之安装喧喧扩展包;
- 修複新系統安裝後沒有系統會話(包含系統所有成員的討論組)的問題;
- 然之升級時檢測喧喧版本,並自動升級喧喧;
- 可以在然之後台設置和xxd通信需要的密鑰;
-
網站和文檔
- 網站啓用全新域名: http://xuan.im ;
- 文檔進行了更新。
喧喧1.1 版本,服務器端使用go重构
喧喧1.1版本更新大幅改进客戶端界面交互体验,增加会话和联系人搜索功能,优化表情显示,增加个人设置面板,轻松定制消息提醒方式和窗口界面行为。
服务器进行了重大改进:增加全新的 go 语言实现的服务器(xxd),全程使用 AES 加密消息,通过 WebSocket 和 https 与客戶端通信,使用 http 或 https 与然之服務器或你的网站进行通信。重构了然之服務器(现在然之服務器仅提供 http 接口)。客戶端仍然支持 1.0 版的服务器,需要在登录框填写服务器地址时添加#v1.0后缀。
更新明細:
-
客戶端
:
- 重構了導航布局,現在頭像默認在下方顯示(可以在個人設置中更改),去掉了導航折疊和展開功能,原會話和通訊錄標簽改爲最近聊天(最近聊天可以在個人設置中關閉)、聯系人和討論組;
- 全新的會話列表功能,可以按照最近聊天、聯系人和討論組分別查看對應的會話,原通訊錄功能已合並到聯系人會話列表,優化了會話列表界面,現在更易于區分收藏的會話或離線聯系人會話,公開頻道現在更名爲公開討論組;
- 增加會話搜索功能,並支持使用用戶聯系方式、拼音全拼或簡拼進行搜索;
- 增加個人設置功能,可以在用戶頭像下拉菜單中打開個人設置面板,方便用戶個性化聊天、通知、導航、窗口及快捷鍵等多個設置選項;
- 優化所以對話框中操作按鈕的顯示順序,現在會根據運行平台使用符合用戶操作系統習慣的順序顯示;
- 重构了表情选择面板,现在能够选择全部 Emoji 表情,并支持搜索表情(需要中个人设置中开启表情搜索功能),表情符图片资源已升级到 Emoji one 3.0;
- 新建討論組時會提示爲討論組設置名稱;
- 會話側邊欄現在支持通過拖拽邊緣來調整寬度,並且會自動保存側邊欄狀態到用戶配置;
- 討論組會話會在初始狀態下自動顯示側邊欄;
- 優化側邊欄上的用戶列表顯示順序,現在優先顯示管理員用戶和在線用戶;
- 消息发送框中的表情快捷代码会自动转换显示为表情符,如果消息发送框中只包含一个表情符会自动使用高清表情图片发送(可以在个人设置中关闭),在消息框中输入的所有 emoji unicode 字符会中发送之前自动转换为快捷代码以防止服务器不支持特殊字符;
- 消息发送框中输入 @用户 会自动高亮显示用户名称并支持点击查看用户资料;
- 優化會話消息列表界面,高亮顯示提到(@me)自己的字符,消息中的表情符邊緣會更加突出易于辨認,現在複制消息列表中的消息不會中複制的內容中包含時間文本;
- 現在全局截圖後會將圖片放置在剪切版;
- 現在允許關閉消息框小技巧提示按鈕(可以在個人設置中重新開啓);
- 点击侧边栏用户列表上的用户默认操作为在消息发送框中 @此用户;
- 優化消息中包含一級或二級標題格式文本的顯示,現在會以更易于閱讀的樣式顯示;
- 修复了中消息中以代码发送 <、 > 会被转码的问题;
- 優化了消息中的代碼顯示樣式;
- 修复在 Windows 上复制消息并粘贴到消息发送框自动在首尾添加空格的问题;
- 修複會話消息曆史記錄中鏈接點擊出現界面空白的問題;
- 修复新建会话时查找公开会话失败的问题(issue #6);
- 修複了有時退出應用沒有保存用戶配置的問題;
- 修複了有時沒有正確下載用戶頭像的問題;
- 修複了有時退出應用沒有向服務器發送 chat/logout 事件;
- 增加了新的個人設置當主窗口失去焦點時自動最小化窗口;
- 客戶端运行文件名更改为英文名称;
- 優化了喧喧界面及應用圖標,現在看起來更正;
-
開發支持:
- 修复了在 Windows 平台上的 VSCode 执行调试任务失败的问题;
-
然之服務器端
:
- 抛弃了基于 PHP 的 socket 实现,所有 API 全部使用 http 实现,配合 xxd 服务器与客戶端通信;
-
xxd 服务器
:
- 新的 xxd 服务与客戶端通过 WebSocket 和 https 进行通信,通过 https 或 http 与然之服務器端通信。

