Compare commits

...

665 Commits

Author SHA1 Message Date
卡仔
3de3827103 fix(mobile): 🐛 fixed missing chat room name display issue 2025-09-02 15:07:44 +08:00
卡仔
db2fc41a67 fix(mobile): 🐛 fix blank screen issue caused by routing 2025-09-02 12:05:20 +08:00
卡仔
c471ca7bd0 feat(mobile): added 'Add Group Chat' page and 'Add Friend' page 2025-09-01 18:31:54 +08:00
Dawn
4f37f9d928 build(build): 📦 update tauri version 2025-08-29 17:08:21 +08:00
Dawn
c8f22bda95 perf(mobile): horizontal screen prohibited 2025-08-27 18:55:12 +08:00
Dawn
bfe2c36756 perf(ios): compatible with some iOS styles 2025-08-27 16:52:46 +08:00
卡仔
092fdec8a3 fix(mobile): 🐛 fix scrolling issue when keyboard is focused 2025-08-26 19:47:49 +08:00
卡仔
0e69f59c44 feat(mobile): add avatar display to simplebio.vue page 2025-08-26 14:46:20 +08:00
卡仔
894d67d426 feat(mobile): add personal information display 2025-08-25 18:44:11 +08:00
卡仔
e8cdf48771 Merge branch 'feat/mobile/msg-api' into feat/mobile/ws-api 2025-08-25 17:12:51 +08:00
卡仔
01ccea9542 fix(mobile): 🐛 fix mobile routing error 2025-08-25 16:38:04 +08:00
卡仔
3c2708c9d7 fix(mobile): 🐛 fix inability to listen to WebSocket messages 2025-08-25 16:23:41 +08:00
Dawn
1572490620 feat(shortcut): add global shortcut key switch 2025-08-25 08:24:28 +08:00
Dawn
58e284cd22 fix(not mac): 🐛 fix startup error for platforms other than mac 2025-08-25 07:35:12 +08:00
Clover You
be4478e5d5 refactor(macos): simplify logic and extract common window helpers 2025-08-25 06:51:20 +08:00
Dawn
3b0421c15e style(screenshot): 💄 optimize screenshots 2025-08-25 05:10:02 +08:00
Dawn
e17397881f fix(Android): 🐛 fix startup failure due to platform judgment during startup 2025-08-24 21:34:00 +08:00
Dawn
28043f528b fix(vitest config): 🐛 fix problems caused by inconsistent vitest configuration 2025-08-24 05:42:26 +08:00
Dawn
499de180d7 perf(layout): optimal layout jitter problem 2025-08-23 21:32:20 +08:00
Dawn
b310dccaaf docs(doc): 📝 update documents and group QR codes 2025-08-23 19:18:53 +08:00
Dawn
f71cc7d1cf style(waring): 💄 modify some code warnings and formatting configurations 2025-08-23 10:08:12 +08:00
Clover You
51d63df26f refactor(macOS): replace coca/objc with objc2 2025-08-23 10:08:12 +08:00
Dawn
b73b7fb1b4 refactor(common): ♻️ refactor request by rust (#321)
* fix(common): 🐛 apply issue

* refactor(common): ♻️ refactor request by rust

* refactor(common): ♻️ refactor request by rust --> initial completion

* refactor(common): ♻️ extract ImrequestUtils in frontend

* refactor(common): ♻️ refactor rust request

* refactor(common): ♻️ refactor ws; fix error

* fix(common): 🐛 getFriendPage invoke error

* refactor(common): ♻️ refactor all request to rust

* fix(common): 🐛 logout

* fix(common): 🐛 init msg list

* fix(common): 🐛 fix date formate in announcement

* fix(common): 🐛 fix getUserInfoBatch request bug; add emoji in log;

* fix(common): 🐛 handle 401 error;

* fix(common): 🐛 fix getBadgesBatch bug

* fix(common): 🐛 fix recall msg bug

* fix(common): 🐛 fix send video msg

* fix(common): 🐛 add token relation command

* fix(common): 🐛 update group member change

* fix(common): 🐛 remove group memeber

* refactor(system): ♻️ reconstruct current system judgment and route loading

---------

Co-authored-by: wanwanruwoxin <254693270@qq.com>
2025-08-23 04:39:47 +08:00
卡仔
6b9e4072cb feat(mobile): add login and logout logic; implement route guards 2025-08-22 18:50:36 +08:00
卡仔
a870bd12b9 Merge branch 'fix/ql' into feat/mobile/msg-api 2025-08-22 18:47:24 +08:00
wanwanruwoxin
192a3bb12b fix(common): 🐛 add token relation command 2025-08-22 17:13:17 +08:00
wanwanruwoxin
7dfbab5ee9 fix(common): 🐛 fix send video msg 2025-08-22 16:54:16 +08:00
wanwanruwoxin
a4f658df02 fix(common): 🐛 fix recall msg bug 2025-08-22 15:32:23 +08:00
wanwanruwoxin
37453b4f4b fix(common): 🐛 fix getBadgesBatch bug 2025-08-22 11:08:27 +08:00
wanwanruwoxin
debca1370f fix(common): 🐛 handle 401 error; 2025-08-22 10:37:34 +08:00
wanwanruwoxin
55316b1175 fix(common): 🐛 fix getUserInfoBatch request bug; add emoji in log; 2025-08-22 10:00:32 +08:00
Dawn
8c98b95bd2 perf(virtual): optimize virtual lists 2025-08-22 09:58:41 +08:00
wanwanruwoxin
fd17bb17a4 Merge branch 'master' into fix/ql 2025-08-22 09:35:08 +08:00
Dawn
9f5486d415 fix(rust): 🐛 fix startup warning issue 2025-08-22 07:01:32 +08:00
Dawn
3b4e55def9 perf(chat): optimize chat layout jitter problem
remove skeleton screen
2025-08-21 22:42:11 +08:00
wanwanruwoxin
5b86b0e7f4 fix(common): 🐛 fix date formate in announcement 2025-08-21 19:03:13 +08:00
卡仔
394b29b244 feat(mobile): add real-time message push 2025-08-21 18:54:26 +08:00
wanwanruwoxin
9c3111850d fix(common): 🐛 init msg list 2025-08-21 18:52:46 +08:00
wanwanruwoxin
4ece9d6efe fix(common): 🐛 logout 2025-08-21 18:21:44 +08:00
wanwanruwoxin
5b0ec76a8a refactor(common): ♻️ refactor all request to rust 2025-08-21 18:19:54 +08:00
Dawn
fa99ac25ac perf(views): optimize page layout and toggle loading states 2025-08-21 17:42:03 +08:00
wanwanruwoxin
a376a25ff4 fix(common): 🐛 getFriendPage invoke error 2025-08-21 16:00:02 +08:00
wanwanruwoxin
3b3d5a156a refactor(common): ♻️ refactor ws; fix error 2025-08-21 15:49:51 +08:00
wanwanruwoxin
de42e142a3 refactor(common): ♻️ refactor rust request 2025-08-21 10:18:38 +08:00
wanwanruwoxin
a3207f81be refactor(common): ♻️ extract ImrequestUtils in frontend 2025-08-21 09:06:45 +08:00
wanwanruwoxin
05138f2116 refactor(common): ♻️ refactor request by rust --> initial completion 2025-08-20 19:22:53 +08:00
卡仔
88a3a3a000 feat(mobile): add navigation from home avatar to SimpleBio page 2025-08-20 18:43:53 +08:00
wanwanruwoxin
3553576bae refactor(common): ♻️ refactor request by rust 2025-08-20 17:31:06 +08:00
wanwanruwoxin
40db445b1a fix(common): 🐛 apply issue 2025-08-20 13:27:42 +08:00
Dawn
98f10bdefa fix(view): 🐛 fixed session right-click switch room status sidebar settings not synchronized
update auto-import dependencies
2025-08-20 04:01:02 +08:00
Dawn
01cc4abdfa build(build): 📦 upgrade dependencies and clear instance files of tauri plug-ins 2025-08-19 23:44:27 +08:00
Dawn
f48ff0f7f1 perf(shortcut): optimize keyboard mapping compatibility 2025-08-19 22:24:56 +08:00
Dawn
27f1545305 feat(shortcut): add mobile pages and scanning plug-ins (#319) 2025-08-19 19:19:44 +08:00
Dawn
2ac3568d15 fix(common): 🐛 apply issue (#318) 2025-08-19 19:13:02 +08:00
Dawn
a50cc5f31c perf(build): optimize the handling of packaged scripts 2025-08-19 00:50:46 +08:00
Dawn
90064415c6 fix(config): 🐛 fix some configuration issues on windows
fixed group list height issue
2025-08-19 00:05:49 +08:00
Dawn
43b52cd6e2 fix(rust): 🐛 fix mobile startup error 2025-08-18 22:07:49 +08:00
Dawn
f1334ef34e build(config): 📦 optimize some profile content 2025-08-18 21:47:55 +08:00
Dawn
a05ebcef57 feat(shortcut): increased mobile compatibility (60%) (#315)
* fix(view): 🐛 修复系统托盘在自动登录时不显示退出问题

优化在其他不需要显示window.$message提示的窗口可禁用

* perf(voice):  优化录音组件的样式

* fix(store): 🐛 修复安卓无法获取安全区域问题

* fix(common): 🐛 token 更新bug修复

* feat(mobile):  新增和优化消息页面布局

* feat(common):  离线消息同步

* build(system): 📦 修改项目一些样式和图标

修复判断安卓的方法异步问题导致mac release版本页面不加载问题

* build(icon): 📦 更新除了mac系统的图标

* fix(common): 🐛 将数据库迁移 crate 集成到主进程中

* style(common): 💄 修改 tauri 日志配置,输出日志到 logs 目录下;并对日志级别添加颜色;

* feat(mobile):  新增联系人页面

* feat(common):  引入 tauri-devtools

* feat(mobile):  新增点击加号图标的小弹窗页面

* docs(common): 📝 env文件修改

* fix(router): 🐛 补充提交路由文件,前一次提交缺少更新的路由文件

* fix(common): 🐛 rust 依赖调整;配置调整;

* build(config): 📦 修改配置

* fix(common): 🐛 rust .env 文件读取问题修复

* fix(layout): 🐛 修复主页布局漏洞

* build(system): 📦 拉取master的内容

* refactor(view): ♻️ 对接登录参数

* fix(common): 🐛 在线消息保存修复;

* fix(common): 🐛 sqlite 保存消息 mark

* fix(common): 🐛 消息标记同步问题

* feat(mobile):  新增通讯录页面内容

* fix(common): 🐛 项目启动之后,还在登录页面时,还会请求房间消息数据等

* fix(common): 🐛 windows启动造成 panic: 去掉 main 的运行时

* fix(common): 🐛 清除缓存,程序卡死

* fix(config): 🐛 更改sqlite configuration配置

修复windows启动控制台打印报错问题

* fix(common): 🐛 修复清除缓存,系统崩溃问题;

* fix(common): 🐛 群成员角色判定 bug 修复

* fix(common): 🐛 修复群成员搜索 bug

* fix(rust): 🐛 修复字段类型的字节数量

* feat(mobile):  联系人页面中移植客户端的好友组件

* fix(common): 🐛 修复动态窗口,邮件窗口,AI 插件窗口关闭 bug

* fix(common): 🐛 修复会话列表最新消息显示问题

* fix(common): 🐛 左侧功能窗口打开之后,鼠标划上显示问题

* perf(system):  适配cloud

* perf(centext):  优化切换会话时候卡顿问题

修复data.list[0]报错问题

* fix(common): 🐛 重构 Tauri事件的监听器释放逻辑;

* refactor(common): ♻️ 重构 Tauri 的事件监听相关代码;增加日志记录;

* feat(util):  新增DOM计算函数,完善社区页面和功能

* refactor(common): ♻️ 重构 useTauriListener

* fix(common): 🐛 监听 home 窗口关闭的时候,把 home 窗口隐藏

* perf(ws):  移除ws重连次数限制

* fix(common): 🐛 ios 窗口关闭弹窗 bug;修改群屏蔽状态导致消息错乱 bug;

* feat(util):  新增小屏安全区域页面适配,优化多次监听resize导致的性能问题

* fix(common): 🐛 初始化消息发送时的消息状态为发送中

* fix(ios): 🐛 修复rust依赖问题导致ios启动失败

* chore(format): 🔨 使用biome替换eslint

* perf(rust):  添加超时机制和错误处理优化

优化数据库连接池配置,调整连接参数和日志级别
新增全局超时配置模块
改进 IM 客户端锁机制,避免跨 await 持有锁
增强命令函数错误处理,返回 Result 类型
优化托盘图标创建逻辑,添加默认图标检查
重构应用初始化流程,使用异步任务避免阻塞

* fix(scanner): 🐛 修复存储扫描导致程序崩溃(扫描中关闭未解决)

* fix(configuration): 🐛 修复release打包后初始化应用数据失败问题

* perf(rust):  优化未处理的unwrap()

* fix(hide_notify): 🐛 修复hide_notify事件无限循环导致程序崩溃问题

* fix(voice): 🐛 修复输入框切换录音组件后选择表情包导致错位问题

* fix(view): 🐛 windwos notify和tray导致系统卡死

* fix(style): 🐛 修复样式错乱问题

* fix(common): 🐛 windows 接收消息 打开主窗口卡死

* fix(style): 🐛 修改图标样式

* fix(common): 🐛 windows接收群消息卡死

* build(sqlite): 📦 合并sqlite分支代码

* fix(common): 🐛 mac docker 计数

* fix(common): 🐛 添加macos编译;解决rust警告

* fix(common): 🐛 mac badge 计数

* fix(common): 🐛 修复自动登录问题;修复watch 的异步问题导致的数据竞态问题

* fix(common): 🐛 删除会话功能;

* build(ios): 📦 增加移动端所需的配置

* fix(common): 🐛 ios 启动 tauri 插件和命令适配

* fix(common): 🐛 查询消息根据 id 排序时,将 id 转为数值进行排序

* refactor(common): ♻️ 使用 tracing 作为日志框架

* fix(unreadCount): 🐛 修复标记重复问题

* style(lint): 💄 优化了biome的配置

按照新的biome配置格式化代码

* style(biome): 💄 完善biome规则配置

* style(biome): 💄 增加自动移除未使用的导入

* feat(mobile):  新增“我的”页面内容及动画,修复安全边距问题

* fix(common): 🐛 修改AnnouncementBody类型

* fix(common): 🐛 修改 ApiResult 类型

* feat(mobile):  新增聊天室页面

* fix(ios): 🐛 添加log依赖

* fix(common): 🐛 去掉 home 窗口的重复监听

* fix(common): 🐛 发送消息接口,用channel 代替 event,解决系统卡死;

* fix(common): 🐛 android启动问题

* fix(rust): 🐛 修复ios签名问题

修复ios底部栏不显示问题|移除冗余的权限配置

* refactor(common): ♻️ 将 db.sqlite 设置为resource,通过 tauri api 进行读取

* test(common):  新增视频通话局部代码

* fix(rust): 🐛 修复移动端无法启动并且无法创建对应文件的问题

* test(common):  优化通话逻辑

* feat(mobile):  新增客户端对象,修复加载页载入问题

* chore(common): 🔨 修改 tauri 配置文件

* ci(log): 🎡 修改日志打印的级别和语言都为英文

* feat(mobile):  新增聊天窗口页面内容

* fix(common): 🐛 notify_cotent事件修改

* feat(mobile):  新增hula插件

* perf(mobile):  优化一些移动端逻辑的判断

* feat(mobile):  聊天页新增输入法高度适配功能,优化gradle的app构建性能

* feat(mobile):  新增聊天页面输入框的图标等内容

* feat(common):  初步实现 webrtc

* fix(common): 🐛 发送视频通话请求

* fix(common): 🐛 webrtc实现-待测试

* fix(common): 🐛 webrtc-测试

* build(biome): 📦 升级biome版本

* style(common): 💄 webrtc 页面 ui调整

* build(package): 📦 增加package.json的$schema

* build(lint-staged): 📦 更新lint-staged版本

* fix(common): 🐛 rtc 页面头像显示

* fix(common): 🐛 rtc 第一次切换摄像头未显示远程

* fix(common): 🐛 webrtc 挂断

* fix(common): 🐛 rtc 通话结束

* fix(common): 🐛 ws监听挂断消息

* fix(common): 🐛 rtc 设备检查

* fix(common): 🐛 检查audiooutput

* fix(common): 🐛 检查音量来判断用户是否开启 audio

* fix(common): 🐛 检查音量判断声音设备

* fix(agreement): 🐛 前端对接cloud的刷新token

* feat(mobile):  新增postcss-px-to-viewport库用于转换px变量

* fix(common): 🐛 重构 webrtc

* feat(build):  新增打包命令交互式终端

* fix(common): 🐛 webrtc 异常

* fix(common): 🐛 rtc 异常

* fix(common): 🐛 rtc candidate

* fix(common): 🐛 通知窗口

* fix(common): 🐛 rtc 通话时间显示

* fix(common): 🐛 关闭扬声器功能

* fix(common): 🐛 关闭麦克风

* fix(common): 🐛 win 通知窗口显示问题

* fix(common): 🐛 rtc调整设置通知通知栏的高度

* feat(mobile):  新增AutoFixHeightPage页,用于适配移动端动态高度布局;新增聊天室页面内容

* feat(common):  新增处理进群审核接口、音视频处理约定逻辑

* fix(common): 🐛 前端刷新 token 之后调用 command 更新 rust 部分的 token

* fix(common): 🐛 显示视频通话消息

* fix(common): 🐛 webrtc 语音通话调用

* feat(mobile):  初步实现聊天室页面列表

* fix(common): 🐛 查询所有会话 bug

* build(build): 📦 升级一些依赖版本

* refactor(common): ♻️ rust 重构ws

* style(avatar): 💄 优化头像加载失败时候展示的图片

* fix(common): 🐛 rust ws

* fix(common): 🐛 修复群聊状态显示、同步后端打电话逻辑

* fix(common): 🐛 查询群成员报错 异步问题

* fix(common): 🐛 群成员 异步问题

* refactor(common): ♻️ rust 异常处理

* fix(common): 🐛 消息 骨架屏 异常

* fix(common): 🐛 删除无用代码

* fix(common): 🐛 win 图标闪烁问题

* fix(common): 🐛 ws 保活

* feat(mobile):  新增聊天室的聊天列表,修复websocket连接的移动端适配问题

* feat(ChatFooter):  增加输入框和ChatFooter组件的拖拽效果

优化私聊在线状态

* fix(common): 🐛 webrtc 切换视频关闭远程视频流

* fix(common): 🐛 message mark issue resolve

* fix(common): 🐛 message mark issue resolve

* refactor(common): ♻️ delete useless code

* fix(common): 🐛 save_room_member_batch cause database lock

* fix(common): 🐛 show the system messgage of join group

* fix(common): 🐛 message sound

* feat(mobile):  add group settings page

* build(img): 📦 压缩一些图片为webp

修改一下代码的逻辑

* perf(global):  优化群成员排序、输入框发送事件为form表单的提交事件

优化chatfooter输入框高度拖拽和home窗口拖拽时性能问题
优化home窗口拖拽会持续触发当前会话选中后对应房间已读触发问题

* chore(lint): 🔨 优化lint的配置

* perf(rtcCall):  优化通话窗口的样式和关闭窗口会挂断的功能

* chore(system): 🔨 合并cloud分支

* fix(common): 🐛 ws reconnect in backend reboot

* fix(common): 🐛 webrtc relate message show

* fix(common): 🐛 ws delete useless code

* fix(common): 🐛 resolve ws multi connection

* docs(config): 📝 更新群二维码和赞助榜

* fix(mobile): 🐛 fix loading page images and Android startup issue from init.rs builder

* fix(common): 🐛 ws setAppBackGroundState

* fix(common): 🐛 env config modify

* fix(common): 🐛 webrtc on CANCEL

* fix(common): 🐛 group announcement update

* fix(common): 🐛 announcement issuce

* fix(common): 🐛 webrtc windows dragable

* feat(mobile):  add notice page

* fix(system): 🐛 fix location of call component and some page styles

* fix(common): 🐛 webrtc issue

* ci(common): 🎡 .env.dev modify

* fix(common): 🐛 gET_ROOM_MEMBERS command issue

* fix(common): 🐛 update my group info

* feat(mobile):  added page for editing group announcements

* fix(common): 🐛 webrtc audio call issue

* fix(common): 🐛 webrtc video or audio status switch issue

* fix(group): 🐛 fixed some logic and restrictions on inviting members into groups

Optimize Create Script

* style(style): 💄 remove some styles and comments

* fix(common): 🐛 fix WebRTC audio cannot be heard

* fix(common): 🐛 info import error

* fix(common): 🐛 fix #ICT1BO group info update

* fix(common): 🐛 fix "不是好友关系" issue

* feat(mobile):  add 'Profile' related pages

* fix(common): 🐛 add group apply list

* feat(mobile):  add page for creating new posts

* fix(common): 🐛 webrtc if can't acquire device then hang up

* fix(common): 🐛 mute local video ele

* fix(common): 🐛 同步最新申请接口

* fix(common): 🐛 change isSpeakerOn and mute the bell

* feat(mobile):  add 'My Messages' page

* fix(common): 🐛 group apply invite dom

* style(style): 💄 change the style of language statistics and incoming call notifications

* fix(rtc): 🐛 fix some problems when rtc dialed

optimize some styles and icons of rtc window

* perf(rtc):  optimize rtc window display on mac

* feat(shortcut):  add global shortcut management functionality

Integrated global shortcut plugin to enable customizable keyboard shortcuts

* build(biome): 📦 update biome

* perf(shortcut):  optimize shortcut key functions

* perf(screenshot):  optimize screenshot function

* perf(style):  optimize.gitattributes configuration

* fix(common): 🐛 handle friend and group invite

* fix(screenshot): 🐛 fix drawing not cleared and option group logic issues

* fix(common): 🐛 disconnect ws when logout

* fix(common): 🐛 group invite api

* fix(mac): 🐛 fix screenshot black screen issue on mac

* fix(common): 🐛 connect to Qiniu Cloud, use the current room when requesting a session

* fix(common): 🐛 src-tauri .env config

* fix(mobile): 🐛 fix issue preventing Android from starting properly

* fix(config): 🐛 fix some startup and styling issues caused by configuration

---------

Co-authored-by: 卡仔 <1271013637@qq.com>
Co-authored-by: wanwanruwoxin <254693270@qq.com>
Co-authored-by: 乾乾 <1046762075@qq.com>
2025-08-18 21:32:17 +08:00
Dawn
3ab5b0bdbb feat(shortcut): add shortcut keys, screenshots and voice, video calls 2025-08-18 21:08:35 +08:00
Dawn
ac3dac35a3 feat(system): 增加分布式兼容和语音视频通话、移动端部分兼容 (#311)
* fix(config): 🐛 修复ios因Cargo.toml中系统限制条件排序问题导致无法启动

* feat(common):  tauri 登录命令 存储 token

* feat(common):  tauri 存储 room 信息

* feat(common):  sqlite 存储房间信息,群成员信息

* feat(common):  修改我的群的信息

* feat(common):  游标分页查询群组成员

* style(login): 💄 完善登录页面和图标

* feat(common):  查询全部群成员;优化前端显示逻辑

* feat(common):  更新 gitignore

* feat(common):  使用缓存检测是否强制更新本地数据,或采取静默更新

* fix(hook): 🐛 枚举使用错误修复

* fix(Android): 🐛 修改Android中的安全距离和启动页面

* fix(style): 🐛 修改pc登录按钮的样式

修复计时器worker计时问题
修改一些样式
移除修改ip地址的测试功能
修复刷新接口时候判断的群聊问题

* feat(system):  增加获取系统盘的信息和文件磁盘占用情况功能

优化一些重要提示的样式

* feat(common):  sqlite 存储会话

* feat(common):  sqlite 存储聊天信息

* fix(common): 🐛 sqlite需要根据登录的用户 id 进行数据隔离

* fix(mac): 🐛 修复mac上点击系统托盘图标和程序坞图标不展示主窗口的问题

* fix(windows): 🐛 修复win上右键任务栏图标关闭应用后无法再打开主窗口的问题

closed #IBQB1H

* fix(common): 🐛 添加 sqlite数据库迁移代码

* fix(view): 🐛 会话接口新增detailId;sqlite 数据结构变更;登录保存用户 id bug 修复;

* feat(util):  增强录音音频响度

* feat(common):  sqlite 存储消息

* fix(common): 🐛 sqlite 存储消息体异常

* feat(setting):  增加应用占用磁盘空间计算功能和可视化

* fix(hook): 🐛 修复音频文件命名不一致问题

* feat(common):  添加 tauri 日志插件

* feat(common):  rust 层发送消息

* feat(view):  新增自动下载音频功能,优先播放本地音频,修复音频频谱波形异常问题

* fix(component): 🐛 群成员监听显示问题;tauri 事件监听响应多次问题;消息列表显示顺序问题;

* fix(view): 🐛 修复发送语音后无法播放本地音频问题

* fix(common): 🐛 im_message 表关闭 nickname 非空限制

* fix(common): 🐛 设置账号第一次在客户端登录,设置is_init 为 true,进行初始化获取近期所有消息

* fix(common): 🐛 配置 tauri 的环境变量,用于 migration 启动

* fix(common): 🐛 登录之后,聊天页面初始化,未显示聊天记录 bug

* feat(system):  合并master

* style(common): 💄 引入 tauri websocket; 格式化 rust 代码;

* fix(mac): 🐛 修复mac语音播放问题

增加机器人样式和类型

* fix(common): 🐛 ws 接收消息存储本地

* fix(common): 🐛 rust 报错没有在前端提示问题修复

* fix(common): 🐛 修复登录页面请求接口 bug,以及首屏骨架屏问题;

* build(system): 📦 移除一些依赖,更新图标

* fix(view): 🐛 修复系统托盘在自动登录时不显示退出问题

优化在其他不需要显示window.$message提示的窗口可禁用

* perf(voice):  优化录音组件的样式

* fix(store): 🐛 修复安卓无法获取安全区域问题

* fix(common): 🐛 token 更新bug修复

* feat(mobile):  新增和优化消息页面布局

* feat(common):  离线消息同步

* build(system): 📦 修改项目一些样式和图标

修复判断安卓的方法异步问题导致mac release版本页面不加载问题

* build(icon): 📦 更新除了mac系统的图标

* fix(common): 🐛 将数据库迁移 crate 集成到主进程中

* style(common): 💄 修改 tauri 日志配置,输出日志到 logs 目录下;并对日志级别添加颜色;

* feat(mobile):  新增联系人页面

* feat(common):  引入 tauri-devtools

* feat(mobile):  新增点击加号图标的小弹窗页面

* docs(common): 📝 env文件修改

* fix(router): 🐛 补充提交路由文件,前一次提交缺少更新的路由文件

* fix(common): 🐛 rust 依赖调整;配置调整;

* build(config): 📦 修改配置

* fix(common): 🐛 rust .env 文件读取问题修复

* fix(layout): 🐛 修复主页布局漏洞

* build(system): 📦 拉取master的内容

* refactor(view): ♻️ 对接登录参数

* fix(common): 🐛 在线消息保存修复;

* fix(common): 🐛 sqlite 保存消息 mark

* fix(common): 🐛 消息标记同步问题

* feat(mobile):  新增通讯录页面内容

* fix(common): 🐛 项目启动之后,还在登录页面时,还会请求房间消息数据等

* fix(common): 🐛 windows启动造成 panic: 去掉 main 的运行时

* fix(common): 🐛 清除缓存,程序卡死

* fix(config): 🐛 更改sqlite configuration配置

修复windows启动控制台打印报错问题

* fix(common): 🐛 修复清除缓存,系统崩溃问题;

* fix(common): 🐛 群成员角色判定 bug 修复

* fix(common): 🐛 修复群成员搜索 bug

* fix(rust): 🐛 修复字段类型的字节数量

* feat(mobile):  联系人页面中移植客户端的好友组件

* fix(common): 🐛 修复动态窗口,邮件窗口,AI 插件窗口关闭 bug

* fix(common): 🐛 修复会话列表最新消息显示问题

* fix(common): 🐛 左侧功能窗口打开之后,鼠标划上显示问题

* perf(system):  适配cloud

* perf(centext):  优化切换会话时候卡顿问题

修复data.list[0]报错问题

* fix(common): 🐛 重构 Tauri事件的监听器释放逻辑;

* refactor(common): ♻️ 重构 Tauri 的事件监听相关代码;增加日志记录;

* feat(util):  新增DOM计算函数,完善社区页面和功能

* refactor(common): ♻️ 重构 useTauriListener

* fix(common): 🐛 监听 home 窗口关闭的时候,把 home 窗口隐藏

* perf(ws):  移除ws重连次数限制

* fix(common): 🐛 ios 窗口关闭弹窗 bug;修改群屏蔽状态导致消息错乱 bug;

* feat(util):  新增小屏安全区域页面适配,优化多次监听resize导致的性能问题

* fix(common): 🐛 初始化消息发送时的消息状态为发送中

* fix(ios): 🐛 修复rust依赖问题导致ios启动失败

* chore(format): 🔨 使用biome替换eslint

* perf(rust):  添加超时机制和错误处理优化

优化数据库连接池配置,调整连接参数和日志级别
新增全局超时配置模块
改进 IM 客户端锁机制,避免跨 await 持有锁
增强命令函数错误处理,返回 Result 类型
优化托盘图标创建逻辑,添加默认图标检查
重构应用初始化流程,使用异步任务避免阻塞

* fix(scanner): 🐛 修复存储扫描导致程序崩溃(扫描中关闭未解决)

* fix(configuration): 🐛 修复release打包后初始化应用数据失败问题

* perf(rust):  优化未处理的unwrap()

* fix(hide_notify): 🐛 修复hide_notify事件无限循环导致程序崩溃问题

* fix(voice): 🐛 修复输入框切换录音组件后选择表情包导致错位问题

* fix(view): 🐛 windwos notify和tray导致系统卡死

* fix(style): 🐛 修复样式错乱问题

* fix(common): 🐛 windows 接收消息 打开主窗口卡死

* fix(style): 🐛 修改图标样式

* fix(common): 🐛 windows接收群消息卡死

* build(sqlite): 📦 合并sqlite分支代码

* fix(common): 🐛 mac docker 计数

* fix(common): 🐛 添加macos编译;解决rust警告

* fix(common): 🐛 mac badge 计数

* fix(common): 🐛 修复自动登录问题;修复watch 的异步问题导致的数据竞态问题

* fix(common): 🐛 删除会话功能;

* build(ios): 📦 增加移动端所需的配置

* fix(common): 🐛 ios 启动 tauri 插件和命令适配

* fix(common): 🐛 查询消息根据 id 排序时,将 id 转为数值进行排序

* refactor(common): ♻️ 使用 tracing 作为日志框架

* fix(unreadCount): 🐛 修复标记重复问题

* style(lint): 💄 优化了biome的配置

按照新的biome配置格式化代码

* style(biome): 💄 完善biome规则配置

* style(biome): 💄 增加自动移除未使用的导入

* feat(mobile):  新增“我的”页面内容及动画,修复安全边距问题

* fix(common): 🐛 修改AnnouncementBody类型

* fix(common): 🐛 修改 ApiResult 类型

* feat(mobile):  新增聊天室页面

* fix(ios): 🐛 添加log依赖

* fix(common): 🐛 去掉 home 窗口的重复监听

* fix(common): 🐛 发送消息接口,用channel 代替 event,解决系统卡死;

* fix(common): 🐛 android启动问题

* fix(rust): 🐛 修复ios签名问题

修复ios底部栏不显示问题|移除冗余的权限配置

* refactor(common): ♻️ 将 db.sqlite 设置为resource,通过 tauri api 进行读取

* test(common):  新增视频通话局部代码

* fix(rust): 🐛 修复移动端无法启动并且无法创建对应文件的问题

* test(common):  优化通话逻辑

* feat(mobile):  新增客户端对象,修复加载页载入问题

* chore(common): 🔨 修改 tauri 配置文件

* ci(log): 🎡 修改日志打印的级别和语言都为英文

* fix(common): 🐛 notify_cotent事件修改

* feat(common):  初步实现 webrtc

* fix(common): 🐛 发送视频通话请求

* fix(common): 🐛 webrtc实现-待测试

* fix(common): 🐛 webrtc-测试

* style(common): 💄 webrtc 页面 ui调整

* fix(common): 🐛 rtc 页面头像显示

* fix(common): 🐛 rtc 第一次切换摄像头未显示远程

* fix(common): 🐛 webrtc 挂断

* fix(common): 🐛 rtc 通话结束

* fix(common): 🐛 ws监听挂断消息

* fix(common): 🐛 rtc 设备检查

* fix(common): 🐛 检查audiooutput

* fix(common): 🐛 检查音量来判断用户是否开启 audio

* fix(common): 🐛 检查音量判断声音设备

* fix(agreement): 🐛 前端对接cloud的刷新token

* fix(common): 🐛 重构 webrtc

* fix(common): 🐛 webrtc 异常

* fix(common): 🐛 rtc 异常

* fix(common): 🐛 rtc candidate

* fix(common): 🐛 通知窗口

* fix(common): 🐛 rtc 通话时间显示

* fix(common): 🐛 关闭扬声器功能

* fix(common): 🐛 关闭麦克风

* fix(common): 🐛 win 通知窗口显示问题

* fix(common): 🐛 rtc调整设置通知通知栏的高度

* feat(common):  新增处理进群审核接口、音视频处理约定逻辑

* fix(common): 🐛 前端刷新 token 之后调用 command 更新 rust 部分的 token

* fix(common): 🐛 显示视频通话消息

* fix(common): 🐛 webrtc 语音通话调用

* fix(common): 🐛 查询所有会话 bug

* build(build): 📦 升级一些依赖版本

* refactor(common): ♻️ rust 重构ws

* style(avatar): 💄 优化头像加载失败时候展示的图片

* fix(common): 🐛 rust ws

* fix(common): 🐛 修复群聊状态显示、同步后端打电话逻辑

* fix(common): 🐛 查询群成员报错 异步问题

* fix(common): 🐛 群成员 异步问题

* refactor(common): ♻️ rust 异常处理

* fix(common): 🐛 消息 骨架屏 异常

* fix(common): 🐛 删除无用代码

* fix(common): 🐛 win 图标闪烁问题

* fix(common): 🐛 ws 保活

* feat(ChatFooter):  增加输入框和ChatFooter组件的拖拽效果

优化私聊在线状态

* fix(common): 🐛 webrtc 切换视频关闭远程视频流

* fix(common): 🐛 message mark issue resolve

* fix(common): 🐛 message mark issue resolve

* refactor(common): ♻️ delete useless code

* fix(common): 🐛 save_room_member_batch cause database lock

* fix(common): 🐛 show the system messgage of join group

* fix(common): 🐛 message sound

* build(img): 📦 压缩一些图片为webp

修改一下代码的逻辑

* perf(global):  优化群成员排序、输入框发送事件为form表单的提交事件

优化chatfooter输入框高度拖拽和home窗口拖拽时性能问题
优化home窗口拖拽会持续触发当前会话选中后对应房间已读触发问题

* chore(lint): 🔨 优化lint的配置

* perf(rtcCall):  优化通话窗口的样式和关闭窗口会挂断的功能

* fix(common): 🐛 ws reconnect in backend reboot

* fix(common): 🐛 webrtc relate message show

* fix(common): 🐛 ws delete useless code

* fix(common): 🐛 resolve ws multi connection

* docs(config): 📝 更新群二维码和赞助榜

* fix(common): 🐛 ws setAppBackGroundState

* fix(common): 🐛 env config modify

* fix(common): 🐛 webrtc on CANCEL

* fix(common): 🐛 group announcement update

* fix(common): 🐛 announcement issuce

* fix(common): 🐛 webrtc windows dragable

* fix(system): 🐛 fix location of call component and some page styles

* fix(common): 🐛 webrtc issue

* ci(common): 🎡 .env.dev modify

* fix(common): 🐛 gET_ROOM_MEMBERS command issue

* fix(common): 🐛 update my group info

* fix(common): 🐛 webrtc audio call issue

* fix(common): 🐛 webrtc video or audio status switch issue

* fix(group): 🐛 fixed some logic and restrictions on inviting members into groups

Optimize Create Script

* style(style): 💄 remove some styles and comments

* fix(common): 🐛 fix WebRTC audio cannot be heard

* fix(common): 🐛 info import error

* fix(common): 🐛 fix #ICT1BO group info update

* fix(common): 🐛 fix "不是好友关系" issue

* fix(common): 🐛 add group apply list

* fix(common): 🐛 webrtc if can't acquire device then hang up

* fix(common): 🐛 mute local video ele

* fix(common): 🐛 同步最新申请接口

* fix(common): 🐛 change isSpeakerOn and mute the bell

* fix(common): 🐛 group apply invite dom

* style(style): 💄 change the style of language statistics and incoming call notifications

---------

Co-authored-by: ql <254693270@qq.com>
Co-authored-by: 卡仔 <1271013637@qq.com>
Co-authored-by: 乾乾 <1046762075@qq.com>
2025-08-15 19:23:55 +08:00
Dawn
2c9e2d0376 docs(config): 📝 更新群二维码和赞助榜 2025-08-13 16:25:05 +08:00
Dawn
fe37c24677 fix(system): 🐛 修复打包安装启动不成功问题 2025-07-23 08:41:26 +08:00
Dawn
51e5e1b924 build(pnpm): 📦 修改打包配置 2025-07-22 21:06:07 +08:00
Dawn
f63d18e854 build(system): 📦 拉取master的内容 (#306)
* feat(view): :sparkles:新增启动页

* fix(router): 🐛 修复路由参数问题

* feat(mobile):  增加移动端的启动页面

* perf(Mobile):  处理登录页、以及默认加载消息列表

* perf(Mobile):  处理登录、注册逻辑

* fix(config): 🐛 修复ios因Cargo.toml中系统限制条件排序问题导致无法启动

* style(login): 💄 完善登录页面和图标

* fix(Android): 🐛 修改Android中的安全距离和启动页面

* fix(style): 🐛 修改pc登录按钮的样式

修复计时器worker计时问题
修改一些样式
移除修改ip地址的测试功能
修复刷新接口时候判断的群聊问题

* feat(system):  增加获取系统盘的信息和文件磁盘占用情况功能

优化一些重要提示的样式

* fix(mac): 🐛 修复mac上点击系统托盘图标和程序坞图标不展示主窗口的问题

* fix(windows): 🐛 修复win上右键任务栏图标关闭应用后无法再打开主窗口的问题

closed #IBQB1H

* feat(util):  增强录音音频响度

* feat(setting):  增加应用占用磁盘空间计算功能和可视化

* fix(hook): 🐛 修复音频文件命名不一致问题

* feat(view):  新增自动下载音频功能,优先播放本地音频,修复音频频谱波形异常问题

* fix(view): 🐛 修复发送语音后无法播放本地音频问题

* fix(mac): 🐛 修复mac语音播放问题

增加机器人样式和类型

* build(system): 📦 移除一些依赖,更新图标

* fix(view): 🐛 修复系统托盘在自动登录时不显示退出问题

优化在其他不需要显示window.$message提示的窗口可禁用

* perf(voice):  优化录音组件的样式

* fix(store): 🐛 修复安卓无法获取安全区域问题

* feat(mobile):  新增和优化消息页面布局

* build(system): 📦 修改项目一些样式和图标

修复判断安卓的方法异步问题导致mac release版本页面不加载问题

* build(icon): 📦 更新除了mac系统的图标

* feat(mobile):  新增联系人页面

* feat(mobile):  新增点击加号图标的小弹窗页面

* fix(router): 🐛 补充提交路由文件,前一次提交缺少更新的路由文件

* build(system): 📦 拉取master的内容

---------

Co-authored-by: OrionMark <67956761@qq.com>
Co-authored-by: 卡仔 <1271013637@qq.com>
2025-07-22 19:25:45 +08:00
wanwanruwoxin
49aef65e5c feat(common): sqlite 本地存储 (#305)
* feat(store):  rust集成 sqlite

* chore(config): 🔨 移除一些不必要的文件

* feat(common):  群组信息 command

* feat(common):  rust 重构

* feat(common):  tauri 登录命令 存储 token

* feat(common):  tauri 存储 room 信息

* feat(common):  sqlite 存储房间信息,群成员信息

* feat(common):  修改我的群的信息

* feat(common):  游标分页查询群组成员

* feat(common):  查询全部群成员;优化前端显示逻辑

* feat(common):  更新 gitignore

* feat(common):  使用缓存检测是否强制更新本地数据,或采取静默更新

* fix(hook): 🐛 枚举使用错误修复

* feat(common):  sqlite 存储会话

* feat(common):  sqlite 存储聊天信息

* fix(common): 🐛 sqlite需要根据登录的用户 id 进行数据隔离

* fix(common): 🐛 添加 sqlite数据库迁移代码

* fix(view): 🐛 会话接口新增detailId;sqlite 数据结构变更;登录保存用户 id bug 修复;

* feat(common):  sqlite 存储消息

* fix(common): 🐛 sqlite 存储消息体异常

* feat(common):  添加 tauri 日志插件

* feat(common):  rust 层发送消息

* fix(component): 🐛 群成员监听显示问题;tauri 事件监听响应多次问题;消息列表显示顺序问题;

* fix(common): 🐛 im_message 表关闭 nickname 非空限制

* fix(common): 🐛 设置账号第一次在客户端登录,设置is_init 为 true,进行初始化获取近期所有消息

* fix(common): 🐛 配置 tauri 的环境变量,用于 migration 启动

* fix(common): 🐛 登录之后,聊天页面初始化,未显示聊天记录 bug

* feat(system):  合并master

* style(common): 💄 引入 tauri websocket; 格式化 rust 代码;

* fix(common): 🐛 ws 接收消息存储本地

* fix(common): 🐛 rust 报错没有在前端提示问题修复

* fix(common): 🐛 修复登录页面请求接口 bug,以及首屏骨架屏问题;

* fix(common): 🐛 token 更新bug修复

* feat(common):  离线消息同步

* fix(common): 🐛 将数据库迁移 crate 集成到主进程中

* style(common): 💄 修改 tauri 日志配置,输出日志到 logs 目录下;并对日志级别添加颜色;

* feat(common):  引入 tauri-devtools

* docs(common): 📝 env文件修改

* fix(common): 🐛 rust 依赖调整;配置调整;

* build(config): 📦 修改配置

---------

Co-authored-by: Dawn <2439646234@qq.com>
2025-07-22 18:47:23 +08:00
Dawn
8c0ee4d755 docs(doc): 📝 更新赞助榜 2025-07-16 09:27:53 +08:00
Dawn
d8caa5a431 feat(setting): 增加应用占用磁盘空间计算功能和可视化 (#303) 2025-07-16 08:10:11 +08:00
Dawn
5801ee329f docs(doc): 📝 更新README文件样式和展示方式 2025-07-14 00:29:33 +08:00
Dawn
19e6a15ad0 feat(view): 新增文件预览功能 (#301)
* feat(view):  新增文件预览功能(未完成)

* feat(view):  新增跨窗口通信事件,支持word查看

* fix(view): 🐛 修复文件类型气泡的样式和上传分片功能

* fix(view): 🐛 修复ChatFooter组件中handleFileOpen无法获取blob.type为空问题

* refactor(store): ♻️ 重构rust的get_files_meta函数,支持返回mime文件类型

* feat(view):  新增pdf、ppt、excel预览功能

预览时优先查找本地文件

* fix(hook): 🐛 修复文件下载后的文件状态显示异常

在用户下载文件后,消息状态未修复前为“已下载”,但实际文件已经被用户删除,所以需重置状态

* fix(store): 🐛 修复右键菜单预览文件状态问题

用户下载文件后,消息状态为已下载,若用户删除文件,状态则需要更新,所以预览时文件不在则更新消息状态为未下载,并且打开在线预览

* fix(hook): 🐛 修复点击预览文件时自动打开资源管理器问题

* fix(hook): 🐛 修复文件消息状态显示异常问题

* feat(component):  新增双击文件功能

* feat(view):  新增选择文件上传前复制上传文件到用户文件夹功能

* feat(view):  新增切换文件浏览功能

* fix(view): 🐛 删除预览的等待提示

* style(util): 💄 提取PathUtil中用户数据的魔法值

---------

Co-authored-by: 卡仔 <1271013637@qq.com>
2025-07-11 06:02:48 +08:00
Dawn
1b5b4b89c9 chore(config): 🔨 修改.cargo配置文件 2025-07-07 11:37:35 +08:00
Dawn
aaf51443af chore(config): 🔨 移除一些不必要的文件 2025-07-07 00:51:09 +08:00
Dawn
109c98ce2a build(build): 📦 升级tauri、vite依赖 2025-07-07 00:41:00 +08:00
Dawn
3b6469c580 fix(component): 🐛 修复消息标记不显示问题
优化后端返回错误提示
优化系统托盘在打包时候不显示问题
2025-07-06 04:22:28 +08:00
Dawn
2a9688180e fix(component): 🐛 修复录音取消后线程内没有被取消导致另外会话录音失败 2025-07-05 17:50:04 +08:00
Dawn
d4f82ee211 chore: 发布 v2.6.13
Some checks failed
Release CI / publish-tauri (, ubuntu-22.04) (push) Has been cancelled
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2025-07-05 00:05:33 +08:00
Dawn
57ac5c98b7 fix(view): 🐛 修复文件类型气泡的样式和上传分片功能 2025-07-04 20:54:58 +08:00
Dawn
81d3bc9f01 fix(component): 🐛 修复mac启动依赖问题
优化文件类型选中和边框
2025-07-04 10:43:55 +08:00
MrSteins
0a1f4ecd18 fix: macos开发模式样式不生效 (#299) 2025-07-04 08:10:47 +08:00
Dawn
99711a73f3 feat(component): 增加文件类型(除语音、视频)等文件类型的样式兼容 2025-07-04 05:56:38 +08:00
Dawn
916ab6c56a fix(common): 🐛 修复未提示用户错误弹框问题
优化错误提示弹窗的判断条件
2025-07-03 01:46:26 +08:00
Dawn
203af0d060 feat(component): :sparkles:增加上传视频、文件、音频等功能 (#292) 2025-07-03 01:13:51 +08:00
Dawn
ce0b5a9395 docs(doc): 📝 更新赞助榜 2025-06-26 23:40:57 +08:00
ZOL4789
cb1fb70181 fix(service): 🐛 修复网络设置后缀为空时,调用接口失败的bug 2025-06-26 22:37:04 +08:00
ZOL4789
8164e91670 fix(view): 🐛 只保持主窗口窗口大小 2025-06-26 22:37:04 +08:00
ql
e4c43aee74 fix(component): 🐛 用户修改当前群聊昵称显示问题 2025-06-25 20:17:16 +08:00
Dawn
a7f5bbd271 docs: 📝 更新微信群二维码 2025-06-18 16:07:24 +08:00
Dawn
a94d352f7f docs(LICENSE): 📝 修改LICENSE的Copyright 2025-06-18 16:03:54 +08:00
Dawn
8aba588b90 [Snyk] Upgrade @tauri-apps/plugin-http from 2.4.3 to 2.4.4 (#289)
fix: upgrade @tauri-apps/plugin-http from 2.4.3 to 2.4.4

Snyk has created this PR to upgrade @tauri-apps/plugin-http from 2.4.3 to 2.4.4.

See this package in npm:
@tauri-apps/plugin-http

See this project in Snyk:
https://app.snyk.io/org/nongyehong/project/25d2c56d-1e8a-4e53-a4b2-4c5c5028c050?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2025-06-13 18:11:40 +08:00
neo
b951cac42b docs: add links to other language versions of README (#288)
Added language selection links to the README for easier access to translated versions: German, English, Spanish, French, Japanese, Korean, Portuguese, and Russian.
2025-06-12 01:24:03 +08:00
ZOL
dfc29fa3ed feat(view): 保持窗口位置和大小 (#287)
* feat(view):  保持窗口位置和大小

* fix(view): 🐛 修复窗口时短暂白屏

---------

Co-authored-by: Dawn <2439646234@qq.com>
2025-06-08 01:52:28 +08:00
Dawn
c9cdcc0cc5 fix(hook): 🐛 修复pinia初始化报错问题 2025-06-07 05:30:23 +08:00
Dawn
d2ab29bfd5 perf(store): 优化刷新会话列表后,时间和最新消息简介没有更新的问题
更新微信群二维码和赞助榜
2025-06-04 05:22:06 +08:00
Dawn
18ffde1d49 perf(service): 优化webSocket重连机制 2025-06-03 04:38:40 +08:00
Dawn
54f32eec5f perf(component): 优化webSocket的重连性能和网络检测方法 2025-06-02 03:01:29 +08:00
Dawn
2d0d42e35d docs(doc): 📝 增加新的微信群二维码、更新赞助榜 2025-05-27 18:00:35 +08:00
Dawn
666d73aed1 chore: 发布 v2.6.12
Some checks failed
Release CI / publish-tauri (, ubuntu-22.04) (push) Has been cancelled
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2025-05-26 01:06:10 +08:00
Dawn
f8602e56eb fix(input): 🐛 修复mac下输入框检查拼写和字母大小写问题 2025-05-26 01:02:37 +08:00
Dawn
f734dca910 perf(global): 增加ws健康检查兜底刷新最新消息内容、网络断线恢复重连 2025-05-26 00:48:04 +08:00
Dawn
1c0cd2e2a7 docs(doc): 📝 更新赞助榜名单 2025-05-25 00:37:06 +08:00
Dawn
7e762e8524 fix(hook): 🐛 修复mac系统右键会选中文本的问题 2025-05-25 00:10:48 +08:00
Dawn
791b9cc694 feat(hook): 增强文本选择复制
优化右键复制粘贴图片功能

closed #279
2025-05-24 07:31:05 +08:00
Dawn
61618db93c fix(view): 🐛 修改邮箱输入框长度限制
修改代理设置为网络设置,以便理解

closed #278
2025-05-23 15:52:51 +08:00
Dawn
2a63046bbd fix(mac): 🐛 修复mac下点击关闭按钮无法关闭home窗口问题 2025-05-23 15:07:47 +08:00
Dawn
030fed7d60 fix(worker): 🐛 修复ws在重连后清空token导致无法对应获取消息问题
优化右键粘贴图片问题(需要tauri 兼容剪贴板识别更多类型)
2025-05-23 08:13:09 +08:00
Ethan Zhou
13c528a35e fix(agreement): 🐛 安装界面乱码 (#277)
#275
2025-05-22 19:32:23 +08:00
Dawn
e068a253e5 fix: 修复ws链接断开没有重试问题 (#276)
* fix: 修复ws链接断开没有重试问题

* perf(service):  使用web worker的计时器去处理堆积任务

---------

Co-authored-by: littleChen <n1987795215@163.com>
2025-05-22 17:41:27 +08:00
Dawn
4a1a05cf51 fix(hook): 🐛 暂时移除/唤起ai快捷键识别 2025-05-22 03:50:44 +08:00
Dawn
5e7c5dd3f3 build(ios): 📦 重新构建ios启动配置 2025-05-22 03:34:25 +08:00
Dawn
af172e4516 docs(doc): 📝 更新微信群二维码 2025-05-21 16:38:17 +08:00
Dawn
d2b6ab25d6 fix(hook): 🐛 修复除emoji类型和图片类型都可以另存为的bug 2025-05-20 19:07:28 +08:00
Dawn
0dfdfc1269 feat(component): 增加右键emoji可以另存为 2025-05-20 06:26:18 +08:00
Dawn
c927be4c3f fix(view): 🐛 修复托盘菜单内容不展示问题和托盘图标闪烁后不展示问题
修复收缩窗口后高度不一致问题

# 274
2025-05-20 03:40:53 +08:00
Dawn
f883cb3839 chore: 发布 v2.6.11
Some checks failed
Release CI / publish-tauri (, ubuntu-22.04) (push) Has been cancelled
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2025-05-19 02:42:22 +08:00
Dawn
884a53e448 perf(service): 优化websocket可以在窗口隐藏后继续监听 2025-05-19 02:37:59 +08:00
Dawn
a8bf8e00ab perf(component): 优化群聊成员和公告展示、以及完成搜索会话功能 2025-05-18 05:10:00 +08:00
Dawn
92dba1218f fix(component): 🐛 优化windows上群聊的展示时机和样式 2025-05-17 06:02:06 +08:00
Dawn
f0aa0014a9 perf(component): 优化emoji的样式和展示 2025-05-16 20:32:11 +08:00
Dawn
02ef835855 fix(notify): 🐛 修复免打扰时还会触发托盘图标闪烁(windows) 2025-05-16 15:06:02 +08:00
Dawn
253a7b21b1 docs(doc): 📝 更新赞助者名单 2025-05-16 10:44:27 +08:00
Dawn
2c8b15cd3a fix(view): 🐛 修复系统托盘信息提示菜单内容展示问题和点击跳转问题 2025-05-16 01:57:23 +08:00
Dawn
8b9541b51e docs(doc): 📝 增加HelloGithub社区徽章 2025-05-15 11:46:10 +08:00
Dawn
6d512d0374 build(android): 📦 修改android启动所需的依赖 2025-05-13 23:36:32 +08:00
Ethan Zhou
eaa42885c3 fix(component): 🐛 点击头像弹出个人信息面板 (#273)
Co-authored-by: Dawn <2439646234@qq.com>
2025-05-13 22:19:00 +08:00
Dawn
2b232f76aa docs(badge): 📝 增加deepwiki文档徽章 2025-05-13 17:59:46 +08:00
Dawn
baed923a64 build: 📦 更新acl配置 2025-05-13 17:20:08 +08:00
Dawn
3ef1666ef7 fix(ios): 🐛 修复ios init导致无法启动问题 2025-05-13 14:34:12 +08:00
Dawn
4954b1cc24 fix(view): 🐛 修复系统托盘闪烁和提示菜单内容不显示问题
移除vite-plugin-vue-devtools依赖
2025-05-13 02:34:31 +08:00
Dawn
b2fe51fd2a docs(doc): 📝 更新微信群二维码、预览图
更新检查rust版本脚本
修复win上代码警告问题
2025-05-12 21:52:48 +08:00
Dawn
c76148687c fix(component): 🐛 修复mac下更新提示窗口可以调整大小、拖动、标题栏显示问题
优化计时器使用方式
调整系统托盘计时器为worker计时器

BREAKING CHANGE: webSocket的计时器调整为worker计时器
2025-05-12 18:36:28 +08:00
Dawn
777951bb8c perf(view): 优化在登录框下未提示更新、右下角窗口可拖动问题
修复展开更新内容无法滚动问题
2025-05-11 19:25:43 +08:00
ZOL
833d09efe4 feat(view): 增加修订版本更新检测,修复每次版本变动都更新的bug (#271)
* feat(view):  增加修订版本更新检测,修复每次版本变动都更新的bug

* fix(view): 🐛 修改macos检查更新页面配置

* fix(view): 🐛 补充权限

* fix(view): 🐛 设置主界面最小高度

* fix(view): 🐛 更正扫码登录创建主界面参数

* fix(view): 🐛 修订版本更新页面允许关闭

* fix(view): 🐛 处理修订版本更新页面关闭按钮过小的问题

* fix(view): 🐛 修订版本更新逻辑优化

* fix(view): 🐛 代码规范调整

* fix(view): 🐛 修复主界面菜单带文字最小高度不适应的bug、登录和首页每30分钟检测一次是否有更新

* fix(view): 🐛 修复主界面打开修订版本更新未关闭的bug

* fix(view): 🐛 修复timer.worker文件导入bug

* fix(view): 🐛 修复timer.worker不能导出变量的bug

* fix(view): 🐛 去掉修订版本更新隐藏登录页、主页面

* perf(view):  检查更新的页面样式和窗口位置

修复登出后点击忘记密码和注册账号会闪退问题

---------

Co-authored-by: Dawn <2439646234@qq.com>
2025-05-11 04:05:58 +08:00
Dawn
f816314115 fix(component): 🐛 修复图片截图功能文件大小问题 2025-05-09 19:30:53 +08:00
Dawn
63e28f9993 docs(readme): 📝 更新赞助名单 2025-05-09 10:21:42 +08:00
Dawn
f33f41d41f fix(component): 🐛 修复回复消息表情不展示问题 2025-05-09 01:50:09 +08:00
Dawn
bd825e0c32 fix(view): 🐛 修复win下忘记密码页面背景颜色问题
更新rust依赖
2025-05-09 01:13:54 +08:00
Dawn
b45cfd2212 feat(view): 新增重置密码功能
群聊展示hula号
更新unocss依赖
2025-05-09 00:54:59 +08:00
Dawn
2081e99d4a perf(component): 优化消息回复表情功能
支持单聊回复表情
2025-05-08 01:42:29 +08:00
Dawn
2753e89dd5 fix(component): 🐛 修复因公告宽度导致聊天框布局混乱问题 2025-05-06 02:59:19 +08:00
Dawn
31ba428f33 docs(readme): 📝 修改readme文档,更新微信群二维码 2025-05-06 02:32:19 +08:00
Dawn
d9db68c9bb chore: 发布 v2.6.10
Some checks failed
Release CI / publish-tauri (, ubuntu-22.04) (push) Has been cancelled
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2025-05-06 01:58:01 +08:00
Dawn
6616a932c5 fix(component): 🐛 修复全选意外选中全部内容的问题
修复文本消息内容无法选取问题

修复检查更新报错问题

更新对应的前端依赖
2025-05-05 22:10:01 +08:00
Dawn
493b2e183f style(view): 💄 移除鼠标默认样式 2025-05-04 03:13:51 +08:00
renovate[bot]
5800c158aa chore(deps): update dependency vite to v6.3.4 [security] (#265)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Dawn <2439646234@qq.com>
2025-05-03 23:05:53 +08:00
Clover You
6fcb82bb90 style(component): 💄 更新样式以禁用全局用户选择并调整光标样式 (#264) 2025-05-01 06:11:00 +08:00
Dawn
0d5455c9c5 fix(component): 🐛 修改url文本解析样式 2025-04-30 18:39:57 +08:00
Dawn
e5e1725d42 fix(component): 🐛 修复表情包圆角样式
修改公告栏列表中公告内容的样式
2025-04-29 19:20:36 +08:00
Dawn
4d171273e9 perf(component): 优化消息点赞和不满功能 2025-04-29 01:10:47 +08:00
Dawn
8d21d2228a fix(component): 🐛 修复公告排序问题、公告加载更多重复数据问题 2025-04-28 18:41:21 +08:00
Dawn
d98f59cbb4 style(component): 💄 移除一些冗余代码 2025-04-28 17:01:01 +08:00
Dawn
f0b0656ddc feat(component): 增加公告类型消息
修复好友审批类型处理 | 修复聊天框内右键设置管理员bug
2025-04-28 02:57:08 +08:00
Dawn
62460fbfe0 fix(component): 🐛 修改群聊中群消息设置逻辑
修复异地同端登录没有重新登录提示问题
2025-04-27 02:54:25 +08:00
Dawn
802d224209 style(component): 💄 移除一些log 2025-04-26 21:22:30 +08:00
Dawn
7589059756 build(package): 📦 升级tauri至v2.5.1
更新vite依赖版本、vueuse版本
2025-04-25 17:31:54 +08:00
Dawn
6330aaf4ee docs(component): 📝 更新赞赏榜单🎉 2025-04-25 16:14:09 +08:00
Dawn
62ebfdf7f7 docs(component): 📝 更新微信群二维码 2025-04-25 12:55:34 +08:00
OrionMark
87fc30d170 feat(view): 新增发布群公告功能 (#259)
* feat(view):  新增发布群公告功能

* fix(config): 🐛 修复群公告打开闪屏,发布公告权限校验逻辑问题

* perf(component):  优化公告栏样式

修复home窗体的最小宽度

* fix(component): 🐛 修复公告列表中字母换行的问题

* fix(component): 🐛 修改公告拦样式和功能

* fix(component): 🐛 修复公告列表加载更多,未呈现数据问题

* fix(component): 🐛 修复公告列表重复请求问题

* fix(component): 🐛 修复加载公告列表时导致的重复请求群成员列表,放到加载公告接口前执行

* fix(component): 🐛 修复公告新增删除在聊天框内不更新的问题

增加公告置顶功能

---------

Co-authored-by: Dawn <2439646234@qq.com>
2025-04-25 03:32:48 +08:00
Dawn
296a944c9f fix(component): 🐛 修复链接卡片无法点击后默认浏览器打开的问题
优化rust中托盘mac系统下的包导入和使用的问题
2025-04-22 16:02:13 +08:00
Clover You
635f72996b fix(chat): 隔离聊天窗口内部数据 (#258) 2025-04-22 14:56:16 +08:00
Dawn
91feb14ff4 fix(readme): 🐛 修改readme中的描述 2025-04-21 15:30:29 +08:00
Dawn
4dbd35074c docs(readme): 📝 更新readme 2025-04-21 15:15:18 +08:00
Dawn
af0dec1345 chore: 发布 v2.6.9
Some checks failed
Release CI / publish-tauri (, ubuntu-22.04) (push) Has been cancelled
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2025-04-21 01:47:29 +08:00
Dawn
74bf3702c7 perf(component): 优化链接的展示和解析
修改@提及的样式
2025-04-21 01:45:06 +08:00
Clover You
e46ee95bb8 fix: 修复回复框错位 BUG (#256)
* fix: 修复回复框错位BUG #253

* fix: 插入回复框后记录光标最新位置
2025-04-21 01:00:00 +08:00
ZOL
edbd3defcc feat(view): 新增中版本强制更新功能 (#252)
* feat(view):  新增中版本强制更新功能

* fix(view): 🐛 优化强制更新

#183

* fix(view): 🐛 修复更新后重启失败bug

#183

* fix(view): 🐛 设置更新界面文本不可选中

#183

* chore: 添加 seemly 处理颜色

* style: 更新窗口样式调整

* feat: 展示当前更新版本的 commit 列表

* feat: window 窗口配置

* style(view): 💄 修改代码格式、修改更新升级窗口字体颜色和大小

---------

Co-authored-by: Clover You <hi@clovu.me>
Co-authored-by: Dawn <2439646234@qq.com>
2025-04-20 22:50:02 +08:00
Dawn
f9a2b18473 fix(common): 🐛 修复回复表情包或者emoji的时候位置偏移 2025-04-20 06:59:25 +08:00
Clover You
418090604a feat: 回复可以回复表情包、图片 (#251)
* fix(hook): 修复回复图片时的DOM操作,避免innerHTML.replace导致图片地址被替换

* fix: 确保取到内容图片地址而不是回复消息头像

* fix: 回复文本时残留回复框内容
2025-04-20 00:20:49 +08:00
Dawn
6dbfa496b4 perf(rust): 修改mac系统托盘的右键菜单 2025-04-18 22:14:46 +08:00
Jaquan
82c3fd529c feat(hooks): 优化消息类型判断逻辑 (#249)
- 修改了 useCommon 钩子中的消息类型判断条件
- 增加了对文本和表情包同时存在时的处理
- 使消息类型判断更加准确和全面
2025-04-18 17:13:36 +08:00
Dawn
b793f71f26 fix(view): 🐛 修复会话中转义字符的问题 2025-04-18 15:52:21 +08:00
Dawn
b8c3c4eec2 fix(hook): 🐛 修复回复时出现空格符和回复替换等问题
增加ws类型|修复好友申请列表没有加载最新内容|修改readme文件
2025-04-18 13:51:35 +08:00
Dawn
2a5b9de68b perf(component): 优化屏蔽后的逻辑
修改mac系统网络设置选项
2025-04-17 22:30:06 +08:00
Dawn
2b9a7edaef fix(common): 🐛 修复FloatBlockList组件悬浮层bug 2025-04-17 03:41:02 +08:00
Dawn
c7fbdd7a02 fix(layout): 🐛 回退增加系统通知功能 2025-04-16 23:09:02 +08:00
OrionMark
9e4f31ea52 fix(Plugins): 🐛 修复插件卸载后,重新打开插件列表,状态依旧是安装状态问题(list布局) (#248) 2025-04-16 22:59:43 +08:00
OrionMark
3cee9498d7 fix(Plugins): 🐛 修复插件卸载后,重新打开插件列表,状态依旧是安装状态问题 (#247)
* fix(Notification): 🐛 暂时移除Notification,会导致程序闪退

* fix(Plugins): 🐛 修复插件卸载后,重新打开插件列表,状态依旧是安装状态问题

---------

Co-authored-by: Dawn <2439646234@qq.com>
2025-04-16 22:46:25 +08:00
Dawn
7f8795c36a fix(hook): 🐛 修改mac下子窗口创建逻辑
更新cargo中notify-rust和mac-notification-sys版本
2025-04-16 22:43:34 +08:00
Clover You
3441b8a282 fix(message): 将消息内容解析为文本而不当做 HTML 处理 #237 (#246) 2025-04-16 12:43:25 +08:00
Dawn
b2a15ca5e2 feat(view): 新增子窗口创建方式和邀请加群功能 2025-04-16 03:43:40 +08:00
Dawn
bcce4a01d4 fix(hooks): 🐛 修复一些xss的问题 2025-04-15 18:43:13 +08:00
dependabot[bot]
0b97e09ccc build(deps): bump crossbeam-channel from 0.5.14 to 0.5.15 in /src-tauri (#245)
Bumps [crossbeam-channel](https://github.com/crossbeam-rs/crossbeam) from 0.5.14 to 0.5.15.
- [Release notes](https://github.com/crossbeam-rs/crossbeam/releases)
- [Changelog](https://github.com/crossbeam-rs/crossbeam/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-channel-0.5.14...crossbeam-channel-0.5.15)

---
updated-dependencies:
- dependency-name: crossbeam-channel
  dependency-version: 0.5.15
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dawn <2439646234@qq.com>
2025-04-15 14:15:25 +08:00
dependabot[bot]
9d287b8202 build(deps): bump openssl from 0.10.71 to 0.10.72 in /src-tauri (#244)
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.71 to 0.10.72.
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.71...openssl-v0.10.72)

---
updated-dependencies:
- dependency-name: openssl
  dependency-version: 0.10.72
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-15 14:14:58 +08:00
Dawn
3a50ccdf5c docs(doc): 📝 更新微信群二维码 2025-04-15 13:08:29 +08:00
ZOL
d4bf21d464 feat(worker): 代理实现 (#232)
* feat(worker):  代理实现

197 #197

* fix(worker): 🐛 修复localStorage未初始化访问异常

* fix(worker): 🐛 api代理和websocket代理设置分开

* fix(worker): 🐛 修复保存代理设置,重启异常bug

* style(view): 💄 美化n-tabs白色下划线

* ci(PR-Boot): 🎡 修改pr-boot的key配置

---------

Co-authored-by: Dawn <2439646234@qq.com>
2025-04-15 10:29:58 +08:00
renovate[bot]
430340c084 chore(deps): update dependency vite to v6.2.6 [security] (#243) 2025-04-12 03:28:11 +08:00
renovate[bot]
f9b93372d4 chore(deps): update dependency vite to v6.2.5 [security] (#242)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-05 21:14:20 +08:00
Dawn
41021548a2 chore(android): 🔨 更新Android配置文件 2025-04-04 21:48:11 +08:00
Dawn
6b02f3fc61 fix(config): 🐛 修复renovate配置问题 2025-04-04 01:35:42 +08:00
Dawn
fab231a916 perf(component): 优化群备注和群昵称(beta) 2025-04-04 01:27:24 +08:00
renovate[bot]
2c4841bb11 chore(deps): update dependency @tauri-apps/plugin-shell to v2.2.1 [security] (#239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Dawn <2439646234@qq.com>
2025-04-03 18:40:13 +08:00
renovate[bot]
bd6cc99733 chore(deps): update rust crate tauri-plugin-shell to v2.2.1 [security] (#240)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-03 18:37:32 +08:00
renovate[bot]
50a74f3612 chore(deps): update dependency vite to v6.2.4 [security] (#238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 17:04:22 +08:00
Dawn
303669cd2c chore: 发布 v2.6.8
Some checks failed
Release CI / publish-tauri (, ubuntu-22.04) (push) Has been cancelled
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2025-03-27 04:42:54 +08:00
Dawn
eca26a977d feat(component): 增加兼容七牛云上传功能
优化头像上传逻辑
修复一些已知问题
2025-03-27 04:29:56 +08:00
Dawn
4be6db7d31 feat(component): 增加邮箱登录、PIN输入框
移除account_code字段,修改为accountc
2025-03-26 22:14:04 +08:00
renovate[bot]
a55fc9b2c1 chore(deps): update dependency vite to v6.2.3 [security] (#233)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-26 21:48:05 +08:00
Viren Zhou
28fdc79e18 fix(component): 🐛 使用setShow手动触发Popover显示 (#230)
* fix(component): 🐛 修复InfoPopover点击popover内部会使其关闭

#210

* fix(component): 🐛 修复InfoPopover点击popover内部会使其关闭

#210

* fix(component): 🐛 使用setShow手动触发Popover显示

#210
2025-03-25 00:15:19 +08:00
Dawn
bb027cf921 build(cargo): 📦 更新Cargo.lock中的版本 2025-03-22 17:09:57 +08:00
Dawn
4f3061ed78 ci(chatbot): 🎡 修复pr-chatbot千问模型授权问题 (#228) 2025-03-22 16:53:16 +08:00
Clover You
9deefc0fa2 fix(hooks): replace focus call with focusOn function in useMsgInput (#227)
fix(hooks): replace focus call with focusOn function in useMsgInput #151
2025-03-22 16:31:56 +08:00
Dawn
bb7a94b7cc build(tauri): 📦 升级tauri v2.4.0版本 2025-03-22 11:12:43 +08:00
Clover You
9e867c672c fix: Implement placeholder by CSS (#226)
Co-authored-by: Dawn <2439646234@qq.com>
2025-03-21 17:52:00 +08:00
Dawn
7c1cf1335b [Snyk] Upgrade @tauri-apps/plugin-updater from 2.5.0 to 2.5.1 (#225)
fix: upgrade @tauri-apps/plugin-updater from 2.5.0 to 2.5.1

Snyk has created this PR to upgrade @tauri-apps/plugin-updater from 2.5.0 to 2.5.1.

See this package in npm:
@tauri-apps/plugin-updater

See this project in Snyk:
https://app.snyk.io/org/nongyehong/project/25d2c56d-1e8a-4e53-a4b2-4c5c5028c050?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2025-03-21 17:49:19 +08:00
Clover You
2cbf7273fb fix(chat): 修复回复消息导致光标偏移 #223 (#224) 2025-03-21 17:45:00 +08:00
Dawn
a917332e81 chore: 发布 v2.6.7
Some checks failed
Release CI / publish-tauri (, ubuntu-22.04) (push) Has been cancelled
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2025-03-19 01:05:09 +08:00
Dawn
7e865c7cb0 perf(component): 优化头像上传功能(群头像) 2025-03-19 00:58:40 +08:00
Dawn
dcf4664a18 perf(component): 优化群聊操作(我的群昵称、群备注、群名称) 2025-03-18 19:47:12 +08:00
Clover You
6ad6c58691 fix(chat-editor): record cursor position correctly (#221) 2025-03-18 16:00:22 +08:00
Clover You
a8b548cb0b feat(vite): add vite-plugin-vue-devtools for enhanced debugging (#219)
Co-authored-by: Dawn <2439646234@qq.com>
2025-03-18 14:06:41 +08:00
Dawn
f0e9f27c5f feat(component): 增加表情包功能 2025-03-18 11:47:52 +08:00
dependabot[bot]
b019b479bd build(deps): bump zip from 2.2.2 to 2.4.1 in /src-tauri (#217)
Bumps [zip](https://github.com/zip-rs/zip2) from 2.2.2 to 2.4.1.
- [Release notes](https://github.com/zip-rs/zip2/releases)
- [Changelog](https://github.com/zip-rs/zip2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zip-rs/zip2/compare/v2.2.2...v2.4.1)

---
updated-dependencies:
- dependency-name: zip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-18 09:26:57 +08:00
Dawn
52f9047299 perf(component): 优化好友申请列表 2025-03-18 02:14:13 +08:00
Dawn
a39c054b62 fix(component): 🐛 修复win下聊天框滚动条隐藏坍塌问题和会话快速切换的异步竞态问题 2025-03-18 00:31:58 +08:00
Clover You
2ed72c74d4 chore(tauri): 确保 frontend_dist 存在避免出现 proc-macro panicked (#216)
* chore(tauri): 确保 frontend_dist 存在避免出现 proc-macro panicked

* chore: lint
2025-03-17 22:07:03 +08:00
Dawn
e62e7932ea build(release-it): 📦 降低release-it依赖版本 2025-03-17 17:47:33 +08:00
Dawn
d7216f70c6 docs(README): 📝 更新README 2025-03-17 16:27:07 +08:00
Dawn
15d16e567f perf(component): 优化好友申请列表和群详情
升级vite和unocss依赖|修改群聊成员角色样式
2025-03-17 15:04:04 +08:00
dependabot[bot]
9804a2ed67 build(deps): bump ring from 0.17.8 to 0.17.14 in /src-tauri (#215)
Bumps [ring](https://github.com/briansmith/ring) from 0.17.8 to 0.17.14.
- [Changelog](https://github.com/briansmith/ring/blob/main/RELEASES.md)
- [Commits](https://github.com/briansmith/ring/commits)

---
updated-dependencies:
- dependency-name: ring
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-17 09:36:15 +08:00
Dawn
696055585c perf(component): 优化群聊详情显示 2025-03-17 02:00:54 +08:00
Dawn
474a3886f4 fix(component): 🐛 修复用户上线推送的数据类型错误问题
优化搜索好友\群聊的列表样式和性能
2025-03-17 00:50:09 +08:00
Dawn
bc65a3bd5a feat(component): 增加动画表情处理
优化聊天框性能问题
2025-03-16 01:38:36 +08:00
ZOL
51baa1a907 fix(layout): 🐛 修复F5刷新会使窗口变大的bug (#214) 2025-03-15 20:42:15 +08:00
Dawn
e7144313a4 feat(component): 增加localStorage缓存消息列表(暂时) 2025-03-15 15:15:22 +08:00
Dawn
64eefbe7bd perf(view): 优化群主管理员标签样式 2025-03-15 00:59:26 +08:00
Dawn
0b97ccb767 fix(component): 🐛 修复右键二级菜单图标错误bug
增加消息框快速滚动到底部悬浮按钮
2025-03-15 00:22:40 +08:00
Dawn
0eed677805 fix(component): 🐛 完善消息免打扰功能和样式 2025-03-14 16:14:15 +08:00
Dawn
40e9786215 fix(store): 🐛 修复群聊列表获取不到问题(后续把stores中定义的reactive换为ref) 2025-03-13 18:13:27 +08:00
Dawn
29bec4f373 perf(component): 优化右键二级菜单点击事件不触发问题、拆分屏蔽消息和免打扰功能 2025-03-13 14:03:46 +08:00
Dawn
90d55bb4ba perf(component): 优化右键二级菜单弹出的问题 2025-03-12 11:03:56 +08:00
Dawn
6731c89c32 feat(component): 增加会话列表右键菜单功能(免打扰) 2025-03-11 23:48:54 +08:00
Dawn
530ce3e63d perf(component): 优化虚拟列表加载更多闪屏的问题和消息气泡动画问题 2025-03-11 03:16:58 +08:00
Dawn
3bea8d9f02 perf(component): 优化虚拟列表滚动掉帧问题
移除消息气泡动画
2025-03-09 02:37:13 +08:00
Dawn
19d699b19f perf(component): 优化虚拟列表 2025-03-08 04:02:14 +08:00
Dawn
65264b3dac fix(component): 🐛 修复新消息回复无法跳转问题
修复用户修改头像后没有更新问题
修复发消息无法打开会话问题(取消隐藏会话)
2025-03-08 00:51:58 +08:00
Dawn
1bc38ba4c1 perf(component): 优化消息列表 2025-03-07 02:08:59 +08:00
Dawn
51b7d621fa fix(component): 🐛 修复缓存存储问题、会话切换后聊天框内容混合问题
增加hula号展示
2025-03-05 18:25:18 +08:00
Dawn
c492c0d18e perf(view): 优化申请群聊功能
完善加好友/群聊样式|增加hula号
2025-03-04 22:46:42 +08:00
Dawn
a832dc1220 perf(view): 优化项目中类型的编写和定义方式 2025-03-04 13:34:59 +08:00
Dawn
34e663373b fix(util): 🐛 修复消息上报在未登录的时候触发问题 2025-03-04 02:36:05 +08:00
Dawn
1560cb4a0b fix(view): 🐛 修复重新启动应用后的登录逻辑 2025-03-04 00:30:31 +08:00
Dawn
20f52e471b perf(component): 优化好友页面和聊天页面切换需要重新加载问题
修改一些组件的类型|修改删除会话接口
2025-03-03 17:53:49 +08:00
Dawn
0dcddfc810 fix(component): 🐛 修复回复的内容宽度问题 2025-03-02 22:35:38 +08:00
Dawn
7984fe04ba chore: 发布 v2.6.6
Some checks failed
Release CI / publish-tauri (, ubuntu-22.04) (push) Has been cancelled
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2025-03-02 02:48:46 +08:00
Dawn
5e2f6e454e fix(service): 🐛 修复oss接口配置问题 2025-03-02 02:44:46 +08:00
Dawn
31c1709f63 perf(component): 优化一些功能的操作体验和样式 2025-03-01 22:48:15 +08:00
Dawn
801ec4ee00 perf(service): 优化http模块
优化预加载页面组件加载顺序
2025-03-01 12:05:50 +08:00
Dawn
90f108a61f feat(component): 增加预加载页面样式 2025-02-28 23:14:25 +08:00
Dawn
2c163431c5 fix(global): 🐛 修复一些内容的类型问题 2025-02-28 11:41:09 +08:00
Dawn
611b4ebed3 chore: 发布 v2.6.5
Some checks failed
Release CI / publish-tauri (, ubuntu-22.04) (push) Has been cancelled
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2025-02-27 22:33:03 +08:00
Dawn
3333aa0eb7 fix(global): 🐛 修改全局使用到的一些类型为string
closed #211
2025-02-27 22:29:45 +08:00
Dawn
5cb9bfc41e perf(component): 优化自动登录功能 2025-02-27 16:37:21 +08:00
Dawn
67cad46ee7 perf(view): 优化登录逻辑 2025-02-27 12:38:20 +08:00
Dawn
b08e7d8b60 fix(component): 🐛 修复加好友/群聊顶部栏不可操作问题和窗口通信响应式问题 2025-02-26 22:45:42 +08:00
Dawn
67169133e6 perf(component): 优化加好友/群聊窗体样式和功能 2025-02-26 21:58:14 +08:00
mint
90a89853ed feat(view): 添加好友或群,基本完成了查找添加好友相关的内容,可以查出来群聊信息暂时还没有写添加 (#209)
* feat(view):  添加好友或群,基本完成了查找添加好友相关的内容,可以查出来群聊信息暂时还没有写添加

查询用户已经完成,可以通过用户的name昵称或account账号来进行一个匹配,

BREAKING CHANGE: 一次性查出多条。添加好友用的是AddFriendsModal.vu页面进行一些修改,

closed https://gitee.com/HuLaSpark/HuLa/issues/IBJYSD

* fix(view): 🐛 修改创建窗体minH的问题

---------

Co-authored-by: Dawn <2439646234@qq.com>
2025-02-25 16:32:07 +08:00
Dawn
d1f831df73 perf(component): 优化侧边栏功能 2025-02-25 16:18:58 +08:00
Dawn
0e07e339b7 perf(service): 优化群聊功能 (#208)
完善一些代码和操作的提示
2025-02-22 18:36:28 +08:00
Dawn
ac9d922245 chore: 发布 v2.6.4
Some checks failed
Release CI / publish-tauri (, ubuntu-22.04) (push) Has been cancelled
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2025-02-21 19:35:54 +08:00
Dawn
df7fed3c82 fix(git): 🐛 删除多余的文件,导致打包出错 2025-02-21 19:31:15 +08:00
Dawn
9a8659b711 fix(file): 🐛 修复git未监听文件名大小写修改 2025-02-21 17:46:02 +08:00
Dawn
776b6ec2c0 feat(service): 增加双token校验
修改工具类文件名称为大写开头

closed #IBNT91
2025-02-21 17:16:31 +08:00
Dawn
cbf5f4da69 [Snyk] Upgrade @tauri-apps/plugin-http from 2.2.0 to 2.3.0 (#207)
fix: upgrade @tauri-apps/plugin-http from 2.2.0 to 2.3.0

Snyk has created this PR to upgrade @tauri-apps/plugin-http from 2.2.0 to 2.3.0.

See this package in npm:
@tauri-apps/plugin-http

See this project in Snyk:
https://app.snyk.io/org/nongyehong/project/25d2c56d-1e8a-4e53-a4b2-4c5c5028c050?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2025-02-21 15:15:37 +08:00
Dawn
54354c6ee0 [Snyk] Upgrade @tauri-apps/plugin-clipboard-manager from 2.2.0 to 2.2.1 (#206)
fix: upgrade @tauri-apps/plugin-clipboard-manager from 2.2.0 to 2.2.1

Snyk has created this PR to upgrade @tauri-apps/plugin-clipboard-manager from 2.2.0 to 2.2.1.

See this package in npm:
@tauri-apps/plugin-clipboard-manager

See this project in Snyk:
https://app.snyk.io/org/nongyehong/project/25d2c56d-1e8a-4e53-a4b2-4c5c5028c050?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2025-02-21 15:15:13 +08:00
Dawn
22f84f1ee0 perf(view): 优化图片查看器
增加好友在线状态展示
2025-02-20 18:38:32 +08:00
Dawn
eadea02eba fix(worker): 🐛 修复ws连接问题和一些页面组件问题 2025-02-20 16:22:26 +08:00
Dawn
e15cf9b088 perf(view): 优化群聊侧边栏状态展示和聊天框顶部栏状态展示 2025-02-20 02:56:58 +08:00
Dawn
4b03f5739e perf(view): 优化群聊侧边栏用户信息展示 2025-02-19 18:41:42 +08:00
Dawn
029f3f9895 fix(component): 🐛 修复跳转到会话选中回退第一个问题
用户状态列表增加判空
2025-02-19 10:36:48 +08:00
Dawn
383a7762e3 fix(common): 🐛 修复登出账号时没有清空系统托盘图标上的未读数(MacOS) 2025-02-18 20:34:06 +08:00
Dawn
5098733ba0 feat(component): 新增用户状态切换
优化消息提示|优化一些页面问题
2025-02-18 20:15:34 +08:00
Dawn
4d9aabe296 docs(readme): 📝 更新赞助者名单 2025-02-17 09:28:05 +08:00
Dawn
d6d488b8d7 fix(config): 🐛 修复检查更新问题(暂时先切换回github) 2025-02-16 22:13:47 +08:00
Dawn
0a2f608639 chore: 发布 v2.6.3
Some checks failed
Release CI / publish-tauri (, ubuntu-22.04) (push) Has been cancelled
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2025-02-15 18:05:58 +08:00
Dawn
63ba2e6717 feat(component): 增加更换头像功能
升级一些依赖的版本|优化重试功能,移除业务逻辑重试,仅在网络波动或者网络请求失败才进行重试
2025-02-15 18:02:37 +08:00
dependabot[bot]
835fb88ab3 build(deps): bump dompurify from 3.2.3 to 3.2.4 (#205)
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.2.3 to 3.2.4. - [Release notes](https://github.com/cure53/DOMPurify/releases) - [提交](https://github.com/cure53/DOMPurify/compare/3.2.3...3.2.4) --- updated-dependencies: - dependency-name: dompurify dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-15 09:26:34 +08:00
Dawn
3afd91ee60 perf(component): 优化图片查看器
增加单图查看
2025-02-11 15:51:52 +08:00
ZOL
01fd658023 fix(view): 🐛 修复好友申请方不知道对方已同意的bug (#203)
Co-authored-by: Dawn <2439646234@qq.com>
2025-02-09 22:41:37 +08:00
Dawn
25c39b73c5 perf(common): 优化图片查看器和请求重试报错机制
增加赞助者名单
2025-02-08 18:01:35 +08:00
Viren Zhou
223b9f2587 feat(service): 可选参数禁用http请求重试 (#202)
* feat(service):  http错误提示

* feat(service):  封装全局异常捕获

* feat(service):  重试选项和错误提示

* feat(service):  可选参数禁用http请求重试
2025-02-08 10:11:06 +08:00
Dawn
6a06f32d4a feat(directive): 新增图片查看器 2025-02-06 21:13:01 +08:00
Dawn
12e81fd30f build(mobile): 📦 修改移动端文件的位置和配置 2025-02-05 10:56:04 +08:00
dependabot[bot]
2a857e349b build(deps-dev): bump vitest from 3.0.1 to 3.0.5 (#201)
Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 3.0.1 to 3.0.5. - [Release notes](https://github.com/vitest-dev/vitest/releases) - [提交](https://github.com/vitest-dev/vitest/commits/v3.0.5/packages/vitest) --- updated-dependencies: - dependency-name: vitest dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-05 02:23:28 +08:00
Viren Zhou
7abc4b3d69 Dev retry (#199)
* feat(service):  http错误提示

* feat(service):  封装全局异常捕获

* feat(service):  重试选项和错误提示
2025-02-04 20:27:49 +08:00
Dawn
1ad09e6056 docs: 📝 更新wx群二维码 2025-02-03 00:06:33 +08:00
Dawn
788da743a6 feat(preview): 增加本地开发配置以及赞助渠道 2025-01-27 05:17:17 +08:00
Dawn
556c83c122 chore: 发布 v2.6.2
Some checks failed
Release CI / publish-tauri (, ubuntu-22.04) (push) Has been cancelled
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2025-01-23 21:53:19 +08:00
Dawn
6b19f075a1 feat(strategy): 增加表情包功能支持
优化表情包和图片的回复功能|增加另存为功能
2025-01-23 21:41:45 +08:00
renovate[bot]
577731837f chore(deps): update dependency vite to v6.0.9 [security] (#195)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-23 10:49:53 +08:00
Dawn
f1aef7c156 feat(strategy): 增加发送图片功能(beta) 2025-01-21 21:51:35 +08:00
Dawn
69d77225db perf(view): 优化已删除好友的界面展示 2025-01-20 15:50:11 +08:00
Dawn
eea52ea1e4 perf(icon): 修改全平台icon(除了mac) (#193)
增加代理功能(beta)
2025-01-19 05:22:25 +08:00
Dawn
02529566d3 perf(component): 优化组件加载、浏览器指纹生成 (#192) 2025-01-18 20:36:21 +08:00
Dawn
c188aefc47 chore: 发布 v2.6.1
Some checks failed
Release CI / publish-tauri (, ubuntu-22.04) (push) Has been cancelled
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2025-01-18 02:14:58 +08:00
Dawn
5176aee1ac fix(Android): 🐛 修复安卓启动配置 (#191)
优化web worker处理时机
2025-01-18 01:35:47 +08:00
Dawn
000fcc289b perf(worker): 使用worker优化计时器不准确问题 (#190) 2025-01-17 20:40:59 +08:00
Dawn
837d2b33ba feat(mobile): 增加ios下拉刷新功能 (#189)
替换github更新源链接|增加gitee国内更新源(官方新支持)
2025-01-16 23:11:34 +08:00
Ethan Zhou
cd03444a98 feat(service): http错误提示 (#184)
* feat(service):  http错误提示

* feat(service):  封装全局异常捕获

---------

Co-authored-by: Dawn <2439646234@qq.com>
2025-01-15 20:46:26 +08:00
Dawn
2feb359cf0 perf(mobile): 优化ios整体页面 (#186)
增加ios登录页面和整体布局
2025-01-15 19:30:41 +08:00
Dawn
af7d38822c fix(mobile): 🐛 修复ios移动端页面问题 (#185) 2025-01-14 16:05:28 +08:00
Ethan Zhou
16c4dea897 Http请求重试并抛出错误 (#181)
feat(service):  http请求重试并抛出错误
2025-01-12 21:45:07 +08:00
Ethan Zhou
2d0f3e0056 feat(service): http请求重试 (#178) 2025-01-11 22:19:31 +08:00
Dawn
cefe53d57f feat(view): 增加透明高斯模糊开关 (#177) 2025-01-11 12:43:56 +08:00
ZOL
a2b3c32978 fix(service): 🐛 优化浏览器指纹 (#175) 2025-01-10 22:44:17 +08:00
Dawn
b0247577c3 perf(view): 优化聊天框用户信息操作选项 (#173) 2025-01-10 18:51:28 +08:00
Dawn
a5b5f89fb2 fix(service): 🐛 增加浏览器指纹作为唯一值解决netty关联channel的问题 (#171)
修复控制台退出和mac程序坞退出导致登录出错问题
2025-01-09 18:40:39 +08:00
Dawn
684b95c5a8 feat(android): 新增android兼容 (#170) 2025-01-09 01:38:33 +08:00
天涯orz
b0432d60e4 !45 fix(view): :bug:修复群聊问题
* fix(hook): 🐛 回滚useMsgInput
* Merge remote-tracking branch 'refs/remotes/origin/master' into fix/group
* fix(component): 🐛 修复群聊
* fix(typing): 🐛 群聊分页
* feat(hook):  添加光标位置保存与恢复功能 (#152)
2025-01-08 14:34:34 +00:00
Dawn
3607c9d933 feat(mobile): 新增移动端兼容 (#169)
closed #61
2025-01-08 20:47:41 +08:00
Dawn
3983bf71fc feat(scripts): 新增环境检测脚本(用于检测用户当前系统环境) (#166) 2025-01-08 15:07:59 +08:00
Dawn
0dd59a5f87 fix(renovate): 🐛 修复renovate bot配置 (#164) 2025-01-08 09:39:49 +08:00
Dawn
e1b1984c53 fix(docker): 🐛 修改docker-compose配置 (#162)
修复系统托盘事件出错问题
更新依赖
修复类型报错
2025-01-08 03:14:54 +08:00
Dawn
498f4904c3 build: 升级依赖 (#161)
* chore(config): migrate renovate config (#156)

chore(config): migrate config renovate.json

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency release-it to v18 (#155)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update unocss dependencies to v0.65.3 (#157)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency naive-ui to v2.41.0 (#158)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(config): migrate renovate config (#159)

chore(config): migrate config renovate.json

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-07 22:15:48 +08:00
Dawn
00e2a89745 fix(common): 🐛 修复系统托盘状态切换问题 (#153)
修改github issues模版|优化群聊用户侧边栏
2025-01-07 21:44:47 +08:00
Dawn
cb08e62cc6 fix(view): 🐛 修复系统托盘无法变化成多列表操作 (#150) 2025-01-06 22:08:26 +08:00
Dawn
7aaabb27dd fix(component): 🐛 修复tray设置窗口大小问题 (#149) 2025-01-06 00:12:28 +08:00
Dawn
f411af6405 chore: 发布 v2.6.0 2025-01-05 23:40:23 +08:00
Dawn
373d87c7a8 feat(system): 新增linxu系统ubuntu兼容 (#148) 2025-01-05 23:40:21 +08:00
Dawn
97553407a4 Test actions (#147)
* ci(action): 🎡 增加测试分支来测试是否可以正常打包

* fix: 🐛 修复依赖出错
2025-01-05 23:40:19 +08:00
Dawn
b5f8402ede fix(build): 🐛 去除alsa-sys的安装 2025-01-05 23:40:18 +08:00
Dawn
0840d7e3f0 fix(build): 🐛 修复ubuntu alsa-sys包版本 (#145) 2025-01-05 23:40:16 +08:00
Dawn
c4f46f826b fix(build): 🐛 修复ubuntu CI打包问题 (#144) 2025-01-05 23:40:06 +08:00
nongyehong
412db5c0e8 fix(view): 🐛 修复setSize方法导致无法修改窗口大小问题
优化notify展示

closed #139
2025-01-05 02:12:31 +08:00
Dawn
4e49700421 perf(view): 优化win的托盘闪烁和消息提示 (#142) 2025-01-04 18:56:36 +08:00
Dawn
6b47049117 ci: 🎡 优化CI配置 (#141)
* ci: 🎡 优化CI配置

* fix: 🐛 修复CI中缓存顺序问题
2025-01-04 11:07:45 +08:00
Dawn
4d4bd9cb00 fix(common): 🐛 修复set_badge_count方法没有处理报错问题 (#140) 2025-01-04 08:29:57 +08:00
nongyehong
2dcbbeb516 chore: 发布 v2.5.11
Some checks failed
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2025-01-03 19:05:39 +08:00
Dawn
15a645ec78 fix(pnpm): 🐛 更新版本依赖 (#138) 2025-01-03 19:02:57 +08:00
Dawn
16cd17aa54 fix(common): 🐛 修复一些已知问题 (#137)
* fix(common): 🐛 修复一些已知问题

优化消息跳转|增加mac系统下消息的徽标提示

* fix(action): 🐛 修复action中pr bot的配置
2025-01-03 18:43:38 +08:00
Dawn
310771d16f [Snyk] Upgrade @tauri-apps/plugin-os from 2.0.0 to 2.2.0 (#136)
fix: upgrade @tauri-apps/plugin-os from 2.0.0 to 2.2.0

Snyk has created this PR to upgrade @tauri-apps/plugin-os from 2.0.0 to 2.2.0.

See this package in npm:
@tauri-apps/plugin-os

See this project in Snyk:
https://app.snyk.io/org/nongyehong/project/25d2c56d-1e8a-4e53-a4b2-4c5c5028c050?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2025-01-03 14:41:17 +08:00
Dawn
b38a1b9904 [Snyk] Upgrade @tauri-apps/plugin-http from 2.0.1 to 2.2.0 (#135)
fix: upgrade @tauri-apps/plugin-http from 2.0.1 to 2.2.0

Snyk has created this PR to upgrade @tauri-apps/plugin-http from 2.0.1 to 2.2.0.

See this package in npm:
@tauri-apps/plugin-http

See this project in Snyk:
https://app.snyk.io/org/nongyehong/project/25d2c56d-1e8a-4e53-a4b2-4c5c5028c050?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2025-01-03 14:40:45 +08:00
Dawn
ca0dc1fc77 fix(common): 🐛 修复一些流程和已知的问题 (#134) 2025-01-03 01:38:00 +08:00
Dawn
9fdb6953ab feat(component): 新增AI选项卡,封装提及框功能 (#133)
提供hooks和策略模式两种方式来实现多种特殊符号唤起提及框
2025-01-02 01:51:45 +08:00
Dawn
99a8859476 perf(component): 可在设置中切换翻译提供商 (#132)
优化一些代码
2024-12-30 15:07:20 +08:00
Dawn
c18ee4b467 perf(component): 优化翻译的显示 (#131) 2024-12-29 23:49:01 +08:00
Dawn
fadbf2b24a feat(service): 新增翻译服务api (#130) 2024-12-29 01:53:10 +08:00
Dawn
a1641e96cc perf(component): 优化虚拟列表加载更多功能 (#129)
* perf(component):  优化虚拟列表加载更多功能

* fix(github): 🐛 修复PR copilot 工作流问题

* fix(github): 🐛 修复PR copilot工作流没安装pnpm问题

* fix(action): 🐛 修改pr分析的机器人为通义千问

* fix(action): 🐛 修复配置通义千问配置问题

* fix(action): 🐛 修复api调用方式
2024-12-28 17:26:25 +08:00
Dawn
451ded82c5 perf(component): 优化撤回消息重新编辑判定 (#128) 2024-12-28 02:37:32 +08:00
Dawn
77373e3782 feat(notification): 新增notification系统通知 (#127)
优化一些提示和逻辑
2024-12-26 21:29:12 +08:00
Dawn
187071b026 refactor(hook): ♻️ 策略类重构消息发送 (#126)
* 1.文本消息改为策略类实现
2.定义AppException 全局处理

* 图片上传逻辑

* 图片上传逻辑

* 图片上传

* Fix code scanning alert no. 16: DOM text reinterpreted as HTML

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

---------

Co-authored-by: 天涯 <tianya66@yeah.net>
Co-authored-by: TIAN <2606367154@qq.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2024-12-26 12:00:50 +08:00
Dawn
adf47e7acc fix(version): 🐛 修复升级tauri版本导致的高度问题 (#125) 2024-12-25 23:17:02 +08:00
Dawn
7b762e26a0 fix(event): 🐛 修复tauri listen未销毁问题 (#124) 2024-12-25 20:32:38 +08:00
nongyehong
82dc56fe64 chore: 发布 v2.5.10
Some checks failed
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2024-12-25 10:23:14 +08:00
Dawn
e346da33cf fix(windows): 🐛 修复windows下打包出错问题 (#123) 2024-12-25 09:43:55 +08:00
Dawn
9f43c9e77d fix(rust): 🐛 修复windows下启动问题 (#122) 2024-12-24 21:28:01 +08:00
Dawn
0b7c873556 fix(common): 🐛 修复提示的效果问题 (#121)
* fix(common): 🐛 修复提示的效果问题

优化一些组件的样式展示|增加安装包的证书和守则

closed #34

* Fix code scanning alert no. 15: DOM text reinterpreted as HTML

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2024-12-24 21:07:02 +08:00
Dawn
003171bc1e perf(component): 优化使用for-of (#120)
修复一些已知问题
2024-12-24 00:45:27 +08:00
Dawn
311bd72b6a fix(rust): 🐛 修复windows启动报错问题 (#119)
closed #IBD413
2024-12-23 18:44:53 +08:00
Dawn
11fdfe65a0 fix(component): 🐛 修复整体流程bug问题 (#118) 2024-12-23 01:50:47 +08:00
Dawn
7f4040fd4e fix(component): 🐛 修复输入框和虚拟列表的一些问题 (#117)
优化测试流程
2024-12-21 02:26:18 +08:00
Dawn
0086307640 [Snyk] Upgrade @tauri-apps/api from 2.0.2 to 2.1.1 (#115)
fix: upgrade @tauri-apps/api from 2.0.2 to 2.1.1

Snyk has created this PR to upgrade @tauri-apps/api from 2.0.2 to 2.1.1.

See this package in npm:
@tauri-apps/api

See this project in Snyk:
https://app.snyk.io/org/nongyehong/project/25d2c56d-1e8a-4e53-a4b2-4c5c5028c050?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2024-12-20 15:45:03 +08:00
Dawn
b2249f81f8 [Snyk] Upgrade @tauri-apps/plugin-http from 2.0.0 to 2.0.1 (#116)
fix: upgrade @tauri-apps/plugin-http from 2.0.0 to 2.0.1

Snyk has created this PR to upgrade @tauri-apps/plugin-http from 2.0.0 to 2.0.1.

See this package in npm:
@tauri-apps/plugin-http

See this project in Snyk:
https://app.snyk.io/org/nongyehong/project/25d2c56d-1e8a-4e53-a4b2-4c5c5028c050?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2024-12-20 15:28:38 +08:00
dependabot[bot]
0a2c762605 build(deps-dev): bump happy-dom from 12.10.3 to 15.10.2 (#114)
Bumps [happy-dom](https://github.com/capricorn86/happy-dom) from 12.10.3 to 15.10.2. - [Release notes](https://github.com/capricorn86/happy-dom/releases) - [提交](https://github.com/capricorn86/happy-dom/compare/v12.10.3...v15.10.2) --- updated-dependencies: - dependency-name: happy-dom dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-19 22:42:48 +08:00
Dawn
e8b60ee83b perf(component): 优化虚拟列表的滚动和性能 (#112)
增加vitest来做单元测试
2024-12-19 22:27:53 +08:00
Dawn
70f088e384 docs(doc): 📝 修改文档的示例 (#111) 2024-12-19 00:41:53 +08:00
nongyehong
a845bbcdc3 chore: 发布 v2.5.9
Some checks failed
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2024-12-18 22:28:16 +08:00
Dawn
6969a0999e fix(CI): 🐛 修复release配置 (#110) 2024-12-18 22:26:14 +08:00
Dawn
1ec6020168 fix(component): 🐛 修复naiveui的虚拟列表问题 (#109)
新增自己封装的虚拟列表
2024-12-18 21:44:05 +08:00
Dawn
6fd6636cef fix(component): 🐛 修复mac下输入框输入拼音时的问题 (#108) 2024-12-18 02:44:03 +08:00
Dawn
8bb4aa77d9 perf(view): 优化一下样式和登录页面的提示 (#107)
closed #106
2024-12-17 20:40:55 +08:00
Dawn
4dae48e1ad fix(view): 🐛 修复群里在线人数问题和登录历史记录问题 (#105) 2024-12-17 01:11:39 +08:00
Dawn
5a4ff7065b feat(component): 新增默认头像 (#104) 2024-12-16 02:54:15 +08:00
nongyehong
491860a85c ci(CI): 🎡 修改codeql等CI配置,减少对action配额的消耗 2024-12-14 22:36:42 +08:00
Dawn
33d18cd3b6 ci(CI): 🎡 修改CI的一些配置 (#103) 2024-12-14 22:35:00 +08:00
dependabot[bot]
d0f88391e5 build(deps): 更新关键依赖版本 2024-12-14 22:35:00 +08:00
StepSecurity Bot
493e070bb9 [StepSecurity] Apply security best practices (#88)
Signed-off-by: StepSecurity Bot <bot@stepsecurity.io>
2024-12-14 17:21:46 +08:00
ZOL4789
096df49dcd fix(view): 🐛 修复异常关闭再重新登录会不显示会话的bug 2024-12-14 15:40:10 +08:00
CHIMOO
cabb8c6cc8 style: 优化InfoPopover和ChatSidebar组件的模板格式 2024-12-13 16:53:11 +08:00
renovate[bot]
130d296fcc chore(deps): update dependency sass to v1.83.0 2024-12-13 12:45:47 +08:00
renovate[bot]
e2ee633e7a chore(deps): update dependency dayjs to v1.11.13 2024-12-13 12:45:33 +08:00
nongyehong
248714a8d4 build(config): 📦 添加renovate分组更新依赖配置 2024-12-13 01:01:39 +08:00
renovate[bot]
3e95457c0d chore(deps): update dependency vite to v6.0.3 2024-12-13 00:27:25 +08:00
renovate[bot]
ac1d1a343b chore(deps): update dependency lint-staged to v15.2.11 2024-12-13 00:15:32 +08:00
nongyehong
23511f78cd fix(config): 🐛 修改renovate bot的配置 2024-12-13 00:14:14 +08:00
renovate[bot]
f2728c5145 chore(deps): update dependency eslint to v8.57.1 2024-12-12 23:25:41 +08:00
renovate[bot]
06c3cc2289 chore(deps): update dependency husky to v9.1.7 2024-12-12 23:25:21 +08:00
nongyehong
024c1a36d8 perf(hook): 优化windows窗口圆角问题 2024-12-12 23:12:02 +08:00
renovate[bot]
a8c49db64a chore(deps): update dependency commitizen to v4.3.1 2024-12-12 23:12:02 +08:00
renovate[bot]
ea9186f941 chore(deps): update dependency @babel/eslint-parser to v7.25.9 2024-12-12 23:12:02 +08:00
Dawn
e8eb13bb30 merge fix/v2 (#66) 2024-12-12 18:57:51 +08:00
nongyehong
ee4c4ca58e chore: 发布 v2.5.8
Some checks failed
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2024-12-12 18:21:21 +08:00
nongyehong
1b385005be feat(component): 新增米游社表情包功能 2024-12-12 18:20:21 +08:00
nongyehong
5dee0ae4d4 fix(component): 🐛 修复canvas模糊问题,以及图片和emoji的一些插入的位置和优化
移除对手动输入git commit -m强制执行czg的命令
2024-12-12 12:41:49 +08:00
nongyehong
ee776553df Merge remote-tracking branch 'origin/fix/v2' into fix/v2 2024-12-12 10:51:44 +08:00
Dawn
05758d812a chore: Configure Renovate (#65) 2024-12-12 10:45:57 +08:00
renovate[bot]
7ad1a9a84b Add renovate.json 2024-12-12 02:42:00 +00:00
nongyehong
8470a38047 Merge remote-tracking branch 'origin/master' into fix/v2 2024-12-12 10:31:09 +08:00
Dawn
4547e83213 Add license scan report and status (#64) 2024-12-12 10:20:12 +08:00
fossabot
8f0355d048 Add license scan report and status
Signed off by: fossabot <badges@fossa.com>
2024-12-11 21:17:49 -05:00
nongyehong
6307326b01 fix(package): 🐛 修复发版和commit的命令 2024-12-12 01:09:32 +08:00
Dawn
3c0d5bf387 chore: 执行 git-commit 命令时出发 czg 确保 commit 规范统一 (#63) 2024-12-11 11:19:04 +08:00
Clover You
20cec4366b Merge branch 'HuLaSpark:master' into feat/commit-check 2024-12-11 11:10:48 +08:00
Clover
76bed46541 chore(hook): 🔨 屏蔽 git-commit 默认行为并触发 czg 提交
在执行 git commit 时触发 czg 进行提交以遵循项目提交规范
2024-12-11 11:07:13 +08:00
周家驰
e3ead1c7fd fix(common): 🐛 修改Cargo.lock 2024-12-11 10:09:56 +08:00
nongyehong
d882e2e301 fix(config): 🐛 修改cargo的镜像源和文件后缀
排除一些文件的格式化
2024-12-11 00:00:34 +08:00
Dawn
67d13af59e Fix 在 Webkit 中 re-focus 后焦点被重置 (#57) 2024-12-10 21:23:11 +08:00
Dawn
459b7aad2e Chore: 只检查被修改的文件 (#60) 2024-12-10 19:39:47 +08:00
Clover
e1977c6132 chore: 只检查被修改的文件 2024-12-10 17:17:01 +08:00
Clover
23c47227b6 chore: lint 2024-12-10 14:03:16 +08:00
Clover
e381a09fb1 fix(chat-edittor): 在 Webkit 中 re-focus 后焦点被重置 2024-12-10 14:02:44 +08:00
Dawn
a921cdc725 merge fix/v2 (#56) 2024-12-10 11:11:52 +08:00
nongyehong
d5bc12533f chore: 发布 v2.5.7
Some checks failed
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2024-12-10 10:44:52 +08:00
nongyehong
688d2dd862 build(build): 📦 新增docker-compose配置(Beta)
在根目录添加cargo镜像源配置
2024-12-10 10:43:38 +08:00
nongyehong
d940838f38 fix(config): 🐛 修复因为notify窗口没有配置问题导致mac下打不开
closed #55
2024-12-10 09:47:19 +08:00
Dawn
164d066dce merge fix/v2 (#53) 2024-12-09 23:48:50 +08:00
nongyehong
733d15f022 chore: 发布 v2.5.6
Some checks failed
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2024-12-09 23:06:16 +08:00
nongyehong
4b500a1c9e perf(component): 优化一些代码和逻辑 2024-12-09 23:01:41 +08:00
ZOL4789
5bc78d2c8b fix(view): 🐛 固定右下角消息提示位置 2024-12-09 21:46:48 +08:00
ZOL4789
8b1da812e1 fix(view): 🐛 修复自动登录bug 2024-12-09 21:27:15 +08:00
ZOL4789
db19672295 fix(view): 🐛 修复右下角消息提示位置不对bug 2024-12-09 20:53:24 +08:00
ZOL4789
945502fa38 fix(layout): 🐛 修复自动登录bug|修复登录token未保存bug|其他优化 2024-12-09 20:20:30 +08:00
nongyehong
f7f6bc0ada perf(view): 优化useMitt的取消时机
优化系统托盘显示样式
优化一些配置项
优化登录时候没有输入密码回车也可以登录的问题
2024-12-09 02:12:01 +08:00
ZOL4789
470efded2e fix(layout): 🐛 处理退出账号bug|处理登录token有时未保存bug|其他优化 2024-12-08 21:00:28 +08:00
Dawn
3ce419d8cf merge Feature/storage (#50) 2024-12-08 16:23:54 +08:00
Dawn
81b7a720ed Merge branch 'fix/v2' into feature/storage 2024-12-08 16:23:26 +08:00
ZOL4789
2cf5e97d1e fix(layout): 🐛 处理异常关闭程序发送下线通知 2024-12-08 14:35:39 +08:00
ZOL4789
f0766e1907 fix(layout): 🐛 处理mitt合并冲突 2024-12-07 21:47:35 +08:00
ZOL4789
18b74ce855 ctfeat(layout): 新增状态栏消息通知|优化接口地址|优化下线通知 2024-12-07 21:42:37 +08:00
nongyehong
004a696010 perf(hook): 优化useMitt的写法
增加网络断开提示
2024-12-06 21:59:40 +08:00
littleChen
02d6ddb29b fix: 合并master冲突 2024-12-06 20:25:46 +08:00
周家驰
44db95d3fe feat(hooks): 新增 useMitter 钩子以替代直接使用 Mitt 事件总线
chore(.gitignore): 🗑️ 添加 .history 目录到忽略列表
fix(component)::infoEdit 修复资料卡编辑的保存/取消状态
2024-12-06 15:22:58 +08:00
nongyehong
11532da091 build(package): 📦 升级依赖版本 2024-12-03 11:11:54 +08:00
nongyehong
7cbb443e84 perf(component): 优化撤回信息后的功能 2024-12-03 01:40:05 +08:00
nongyehong
0cf8dc9bb9 perf(view): 优化代理功能 2024-12-02 01:10:38 +08:00
ZOL4789
09264b7918 feat(view): 新增新消息状态栏图标闪烁 2024-12-01 23:22:27 +08:00
ZOL4789
ab9a5153fe feat(plugin): 限制只能一台设备打开一个客户端 2024-12-01 18:09:59 +08:00
nongyehong
6119e420b0 fix(store): 🐛 修复store中保存的用户信息冲突导致登录的用户信息错乱问题 2024-11-30 17:58:30 +08:00
nongyehong
e33de24dec perf(component): 优化新增群组功能 2024-11-30 15:41:22 +08:00
ZOL4789
2b21f83bab fix(layout): 🐛 修复登录不同账号会导致其他账号退出登录的问题 2024-11-30 14:43:31 +08:00
ZOL4789
c671db8d98 fix(service): 🐛 修复异常退出登录bug,优化ws 2024-11-30 12:33:42 +08:00
nongyehong
10fb45f8d9 feat(component): 新增创建群聊弹窗 2024-11-29 00:24:07 +08:00
ZOL4789
c9d65dc82a fix(service): 🐛 处理pinia报错 2024-11-28 22:29:38 +08:00
nongyehong
91e8703af0 perf(component): 优化右键@和发送消息功能
新增系统提示框
2024-11-28 17:40:30 +08:00
nongyehong
69b4cbd63f fix(component): 🐛 修复聊天框右键菜单问题和添加好友等一些已知问题
优化聊天框内容文字的渲染
2024-11-27 17:37:52 +08:00
nongyehong
90b7c91264 perf(component): 优化消息气泡发送状态提示
优化代码插入显示和网址插入显示
2024-11-24 22:43:12 +08:00
littleChen
8b67a1b0b6 feat(hook): 添加消息保存到本地数据库功能 2024-11-24 22:30:05 +08:00
nongyehong
3d59a7d6d0 perf(component): 优化注册流程和样式 2024-11-22 21:22:28 +08:00
nongyehong
caaf22da72 chore: 发布 v2.5.5
Some checks failed
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2024-11-20 23:31:39 +08:00
Dawn
951b4c5f65 Merge into the master branch (#49) 2024-11-20 23:06:07 +08:00
nongyehong
d0aca707a7 fix(style): 🐛 修复聊天消息框回复宽度限制问题
修复windows打包配置出错问题
2024-11-20 22:59:09 +08:00
nongyehong
9c1d23d206 fix(service): 🐛 修复更新功能版本出错问题以及修复输入框和聊天框对于特殊字符和兼容性
修改群聊侧边栏排序|修改在线用户颜色
2024-11-20 22:43:33 +08:00
Dawn
ea9e39423d build(deps): bump cross-spawn from 7.0.3 to 7.0.6 (#48) 2024-11-20 11:38:57 +08:00
dependabot[bot]
6ce7595af9 build(deps): bump cross-spawn from 7.0.3 to 7.0.6
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-20 01:29:55 +00:00
nongyehong
e1725d224d chore: 发布 v2.5.4
Some checks failed
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2024-11-20 00:44:47 +08:00
Dawn
0e0955f3ec fix(component): 🐛修复一些已知问题 (#47) 2024-11-20 00:36:44 +08:00
nongyehong
00c35ff6fe fix(component): 🐛 修复群聊当前登录用户右键菜单功能逻辑错误
修复用户上线状态不更新
2024-11-19 23:11:55 +08:00
ZOL4789
2f2a2a2068 fix(store): 🐛 上下线通知 2024-11-19 23:11:55 +08:00
nongyehong
46265275e5 fix(store): 🐛 修复一些接口的store封装
修复重复请求的问题
2024-11-18 22:42:52 +08:00
nongyehong
d144630433 refactor(view): ♻️ 重构注册页面样式和项目路由文件命名规范 2024-11-18 00:30:07 +08:00
ZOL4789
bbb74ee78a fix(hook): 🐛 修复发送消息频繁的bug 2024-11-16 22:30:20 +08:00
nongyehong
153896480e fix(service): 🐛 修复http模块没有设置请求头导致请求报错问题
完善登录逻辑和自动登录逻辑
2024-11-16 17:53:14 +08:00
nongyehong
54ee3ff168 fix(view): 🐛 修复登录和请求的一些缺陷 2024-11-16 02:23:53 +08:00
Dawn
f626a96c1a fix(view): 🐛 修复一些功能漏洞问题 (#38)
* fix(view): 🐛 修复打开独立窗口后主窗口消息窗口无法打开问题

* fix(service): 🐛 修复请求参数错误问题

* feat(view):  优化登录

增加账号密码登录功能
请求增加中断
优化自动登录
简化请求接口

---------

Co-authored-by: ZOL4789 <44133469+ZOL4789@users.noreply.github.com>
2024-11-16 02:19:11 +08:00
Dawn
06435c8d58 fix(view): 🐛 修复打开独立窗口后主窗口消息窗口无法打开问题 (#36) 2024-11-12 16:01:08 +08:00
nongyehong
41c2fb5510 build(sass): 📦 升级sass版本,修改导入为@use 2024-11-12 12:02:27 +08:00
nongyehong
21f78f0a29 build(build): 📦 升级unocss版本 2024-11-12 01:32:05 +08:00
nongyehong
f5b5bb09c8 fix(component): 🐛 修复群聊侧边栏搜索时无法右键查看用户信息 2024-11-11 01:01:23 +08:00
nongyehong
6e81821b46 !43 发布v2.5.3
Merge pull request !43 from nongyehong/dev
2024-11-06 07:51:26 +00:00
nongyehong
b88efb9a1e chore: 发布 v2.5.3
Some checks failed
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2024-11-06 15:16:19 +08:00
nongyehong
345d830687 fix(component): 🐛 修复输入框换行不兼容webkit的问题
新增群聊成员检索功能|更新依赖版本|优化账密登录输入框提示和跳转
2024-11-06 15:15:39 +08:00
nongyehong
f3723d4e5a fix(service): 🐛 修复请求接口bug
优化用户在线状态展示
2024-11-05 17:43:58 +08:00
nongyehong
7b530297ac perf(component): 优化右键菜单功能
新增添加好友功能
2024-11-04 21:47:36 +08:00
ZOL4789
c7cdac69ce fix(layout): 🐛 修复选择了图片不显示在输入框中的bug 2024-11-02 23:43:14 +08:00
nongyehong
56d79ccc8b fix(layout): 🐛 修复聊天框改变宽度的时候可以选中文本的问题 2024-11-01 21:04:44 +08:00
nongyehong
d678f3d7b4 !42 合并到master分支
Merge pull request !42 from nongyehong/dev
2024-10-31 13:43:54 +00:00
nongyehong
5d6b31f86c chore: 发布 v2.5.2
Some checks failed
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2024-10-31 21:19:43 +08:00
nongyehong
fefa2f9703 fix(build): 🐛 升级wry版本修复mac安装报错问题 2024-10-31 21:18:11 +08:00
nongyehong
e59630b70e fix(component): 🐛 修复聊天框内右键菜单问题
修复mac下右键会选中文本问题|修复艾特框不消失问题|修复聊天框右键菜单emoji表情栏样式问题
2024-10-30 10:35:28 +08:00
nongyehong
e222216e1d chore: 发布 v2.5.1
Some checks failed
Release CI / publish-tauri (, windows-latest) (push) Has been cancelled
Release CI / publish-tauri (--target aarch64-apple-darwin, macos-latest) (push) Has been cancelled
Release CI / publish-tauri (--target x86_64-apple-darwin, macos-latest) (push) Has been cancelled
2024-10-29 14:56:24 +08:00
nongyehong
4cd9a9355d fix(build): 🐛 修复release配置导致打包的问题 2024-10-29 14:56:10 +08:00
nongyehong
19fb138d51 fix(build): 🐛 添加不同编译版本,以修复不同架构安装出错问题 2024-10-29 13:09:41 +08:00
Dawn
9339ecc11b Merge pull request #30 from monotone/dev
fix(view): 🐛 修复消息输入框部分bug
2024-10-28 23:13:30 +08:00
monotone
24b8a517d8 fix(view): 🐛 修复消息输入框部分bug
1. 消息输入框内容清空时发送按钮未禁用。
2. 消息输入框 tips 和输入内容有短暂共存问题
2024-10-28 23:01:51 +08:00
nongyehong
bd7f6fbe7f fix(layout): 🐛 修复更新弹窗显示更新的内容 2024-10-28 20:28:54 +08:00
nongyehong
d0fd528d7c style(style): 💄 修改prettierrc格式化范围 2024-10-28 15:18:50 +08:00
nongyehong
8a18e84ce7 fix(global): 🐛 修复艾特弹窗在mac下高度问题导致不显示
使用prettierrc格式化项目文件
2024-10-28 14:49:43 +08:00
nongyehong
338370ae7c chore: 发布 v2.5.0
Some checks failed
Release CI / publish (macos-latest) (push) Has been cancelled
Release CI / publish (windows-latest) (push) Has been cancelled
2024-10-27 23:47:13 +08:00
nongyehong
db26e6bdf6 fix(build): 🐛 修复因为类型导致打包出错
增加临时清除缓存功能
2024-10-27 23:45:29 +08:00
nongyehong
c8d42ab31e fix(service): 🐛 修复打包后访问不了正式服务器的bug 2024-10-27 23:38:56 +08:00
nongyehong
d97d24f1c1 fix(service): 🐛 修复请求体包裹多层data的问题 2024-10-27 22:11:09 +08:00
ZOL4789
45e2bfce66 fix(layout): 🐛 修复更新进度条显示异常bug 2024-10-27 22:08:56 +08:00
ZOL4789
3158c85630 style: 💄 代码格式优化 2024-10-27 22:08:55 +08:00
ZOL4789
4ee3e2b8a3 feat(layout): 自动更新增加进度条 2024-10-27 22:08:14 +08:00
ZOL4789
62407c4c98 build(workflow): 📦 修改工作流参数名 2024-10-27 22:07:29 +08:00
ZOL4789
8d8d7e73d5 build(workflow): 📦 工作流配置读取脚本路径修改
工作流配置读取脚本路径修改
2024-10-27 22:06:17 +08:00
ZOL4789
c266ecc831 build(workflow): 📦 修改上传文件脚本位置 2024-10-26 17:45:55 +08:00
ZOL4789
6e82a099a2 fix(util): 🐛 http请求异常bug
BREAKING CHANGE: http请求异常bug
2024-10-26 17:31:51 +08:00
ZOL4789
d9e204e180 build: 📦 发布版本时添加latest.json版本文件 2024-10-26 16:57:28 +08:00
ZOL4789
8fae2ffcd1 docs(github): 📝 增加github工作流,tauri打包Key和PubKey 2024-10-26 16:27:42 +08:00
Dawn
7e42a0e41d Merge pull request #27 from EzLittleChen/dev
fix(api): 修改websocket请求地址, 修改请求方式采用fetch处理
2024-10-26 15:12:54 +08:00
littleChen
c1a233914e Merge branch 'dev' of https://github.com/EzLittleChen/HuLa into dev 2024-10-26 15:05:20 +08:00
littleChen
e55f86385f fix(api): 修改websocket请求地址, 修改请求方式采用fetch处理 2024-10-26 15:01:09 +08:00
nongyehong
be0edf9747 fix(view): 🐛 修复点击右侧布局页面时候不跳转回消息页
移除右侧布局拖动的效果
2024-10-24 21:58:01 +08:00
nongyehong
6273b95454 docs(README): 📝 新增贡献者名单 2024-10-24 15:59:16 +08:00
nongyehong
b2e752115e build(config): 📦 增加@release-it/bumper依赖以支持release-it去修改其他文件version 2024-10-24 14:29:48 +08:00
nongyehong
18b3cf0b0c chore: 发布 v2.4.0
Some checks failed
Release CI / publish (macos-latest) (push) Has been cancelled
Release CI / publish (windows-latest) (push) Has been cancelled
2024-10-24 11:16:40 +08:00
nongyehong
9623194610 build(config): 📦 增加release-it来标签发版 2024-10-24 11:16:22 +08:00
ZOL4789
bcbb61a652 fix(layout): 🐛 插件菜单增加图标和点击事件
插件菜单增加图标和点击事件
2024-10-23 20:56:55 +08:00
nongyehong
901218b043 fix(view): 🐛 修复侧边栏图标和字体宽度不一致问题 2024-10-22 18:52:04 +08:00
nongyehong
91ad538f72 feat(setting): 新增开机启动功能 2024-10-22 16:06:39 +08:00
nongyehong
1183b7e3ba fix(view): 🐛 修复一些页面拖动区域问题
closed #25
2024-10-22 15:07:43 +08:00
ZOL4789
396a103a24 fix(layout): 🐛 修复窗体高度整体变大bug
修复窗体高度整体变大bug
2024-10-21 22:27:32 +08:00
ZOL4789
33cc8bd8d7 refactor(layout): ♻️ 代码冲突处理 2024-10-21 21:53:24 +08:00
ZOL4789
96428f1f9a fix(layout): 🐛 主界面窗口不能调整缩放bug|设置里切换显示模式,菜单溢出窗口bug|MacOs下设置里切换显示模式闪屏bug|增加登录用户历史记录
主界面窗口不能调整缩放bug
设置里切换显示模式,菜单溢出窗口bug
MacOs下设置里切换显示模式闪屏bug
增加登录用户历史记录
2024-10-21 21:41:58 +08:00
nongyehong
887e595132 docs(readme): 📝 修改README文件中的标签 2024-10-21 17:06:44 +08:00
nongyehong
84b6039a81 feat(ide): 新增.idea文件提供idea的项目图标 2024-10-21 14:04:53 +08:00
nongyehong
1999f30b0e fix(layout): 🐛 修复侧边栏顶部空白块颜色和无法缩小主页面问题 2024-10-21 00:12:02 +08:00
ZOL4789
96ad89c05d fix(layout): 🐛 代码修复 2024-10-20 18:49:28 +08:00
ZOL4789
78f09c5bb9 feat(layout): 菜单优化|插件优化|新增菜单显示模式切换
主界面中,当高度缩小时,自动将多余菜单放入插件管理中
优化插件管理
设置里新增菜单显示模式切换功能
2024-10-20 18:37:54 +08:00
nongyehong
efe59ef5ba !37 chore: :发布v2.3.0
Merge pull request !37 from nongyehong/dev
2024-10-15 17:24:05 +00:00
nongyehong
598fc48cc0 chore: :发布v2.3.0
Some checks failed
Release CI / publish (macos-latest) (push) Has been cancelled
Release CI / publish (windows-latest) (push) Has been cancelled
2024-10-16 00:00:10 +08:00
nongyehong
9d23424587 fix(view): 🐛 修复侧边栏文字模式下更多图标的样式
修改github和gitee提交bug issue的模板

closed #IAVNW7
2024-10-15 23:33:57 +08:00
ZOL4789
503d90af49 build(view): 📦 升级tauri到2.0.2|增加菜单显示模式|状态栏右键菜单显示优化 2024-10-15 21:06:26 +08:00
nongyehong
a34b2cea99 perf(system): tauri-v2.0rc版本升级到正式版本 2024-10-14 20:12:12 +08:00
nongyehong
180cb16d6a !35 fix(view): :bug:状态栏菜单bug修复
Merge pull request !35 from nongyehong/dev
2024-10-12 01:18:20 +00:00
nongyehong
3dc2d33526 !34 状态栏右键菜单bug修复
Merge pull request !34 from ZOL中关村/master
2024-10-10 16:08:40 +00:00
ZOL中关村
845b83ebcd fix(view): 🐛 状态栏菜单bug修复
修复状态栏右键菜单位置不正确的bug
修复状态栏右键菜单在失去焦点不隐藏的bug
2024-10-10 21:27:14 +08:00
nongyehong
694373fe0e docs: 📝 修改项目名称 2024-10-10 14:38:04 +08:00
nongyehong
2a47187f87 perf: 发布v2.2.0版本
Some checks failed
Release CI / publish (macos-latest) (push) Has been cancelled
Release CI / publish (windows-latest) (push) Has been cancelled
2024-10-08 23:10:39 +08:00
nongyehong
124dc17fb2 build(scss): 📦 剔除sass-loader依赖 2024-10-08 17:50:55 +08:00
Dawn
2f0e4bf6c7 Merge pull request #20 from HuLaSpark/dependabot/npm_and_yarn/micromatch-4.0.8
build(deps): bump micromatch from 4.0.7 to 4.0.8
2024-10-08 11:56:53 +08:00
dependabot[bot]
163163f600 build(deps): bump micromatch from 4.0.7 to 4.0.8
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.7 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.7...4.0.8)

---
updated-dependencies:
- dependency-name: micromatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-08 03:53:15 +00:00
nongyehong
65f7041788 !33 docs(.github): 📝 修改FUNDING中贡献者
Merge pull request !33 from nongyehong/dev
2024-10-08 03:36:24 +00:00
nongyehong
ded18443ca docs(.github): 📝 修改FUNDING中贡献者 2024-10-08 11:35:03 +08:00
nongyehong
400c5b5064 !32 docs(.github): 📝 修改FUNDING文件报错问题
Merge pull request !32 from nongyehong/dev
2024-10-08 03:29:18 +00:00
nongyehong
09369dd6be docs(.github): 📝 修改FUNDING文件报错问题 2024-10-08 11:28:13 +08:00
nongyehong
2261329146 !31 docs(.github): 📝 修改FUNDING文件信息
Merge pull request !31 from nongyehong/dev
2024-10-08 03:20:03 +00:00
nongyehong
9ed019ddb9 docs(.github): 📝 修改FUNDING文件信息 2024-10-08 11:17:52 +08:00
Dawn
160dd65ada Merge pull request #19 from HuLaSpark/dependabot/npm_and_yarn/axios-1.7.4
build(deps): bump axios from 1.7.3 to 1.7.4
2024-10-08 11:08:31 +08:00
dependabot[bot]
621fbdf824 build(deps): bump axios from 1.7.3 to 1.7.4
Bumps [axios](https://github.com/axios/axios) from 1.7.3 to 1.7.4.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.7.3...v1.7.4)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-08 03:07:53 +00:00
nongyehong
e7c79e4c5f !30 docs: 📝 完善社区准则文档
Merge pull request !30 from nongyehong/dev
2024-10-08 02:58:13 +00:00
nongyehong
8ef4c5968c docs: 📝 完善社区准则文档
新增安全政策文件|新增贡献指南文件
2024-10-08 10:56:17 +08:00
nongyehong
90929a4431 perf(style): 优化顶部栏和其他内容的一些样式 2024-10-07 23:18:36 +08:00
nongyehong
30724d391e !29 docs: 📝 修改文档中链接和一些图片
Merge pull request !29 from nongyehong/dev
2024-09-29 10:13:47 +00:00
nongyehong
e36950a674 docs: 📝 修改文档中链接和一些图片 2024-09-29 18:12:36 +08:00
nongyehong
8c0d763e8d !28 docs(.gitee): 📝 更新.gitee中ISSUE_TEMPLATE模版
Merge pull request !28 from nongyehong/dev
2024-09-28 14:35:19 +00:00
nongyehong
cd1e0d634a docs(.gitee): 📝 更新.gitee中ISSUE_TEMPLATE模版 2024-09-28 22:33:48 +08:00
nongyehong
47d45bd053 !27 feat(common): 在设置中新增指引视频
Merge pull request !27 from nongyehong/dev
2024-09-28 14:21:26 +00:00
nongyehong
e8a8acf990 feat(common): 在设置中新增指引视频 2024-09-28 22:18:32 +08:00
nongyehong
654248f341 !26 docs(ISSUE_TEMPLATE): 📝 修改gitee和github的issue模版
Merge pull request !26 from nongyehong/dev
2024-09-28 11:05:56 +00:00
nongyehong
028a15b2d4 docs(ISSUE_TEMPLATE): 📝 修改gitee和github的issue模版 2024-09-28 19:03:24 +08:00
nongyehong
5ae2b4863f !25 新增拉取请求模版
Merge pull request !25 from nongyehong/dev
2024-09-26 03:49:16 +00:00
nongyehong
aa530e3fe6 docs(.github): 📝 新增贡献者规范文档 2024-09-26 11:33:33 +08:00
nongyehong
725b15cb41 !24 更新到master分支
Merge pull request !24 from nongyehong/dev
2024-09-26 02:50:12 +00:00
nongyehong
b4b24a1e92 docs(.gitee): 📝 新增贡献者行为准则 2024-09-26 10:47:25 +08:00
nongyehong
b40d233e99 fix(component): 🐛 修复ait弹出框问题 2024-09-26 02:37:54 +08:00
nongyehong
60055afd1a perf(style): 优化聊天框内主题适配 2024-09-25 02:18:21 +08:00
nongyehong
b288463c75 Create FUNDING.yml 2024-09-24 16:01:23 +08:00
nongyehong
d5ed0a14d4 !23 更新到master分支
Merge pull request !23 from nongyehong/dev
2024-09-24 06:33:44 +00:00
nongyehong
b0c7a90327 docs(.github): 📝 修改github的issues模版 2024-09-24 14:30:32 +08:00
nongyehong
3186dcb09f !22 更新到master分支
Merge pull request !22 from nongyehong/dev
2024-09-24 06:06:35 +00:00
nongyehong
097ed761fd docs(.gitee): 📝 修改gitee的issues模版 2024-09-24 14:04:48 +08:00
nongyehong
b7bd95bb98 docs(.gitee): 📝 新增giee中issues的模版规范 2024-09-24 13:57:03 +08:00
nongyehong
473fda54f9 docs(.github): 📝 新增issues模版规范 2024-09-24 12:38:05 +08:00
nongyehong
4b25751e6e feat(style): 完善超级变变变样式更改 2024-09-23 19:31:19 +08:00
nongyehong
16b08797ec feat(style): 新增超级变变变功能(Beta)
修复创建新窗口时页面白屏问题

BREAKING CHANGE: 修复mac端图标和windows端图标的大小不一致问题|重新单独配置不同系统的不同tauri.conf.json文件
2024-09-22 23:18:13 +08:00
nongyehong
adabd965b8 Merge pull request #18 from nongyehong/dependabot/cargo/src-tauri/quinn-proto-0.11.8
build(deps): bump quinn-proto from 0.11.6 to 0.11.8 in /src-tauri
2024-09-15 02:56:18 +08:00
dependabot[bot]
10c889ada0 build(deps): bump quinn-proto from 0.11.6 to 0.11.8 in /src-tauri
Bumps [quinn-proto](https://github.com/quinn-rs/quinn) from 0.11.6 to 0.11.8.
- [Release notes](https://github.com/quinn-rs/quinn/releases)
- [Commits](https://github.com/quinn-rs/quinn/compare/quinn-proto-0.11.6...quinn-proto-0.11.8)

---
updated-dependencies:
- dependency-name: quinn-proto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-14 18:53:59 +00:00
nongyehong
0f47cbdb8e Merge pull request #17 from nongyehong/dev
新增苹方作为默认字体,解决#15
2024-09-14 18:57:59 +08:00
nongyehong
aa1e07b521 feat(component): 新增苹方作为默认字体
修改主页侧边栏图标和插件图标

BREAKING CHANGE: 使用本地连接icon

closed #15
2024-09-14 18:53:33 +08:00
nongyehong
85bc525c11 fix(common): 🐛 修复插件下载模块进度问题
修复win下chatbot中输入框有边框的问题
2024-09-13 23:19:14 +08:00
nongyehong
7938f35fea !21 发布2.1.0版本
Merge pull request !21 from nongyehong/dev
2024-09-13 12:04:30 +00:00
nongyehong
0d7f7e024d fix(layout): 🐛 修复ts类型错误导致打包出差问题
Some checks failed
Release CI / publish (macos-latest) (push) Has been cancelled
Release CI / publish (windows-latest) (push) Has been cancelled
2024-09-13 19:57:35 +08:00
nongyehong
8d65ca198f perf(component): 升级插件版本内容及其样式 2024-09-13 17:49:21 +08:00
nongyehong
ce68fa1343 fix(style): 🐛 统一修复svg点击时有轮廓问题 2024-09-02 02:05:02 +08:00
nongyehong
bb6a9d440d fix(component): 🐛 修复windows上的样式问题
修复聊天框中侧边栏样式问题
2024-09-01 23:48:19 +08:00
nongyehong
506887d80b !20 移除冗余的LICENSE
Merge pull request !20 from nongyehong/dev
2024-09-01 13:50:52 +00:00
nongyehong
0b3b15e612 删除文件 LICENSE 2024-09-01 13:49:14 +00:00
nongyehong
ab9e1ceaa3 !19 更新LICENSE
Merge pull request !19 from nongyehong/dev
2024-09-01 13:47:46 +00:00
nongyehong
63f695b946 更新LICENSE. 2024-09-01 13:45:55 +00:00
nongyehong
c1ba5e00fb !18 更新到master分支
Merge pull request !18 from nongyehong/dev
2024-09-01 13:43:35 +00:00
nongyehong
392b7c99bd feat(component): 新增插件功能(Bate)
优化弹出框的样式效果|优化ai插件页面的功能|新增设置中的提示
2024-09-01 21:40:14 +08:00
nongyehong
c0400cbfac Merge pull request #12 from Torstentjh/dev
新增右键菜单重命名消息名称功能以及删除所有对话
2024-08-24 11:25:46 +08:00
tors
5351369bb0 Merge branch 'nongyehong:dev' into dev 2024-08-24 11:18:14 +08:00
torsten
3426c5f24f feat: chatbot删除全部会话功能和右键菜单重命名 2024-08-23 23:20:55 +08:00
nongyehong
39d795ff65 fix(system): 🐛 修复mac端右键菜单透明度问题
修复mac端图标过大问题

BREAKING CHANGE: 新增mac端弹出框的关闭按钮
2024-08-21 21:34:54 +08:00
nongyehong
30bb3de5d1 fix(system): 🐛 修复win下窗口高度不一致问题 2024-08-20 21:16:00 +08:00
nongyehong
18277ef0f1 fix(component): 🐛 修复系统托盘功能和一些样式问题 2024-08-20 02:03:56 +08:00
nongyehong
a7c587d74b perf: 优化mac标签栏
新增一些样式效果
2024-08-19 22:03:04 +08:00
nongyehong
4187375efc !17 更新到master分支
Merge pull request !17 from nongyehong/dev
2024-08-15 19:44:17 +00:00
nongyehong
57dcad1e93 perf(system): 升级tauri-v2版本
Some checks failed
Release CI / publish (macos-latest) (push) Has been cancelled
Release CI / publish (windows-latest) (push) Has been cancelled
2024-08-16 03:19:16 +08:00
nongyehong
42b2cefea4 Merge pull request #9 from fakecore/master
fix readme typos
2024-08-13 23:56:25 +08:00
fakecore
c76ba98bb6 fix readme typos 2024-08-13 23:32:57 +08:00
nongyehong
6bd6f641f1 feat(common): 新增修改字体功能
修复一些存在的问题
2024-08-07 01:21:43 +08:00
nongyehong
0daef59a9f fix(system): 🐛 修复mac端兼容问题
升级个别版本的依赖
2024-08-06 22:19:36 +08:00
nongyehong
2a873c1c6a !16 更新到master分支
Merge pull request !16 from nongyehong/dev
2024-08-05 02:59:05 +00:00
nongyehong
085a773967 feat(component): 新增是否启用界面阴影功能、收缩页面按钮功能 2024-07-16 17:37:25 +08:00
nongyehong
866ba89b93 feat(view): 新增搜索页面功能
美化动态页面内容
2024-07-13 18:53:55 +08:00
nongyehong
85b6cad03f perf: 优化锁屏页面功能
新增更新功能
2024-07-11 23:58:57 +08:00
nongyehong
14073438d5 feat(view): 新增锁屏功能 2024-07-09 02:04:55 +08:00
nongyehong
71a1dd9383 feat: 发布v1.6.0版本
Some checks failed
Release CI / publish (macos-latest) (push) Has been cancelled
Release CI / publish (windows-latest) (push) Has been cancelled
2024-07-04 01:05:26 +08:00
nongyehong
790cce7755 !15 更新到master分支
Merge pull request !15 from nongyehong/dev
2024-07-03 10:33:01 +00:00
nongyehong
9d0fee7e5e fix(hook): 🐛 修复回复功能不显示问题
修改GPT页面的一些样式
2024-07-03 18:26:14 +08:00
nongyehong
e927a95fa4 feat(view): 新增GPT首页推荐功能样式
升级rust的tauri版本为1.7.1
2024-07-02 23:03:03 +08:00
nongyehong
9b771e02ec feat(component): 新增GPT欢迎页面,完善设置页面 2024-07-02 01:03:14 +08:00
nongyehong
b0035f04ff !14 更新到master分支
Merge pull request !14 from nongyehong/dev
2024-06-30 15:54:23 +00:00
nongyehong
058b91d7af style(component): 💄 修改一些页面的样式 2024-06-30 23:51:30 +08:00
nongyehong
4c85b4afcc feat(component): 新增GPT页面设置功能 2024-06-29 23:54:34 +08:00
nongyehong
5d9794cdb6 style(component): 💄 修改GPT页面以及主页侧边栏样式 2024-06-27 23:31:09 +08:00
nongyehong
7260840f4b feat(component): 新增GPT组件
优化主页侧边栏代码封装
2024-06-26 23:52:38 +08:00
nongyehong
156bb4ea28 !13 更新到master分支
Merge pull request !13 from nongyehong/dev
2024-06-21 10:55:03 +00:00
nongyehong
89a7605055 fix(rust): 🐛 修复mac系统背景玻璃拟态导致的问题 (#IA5AO8)
修复打包时因打印组件的路径导致的问题
2024-06-21 18:32:39 +08:00
nongyehong
ea4b82be25 perf(system): 对接后端服务
注:功能尚未完善,后端服务尚未对接完毕
2024-06-12 01:16:01 +08:00
nongyehong
0355f976b8 perf(services): 优化请求接口以及消息提示
更新vue版本修复_ctx报警告问题
更新naive-ui版本修复该版本已知问题
2024-05-05 01:38:12 +08:00
nongyehong
e17cb7c24a feat(style): 新增项目版本信息打印
移除主题切换时的Transitions效果
2024-04-29 21:20:01 +08:00
nongyehong
af5042261b fix(components): 🐛 修复回复功能缺陷
修复回复功能不可以回复其他消息类型
修复拉伸窗口功能
2024-04-28 20:13:54 +08:00
nongyehong
31f7e1732c perf(views): 优化页面收缩功能
优化连接错误提示
优化自动登录时可中断登录
2024-04-27 05:28:24 +08:00
nongyehong
94d2cb1fec perf(components): 优化表情回应
新增信息时间戳显示
2024-04-25 20:48:07 +08:00
nongyehong
9a35547997 Merge remote-tracking branch 'origin/dev'
# Conflicts:
#	pnpm-lock.yaml
2024-04-24 12:08:10 +08:00
nongyehong
0c4615d413 perf(components): 优化群聊回复表情功能 2024-04-24 11:59:46 +08:00
nongyehong
1fb3530cbd feat(components): 实现群聊回复表情功能 2024-04-24 00:00:16 +08:00
nongyehong
cf4820bffb feat(components): 完善右键功能的显示资料
剔除冗余代码
完善回复对超链接的支持
2024-04-22 23:32:09 +08:00
nongyehong
fc753b5f05 docs: 📝 变更代码规范
添加husky
变更使用cz-git
2024-04-22 02:24:36 +08:00
nongyehong
93770c1012 🎉 release(custom): 发布v1.5.0版本
Some checks failed
Release CI / publish (macos-latest) (push) Has been cancelled
Release CI / publish (windows-latest) (push) Has been cancelled
升级核心依赖版本
使用unocss前缀组插件简化写法
2024-04-19 16:51:13 +08:00
nongyehong
1dec9a9e41 !11 更新到master分支
Merge pull request !11 from nongyehong/dev
2024-04-18 20:30:36 +00:00
nongyehong
c5109d7441 perf(system): 优化回复功能的实现
支持对图片和其他类型消息回复
2024-04-19 04:27:57 +08:00
nongyehong
e1eb827b58 🐛 fix(system): 修复回复功能的一些问题 2024-04-18 23:53:58 +08:00
nongyehong
e8164e080e feat(system): 初步实现回复功能 2024-04-17 23:59:52 +08:00
nongyehong
8aeaf76910 perf(style): 提取复用hooks 2024-04-15 23:06:16 +08:00
nongyehong
844c251711 perf(system): 优化输入框功能
优化艾特功能
复用功能封装
2024-04-14 21:04:53 +08:00
nongyehong
38b932991a !10 更新到master分支
Merge pull request !10 from nongyehong/dev
2024-04-13 21:36:24 +00:00
nongyehong
76d3c9ff6c 🐛 fix(system): 修复艾特框滚动和选中问题 2024-04-14 05:33:43 +08:00
nongyehong
62d86faf73 perf(system): 优化艾特框功能
新增输入拼音时等待输入完毕
新增艾特框上下选择功能
2024-04-14 04:38:17 +08:00
nongyehong
42d2453991 perf(system): 优化聊天框中常用功能
优化右键菜单复制功能
优化原生复制功能
优化网址识别功能
2024-04-14 01:17:32 +08:00
nongyehong
eba6395966 feat(setting): 新增发送信息快捷键
优化表情框
2024-04-13 02:30:22 +08:00
nongyehong
baae17e03b feat(custom): 新增表情功能 2024-04-11 23:00:58 +08:00
nongyehong
cd9acf9e90 🐛 fix(custom): 修复使用n-virtual-list组件未阻止滚动问题 2024-04-10 23:21:53 +08:00
nongyehong
998ab1418a 🐛 fix(system): 修复系统托盘图标切换问题 2024-04-10 19:40:26 +08:00
nongyehong
0b7878e8da 🐛 fix(system): 修复已知问题 2024-04-10 17:42:47 +08:00
nongyehong
b10d5c0b96 perf(setting): 优化系统托盘图标在不同窗口下显示不同功能 2024-04-08 21:16:34 +08:00
nongyehong
0289f3534a feat(style): 新增系统托盘无状态图标切换 2024-04-08 00:54:54 +08:00
nongyehong
0a85bd5ff8 🚀 chore(custom): 更新到master分支,手动解决冲突 2024-04-05 23:51:39 +08:00
nongyehong
afa467567e ✏️ docs(style): 更新md文档项目展示内容 2024-04-05 23:23:35 +08:00
nongyehong
c4729d4d15 🐛 fix(setting): 修复独立窗口无法接收响应式数据 2024-04-02 01:43:45 +08:00
nongyehong
665237da08 :medal: version(system): 发布1.4.0版本
Some checks failed
Release CI / publish (macos-latest) (push) Has been cancelled
Release CI / publish (windows-latest) (push) Has been cancelled
2024-04-02 00:16:58 +08:00
nongyehong
b5d81758f1 :medal: version(system): . add LICENSE. 2024-04-01 23:24:12 +08:00
nongyehong
0feef234e8 perf(system): 优化屏幕共享功能 2024-04-01 23:22:39 +08:00
nongyehong
45c82cf37c perf(system): 优化文件类型消息 2024-04-01 23:22:39 +08:00
nongyehong
f828546f1f perf(system): 优化艾特功能 2024-04-01 23:22:39 +08:00
nongyehong
8bd1f85043 feat(system): 新增ait功能 2024-04-01 23:22:39 +08:00
nongyehong
c7146cb7e3 perf(style): 完善主题的配置,优化信息列表功能 2024-04-01 23:22:39 +08:00
nongyehong
a3f43189ec :medal: version(system): . add LICENSE. 2024-04-01 23:13:27 +08:00
nongyehong
5d6c9f3da4 perf(system): 优化屏幕共享功能 2024-04-01 23:03:38 +08:00
nongyehong
2eae0333c0 perf(system): 优化文件类型消息 2024-03-31 23:23:34 +08:00
nongyehong
e7cb15a543 perf(system): 优化艾特功能 2024-03-30 19:41:00 +08:00
nongyehong
9a94c17919 feat(system): 新增ait功能 2024-03-29 23:45:41 +08:00
nongyehong
70fb55b94a perf(style): 完善主题的配置,优化信息列表功能 2024-03-28 23:58:24 +08:00
nongyehong
d5bcf543ae !4 更新到master分支
Merge pull request !4 from nongyehong/dev
2024-03-26 21:48:01 +00:00
nongyehong
54cc2a6643 🐛 fix(system): 使用pinia-shared-state来解决标签页之间store的共享问题 2024-03-27 04:49:44 +08:00
nongyehong
4b557e2a39 🐛 fix(system): 修复已知的问题 2024-03-25 23:57:42 +08:00
nongyehong
5614750ead perf(system): 优化系统托盘图标闪烁 2024-03-23 19:52:20 +08:00
nongyehong
4f81f50e13 feat(system): 新增群聊侧边栏 2024-03-22 23:58:54 +08:00
nongyehong
d139a3694e perf(setting): 优化配置 2024-03-21 23:57:46 +08:00
nongyehong
c1563efa5b perf(system): 优化系统托盘右键菜单 2024-03-20 23:56:17 +08:00
nongyehong
183a2e786f feat(setting): 新增关闭窗口提示 2024-03-19 23:41:41 +08:00
nongyehong
60939bfd77 feat(system): 新增消息独立窗口功能 2024-03-18 20:34:17 +08:00
nongyehong
2feb9c0ba7 feat(style): 新增用户信息框跟随图片背景颜色功能 2024-03-17 13:58:55 +08:00
nongyehong
ed7be38a23 feat(system): 新增在线状态 2024-03-17 00:00:50 +08:00
nongyehong
c2fb6d7d7a feat(custom): 新增自动登录功能 2024-03-15 12:56:18 +08:00
nongyehong
9fbb6f373e feat(style): 新增个人信息框 2024-03-14 10:37:57 +08:00
nongyehong
bd963308b1 perf(setting): 使用命名空间简化ts类型导入 2024-03-14 00:00:03 +08:00
nongyehong
4ef0ac05aa !3 更新到master分支
Merge pull request !3 from nongyehong/dev
2024-03-12 01:05:51 +00:00
nongyehong
a4c171265c ✏️ docs(style): 更新README文档
Some checks failed
Release CI / publish (macos-latest) (push) Has been cancelled
Release CI / publish (windows-latest) (push) Has been cancelled
2024-03-12 09:02:22 +08:00
nongyehong
8adefceb6f perf(system): 使用原生event进行窗口通信 2024-03-12 01:11:35 +08:00
nongyehong
63ce821fd7 🐛 fix(custom): 修改页面样式没有加载问题,修复打包后静态文件路径问题 2024-03-10 11:54:46 +08:00
nongyehong
8485dc789d !2 合并到master分支
Merge pull request !2 from nongyehong/dev
2024-03-09 17:29:09 +00:00
823 changed files with 134222 additions and 9832 deletions

44
.cargo/config.toml Normal file
View File

@@ -0,0 +1,44 @@
## 配置cargo的国内源 (依赖很多所以还是需要慢慢等待,不至于卡死下载不了)
[source.crates-io]
replace-with = 'rsproxy-sparse'
[source.rsproxy]
registry = "https://rsproxy.cn/crates.io-index"
[source.rsproxy-sparse]
registry = "sparse+https://rsproxy.cn/index/"
[registries.rsproxy]
index = "https://rsproxy.cn/crates.io-index"
[net]
git-fetch-with-cli = true
# Android NDK 链接配置
[target.aarch64-linux-android]
linker = "aarch64-linux-android-clang"
rustflags = [
"-C", "link-arg=-lc++_shared",
"-C", "link-arg=-llog",
"-C", "link-arg=-landroid",
]
[target.armv7-linux-androideabi]
linker = "armv7a-linux-androideabi-clang"
rustflags = [
"-C", "link-arg=-lc++_shared",
"-C", "link-arg=-llog",
"-C", "link-arg=-landroid",
]
[target.i686-linux-android]
linker = "i686-linux-android-clang"
rustflags = [
"-C", "link-arg=-lc++_shared",
"-C", "link-arg=-llog",
"-C", "link-arg=-landroid",
]
[target.x86_64-linux-android]
linker = "x86_64-linux-android-clang"
rustflags = [
"-C", "link-arg=-lc++_shared",
"-C", "link-arg=-llog",
"-C", "link-arg=-landroid",
]

View File

@@ -2,9 +2,17 @@
root = true
[*] # 表示所有文件适用
charset = utf-8 # 设置文件字符集为 utf-8
indent_size = 2 # 缩进大小
end_of_line = lf # 控制换行类型(lf | cr | crlf)
trim_trailing_whitespace = true # 末尾空格修剪
insert_final_newline = true # 始终在文件末尾插入一个新行
[*]
charset = utf-8
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
# 对于自动生成的文件,保持原有格式
[src-tauri/gen/schemas/**]
insert_final_newline = false
trim_trailing_whitespace = false
[tauri-plugin-hula/permissions/schemas/**]
insert_final_newline = false
trim_trailing_whitespace = false

View File

@@ -1,10 +0,0 @@
# 后端服务地址
VITE_SERVICE_URL="http://localhost:9095/api/manage"
# 项目标题
VITE_APP_TITLE="HuLa—IM"
# 标签后缀
VITE_TITLE_SUFFIX=" | HuLa"
# 项目备案号
VITE_APP_ICP="桂ICP备2021000000号"
# 项目名称
VITE_APP_NAME="HuLa-IM-Tauri"

21
.env.development Normal file
View File

@@ -0,0 +1,21 @@
# 后端服务地址
VITE_SERVICE_URL="https://hulaspark.com/api"
# # # websocket服务地址
VITE_WEBSOCKET_URL="wss://hulaspark.com/api/ws/ws"
# 项目标题
VITE_APP_TITLE="HuLa—IM"
# 项目名称
VITE_APP_NAME="HuLa"
# gitee token
VITE_GITEE_TOKEN="a9029798336825cea39ac9e4413b8579"
# 启用本地的服务地址,先要注释掉上面的服务地址
# VITE_SERVICE_URL="http://192.168.1.37:18760"
# VITE_WEBSOCKET_URL="ws://192.168.1.37:18760/ws/ws"
# TURN信令服务器
VITE_TURN_SERVER_URL=
VITE_TURN_SERVER_USER=
VITE_TURN_SERVER_PWD=
VITE_USE_RUST_WEBSOCKET=true

View File

@@ -1,10 +0,0 @@
# 后端服务地址
VITE_SERVICE_URL="http://localhost:9095"
# 项目标题
VITE_APP_TITLE="HuLa—IM"
# 标签后缀
VITE_TITLE_SUFFIX=" | HuLa"
# 项目备案号
VITE_APP_ICP="桂ICP备2021000000号"
# 项目名称
VITE_APP_NAME="HuLa-IM-Tauri"

17
.env.production Normal file
View File

@@ -0,0 +1,17 @@
# 后端服务地址
VITE_SERVICE_URL="https://hulaspark.com/api"
# websocket服务地址
VITE_WEBSOCKET_URL="wss://hulaspark.com/api/ws/ws"
# 项目标题
VITE_APP_TITLE="HuLa—IM"
# 项目名称
VITE_APP_NAME="HuLa"
# gitee token
VITE_GITEE_TOKEN="a9029798336825cea39ac9e4413b8579"
# TURN信令服务器
VITE_TURN_SERVER_URL=
VITE_TURN_SERVER_USER=
VITE_TURN_SERVER_PWD=
VITE_USE_RUST_WEBSOCKET=true

View File

@@ -1,11 +0,0 @@
node_modules
*.md
*.scss
.vscode
.idea
dist
public
index.html
src/assets
.eslintrc.cjs
**/config

54
.eslintrc.cjs vendored
View File

@@ -1,54 +0,0 @@
module.exports = {
// 运行环境
env: {
browser: true, // 浏览器
es6: true, // es6语法
jest: true,
},
parser: 'vue-eslint-parser',
parserOptions: {
ecmaVersion: 'latest',
parser: '@typescript-eslint/parser',
sourceType: 'module',
jsxPragma: 'React',
ecmaFeatures: {
jsx: true,
},
},
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:vue/vue3-essential',
'plugin:prettier/recommended',
],
overrides: [
{
env: {
node: true,
},
files: ['.eslintrc.{js,cjs}'],
parserOptions: {
sourceType: 'script',
},
},
],
plugins: ['@typescript-eslint', 'vue'],
rules: {
'@typescript-eslint/no-non-null-assertion': 'off',
/**
* 使用新vue3.3的defineProps解构语法需要关闭这个校验
* eslint-plugin-vue新版本已废弃 vue/no-setup-props-destructure,如果新版本eslint-plugin-vue
* 需要改成vue/no-setup-props-reactivity-loss规则
* */
'vue/no-setup-props-destructure': 'off',
'no-undef': 'off',
'no-var': 'error', // 不能使用var
'no-multiple-empty-lines': ['warn', { max: 2 }], // 不允许多个空行
quotes: [1, 'single'], //引号类型 `` "" ''
semi: ['error', 'never'], // 不允许在末尾加分号
'vue/multi-word-component-names': 'off', //关闭组件命名规则
'@typescript-eslint/no-explicit-any': 'off', // 关闭any校验
'no-redeclare': 2, //禁止重复声明变量
'eol-last': 'off', // 关闭行尾符linebreak-style的校验
},
}

78
.gitattributes vendored
View File

@@ -1,3 +1,10 @@
# Auto detect text files and perform LF normalization
* text=auto eol=lf
# 行尾符设置
"*.rs" eol=lf
"Cargo.toml" eol=lf
"Cargo.lock" eol=lf
"*.vue" eol=lf
"*.js" eol=lf
"*.ts" eol=lf
@@ -15,3 +22,74 @@
"*.sass" eol=lf
"*.styl" eol=lf
"*.md" eol=lf
# 代码统计设置 - 只统计 Vue、TypeScript 和 Rust 文件
# 排除 JavaScript 文件
*.js linguist-vendored
*.jsx linguist-vendored
*.cjs linguist-vendored
*.mjs linguist-vendored
# 排除样式文件
*.css linguist-vendored
*.scss linguist-vendored
*.sass linguist-vendored
*.less linguist-vendored
*.styl linguist-vendored
# 排除配置和文档文件
*.json linguist-vendored
*.html linguist-vendored
*.md linguist-documentation
*.yml linguist-vendored
*.yaml linguist-vendored
# 排除其他语言文件
*.kt linguist-vendored
*.java linguist-vendored
*.py linguist-vendored
# 确保构建目录和依赖目录不被统计
**/target/** linguist-vendored
**/node_modules/** linguist-vendored
scripts/** linguist-vendored
**/build/** linguist-vendored
**/dist/** linguist-vendored
# 确保主要代码文件被正确识别
*.vue linguist-detectable
*.ts linguist-detectable
*.tsx linguist-detectable
*.rs linguist-detectable
## 语言统计控制:排除 Ruby / Shell / Objective-C++
# Ruby例如 CocoaPods 的 Podfile 等)
*.rb linguist-vendored
**/Podfile linguist-vendored
**/Podfile.lock linguist-vendored
*.podspec* linguist-vendored
# Shell包括 Android 的 gradlew
*.sh linguist-vendored
**/gradlew linguist-vendored
# Objective-C++ / Objective-C若仓库中存在 .m 可按需启用)
*.mm linguist-vendored
# *.m linguist-vendored
# 生成产物与平台工程整体排除,避免引入非 Rust 语言统计
src-tauri/gen/** linguist-vendored
src-tauri/gen/android/** linguist-vendored
src-tauri/gen/apple/** linguist-vendored
tauri-plugin-hula/ios/** linguist-vendored
# tauri-plugin-hula仅统计 src 目录,其他子目录全部排除
tauri-plugin-hula/*/** linguist-vendored
tauri-plugin-hula/src/** -linguist-vendored
# 如果需要把上面这些都算作 Rust而不是排除可改用如下示例
# *.rb linguist-language=Rust
# *.sh linguist-language=Rust
# *.mm linguist-language=Rust
# **/Podfile linguist-language=Rust
# **/gradlew linguist-language=Rust

58
.gitee/ISSUE_TEMPLATE/bug.yml vendored Normal file
View File

@@ -0,0 +1,58 @@
name: '🐛 反馈缺陷'
description: '反馈一个问题缺陷'
title: '[bug] '
labels: ['bug']
body:
- type: markdown
attributes:
value: |
## 首先
1.请先搜索 [现有问题](https://gitee.com/HuLaSpark/HuLa/issues)关于此问题。<br>
2.确保 rustc 和所有相关的 HuLa 包都是最新的。<br>
3.确保这是 HuLa 的问题,而不是你正在使用的其他东西。<br>
4.请记住遵循我们的社区准则并保持友好。<br>
- type: input
attributes:
label: '📌 软件版本'
validations:
required: true
- type: dropdown
attributes:
label: '💻 系统环境'
multiple: true
options:
- 'Windows'
- 'macOS'
validations:
required: true
- type: textarea
attributes:
label: '🐛 问题描述'
description: 请提供一个清晰且简洁的问题描述,如果适用,请包括屏幕截图。
validations:
required: true
- type: textarea
id: info
attributes:
label: '☄️ 完整的 `pnpm tauri info` 输出'
description: '请运行 “pnpm tauri info” 在控制台等待输出完毕,并将输出内容复制到此处'
render: text
- type: textarea
attributes:
label: '📷 复现步骤'
description: 请提供一个清晰且简洁的描述,说明如何复现问题。
- type: textarea
attributes:
label: '🚦 期望结果'
description: 请提供一个清晰且简洁的描述,说明您期望发生什么。
- type: textarea
attributes:
label: '📝 补充信息'
description: 如果您的问题需要进一步说明,或者您遇到的问题无法在一个简单的示例中复现,请在这里添加更多信息。

35
.gitee/ISSUE_TEMPLATE/feature.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
name: 💡 功能请求
title: '[功能建议] '
description: 提出想法
labels: ['enhancement']
body:
- type: textarea
id: problem
attributes:
label: 描述问题
description: 明确描述此功能将解决的问题
placeholder: '我总是感到困扰...'
validations:
required: true
- type: textarea
id: solution
attributes:
label: '描述您想要的解决方案'
description: 明确说明您希望做出的改变
placeholder: '我想...'
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: 考虑的替代方案
description: '您考虑过的任何替代解决方案'
- type: textarea
id: context
attributes:
label: 其他上下文
description: 在此处添加有关问题的任何其他上下文。

4
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,4 @@
# These are supported funding model platforms
open_collective: HuLaSpark
custom: https://opencollective.com/hulaspark

62
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,62 @@
name: '🐛 Bug Report'
description: 'Report an bug'
title: '[bug] '
labels: ['bug']
body:
- type: markdown
attributes:
value: |
## First of all
1. Please search for [existing issues](https://github.com/HuLaSpark/HuLa/issues?q=is%3Aissue) about this problem first.
2. Make sure `rustc` and all relevant HuLa packages are up to date.
3. Make sure it's an issue with HuLa and not something else you are using.
4. Remember to follow our community guidelines and be friendly.
- type: input
attributes:
label: '📌 Version'
validations:
required: true
- type: dropdown
attributes:
label: '💻 Operating System'
multiple: true
options:
- 'Windows 10'
- 'Windows 11'
- 'macOS'
- 'Linux'
- 'Android'
- 'ios'
validations:
required: true
- type: textarea
attributes:
label: '🐛 Bug Description'
description: A clear and concise description of the bug, Include screenshots if applicable.
validations:
required: true
- type: textarea
id: info
attributes:
label: '☄️ intact `pnpm tauri info` output'
description: 'Please run "pnpm tauri info" in the console and wait for the output to finish, then copy the output here'
render: text
- type: textarea
attributes:
label: '📷 Recurrence Steps'
description: A clear and concise description of how to recurrence.
- type: textarea
attributes:
label: '🚦 Expected Behavior'
description: A clear and concise description of what you expected to happen.
- type: textarea
attributes:
label: '📝 Additional Information'
description: If your problem needs further explanation, or if the issue you're seeing cannot be reproduced in a gist, please add more information here.

View File

@@ -0,0 +1,62 @@
name: '🐛 反馈缺陷'
description: '反馈一个问题缺陷'
title: '[bug] '
labels: ['bug']
body:
- type: markdown
attributes:
value: |
## 首先
1.请先搜索 [现有问题](https://github.com/HuLaSpark/HuLa/issues?q=is%3Aissue)关于此问题。
2.确保 rustc 和所有相关的 HuLa 包都是最新的。
3.确保这是 HuLa 的问题,而不是你正在使用的其他东西。
4.请记住遵循我们的社区准则并保持友好。
- type: input
attributes:
label: '📌 软件版本'
validations:
required: true
- type: dropdown
attributes:
label: '💻 系统环境'
multiple: true
options:
- 'Windows 10'
- 'Windows 11'
- 'macOS'
- 'Linux'
- 'Android'
- 'ios'
validations:
required: true
- type: textarea
attributes:
label: '🐛 问题描述'
description: 请提供一个清晰且简洁的问题描述,如果适用,请包括屏幕截图。
validations:
required: true
- type: textarea
id: info
attributes:
label: '☄️ 完整的 `pnpm tauri info` 输出'
description: '请运行 “pnpm tauri info” 在控制台等待输出完毕,并将输出内容复制到此处'
render: text
- type: textarea
attributes:
label: '📷 复现步骤'
description: 请提供一个清晰且简洁的描述,说明如何复现问题。
- type: textarea
attributes:
label: '🚦 期望结果'
description: 请提供一个清晰且简洁的描述,说明您期望发生什么。
- type: textarea
attributes:
label: '📝 补充信息'
description: 如果您的问题需要进一步说明,或者您遇到的问题无法在一个简单的示例中复现,请在这里添加更多信息。

View File

@@ -0,0 +1,35 @@
name: 💡 Feature Request
title: '[feat] '
description: Suggest an idea
labels: ['enhancement']
body:
- type: textarea
id: problem
attributes:
label: Describe the problem
description: A clear description of the problem this feature would solve
placeholder: "I'm always frustrated when..."
validations:
required: true
- type: textarea
id: solution
attributes:
label: "Describe the solution you'd like"
description: A clear description of what change you would like
placeholder: 'I would like to...'
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: "Any alternative solutions you've considered"
- type: textarea
id: context
attributes:
label: Additional context
description: Add any other context about the problem here.

View File

@@ -0,0 +1,35 @@
name: 💡 功能请求
title: '[feat] '
description: 提出想法
labels: ['enhancement']
body:
- type: textarea
id: problem
attributes:
label: 描述问题
description: 明确描述此功能将解决的问题
placeholder: '我总是感到困扰...'
validations:
required: true
- type: textarea
id: solution
attributes:
label: '描述您想要的解决方案'
description: 明确说明您希望做出的改变
placeholder: '我想...'
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: 考虑的替代方案
description: '您考虑过的任何替代解决方案'
- type: textarea
id: context
attributes:
label: 其他上下文
description: 在此处添加有关问题的任何其他上下文。

23
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,23 @@
#### 💻 变更类型 | Change Type
<!-- For change type, change [ ] to [x]. -->
- [ ] ✨ feat | 新增功能
- [ ] 🐛 fix | 修复缺陷
- [ ] ♻️ refactor | 代码重构(不包括 bug 修复、功能新增)
- [ ] 💄 style | 代码格式(不影响功能,例如空格、分号等格式修正)
- [ ] 📦️ build | 构建流程、外部依赖变更(如升级 npm 包、修改 vite 配置等)
- [ ] 🚀 perf | 性能优化
- [ ] 📝 docs | 文档变更
- [ ] 🧪 test | 添加疏漏测试或已有测试改动
- [ ] ⚙️ ci | 修改 CI 配置、脚本
- [ ] ↩️ revert | 回滚 commit
- [ ] 🛠️ chore | 对构建过程或辅助工具和库的更改(不影响源文件、测试用例)
#### 🔀 变更说明 | Description of Change
<!-- Thank you for your Pull Request. Please provide a description above. -->
#### 📝 补充信息 | Additional Information
<!-- Add any other context about the Pull Request here. -->

41
.github/labeler.yml vendored Normal file
View File

@@ -0,0 +1,41 @@
# 前端相关变更
'前端':
- src/**/*
# 工作流程相关变更
'工作流程':
- .github/**/*
# 文档相关变更
'文档':
- '**/*.md'
# 依赖相关变更
'依赖更新':
- package.json
- pnpm-lock.yaml
# Rust 相关变更
'Rust':
- '**/*.rs'
- '**/Cargo.toml'
- '**/Cargo.lock'
- 'src-tauri/**/*'
# 配置文件变更
'配置':
- '*.config.ts'
- '*.config.js'
- 'tsconfig.json'
- '.env*'
# 测试相关变更
'测试':
- '**/*.test.ts'
- 'test/**/*'
# 样式相关变更
'样式':
- '**/*.css'
- '**/*.scss'
- 'uno.config.*'

83
.github/workflows/codeql.yml vendored Normal file
View File

@@ -0,0 +1,83 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
# push:
# branches: ["master"]
# 暂时只在pr的时候运行
pull_request:
branches: ["master"]
schedule:
- cron: "0 0 1 * *" # 每月1号运行
permissions:
contents: read
jobs:
analyze:
# 跳过 Renovate PR
if: |
github.actor != 'renovate[bot]' &&
github.actor != 'renovate-preview[bot]'
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: ["javascript", "typescript"]
# CodeQL supports [ $supported-codeql-languages ]
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
steps:
- name: Harden Runner
uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2
with:
egress-policy: audit
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
# Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
with:
category: "/language:${{matrix.language}}"

82
.github/workflows/debug-build.yml vendored Normal file
View File

@@ -0,0 +1,82 @@
name: Debug Build
on:
workflow_dispatch: # 手动触发
inputs:
platform:
type: choice
description: '选择测试平台'
required: true
default: 'ubuntu-22.04'
options:
- ubuntu-22.04
- macos-latest
- windows-latest
jobs:
debug-build:
runs-on: ${{ inputs.platform }}
steps:
- uses: actions/checkout@v4
- name: Install Ubuntu dependencies
if: inputs.platform == 'ubuntu-22.04'
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
librsvg2-dev \
patchelf \
libudev-dev \
libasound2-dev \
pkg-config \
libgtk-3-dev \
libayatana-appindicator3-dev
# 验证安装的包
dpkg -l | grep -E 'webkit|appindicator|rsvg|udev|asound|gtk'
# 添加环境变量配置
- name: Set up environment variables
run: echo "${{ secrets.ENV_LOCAL_CONTENT }}" > .env.local
# 安装 pnpm
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
run_install: false
# 设置 Node.js
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Build Vite + Tauri
run: pnpm build
# 安装 Rust
- name: install Rust stable
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ inputs.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: './src-tauri -> target'
# 只构建不发布
- name: Build Tauri app
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
with:
releaseId: "debug-build"

27
.github/workflows/dependency-review.yml vendored Normal file
View File

@@ -0,0 +1,27 @@
# Dependency Review Action
#
# This Action will scan dependency manifest files that change as part of a Pull Request,
# surfacing known-vulnerable versions of the packages declared or updated in the PR.
# Once installed, if the workflow run is marked as required,
# PRs introducing known-vulnerable packages will be blocked from merging.
#
# Source repository: https://github.com/actions/dependency-review-action
name: 'Dependency Review'
on: [pull_request]
permissions:
contents: read
jobs:
dependency-review:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2
with:
egress-policy: audit
- name: 'Checkout Repository'
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Dependency Review'
uses: actions/dependency-review-action@3b139cfc5fae8b618d3eae3675e383bb1769c019 # v4.5.0

24
.github/workflows/greetings.yml vendored Normal file
View File

@@ -0,0 +1,24 @@
name: Greetings
on: [pull_request_target, issues]
# 顶层设置最小权限,推荐 contents: read
permissions:
contents: read
jobs:
greeting:
# 跳过 Renovate PR
if: |
github.actor != 'renovate[bot]' &&
github.actor != 'renovate-preview[bot]'
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/first-interaction@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
issue-message: "👋 感谢你提出第一个 Issue我们会尽快查看并回复。请确保已经提供了足够的信息来描述问题。"
pr-message: "🎉 感谢你提交第一个 PR我们很高兴你参与到 HuLa 项目中来。我们会尽快审查你的贡献。"

22
.github/workflows/label.yml vendored Normal file
View File

@@ -0,0 +1,22 @@
# This workflow will triage pull requests and apply a label based on the
# paths that are modified in the pull request.
#
# To use this workflow, you will need to set up a .github/labeler.yml
# file with configuration. For more information, see:
# https://github.com/actions/labeler
name: Labeler
on: [pull_request_target]
jobs:
label:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/labeler@v4
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

145
.github/workflows/pr-chatbot-review.yml vendored Normal file
View File

@@ -0,0 +1,145 @@
name: PR Review Bot
on:
pull_request:
types: [opened, synchronize]
permissions:
contents: read
pull-requests: write
jobs:
review:
# 跳过 Renovate PR
if: |
github.actor != 'renovate[bot]' &&
github.actor != 'renovate-preview[bot]'
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get PR diff
id: diff
run: |
git fetch origin ${{ github.event.pull_request.base.sha }}
# 排除配置文件,只分析源代码文件
DIFF=$(git diff ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} -- \
'src/**/*.vue' \
'src/**/*.ts' \
'src/**/*.tsx' \
'src-tauri/**/*.rs' \
':!:**/*.json' \
':!:**/*.yaml' \
':!:**/*.yml' \
':!:**/*.config.*' \
':!:**/*.lock' \
':!:**/*.toml' \
':!:.env*' \
':!:.eslintrc*' \
':!:.prettierrc*')
# 如果没有相关文件变更,设置一个提示信息
if [ -z "$DIFF" ]; then
echo "NO_CHANGES=true" >> $GITHUB_ENV
echo "DIFF=没有检测到相关文件的变更。" >> $GITHUB_ENV
else
echo "NO_CHANGES=false" >> $GITHUB_ENV
echo "DIFF<<EOF" >> $GITHUB_ENV
echo "$DIFF" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
fi
# 首先安装 pnpm
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
run_install: false
# 然后设置 Node.js
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'pnpm'
- name: Install dependencies
run: |
pnpm config set registry https://registry.npmmirror.com/
pnpm install
pnpm add openai
- name: Analyze PR
id: analyze
if: env.NO_CHANGES != 'true'
uses: actions/github-script@v7
env:
DASHSCOPE_API_KEY: ${{ secrets.DASHSCOPE_API_KEY }}
with:
script: |
const OpenAI = require('openai');
const openai = new OpenAI({
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1"
});
const diff = process.env.DIFF;
try {
const completion = await openai.chat.completions.create({
model: "qwen-plus",
messages: [{
role: "system",
content: "你是一个代码审查助手。请用中文分析以下代码变更,重点关注:\n" +
"1. 代码逻辑的改动\n" +
"2. 潜在的问题或优化空间\n" +
"3. TypeScript 类型定义的准确性\n" +
"4. Vue 组件的性能影响\n" +
"5. Rust 代码的安全性和性能\n" +
"请用中文简明扼要地总结。"
}, {
role: "user",
content: `请分析以下代码变更并总结主要改动:\n\n${diff}`
}],
temperature: 0.7,
max_tokens: 1000
});
const analysis = completion.choices[0].message.content;
core.setOutput('analysis', analysis);
await github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: `
PR 代码分析
${analysis}
*这是由通义千问 AI 自动生成的 PR 分析,仅供参考。*`
});
} catch (error) {
core.setFailed(`分析失败: ${error.message}`);
}
- name: Skip Analysis Comment
if: env.NO_CHANGES == 'true'
uses: actions/github-script@v7
with:
script: |
await github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: `## PR 代码分析
本次变更不包含需要分析的代码文件src 目录下的 .vue/.ts/.tsx 文件或 src-tauri 目录下的 .rs 文件)。
---
*这是自动生成的通知。*`
});

View File

@@ -4,48 +4,98 @@ on:
push:
tags:
- 'v*'
workflow_dispatch:
# 确保默认情况下所有 job 都只有只读权限,只有需要写权限的 job比如发布 release 的 job才会单独提升权限其他 job 依然保持最小权限,最大程度保护仓库安全
permissions:
contents: read
concurrency:
group: release-${{ github.ref }}
cancel-in-progress: true
cancel-in-progress: true # 如果有新的发布任务,取消正在进行的任务
jobs:
publish:
publish-tauri:
permissions:
contents: write # 授予写入仓库内容的权限
strategy:
fail-fast: false
fail-fast: false # 某个平台构建失败不影响其他平台
matrix:
platform: [macos-latest, windows-latest]
include:
- platform: "macos-latest" # for Arm based macs (M1 and above).
args: "--target aarch64-apple-darwin"
- platform: "macos-latest" # for Intel based macs.
args: "--target x86_64-apple-darwin"
- platform: "ubuntu-22.04"
args: ""
- platform: "windows-latest"
args: ""
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 8
run_install: true
- name: Use Node.js
- name: install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-22.04'
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
librsvg2-dev \
patchelf \
libudev-dev \
libasound2-dev \
pkg-config \
libgtk-3-dev \
libayatana-appindicator3-dev
# 添加环境变量配置
- name: Set up environment variables
run: echo "${{ secrets.ENV_LOCAL_CONTENT }}" > .env.local
# 首先安装 pnpm
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 10
run_install: false
# 然后设置 Node.js
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
node-version: '22'
cache: 'pnpm'
- name: install Rust stable
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Install dependencies
run: pnpm install
- name: Build Vite + Tauri
run: pnpm build
# 安装 Rust
- name: install Rust stable
uses: dtolnay/rust-toolchain@stable # Set this to dtolnay/rust-toolchain@nightly
with:
# Those targets are only used on macos runners so it's in an `if` to slightly speed up windows and linux builds.
targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: './src-tauri -> target'
- name: Create release
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# 使用之前配置的私钥
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
# 使用之前配置的私钥密码
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
with:
tagName: v__VERSION__ # the action automatically replaces \_\_VERSION\_\_ with the app version
tagName: v__VERSION__ #这个动作会自动将\_\_VERSION\_\_替换为app version
releaseName: 'v__VERSION__'
releaseBody: 'See the assets to download and install this version.'
releaseDraft: true
prerelease: false
prerelease: false
args: ${{ matrix.args }}

58
.github/workflows/rust-clippy.yml vendored Normal file
View File

@@ -0,0 +1,58 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# rust-clippy is a tool that runs a bunch of lints to catch common
# mistakes in your Rust code and help improve your Rust code.
# More details at https://github.com/rust-lang/rust-clippy
# and https://rust-lang.github.io/rust-clippy/
name: rust-clippy analyze
on:
pull_request:
# The branches below must be a subset of the branches above
branches: [ "master" ]
paths:
- '**/*.rs'
jobs:
rust-clippy-analyze:
# 跳过 Renovate PR
if: |
github.actor != 'renovate[bot]' &&
github.actor != 'renovate-preview[bot]'
name: Run rust-clippy analyzing
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af #@v1
with:
profile: minimal
toolchain: stable
components: clippy
override: true
- name: Install required cargo
run: cargo install clippy-sarif sarif-fmt
- name: Run rust-clippy
run:
cargo clippy
--all-features
--message-format=json | clippy-sarif | tee rust-clippy-results.sarif | sarif-fmt
continue-on-error: true
- name: Upload analysis results to GitHub
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: rust-clippy-results.sarif
wait-for-processing: true

20
.gitignore vendored
View File

@@ -13,16 +13,24 @@ dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
.idea
# 忽略自动导入的文件
/src/typings/auto-imports.d.ts
/src/typings/components.d.ts
src-tauri/target
.history/
/coverage
.cursorrules
.claude/
target
.claude/
*.sqlite
db.sqlite
.idea

4
.husky/commit-msg Normal file
View File

@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx --no-install commitlint --edit "$1"

4
.husky/pre-commit Normal file
View File

@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
pnpm run lint:staged

26
.lintstagedrc.mjs vendored Normal file
View File

@@ -0,0 +1,26 @@
import path from 'node:path'
function createCommand(prefix, join) {
return (filenames) => `${prefix} ${filenames.map((f) => path.relative(process.cwd(), f)).join(` ${join} `)}`
}
export default {
// JavaScript/TypeScript 文件使用 Biome (排除 .d.ts 文件和tauri-plugin-hula目录)
'*.{js,jsx,ts,tsx,json}': [
(filenames) => {
const filteredFiles = filenames.filter((f) =>
!f.includes('src-tauri/') &&
!f.includes('tauri-plugin-hula/') &&
!f.endsWith('.d.ts')
)
return filteredFiles.length > 0
? `biome check --write --unsafe ${filteredFiles.map((f) => path.relative(process.cwd(), f)).join(' ')}`
: 'echo "No files to check"'
}
],
// Vue 文件:使用 Biome 检查和修复,然后用 Prettier 格式化
'*.vue': [
createCommand('biome check --write --unsafe', ''),
createCommand('prettier --write', '')
]
}

4
.npmrc Normal file
View File

@@ -0,0 +1,4 @@
# 配置npm镜像源 (华为云)
registry=https://repo.huaweicloud.com/repository/npm/
# 严格检查 package.json 中 "engines" 字段指定的版本要求
engine-strict=true

View File

@@ -4,4 +4,15 @@
/node_modules/**
**/*.svg
**/*.sh
/public/*
/public/*
.idea/**
.vscode/**
src-tauri/capabilities/**
src-tauri/gen/**
src-tauri/target/**
src-tauri/Cargo.toml
tauri-plugin-hula/**
CHANGELOG.md
auto-imports.d.ts
.gitee/**
.github/**

View File

@@ -1,14 +1,14 @@
{
"singleQuote": true,
"semi": false,
"printWidth": 120,
"useTabs": false,
"tabWidth": 2,
"jsxSingleQuote": false,
"trailingComma": "none",
"bracketSpacing": true,
"arrowParens": "always",
"bracketSameLine": true,
"jsxBracketSameLine": true,
"endOfLine": "lf"
}
"singleQuote": true,
"semi": false,
"printWidth": 120,
"useTabs": false,
"tabWidth": 2,
"trailingComma": "none",
"bracketSpacing": true,
"arrowParens": "always",
"bracketSameLine": true,
"endOfLine": "lf",
"vueIndentScriptAndStyle": false,
"htmlWhitespaceSensitivity": "ignore"
}

41
.release-it.json vendored Normal file
View File

@@ -0,0 +1,41 @@
{
"plugins": {
"@release-it/bumper": {
"in": ["src-tauri/tauri.*.json"],
"out": ["src-tauri/tauri.*.json"]
},
"@release-it/conventional-changelog": {
"preset": {
"name": "conventionalcommits",
"types": [
{ "type": "feat", "section": "✨ Features | 新功能" },
{ "type": "fix", "section": "🐛 Bug Fixes | Bug 修复" },
{ "type": "chore", "section": "🎫 Chores | 其他更新", "hidden": true },
{ "type": "docs", "section": "📝 Documentation | 文档", "hidden": true },
{ "type": "style", "section": "💄 Styles | 风格", "hidden": true },
{ "type": "refactor", "section": "♻️ Code Refactoring | 代码重构", "hidden": true },
{ "type": "perf", "section": "⚡️ Performance Improvements | 性能优化" },
{ "type": "test", "section": "✅ Tests | 测试", "hidden": true },
{ "type": "revert", "section": "⏪ Reverts | 回退", "hidden": true },
{ "type": "build", "section": "👷‍ Build System | 构建", "hidden": true },
{ "type": "ci", "section": "🔧 Continuous Integration | CI 配置", "hidden": true },
{ "type": "config", "section": "🔨 CONFIG | 配置", "hidden": true }
]
},
"infile": "CHANGELOG.md",
"ignoreRecommendedBump": true,
"strictSemVer": true
}
},
"git": {
"commitMessage": "chore: 发布 v${version}"
},
"npm": {
"publish": false
},
"github": {
"release": true,
"draft": true,
"releaseName": "v${version}"
}
}

32
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,32 @@
{
"configurations": [
{
"type": "node-terminal",
"name": "tauri:dev",
"request": "launch",
"command": "pnpm run tauri:dev",
"cwd": "${workspaceFolder}"
},
{
"type": "node-terminal",
"name": "tauri:ios:dev",
"request": "launch",
"command": "pnpm run tauri:ios:dev",
"cwd": "${workspaceFolder}"
},
{
"type": "node-terminal",
"name": "tauri:android:dev",
"request": "launch",
"command": "pnpm run tauri:android:dev",
"cwd": "${workspaceFolder}"
},
{
"type": "node-terminal",
"name": "tauri:build",
"request": "launch",
"command": "pnpm run tauri:build",
"cwd": "${workspaceFolder}"
}
]
}

5
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,5 @@
{
"css.customData": [".vscode/tailwindcss.json"],
"java.configuration.updateBuildConfiguration": "disabled",
"typescript.tsdk": "node_modules/typescript/lib"
}

56
.vscode/tailwindcss.json vendored Normal file
View File

@@ -0,0 +1,56 @@
{
"version": 1.1,
"atDirectives": [
{
"name": "@tailwind",
"description": "Use the `@tailwind` directive to insert Tailwind's `base`, `components`, `utilities` and `screens` styles into your CSS.",
"references": [
{
"name": "Tailwind Documentation",
"url": "https://tailwindcss.com/docs/functions-and-directives#tailwind"
}
]
},
{
"name": "@apply",
"description": "Use the `@apply` directive to inline any existing utility classes into your own custom CSS. This is useful when you find a common utility pattern in your HTML that youd like to extract to a new component.",
"references": [
{
"name": "Tailwind Documentation",
"url": "https://tailwindcss.com/docs/functions-and-directives#apply"
}
]
},
{
"name": "@responsive",
"description": "You can generate responsive variants of your own classes by wrapping their definitions in the `@responsive` directive:\n```css\n@responsive {\n .alert {\n background-color: #E53E3E;\n }\n}\n```\n",
"references": [
{
"name": "Tailwind Documentation",
"url": "https://tailwindcss.com/docs/functions-and-directives#responsive"
}
]
},
{
"name": "@screen",
"description": "The `@screen` directive allows you to create media queries that reference your breakpoints by **name** instead of duplicating their values in your own CSS:\n```css\n@screen sm {\n /* ... */\n}\n```\n…gets transformed into this:\n```css\n@media (min-width: 640px) {\n /* ... */\n}\n```\n",
"references": [
{
"name": "Tailwind Documentation",
"url": "https://tailwindcss.com/docs/functions-and-directives#screen"
}
]
},
{
"name": "@variants",
"description": "Generate `hover`, `focus`, `active` and other **variants** of your own utilities by wrapping their definitions in the `@variants` directive:\n```css\n@variants hover, focus {\n .btn-brand {\n background-color: #3182CE;\n }\n}\n```\n",
"references": [
{
"name": "Tailwind Documentation",
"url": "https://tailwindcss.com/docs/functions-and-directives#variants"
}
]
}
]
}

13
.vscode/tasks.json vendored Normal file
View File

@@ -0,0 +1,13 @@
{
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "tauri:build:debug",
"group": "build",
"problemMatcher": [],
"label": "npm: tauri:build:debug",
"detail": "tauri build --debug"
}
]
}

View File

@@ -1,72 +1,564 @@
## <small>1.2.9 (2024-03-08)</small>
* :bug: fix(custom): 修复因为版本号书写问题导致打包失败 ([cd3a078](https://github.com/nongyehong/HuLa-IM-Tauri/commit/cd3a078))
* :construction_worker: ci(custom): 修改ci配置文件 ([d09acb2](https://github.com/nongyehong/HuLa-IM-Tauri/commit/d09acb2))
* :construction_worker: ci(custom): 修改git地址 ([9943683](https://github.com/nongyehong/HuLa-IM-Tauri/commit/9943683))
* :construction_worker: ci(custom): 修改tauri.conf.json配置 ([a3002c8](https://github.com/nongyehong/HuLa-IM-Tauri/commit/a3002c8))
* :package: build(custom): 提交autoimport组件的文件 ([36bf9d6](https://github.com/nongyehong/HuLa-IM-Tauri/commit/36bf9d6))
* :sunflower: update(custom): 更新mac配置 ([8f8babd](https://github.com/nongyehong/HuLa-IM-Tauri/commit/8f8babd))
## [2.6.13](https://github.com/HuLaSpark/HuLa/compare/v2.6.12...v2.6.13) (2025-07-04)
### ✨ Features | 新功能
## <small>1.2.9-alpha (2024-03-08)</small>
* :bug: fix(custom): 修复跨标签页没有判断类型的问题 ([e4acbd5](https://github.com/nongyehong/HuLa-IM-Tauri/commit/e4acbd5))
* :sparkles: feat(custom): 新增聊天页面页脚显示功能 ([ebd7a41](https://github.com/nongyehong/HuLa-IM-Tauri/commit/ebd7a41))
* :sunflower: update(custom): 更新登录界面样式 ([2394aa2](https://github.com/nongyehong/HuLa-IM-Tauri/commit/2394aa2))
* :sunflower: update(custom): 更新好友和群聊详情页面 ([16007a2](https://github.com/nongyehong/HuLa-IM-Tauri/commit/16007a2))
* :sunflower: update(custom): 更新气泡动画 ([e8dc441](https://github.com/nongyehong/HuLa-IM-Tauri/commit/e8dc441))
* :sunflower: update(custom): 更新项目主要依赖版本 ([2a609ff](https://github.com/nongyehong/HuLa-IM-Tauri/commit/2a609ff))
* :sunflower: update(custom): 更新悬浮按钮样式,修复已知的部分问题 ([1f01b7b](https://github.com/nongyehong/HuLa-IM-Tauri/commit/1f01b7b))
* **component:** :sparkles: 增加文件类型(除语音、视频)等文件类型的样式兼容 ([99711a7](https://github.com/HuLaSpark/HuLa/commit/99711a73f3296eaefe1281251f76303465cd72d5))
* **component:** :sparkles:增加上传视频、文件、音频等功能 ([#292](https://github.com/HuLaSpark/HuLa/issues/292)) ([203af0d](https://github.com/HuLaSpark/HuLa/commit/203af0d06030a6b19c5a2a4705098073f0e9000d))
* **view:** :sparkles: 保持窗口位置和大小 ([#287](https://github.com/HuLaSpark/HuLa/issues/287)) ([dfc29fa](https://github.com/HuLaSpark/HuLa/commit/dfc29fa3ed19313f4bc8539a0c788d8c6df3eaab))
### 🐛 Bug Fixes | Bug 修复
## <small>1.2.8-alpha (2024-03-06)</small>
* :bug: fix(custom): 回退vite版本5.0.12导致启动不了端口服务的问题 ([ba99bb2](https://github.com/nongyehong/HuLa-IM-Tauri/commit/ba99bb2))
* :bug: fix(custom): 修复新建窗口的问题,修复窗口背景的问题 ([f1010e4](https://github.com/nongyehong/HuLa-IM-Tauri/commit/f1010e4))
* :bug: fix(custom): 修复已知的问题 ([600e224](https://github.com/nongyehong/HuLa-IM-Tauri/commit/600e224))
* :bug: fix(custom): 修复因为配置的问题导致的代码格式化 ([ed4d825](https://github.com/nongyehong/HuLa-IM-Tauri/commit/ed4d825))
* :lipstick: style(custom): 使用.editorconfig和.gitattributes来约束行分隔符和编辑器设置 ([72808d8](https://github.com/nongyehong/HuLa-IM-Tauri/commit/72808d8))
* :sparkles: feat(custom): 新增登录页面样式 ([8f0d27e](https://github.com/nongyehong/HuLa-IM-Tauri/commit/8f0d27e))
* :sparkles: feat(custom): 新增动态页面 ([196d2d1](https://github.com/nongyehong/HuLa-IM-Tauri/commit/196d2d1))
* :sparkles: feat(custom): 新增好友和群聊详情页 ([b11593d](https://github.com/nongyehong/HuLa-IM-Tauri/commit/b11593d))
* :sparkles: feat(custom): 新增好友聊天页面设置侧边栏 ([6a1688b](https://github.com/nongyehong/HuLa-IM-Tauri/commit/6a1688b))
* :sparkles: feat(custom): 新增护眼主题隐藏窗口默认顶部菜单栏优化rust打包配置 ([295bde5](https://github.com/nongyehong/HuLa-IM-Tauri/commit/295bde5))
* :sparkles: feat(custom): 新增聊天页面的总体样式 ([5e21671](https://github.com/nongyehong/HuLa-IM-Tauri/commit/5e21671))
* :sparkles: feat(custom): 新增输入框功能 ([009c3b0](https://github.com/nongyehong/HuLa-IM-Tauri/commit/009c3b0))
* :sparkles: feat(custom): 新增拖拽排序、消息移除功能 ([393a689](https://github.com/nongyehong/HuLa-IM-Tauri/commit/393a689))
* :sparkles: feat(custom): 新增消息气泡功能(第一版) ([2f2bd45](https://github.com/nongyehong/HuLa-IM-Tauri/commit/2f2bd45))
* :sparkles: feat(custom): 新增右键菜单功能,修复隐藏顶部菜单栏后无法拖拽的问题 ([1b6e719](https://github.com/nongyehong/HuLa-IM-Tauri/commit/1b6e719))
* :sparkles: feat(custom): 新增元素平滑上升的vue指令 ([e973799](https://github.com/nongyehong/HuLa-IM-Tauri/commit/e973799))
* :sparkles: feat(custom): 新增主题切换功能,修复一些已知的问题 ([b6f668f](https://github.com/nongyehong/HuLa-IM-Tauri/commit/b6f668f))
* :sparkles: feat(custom): 新增unocss及其插件 ([2af6767](https://github.com/nongyehong/HuLa-IM-Tauri/commit/2af6767))
* :sunflower: update(custom): 更新侧边栏功能显示 ([acc0194](https://github.com/nongyehong/HuLa-IM-Tauri/commit/acc0194))
* :sunflower: update(custom): 更新登录页面的样式,新增二维码登录页面 ([3fbc6b0](https://github.com/nongyehong/HuLa-IM-Tauri/commit/3fbc6b0))
* :sunflower: update(custom): 更新登录页面和多窗口的样式 ([be6bc2d](https://github.com/nongyehong/HuLa-IM-Tauri/commit/be6bc2d))
* :sunflower: update(custom): 更新登录页面样式,更新主页的列表样式 ([ad69ada](https://github.com/nongyehong/HuLa-IM-Tauri/commit/ad69ada))
* :sunflower: update(custom): 更新聊天框页面的图标样式 ([60bc859](https://github.com/nongyehong/HuLa-IM-Tauri/commit/60bc859))
* :sunflower: update(custom): 更新图标,新增系统托盘功能 ([3f1ea39](https://github.com/nongyehong/HuLa-IM-Tauri/commit/3f1ea39))
* :sunflower: update(custom): 更新图标风格和主题颜色 ([db566cd](https://github.com/nongyehong/HuLa-IM-Tauri/commit/db566cd))
* :sunflower: update(custom): 更新依赖版本 ([5c26e4e](https://github.com/nongyehong/HuLa-IM-Tauri/commit/5c26e4e))
* :sunflower: update(custom): 更新用户列表样式 ([80ff121](https://github.com/nongyehong/HuLa-IM-Tauri/commit/80ff121))
* :sunflower: update(custom): 更新右键菜单到信息和用户列表中 ([487767c](https://github.com/nongyehong/HuLa-IM-Tauri/commit/487767c))
* :sunflower: update(custom): 更新右键菜单位置抉择 ([070d1e6](https://github.com/nongyehong/HuLa-IM-Tauri/commit/070d1e6))
* :sunflower: update(custom): 更新右键菜单样式,新增聊天输入框右键菜单 ([4224cbd](https://github.com/nongyehong/HuLa-IM-Tauri/commit/4224cbd))
* :sunflower: update(custom): 更新主页的收缩功能 ([6f58e78](https://github.com/nongyehong/HuLa-IM-Tauri/commit/6f58e78))
* :sunflower: update(custom): 更新主页的样式 ([bf94200](https://github.com/nongyehong/HuLa-IM-Tauri/commit/bf94200))
* :sunflower: update(custom): 更新主页的样式 ([6a39060](https://github.com/nongyehong/HuLa-IM-Tauri/commit/6a39060))
* :sunflower: update(custom): 更新主页消息列表样式 ([910a6c4](https://github.com/nongyehong/HuLa-IM-Tauri/commit/910a6c4))
* :sunflower: update(custom): 升级vue、vue-tsc、TS、vite版本 ([27e7bd0](https://github.com/nongyehong/HuLa-IM-Tauri/commit/27e7bd0))
* **common:** :bug: 修复未提示用户错误弹框问题 ([916ab6c](https://github.com/HuLaSpark/HuLa/commit/916ab6c56aeab81b99a14fd2fc6200ffd2226a6a))
* **component:** :bug: 修复mac启动依赖问题 ([81d3bc9](https://github.com/HuLaSpark/HuLa/commit/81d3bc9f018ea9ba29baae5867e36cc3d2b35eea))
* **component:** :bug: 用户修改当前群聊昵称显示问题 ([e4c43ae](https://github.com/HuLaSpark/HuLa/commit/e4c43aee74d534f2f9d3ee45a97aeb2d3ecfffa6))
* **hook:** :bug: 修复pinia初始化报错问题 ([c9cdcc0](https://github.com/HuLaSpark/HuLa/commit/c9cdcc0cc585d260b416c680bc5ccd20dee74526))
* macos开发模式样式不生效 ([#299](https://github.com/HuLaSpark/HuLa/issues/299)) ([0a1f4ec](https://github.com/HuLaSpark/HuLa/commit/0a1f4ecd180ad55fdc5be58c1e6798065f37f48e))
* **service:** :bug: 修复网络设置后缀为空时调用接口失败的bug ([cb1fb70](https://github.com/HuLaSpark/HuLa/commit/cb1fb701818f1411da76f0dea3b3e8aef1d049de))
* **view:** :bug: 修复文件类型气泡的样式和上传分片功能 ([57ac5c9](https://github.com/HuLaSpark/HuLa/commit/57ac5c98b7be12113367b54406d72f794a1a96e4))
* **view:** :bug: 只保持主窗口窗口大小 ([8164e91](https://github.com/HuLaSpark/HuLa/commit/8164e916704dce7f197387f623688a865fe67011))
### ⚡️ Performance Improvements | 性能优化
## 1.0.0-alpha (2023-12-16)
* **component:** :zap: 优化webSocket的重连性能和网络检测方法 ([54f32ee](https://github.com/HuLaSpark/HuLa/commit/54f32eec5f4260501c75fa23459ecbcc82e17cb4))
* **service:** :zap: 优化webSocket重连机制 ([18ffde1](https://github.com/HuLaSpark/HuLa/commit/18ffde1d49bd661ffc283d68e959b669c4bbb54d))
* **store:** :zap: 优化刷新会话列表后,时间和最新消息简介没有更新的问题 ([d2ab29b](https://github.com/HuLaSpark/HuLa/commit/d2ab29bfd585218447641368a55069286e5e2714))
* :new: version(custom): 发布v1.0.0-alpha版本 ([d2ac653](https://github.com/nongyehong/HuLa-IM-Tauri/commit/d2ac653))
* :sunflower: update(custom): 更新cz-customizable配置 ([43145e0](https://github.com/nongyehong/HuLa-IM-Tauri/commit/43145e0))
* init 初始化仓库 ([85a59e8](https://github.com/nongyehong/HuLa-IM-Tauri/commit/85a59e8))
* init 初始化项目配置 ([0b48de8](https://github.com/nongyehong/HuLa-IM-Tauri/commit/0b48de8))
## [2.6.12](https://github.com/HuLaSpark/HuLa/compare/v2.6.11...v2.6.12) (2025-05-25)
### ✨ Features | 新功能
* **component:** :sparkles: 增加右键emoji可以另存为 ([0dfdfc1](https://github.com/HuLaSpark/HuLa/commit/0dfdfc1269256baa59316b7936db94468b733b69))
* **hook:** :sparkles: 增强文本选择复制 ([791b9cc](https://github.com/HuLaSpark/HuLa/commit/791b9cc69485d9c8245396d72cca834ac9a61aa0)), closes [#279](https://github.com/HuLaSpark/HuLa/issues/279)
### 🐛 Bug Fixes | Bug 修复
* 修复ws链接断开没有重试问题 ([#276](https://github.com/HuLaSpark/HuLa/issues/276)) ([e068a25](https://github.com/HuLaSpark/HuLa/commit/e068a253e5215aacb606f852087e5e9e67010404))
* **agreement:** :bug: 安装界面乱码 ([#277](https://github.com/HuLaSpark/HuLa/issues/277)) ([13c528a](https://github.com/HuLaSpark/HuLa/commit/13c528a35e11ee5fa7325beb1fcef8d28f2550e3)), closes [#275](https://github.com/HuLaSpark/HuLa/issues/275)
* **hook:** :bug: 修复除emoji类型和图片类型都可以另存为的bug ([d2b6ab2](https://github.com/HuLaSpark/HuLa/commit/d2b6ab25d6fd7ea5a4e9df1d287fe3d3cc9a1b58))
* **hook:** :bug: 修复mac系统右键会选中文本的问题 ([7e762e8](https://github.com/HuLaSpark/HuLa/commit/7e762e8524df0d17f85ca71eedb95d01dea7c8d3))
* **hook:** :bug: 暂时移除/唤起ai快捷键识别 ([4a1a05c](https://github.com/HuLaSpark/HuLa/commit/4a1a05cf51b4bab670b2da5faac43bf33f902998))
* **input:** :bug: 修复mac下输入框检查拼写和字母大小写问题 ([f8602e5](https://github.com/HuLaSpark/HuLa/commit/f8602e56ebbf4ae90f5f5dc7e7cebee317bf4ab4))
* **mac:** :bug: 修复mac下点击关闭按钮无法关闭home窗口问题 ([2a63046](https://github.com/HuLaSpark/HuLa/commit/2a63046bbd2d7c4cd484d456c708ab47bdc8e792))
* **view:** :bug: 修复托盘菜单内容不展示问题和托盘图标闪烁后不展示问题 ([c927be4](https://github.com/HuLaSpark/HuLa/commit/c927be4c3fd00cdde9f93c15793ea56ce5b11d14))
* **view:** :bug: 修改邮箱输入框长度限制 ([61618db](https://github.com/HuLaSpark/HuLa/commit/61618db93cbe9512eceb66fbc50006a90f7d44f1)), closes [#278](https://github.com/HuLaSpark/HuLa/issues/278)
* **worker:** :bug: 修复ws在重连后清空token导致无法对应获取消息问题 ([030fed7](https://github.com/HuLaSpark/HuLa/commit/030fed7d60a6eb03dccb49e6f108b2b5d67161e4))
### ⚡️ Performance Improvements | 性能优化
* **global:** :zap: 增加ws健康检查兜底刷新最新消息内容、网络断线恢复重连 ([f734dca](https://github.com/HuLaSpark/HuLa/commit/f734dca910b17e3dd8a4d8e5e58cae3e7caaa333))
## [2.6.11](https://github.com/HuLaSpark/HuLa/compare/v2.6.10...v2.6.11) (2025-05-18)
### ⚠ BREAKING CHANGES
* **component:** webSocket的计时器调整为worker计时器
### ✨ Features | 新功能
* **view:** :sparkles: 新增重置密码功能 ([b45cfd2](https://github.com/HuLaSpark/HuLa/commit/b45cfd22120c9fe46fead1fcb9daf5cc7b25f423))
* **view:** :sparkles: 增加修订版本更新检测修复每次版本变动都更新的bug ([#271](https://github.com/HuLaSpark/HuLa/issues/271)) ([833d09e](https://github.com/HuLaSpark/HuLa/commit/833d09efe4e218d483c37a87cb1bdd39443f46c7))
### 🐛 Bug Fixes | Bug 修复
* **component:** :bug: 点击头像弹出个人信息面板 ([#273](https://github.com/HuLaSpark/HuLa/issues/273)) ([eaa4288](https://github.com/HuLaSpark/HuLa/commit/eaa42885c33a03d84cc2999c6a77a1eb4d5baf0a))
* **component:** :bug: 修复回复消息表情不展示问题 ([f33f41d](https://github.com/HuLaSpark/HuLa/commit/f33f41d41f0f60fb5ab9e0cff6305b0cef548eea))
* **component:** :bug: 修复图片截图功能文件大小问题 ([f816314](https://github.com/HuLaSpark/HuLa/commit/f816314115a02e10241f299536db9e54854a510f))
* **component:** :bug: 修复因公告宽度导致聊天框布局混乱问题 ([2753e89](https://github.com/HuLaSpark/HuLa/commit/2753e89dd52f7a4a66eca3ffe5e8189bdc266170))
* **component:** :bug: 修复mac下更新提示窗口可以调整大小、拖动、标题栏显示问题 ([c761486](https://github.com/HuLaSpark/HuLa/commit/c76148687cd86b2f56d34525bc3d56b859d74a13))
* **component:** :bug: 优化windows上群聊的展示时机和样式 ([92dba12](https://github.com/HuLaSpark/HuLa/commit/92dba1218ffc113e9ea492c1ead20732c40bce32))
* **ios:** :bug: 修复ios init导致无法启动问题 ([3ef1666](https://github.com/HuLaSpark/HuLa/commit/3ef1666ef7eadae9990fbeed357b5c1ccc085c12))
* **notify:** :bug: 修复免打扰时还会触发托盘图标闪烁(windows) ([02ef835](https://github.com/HuLaSpark/HuLa/commit/02ef83585549851836b11dc1e58e7f47e5a06754))
* **view:** :bug: 修复系统托盘闪烁和提示菜单内容不显示问题 ([4954b1c](https://github.com/HuLaSpark/HuLa/commit/4954b1cc241ed0275619d7c3b7db2b7ead7e680e))
* **view:** :bug: 修复系统托盘信息提示菜单内容展示问题和点击跳转问题 ([2c8b15c](https://github.com/HuLaSpark/HuLa/commit/2c8b15cd3a971de02c50c682b2f3b8902ba52479))
* **view:** :bug: 修复win下忘记密码页面背景颜色问题 ([bd825e0](https://github.com/HuLaSpark/HuLa/commit/bd825e0c32534be3cce4788de8b53d9c686c7464))
### ⚡️ Performance Improvements | 性能优化
* **component:** :zap: 优化群聊成员和公告展示、以及完成搜索会话功能 ([a8bf8e0](https://github.com/HuLaSpark/HuLa/commit/a8bf8e00aba0ea0df35cc165ae0fc71aa333e511))
* **component:** :zap: 优化消息回复表情功能 ([2081e99](https://github.com/HuLaSpark/HuLa/commit/2081e99d4ad45b8f13ebf57ae7f6b5cceb6f1dbc))
* **component:** :zap: 优化emoji的样式和展示 ([f0aa001](https://github.com/HuLaSpark/HuLa/commit/f0aa0014a9d6a5ff32a537f4900a61ce340db6de))
* **service:** :zap: 优化websocket可以在窗口隐藏后继续监听 ([884a53e](https://github.com/HuLaSpark/HuLa/commit/884a53e4484a1a0d0efbcb17f5761ddd80409461))
* **view:** :zap: 优化在登录框下未提示更新、右下角窗口可拖动问题 ([777951b](https://github.com/HuLaSpark/HuLa/commit/777951bb8cff2383611a81e9aaaa4fc2c2e7f6a6))
## [2.6.10](https://github.com/HuLaSpark/HuLa/compare/v2.6.9...v2.6.10) (2025-05-05)
### ✨ Features | 新功能
* **component:** :sparkles: 增加公告类型消息 ([f0b0656](https://github.com/HuLaSpark/HuLa/commit/f0b0656ddc874a597a49de2e4f8666913730e759))
* **view:** :sparkles: 新增发布群公告功能 ([#259](https://github.com/HuLaSpark/HuLa/issues/259)) ([87fc30d](https://github.com/HuLaSpark/HuLa/commit/87fc30d170996022379b45d9b94110edbe1c5c74))
### 🐛 Bug Fixes | Bug 修复
* **chat:** 隔离聊天窗口内部数据 ([#258](https://github.com/HuLaSpark/HuLa/issues/258)) ([635f729](https://github.com/HuLaSpark/HuLa/commit/635f72996b8e03e1c00bc20fe9ad870ae8d303f4))
* **component:** :bug: 修复表情包圆角样式 ([e5e1725](https://github.com/HuLaSpark/HuLa/commit/e5e1725d42b41c2bc518e5f4c91cbdbb5f2a3421))
* **component:** :bug: 修复公告排序问题、公告加载更多重复数据问题 ([8d21d22](https://github.com/HuLaSpark/HuLa/commit/8d21d2228a6f743faa1aa4bf635d9fe8d41efd1f))
* **component:** :bug: 修复链接卡片无法点击后默认浏览器打开的问题 ([296a944](https://github.com/HuLaSpark/HuLa/commit/296a944c9f0312548e668ae1a6b831d821b502d2))
* **component:** :bug: 修复全选意外选中全部内容的问题 ([6616a93](https://github.com/HuLaSpark/HuLa/commit/6616a932c57a7189d1540575332471d03684f49b))
* **component:** :bug: 修改群聊中群消息设置逻辑 ([62460fb](https://github.com/HuLaSpark/HuLa/commit/62460fbfe04802764d5a4d60430d587ecbee528d))
* **component:** :bug: 修改url文本解析样式 ([0d5455c](https://github.com/HuLaSpark/HuLa/commit/0d5455c9c590406878c572b667dbf8d21ae7a5b1))
* **readme:** :bug: 修改readme中的描述 ([91feb14](https://github.com/HuLaSpark/HuLa/commit/91feb14ff4fa77c6bb11aeddd90863cd197fec78))
### ⚡️ Performance Improvements | 性能优化
* **component:** :zap: 优化消息点赞和不满功能 ([4d17127](https://github.com/HuLaSpark/HuLa/commit/4d171273e9ba4f6e584206720eeae636d72626e6))
## [2.6.9](https://github.com/HuLaSpark/HuLa/compare/v2.6.8...v2.6.9) (2025-04-20)
### ✨ Features | 新功能
* 回复可以回复表情包、图片 ([#251](https://github.com/HuLaSpark/HuLa/issues/251)) ([4180906](https://github.com/HuLaSpark/HuLa/commit/418090604a08a189ae94d487f762406a3bc853ab))
* **hooks:** 优化消息类型判断逻辑 ([#249](https://github.com/HuLaSpark/HuLa/issues/249)) ([82c3fd5](https://github.com/HuLaSpark/HuLa/commit/82c3fd529c96153a198f1425d02751173761de0b))
* **view:** :sparkles: 新增中版本强制更新功能 ([#252](https://github.com/HuLaSpark/HuLa/issues/252)) ([edbd3de](https://github.com/HuLaSpark/HuLa/commit/edbd3defccdfe0d1b6163e82193316f3044217db)), closes [#183](https://github.com/HuLaSpark/HuLa/issues/183) [#183](https://github.com/HuLaSpark/HuLa/issues/183) [#183](https://github.com/HuLaSpark/HuLa/issues/183)
* **view:** :sparkles: 新增子窗口创建方式和邀请加群功能 ([b2a15ca](https://github.com/HuLaSpark/HuLa/commit/b2a15ca5e219b32115702d06f937a396ddaf57c5))
* **worker:** :sparkles: 代理实现 ([#232](https://github.com/HuLaSpark/HuLa/issues/232)) ([d4bf21d](https://github.com/HuLaSpark/HuLa/commit/d4bf21d464cc1faea22abcb5369daef6360cd1e0)), closes [#197](https://github.com/HuLaSpark/HuLa/issues/197)
### 🐛 Bug Fixes | Bug 修复
* 修复回复框错位 BUG ([#256](https://github.com/HuLaSpark/HuLa/issues/256)) ([e46ee95](https://github.com/HuLaSpark/HuLa/commit/e46ee95bb872812101fb0938a6ffdf161a28308f)), closes [#253](https://github.com/HuLaSpark/HuLa/issues/253)
* **common:** :bug: 修复回复表情包或者emoji的时候位置偏移 ([f9a2b18](https://github.com/HuLaSpark/HuLa/commit/f9a2b184735a718ea1063f0914837d0bef36367c))
* **common:** :bug: 修复FloatBlockList组件悬浮层bug ([2b9a7ed](https://github.com/HuLaSpark/HuLa/commit/2b9a7edaef876aeea2a9c4605e136c413675a4f2))
* **config:** :bug: 修复renovate配置问题 ([6b02f3f](https://github.com/HuLaSpark/HuLa/commit/6b02f3fc61f73bf65e594e9aa23aa610996be429))
* **hook:** :bug: 修复回复时出现空格符和回复替换等问题 ([b8c3c4e](https://github.com/HuLaSpark/HuLa/commit/b8c3c4eec26212a584f3e368c7b4782b2c5e8f07))
* **hook:** :bug: 修改mac下子窗口创建逻辑 ([7f8795c](https://github.com/HuLaSpark/HuLa/commit/7f8795c36a158359aaf82e491c927ddf5c80c8ee))
* **hooks:** :bug: 修复一些xss的问题 ([bcce4a0](https://github.com/HuLaSpark/HuLa/commit/bcce4a01d4a0955d82dcbb82ec570435fa69a343))
* **layout:** :bug: 回退增加系统通知功能 ([c7fbdd7](https://github.com/HuLaSpark/HuLa/commit/c7fbdd7a0290355a186732f2419ceddc20741e01))
* **message:** 将消息内容解析为文本而不当做 HTML 处理 [#237](https://github.com/HuLaSpark/HuLa/issues/237) ([#246](https://github.com/HuLaSpark/HuLa/issues/246)) ([3441b8a](https://github.com/HuLaSpark/HuLa/commit/3441b8a28286c9e69f27338a6974ebd26eeb69bf))
* **Plugins:** :bug: 修复插件卸载后,重新打开插件列表,状态依旧是安装状态问题 ([#247](https://github.com/HuLaSpark/HuLa/issues/247)) ([3cee949](https://github.com/HuLaSpark/HuLa/commit/3cee9498d79a0f2b00fd5ecbac87f3d260d4b449))
* **Plugins:** :bug: 修复插件卸载后重新打开插件列表状态依旧是安装状态问题list布局 ([#248](https://github.com/HuLaSpark/HuLa/issues/248)) ([9e4f31e](https://github.com/HuLaSpark/HuLa/commit/9e4f31ea526230a0ce0e1f8b48302c3dc5792eb8))
* **view:** :bug: 修复会话中转义字符的问题 ([b793f71](https://github.com/HuLaSpark/HuLa/commit/b793f71f26507a4e9b6402dd8a3dd3cfac75c5f8))
### ⚡️ Performance Improvements | 性能优化
* **component:** :zap: 优化链接的展示和解析 ([74bf370](https://github.com/HuLaSpark/HuLa/commit/74bf3702c73b751c0e3165c357064136896d548f))
* **component:** :zap: 优化屏蔽后的逻辑 ([2a5b9de](https://github.com/HuLaSpark/HuLa/commit/2a5b9de68b64ceacd535074aaf6284060d869918))
* **component:** :zap: 优化群备注和群昵称(beta) ([fab231a](https://github.com/HuLaSpark/HuLa/commit/fab231a9166acac97d50426109e2e37364a2d794))
* **rust:** :zap: 修改mac系统托盘的右键菜单 ([6dbfa49](https://github.com/HuLaSpark/HuLa/commit/6dbfa496b4c18581e5915890033c6ebdf65a6976))
## [2.6.8](https://github.com/HuLaSpark/HuLa/compare/v2.6.7...v2.6.8) (2025-03-26)
### ✨ Features | 新功能
* **component:** :sparkles: 增加兼容七牛云上传功能 ([eca26a9](https://github.com/HuLaSpark/HuLa/commit/eca26a977d315da23dec8c178b96b7db3b8a804f))
* **component:** :sparkles: 增加邮箱登录、PIN输入框 ([4be6db7](https://github.com/HuLaSpark/HuLa/commit/4be6db7d31e77efd93cef9c4108ae0a8cc7ef2e0))
### 🐛 Bug Fixes | Bug 修复
* **chat:** 修复回复消息导致光标偏移 [#223](https://github.com/HuLaSpark/HuLa/issues/223) ([#224](https://github.com/HuLaSpark/HuLa/issues/224)) ([2cbf727](https://github.com/HuLaSpark/HuLa/commit/2cbf7273fb107de1bf363958758aa0a61e1206b4))
* **component:** 🐛 使用setShow手动触发Popover显示 ([#230](https://github.com/HuLaSpark/HuLa/issues/230)) ([28fdc79](https://github.com/HuLaSpark/HuLa/commit/28fdc79e1891ca0f81cafe44d65c806bf2bda4f8)), closes [#210](https://github.com/HuLaSpark/HuLa/issues/210) [#210](https://github.com/HuLaSpark/HuLa/issues/210) [#210](https://github.com/HuLaSpark/HuLa/issues/210)
* **hooks:** replace focus call with focusOn function in useMsgInput ([#227](https://github.com/HuLaSpark/HuLa/issues/227)) ([9deefc0](https://github.com/HuLaSpark/HuLa/commit/9deefc0fa21df42def3aac8012d622e46a270ef4)), closes [#151](https://github.com/HuLaSpark/HuLa/issues/151)
* Implement placeholder by CSS ([#226](https://github.com/HuLaSpark/HuLa/issues/226)) ([9e867c6](https://github.com/HuLaSpark/HuLa/commit/9e867c672c482e3ca38b03033d80cd79df1c457d))
## [2.6.7](https://github.com/HuLaSpark/HuLa/compare/v2.6.6...v2.6.7) (2025-03-18)
### ✨ Features | 新功能
* **component:** :sparkles: 增加表情包功能 ([f0e9f27](https://github.com/HuLaSpark/HuLa/commit/f0e9f27c5fbf28759c5f6520ba49af5649714bb1))
* **component:** :sparkles: 增加动画表情处理 ([bc65a3b](https://github.com/HuLaSpark/HuLa/commit/bc65a3bd5a97255dbaade6fc4f5e63f29647fdcf))
* **component:** :sparkles: 增加会话列表右键菜单功能(免打扰) ([6731c89](https://github.com/HuLaSpark/HuLa/commit/6731c89c32ed32c38d1913876d3e9df3d168f969))
* **component:** :sparkles: 增加localStorage缓存消息列表(暂时) ([e714431](https://github.com/HuLaSpark/HuLa/commit/e7144313a4858bd5c918e9d9a4d377b0ce8cadbc))
* **vite:** add vite-plugin-vue-devtools for enhanced debugging ([#219](https://github.com/HuLaSpark/HuLa/issues/219)) ([a8b548c](https://github.com/HuLaSpark/HuLa/commit/a8b548cb0bca1eedcd5d16e4589eded8761d2455))
### 🐛 Bug Fixes | Bug 修复
* **chat-editor:** record cursor position correctly ([#221](https://github.com/HuLaSpark/HuLa/issues/221)) ([6ad6c58](https://github.com/HuLaSpark/HuLa/commit/6ad6c586912eeeb04a6ea49d9bbf0b5962fdfcc6))
* **component:** :bug: 完善消息免打扰功能和样式 ([0eed677](https://github.com/HuLaSpark/HuLa/commit/0eed67780521a28cb51a4272498add8f008f784f))
* **component:** :bug: 修复缓存存储问题、会话切换后聊天框内容混合问题 ([51b7d62](https://github.com/HuLaSpark/HuLa/commit/51b7d621fad80cee15aedf201068103c4e88a23d))
* **component:** :bug: 修复回复的内容宽度问题 ([0dcddfc](https://github.com/HuLaSpark/HuLa/commit/0dcddfc810b731e194c2a37f16d56473bbf0607a))
* **component:** :bug: 修复新消息回复无法跳转问题 ([65264b3](https://github.com/HuLaSpark/HuLa/commit/65264b3dacb8820a9938f107408ec31306a0738e))
* **component:** :bug: 修复用户上线推送的数据类型错误问题 ([474a388](https://github.com/HuLaSpark/HuLa/commit/474a3886f45476e2640a86f3fb8c991fc96399ee))
* **component:** :bug: 修复右键二级菜单图标错误bug ([0b97ccb](https://github.com/HuLaSpark/HuLa/commit/0b97ccb76785e5f8a13466ad93a8b32beb213572))
* **component:** :bug: 修复win下聊天框滚动条隐藏坍塌问题和会话快速切换的异步竞态问题 ([a39c054](https://github.com/HuLaSpark/HuLa/commit/a39c054b6264fb2cc0addfb2d1970b880ba53fd4))
* **layout:** :bug: 修复F5刷新会使窗口变大的bug ([#214](https://github.com/HuLaSpark/HuLa/issues/214)) ([51baa1a](https://github.com/HuLaSpark/HuLa/commit/51baa1a907a1339d354fbe3f131cdf87a9d9a49a))
* **store:** :bug: 修复群聊列表获取不到问题(后续把stores中定义的reactive换为ref) ([40e9786](https://github.com/HuLaSpark/HuLa/commit/40e97862153a084542bb263f2d5bd33f3dc39472))
* **util:** :bug: 修复消息上报在未登录的时候触发问题 ([34e6633](https://github.com/HuLaSpark/HuLa/commit/34e663373b1885fab34724b6ef2091a9bb9a9bc0))
* **view:** :bug: 修复重新启动应用后的登录逻辑 ([1560cb4](https://github.com/HuLaSpark/HuLa/commit/1560cb4a0bc8729f4b008ba8c96ee6918a8b6dfe))
### ⚡️ Performance Improvements | 性能优化
* **component:** :zap: 优化好友申请列表 ([52f9047](https://github.com/HuLaSpark/HuLa/commit/52f9047299282c1d5b2f67efbd6f2fc865fc476e))
* **component:** :zap: 优化好友申请列表和群详情 ([15d16e5](https://github.com/HuLaSpark/HuLa/commit/15d16e567f2082c0ee87939a9816e1c7c84ae362))
* **component:** :zap: 优化好友页面和聊天页面切换需要重新加载问题 ([20f52e4](https://github.com/HuLaSpark/HuLa/commit/20f52e471bd8684036b1ecfa8ecf6064ea75cc18))
* **component:** :zap: 优化群聊操作(我的群昵称、群备注、群名称) ([dcf4664](https://github.com/HuLaSpark/HuLa/commit/dcf4664a185b6ab83b324a9e40e191b99c6e09a9))
* **component:** :zap: 优化群聊详情显示 ([6960555](https://github.com/HuLaSpark/HuLa/commit/696055585c9d734d069b0d9d797aad7b62cd88ee))
* **component:** :zap: 优化头像上传功能(群头像) ([7e865c7](https://github.com/HuLaSpark/HuLa/commit/7e865c7cb0e6f1c6d4fb87c1a95a8aa2471304fa))
* **component:** :zap: 优化消息列表 ([1bc38ba](https://github.com/HuLaSpark/HuLa/commit/1bc38ba4c1dea8d0ca830166b9bbbc3e6f41c845))
* **component:** :zap: 优化虚拟列表 ([19d699b](https://github.com/HuLaSpark/HuLa/commit/19d699b19f7e324ca01c852400add6a98ed3ef5f))
* **component:** :zap: 优化虚拟列表滚动掉帧问题 ([3bea8d9](https://github.com/HuLaSpark/HuLa/commit/3bea8d9f02ae179528b8673eb3f9cc6894a58381))
* **component:** :zap: 优化虚拟列表加载更多闪屏的问题和消息气泡动画问题 ([530ce3e](https://github.com/HuLaSpark/HuLa/commit/530ce3e63d74d97a2fbc10ad862a7fe166365bb0))
* **component:** :zap: 优化右键二级菜单弹出的问题 ([90d55bb](https://github.com/HuLaSpark/HuLa/commit/90d55bb4baefa287fd458ed8f089786a9fb5d372))
* **component:** :zap: 优化右键二级菜单点击事件不触发问题、拆分屏蔽消息和免打扰功能 ([29bec4f](https://github.com/HuLaSpark/HuLa/commit/29bec4f373d2e8ce1dbcc5a88d02844b70a0b9e1))
* **view:** :zap: 优化群主管理员标签样式 ([64eefbe](https://github.com/HuLaSpark/HuLa/commit/64eefbe7bdaef03b4598776c64f01ecdbe90626d))
* **view:** :zap: 优化申请群聊功能 ([c492c0d](https://github.com/HuLaSpark/HuLa/commit/c492c0d18e9b0288ae45827b71bd29f4632bb636))
* **view:** :zap: 优化项目中类型的编写和定义方式 ([a832dc1](https://github.com/HuLaSpark/HuLa/commit/a832dc1220468de33f724c78256047a84ff62811))
# Changelog
## <small>2.6.6 (2025-03-01)</small>
* fix(global): :bug: 修复一些内容的类型问题 ([2c16343](https://github.com/HuLaSpark/HuLa/commit/2c16343))
* fix(service): :bug: 修复oss接口配置问题 ([5e2f6e4](https://github.com/HuLaSpark/HuLa/commit/5e2f6e4))
* perf(component): :zap: 优化一些功能的操作体验和样式 ([31c1709](https://github.com/HuLaSpark/HuLa/commit/31c1709))
* perf(service): :zap: 优化http模块 ([801ec4e](https://github.com/HuLaSpark/HuLa/commit/801ec4e))
* feat(component): :sparkles: 增加预加载页面样式 ([90f108a](https://github.com/HuLaSpark/HuLa/commit/90f108a))
## <small>2.6.5 (2025-02-27)</small>
* fix(common): :bug: 修复登出账号时没有清空系统托盘图标上的未读数(MacOS) ([383a776](https://github.com/HuLaSpark/HuLa/commit/383a776))
* fix(component): :bug: 修复加好友/群聊顶部栏不可操作问题和窗口通信响应式问题 ([b08e7d8](https://github.com/HuLaSpark/HuLa/commit/b08e7d8))
* fix(component): :bug: 修复跳转到会话选中回退第一个问题 ([029f3f9](https://github.com/HuLaSpark/HuLa/commit/029f3f9))
* fix(config): :bug: 修复检查更新问题(暂时先切换回github) ([d6d488b](https://github.com/HuLaSpark/HuLa/commit/d6d488b))
* fix(file): :bug: 修复git未监听文件名大小写修改 ([9a8659b](https://github.com/HuLaSpark/HuLa/commit/9a8659b))
* fix(git): :bug: 删除多余的文件,导致打包出错 ([df7fed3](https://github.com/HuLaSpark/HuLa/commit/df7fed3))
* fix(global): :bug: 修改全局使用到的一些类型为string ([3333aa0](https://github.com/HuLaSpark/HuLa/commit/3333aa0)), closes [#211](https://github.com/HuLaSpark/HuLa/issues/211)
* fix(worker): :bug: 修复ws连接问题和一些页面组件问题 ([eadea02](https://github.com/HuLaSpark/HuLa/commit/eadea02))
* perf(component): :zap: 优化侧边栏功能 ([d1f831d](https://github.com/HuLaSpark/HuLa/commit/d1f831d))
* perf(component): :zap: 优化加好友/群聊窗体样式和功能 ([6716913](https://github.com/HuLaSpark/HuLa/commit/6716913))
* perf(component): :zap: 优化自动登录功能 ([5cb9bfc](https://github.com/HuLaSpark/HuLa/commit/5cb9bfc))
* perf(service): :zap: 优化群聊功能 (#208) ([0e07e33](https://github.com/HuLaSpark/HuLa/commit/0e07e33)), closes [#208](https://github.com/HuLaSpark/HuLa/issues/208)
* perf(view): :zap: 优化登录逻辑 ([67cad46](https://github.com/HuLaSpark/HuLa/commit/67cad46))
* perf(view): :zap: 优化群聊侧边栏用户信息展示 ([4b03f57](https://github.com/HuLaSpark/HuLa/commit/4b03f57))
* perf(view): :zap: 优化群聊侧边栏状态展示和聊天框顶部栏状态展示 ([e15cf9b](https://github.com/HuLaSpark/HuLa/commit/e15cf9b))
* perf(view): :zap: 优化图片查看器 ([22f84f1](https://github.com/HuLaSpark/HuLa/commit/22f84f1))
* feat(component): :sparkles: 新增用户状态切换 ([5098733](https://github.com/HuLaSpark/HuLa/commit/5098733))
* feat(service): :sparkles: 增加双token校验 ([776b6ec](https://github.com/HuLaSpark/HuLa/commit/776b6ec)), closes [#IBNT91](https://github.com/HuLaSpark/HuLa/issues/IBNT91)
* feat(view): :sparkles: 添加好友或群,基本完成了查找添加好友相关的内容,可以查出来群聊信息暂时还没有写添加 (#209) ([90a8985](https://github.com/HuLaSpark/HuLa/commit/90a8985)), closes [#209](https://github.com/HuLaSpark/HuLa/issues/209)
* chore: 发布 v2.6.4 ([ac9d922](https://github.com/HuLaSpark/HuLa/commit/ac9d922))
* [Snyk] Upgrade @tauri-apps/plugin-clipboard-manager from 2.2.0 to 2.2.1 (#206) ([54354c6](https://github.com/HuLaSpark/HuLa/commit/54354c6)), closes [#206](https://github.com/HuLaSpark/HuLa/issues/206)
* [Snyk] Upgrade @tauri-apps/plugin-http from 2.2.0 to 2.3.0 (#207) ([cbf5f4d](https://github.com/HuLaSpark/HuLa/commit/cbf5f4d)), closes [#207](https://github.com/HuLaSpark/HuLa/issues/207)
* docs(readme): :memo: 更新赞助者名单 ([4d9aabe](https://github.com/HuLaSpark/HuLa/commit/4d9aabe))
### BREAKING CHANGE
* 一次性查出多条。添加好友用的是AddFriendsModal.vu页面进行一些修改,
closed https://gitee.com/HuLaSpark/HuLa/issues/IBJYSD
* fix(view): :bug: 修改创建窗体minH的问题
## <small>2.6.4 (2025-02-21)</small>
* fix(common): :bug: 修复登出账号时没有清空系统托盘图标上的未读数(MacOS) ([383a776](https://github.com/HuLaSpark/HuLa/commit/383a776))
* fix(component): :bug: 修复跳转到会话选中回退第一个问题 ([029f3f9](https://github.com/HuLaSpark/HuLa/commit/029f3f9))
* fix(config): :bug: 修复检查更新问题(暂时先切换回github) ([d6d488b](https://github.com/HuLaSpark/HuLa/commit/d6d488b))
* fix(file): :bug: 修复git未监听文件名大小写修改 ([9a8659b](https://github.com/HuLaSpark/HuLa/commit/9a8659b))
* fix(git): :bug: 删除多余的文件,导致打包出错 ([df7fed3](https://github.com/HuLaSpark/HuLa/commit/df7fed3))
* fix(worker): :bug: 修复ws连接问题和一些页面组件问题 ([eadea02](https://github.com/HuLaSpark/HuLa/commit/eadea02))
* feat(component): :sparkles: 新增用户状态切换 ([5098733](https://github.com/HuLaSpark/HuLa/commit/5098733))
* feat(service): :sparkles: 增加双token校验 ([776b6ec](https://github.com/HuLaSpark/HuLa/commit/776b6ec)), closes [#IBNT91](https://github.com/HuLaSpark/HuLa/issues/IBNT91)
* [Snyk] Upgrade @tauri-apps/plugin-clipboard-manager from 2.2.0 to 2.2.1 (#206) ([54354c6](https://github.com/HuLaSpark/HuLa/commit/54354c6)), closes [#206](https://github.com/HuLaSpark/HuLa/issues/206)
* [Snyk] Upgrade @tauri-apps/plugin-http from 2.2.0 to 2.3.0 (#207) ([cbf5f4d](https://github.com/HuLaSpark/HuLa/commit/cbf5f4d)), closes [#207](https://github.com/HuLaSpark/HuLa/issues/207)
* perf(view): :zap: 优化群聊侧边栏用户信息展示 ([4b03f57](https://github.com/HuLaSpark/HuLa/commit/4b03f57))
* perf(view): :zap: 优化群聊侧边栏状态展示和聊天框顶部栏状态展示 ([e15cf9b](https://github.com/HuLaSpark/HuLa/commit/e15cf9b))
* perf(view): :zap: 优化图片查看器 ([22f84f1](https://github.com/HuLaSpark/HuLa/commit/22f84f1))
* docs(readme): :memo: 更新赞助者名单 ([4d9aabe](https://github.com/HuLaSpark/HuLa/commit/4d9aabe))
## <small>2.6.3 (2025-02-15)</small>
* feat(component): :sparkles: 增加更换头像功能 ([63ba2e6](https://github.com/HuLaSpark/HuLa/commit/63ba2e6))
* feat(directive): :sparkles: 新增图片查看器 ([6a06f32](https://github.com/HuLaSpark/HuLa/commit/6a06f32))
* feat(preview): :sparkles: 增加本地开发配置以及赞助渠道 ([788da74](https://github.com/HuLaSpark/HuLa/commit/788da74))
* feat(service): ✨ 可选参数禁用http请求重试 (#202) ([223b9f2](https://github.com/HuLaSpark/HuLa/commit/223b9f2)), closes [#202](https://github.com/HuLaSpark/HuLa/issues/202)
* build(deps-dev): bump vitest from 3.0.1 to 3.0.5 (#201) ([2a857e3](https://github.com/HuLaSpark/HuLa/commit/2a857e3)), closes [#201](https://github.com/HuLaSpark/HuLa/issues/201)
* build(deps): bump dompurify from 3.2.3 to 3.2.4 (#205) ([835fb88](https://github.com/HuLaSpark/HuLa/commit/835fb88)), closes [#205](https://github.com/HuLaSpark/HuLa/issues/205)
* build(mobile): :package: 修改移动端文件的位置和配置 ([12e81fd](https://github.com/HuLaSpark/HuLa/commit/12e81fd))
* perf(common): :zap: 优化图片查看器和请求重试报错机制 ([25c39b7](https://github.com/HuLaSpark/HuLa/commit/25c39b7))
* perf(component): :zap: 优化图片查看器 ([3afd91e](https://github.com/HuLaSpark/HuLa/commit/3afd91e))
* fix(view): :bug: 修复好友申请方不知道对方已同意的bug (#203) ([01fd658](https://github.com/HuLaSpark/HuLa/commit/01fd658)), closes [#203](https://github.com/HuLaSpark/HuLa/issues/203)
* Dev retry (#199) ([7abc4b3](https://github.com/HuLaSpark/HuLa/commit/7abc4b3)), closes [#199](https://github.com/HuLaSpark/HuLa/issues/199)
* docs: :memo: 更新wx群二维码 ([1ad09e6](https://github.com/HuLaSpark/HuLa/commit/1ad09e6))
## <small>2.6.2 (2025-01-23)</small>
* feat(strategy): :sparkles: 增加表情包功能支持 ([6b19f07](https://github.com/HuLaSpark/HuLa/commit/6b19f07))
* feat(strategy): :sparkles: 增加发送图片功能(beta) ([f1aef7c](https://github.com/HuLaSpark/HuLa/commit/f1aef7c))
* chore(deps): update dependency vite to v6.0.9 [security] (#195) ([5777318](https://github.com/HuLaSpark/HuLa/commit/5777318)), closes [#195](https://github.com/HuLaSpark/HuLa/issues/195)
* perf(component): :zap: 优化组件加载、浏览器指纹生成 (#192) ([0252956](https://github.com/HuLaSpark/HuLa/commit/0252956)), closes [#192](https://github.com/HuLaSpark/HuLa/issues/192)
* perf(icon): :zap: 修改全平台icon除了mac (#193) ([eea52ea](https://github.com/HuLaSpark/HuLa/commit/eea52ea)), closes [#193](https://github.com/HuLaSpark/HuLa/issues/193)
* perf(view): :zap: 优化已删除好友的界面展示 ([69d7722](https://github.com/HuLaSpark/HuLa/commit/69d7722))
## <small>2.6.1 (2025-01-17)</small>
* fix(Android): :bug: 修复安卓启动配置 (#191) ([5176aee](https://github.com/HuLaSpark/HuLa/commit/5176aee)), closes [#191](https://github.com/HuLaSpark/HuLa/issues/191)
* fix(build): :bug: 去除alsa-sys的安装 ([b5f8402](https://github.com/HuLaSpark/HuLa/commit/b5f8402))
* fix(build): :bug: 修复ubuntu alsa-sys包版本 (#145) ([0840d7e](https://github.com/HuLaSpark/HuLa/commit/0840d7e)), closes [#145](https://github.com/HuLaSpark/HuLa/issues/145)
* fix(build): :bug: 修复ubuntu CI打包问题 (#144) ([c4f46f8](https://github.com/HuLaSpark/HuLa/commit/c4f46f8)), closes [#144](https://github.com/HuLaSpark/HuLa/issues/144)
* fix(common): :bug: 修复系统托盘状态切换问题 (#153) ([00e2a89](https://github.com/HuLaSpark/HuLa/commit/00e2a89)), closes [#153](https://github.com/HuLaSpark/HuLa/issues/153)
* fix(common): :bug: 修复set_badge_count方法没有处理报错问题 (#140) ([4d4bd9c](https://github.com/HuLaSpark/HuLa/commit/4d4bd9c)), closes [#140](https://github.com/HuLaSpark/HuLa/issues/140)
* fix(component): :bug: 修复tray设置窗口大小问题 (#149) ([7aaabb2](https://github.com/HuLaSpark/HuLa/commit/7aaabb2)), closes [#149](https://github.com/HuLaSpark/HuLa/issues/149)
* fix(docker): :bug: 修改docker-compose配置 (#162) ([e1b1984](https://github.com/HuLaSpark/HuLa/commit/e1b1984)), closes [#162](https://github.com/HuLaSpark/HuLa/issues/162)
* fix(mobile): :bug: 修复ios移动端页面问题 (#185) ([af7d388](https://github.com/HuLaSpark/HuLa/commit/af7d388)), closes [#185](https://github.com/HuLaSpark/HuLa/issues/185)
* fix(renovate): :bug: 修复renovate bot配置 (#164) ([0dd59a5](https://github.com/HuLaSpark/HuLa/commit/0dd59a5)), closes [#164](https://github.com/HuLaSpark/HuLa/issues/164)
* fix(service): :bug: 优化浏览器指纹 (#175) ([a2b3c32](https://github.com/HuLaSpark/HuLa/commit/a2b3c32)), closes [#175](https://github.com/HuLaSpark/HuLa/issues/175)
* fix(service): :bug: 增加浏览器指纹作为唯一值解决netty关联channel的问题 (#171) ([a5b5f89](https://github.com/HuLaSpark/HuLa/commit/a5b5f89)), closes [#171](https://github.com/HuLaSpark/HuLa/issues/171)
* fix(view): :bug: 修复系统托盘无法变化成多列表操作 (#150) ([cb08e62](https://github.com/HuLaSpark/HuLa/commit/cb08e62)), closes [#150](https://github.com/HuLaSpark/HuLa/issues/150)
* fix(view): :bug: 修复setSize方法导致无法修改窗口大小问题 ([412db5c](https://github.com/HuLaSpark/HuLa/commit/412db5c)), closes [#139](https://github.com/HuLaSpark/HuLa/issues/139)
* perf(mobile): :zap: 优化ios整体页面 (#186) ([2feb359](https://github.com/HuLaSpark/HuLa/commit/2feb359)), closes [#186](https://github.com/HuLaSpark/HuLa/issues/186)
* perf(view): :zap: 优化聊天框用户信息操作选项 (#173) ([b024757](https://github.com/HuLaSpark/HuLa/commit/b024757)), closes [#173](https://github.com/HuLaSpark/HuLa/issues/173)
* perf(view): :zap: 优化win的托盘闪烁和消息提示 (#142) ([4e49700](https://github.com/HuLaSpark/HuLa/commit/4e49700)), closes [#142](https://github.com/HuLaSpark/HuLa/issues/142)
* perf(worker): :zap: 使用worker优化计时器不准确问题 (#190) ([000fcc2](https://github.com/HuLaSpark/HuLa/commit/000fcc2)), closes [#190](https://github.com/HuLaSpark/HuLa/issues/190)
* feat(android): :sparkles: 新增android兼容 (#170) ([684b95c](https://github.com/HuLaSpark/HuLa/commit/684b95c)), closes [#170](https://github.com/HuLaSpark/HuLa/issues/170)
* feat(mobile): :sparkles: 新增移动端兼容 (#169) ([3607c9d](https://github.com/HuLaSpark/HuLa/commit/3607c9d)), closes [#169](https://github.com/HuLaSpark/HuLa/issues/169) [#61](https://github.com/HuLaSpark/HuLa/issues/61)
* feat(mobile): :sparkles: 增加ios下拉刷新功能 (#189) ([837d2b3](https://github.com/HuLaSpark/HuLa/commit/837d2b3)), closes [#189](https://github.com/HuLaSpark/HuLa/issues/189)
* feat(scripts): :sparkles: 新增环境检测脚本(用于检测用户当前系统环境) (#166) ([3983bf7](https://github.com/HuLaSpark/HuLa/commit/3983bf7)), closes [#166](https://github.com/HuLaSpark/HuLa/issues/166)
* feat(service): :sparkles: http错误提示 (#184) ([cd03444](https://github.com/HuLaSpark/HuLa/commit/cd03444)), closes [#184](https://github.com/HuLaSpark/HuLa/issues/184)
* feat(service): :sparkles: http请求重试 (#178) ([2d0f3e0](https://github.com/HuLaSpark/HuLa/commit/2d0f3e0)), closes [#178](https://github.com/HuLaSpark/HuLa/issues/178)
* feat(system): :sparkles: 新增linxu系统ubuntu兼容 (#148) ([373d87c](https://github.com/HuLaSpark/HuLa/commit/373d87c)), closes [#148](https://github.com/HuLaSpark/HuLa/issues/148)
* feat(view): :sparkles: 增加透明高斯模糊开关 (#177) ([cefe53d](https://github.com/HuLaSpark/HuLa/commit/cefe53d)), closes [#177](https://github.com/HuLaSpark/HuLa/issues/177)
* !45 fix(view): :bug:修复群聊问题 ([b0432d6](https://github.com/HuLaSpark/HuLa/commit/b0432d6)), closes [#152](https://github.com/HuLaSpark/HuLa/issues/152)
* Http请求重试并抛出错误 (#181) ([16c4dea](https://github.com/HuLaSpark/HuLa/commit/16c4dea)), closes [#181](https://github.com/HuLaSpark/HuLa/issues/181)
* Test actions (#147) ([9755340](https://github.com/HuLaSpark/HuLa/commit/9755340)), closes [#147](https://github.com/HuLaSpark/HuLa/issues/147)
* build: 升级依赖 (#161) ([498f490](https://github.com/HuLaSpark/HuLa/commit/498f490)), closes [#161](https://github.com/HuLaSpark/HuLa/issues/161) [#156](https://github.com/HuLaSpark/HuLa/issues/156) [#155](https://github.com/HuLaSpark/HuLa/issues/155) [#157](https://github.com/HuLaSpark/HuLa/issues/157) [#158](https://github.com/HuLaSpark/HuLa/issues/158) [#159](https://github.com/HuLaSpark/HuLa/issues/159)
* chore: 发布 v2.6.0 ([f411af6](https://github.com/HuLaSpark/HuLa/commit/f411af6))
* ci: :ferris_wheel: 优化CI配置 (#141) ([6b47049](https://github.com/HuLaSpark/HuLa/commit/6b47049)), closes [#141](https://github.com/HuLaSpark/HuLa/issues/141)
## 2.6.0 (2025-01-05)
* feat(system): :sparkles: 新增linxu系统ubuntu兼容 (#148) ([43d1561](https://github.com/HuLaSpark/HuLa/commit/43d1561)), closes [#148](https://github.com/HuLaSpark/HuLa/issues/148)
* Test actions (#147) ([d0a0e5f](https://github.com/HuLaSpark/HuLa/commit/d0a0e5f)), closes [#147](https://github.com/HuLaSpark/HuLa/issues/147)
* fix(build): :bug: 去除alsa-sys的安装 ([64f0c39](https://github.com/HuLaSpark/HuLa/commit/64f0c39))
* fix(build): :bug: 修复ubuntu alsa-sys包版本 (#145) ([d6adb2d](https://github.com/HuLaSpark/HuLa/commit/d6adb2d)), closes [#145](https://github.com/HuLaSpark/HuLa/issues/145)
* fix(build): :bug: 修复ubuntu CI打包问题 (#144) ([5d66161](https://github.com/HuLaSpark/HuLa/commit/5d66161)), closes [#144](https://github.com/HuLaSpark/HuLa/issues/144)
* fix(common): :bug: 修复set_badge_count方法没有处理报错问题 (#140) ([4d4bd9c](https://github.com/HuLaSpark/HuLa/commit/4d4bd9c)), closes [#140](https://github.com/HuLaSpark/HuLa/issues/140)
* fix(view): :bug: 修复setSize方法导致无法修改窗口大小问题 (#143) ([b412c2e](https://github.com/HuLaSpark/HuLa/commit/b412c2e)), closes [#143](https://github.com/HuLaSpark/HuLa/issues/143) [#139](https://github.com/HuLaSpark/HuLa/issues/139)
* perf(view): :zap: 优化win的托盘闪烁和消息提示 (#142) ([4e49700](https://github.com/HuLaSpark/HuLa/commit/4e49700)), closes [#142](https://github.com/HuLaSpark/HuLa/issues/142)
* ci: :ferris_wheel: 优化CI配置 (#141) ([6b47049](https://github.com/HuLaSpark/HuLa/commit/6b47049)), closes [#141](https://github.com/HuLaSpark/HuLa/issues/141)
## [2.5.11](https://github.com/HuLaSpark/HuLa/compare/v2.5.10...v2.5.11) (2025-01-03)
### ✨ Features | 新功能
* **component:** :sparkles: 新增AI选项卡封装提及框功能 ([#133](https://github.com/HuLaSpark/HuLa/issues/133)) ([9fdb695](https://github.com/HuLaSpark/HuLa/commit/9fdb6953ab2c9d46c75b715aac40d211cb605fa7))
* **notification:** :sparkles: 新增notification系统通知 ([#127](https://github.com/HuLaSpark/HuLa/issues/127)) ([77373e3](https://github.com/HuLaSpark/HuLa/commit/77373e3782f8f5679940605656259efbb21db558))
* **service:** :sparkles: 新增翻译服务api ([#130](https://github.com/HuLaSpark/HuLa/issues/130)) ([fadbf2b](https://github.com/HuLaSpark/HuLa/commit/fadbf2b24a7f5688d02de47ac36254902018e56e))
### 🐛 Bug Fixes | Bug 修复
* **common:** :bug: 修复一些流程和已知的问题 ([#134](https://github.com/HuLaSpark/HuLa/issues/134)) ([ca0dc1f](https://github.com/HuLaSpark/HuLa/commit/ca0dc1fc778c3c2b9b4175b11ea02fc3cace1cd5))
* **common:** :bug: 修复一些已知问题 ([#137](https://github.com/HuLaSpark/HuLa/issues/137)) ([16cd17a](https://github.com/HuLaSpark/HuLa/commit/16cd17aa54fe32399fdeb6a11470fac6daede754))
* **event:** :bug: 修复tauri listen未销毁问题 ([#124](https://github.com/HuLaSpark/HuLa/issues/124)) ([7b762e2](https://github.com/HuLaSpark/HuLa/commit/7b762e26a086ca69b0c71093f9382fc865b259aa))
* **pnpm:** :bug: 更新版本依赖 ([#138](https://github.com/HuLaSpark/HuLa/issues/138)) ([15a645e](https://github.com/HuLaSpark/HuLa/commit/15a645ec78214886e2502226bc7fa176ba91d912))
* **version:** :bug: 修复升级tauri版本导致的高度问题 ([#125](https://github.com/HuLaSpark/HuLa/issues/125)) ([adf47e7](https://github.com/HuLaSpark/HuLa/commit/adf47e7acc38c7159ddc0aaa4bb38784ff5f1594))
### ⚡️ Performance Improvements | 性能优化
* **component:** :zap: 可在设置中切换翻译提供商 ([#132](https://github.com/HuLaSpark/HuLa/issues/132)) ([99a8859](https://github.com/HuLaSpark/HuLa/commit/99a8859476bef5593641076a6fdadd2b48153be2))
* **component:** :zap: 优化撤回消息重新编辑判定 ([#128](https://github.com/HuLaSpark/HuLa/issues/128)) ([451ded8](https://github.com/HuLaSpark/HuLa/commit/451ded82c58cdfd4d8941533db50df61f448b292))
* **component:** :zap: 优化翻译的显示 ([#131](https://github.com/HuLaSpark/HuLa/issues/131)) ([c18ee4b](https://github.com/HuLaSpark/HuLa/commit/c18ee4b46715b072cfa7ff82b790c68c63a5eb62))
* **component:** :zap: 优化虚拟列表加载更多功能 ([#129](https://github.com/HuLaSpark/HuLa/issues/129)) ([a1641e9](https://github.com/HuLaSpark/HuLa/commit/a1641e96ccde507a28f56c8083a8e37bd379da6c))
## [2.5.10](https://github.com/HuLaSpark/HuLa/compare/v2.5.9...v2.5.10) (2024-12-25)
### 🐛 Bug Fixes | Bug 修复
* **common:** :bug: 修复提示的效果问题 ([#121](https://github.com/HuLaSpark/HuLa/issues/121)) ([0b7c873](https://github.com/HuLaSpark/HuLa/commit/0b7c873556be3d14752293d762f87a4d417843dd)), closes [#34](https://github.com/HuLaSpark/HuLa/issues/34)
* **component:** :bug: 修复输入框和虚拟列表的一些问题 ([#117](https://github.com/HuLaSpark/HuLa/issues/117)) ([7f4040f](https://github.com/HuLaSpark/HuLa/commit/7f4040fd4e5597227cbd3a2c0e3beb84f7e288bd))
* **component:** :bug: 修复整体流程bug问题 ([#118](https://github.com/HuLaSpark/HuLa/issues/118)) ([11fdfe6](https://github.com/HuLaSpark/HuLa/commit/11fdfe65a0fe46b4792cf579a47bbb9b75f465de))
* **rust:** :bug: 修复windows启动报错问题 ([#119](https://github.com/HuLaSpark/HuLa/issues/119)) ([311bd72](https://github.com/HuLaSpark/HuLa/commit/311bd72b6af9627221d4c12bf5d1089380d5b4f5)), closes [#IBD413](https://github.com/HuLaSpark/HuLa/issues/IBD413)
* **rust:** :bug: 修复windows下启动问题 ([#122](https://github.com/HuLaSpark/HuLa/issues/122)) ([9f43c9e](https://github.com/HuLaSpark/HuLa/commit/9f43c9e77d647cfdc30aa04ad51ac6b0ce608a49))
* **windows:** :bug: 修复windows下打包出错问题 ([#123](https://github.com/HuLaSpark/HuLa/issues/123)) ([e346da3](https://github.com/HuLaSpark/HuLa/commit/e346da33cf26143bc5d98f1bee61933ceebfff58))
### ⚡️ Performance Improvements | 性能优化
* **component:** :zap: 优化使用for-of ([#120](https://github.com/HuLaSpark/HuLa/issues/120)) ([003171b](https://github.com/HuLaSpark/HuLa/commit/003171bc1eb688e0a37f94735ca1e4d71446cf94))
* **component:** :zap: 优化虚拟列表的滚动和性能 ([#112](https://github.com/HuLaSpark/HuLa/issues/112)) ([e8b60ee](https://github.com/HuLaSpark/HuLa/commit/e8b60ee83bb9f7f4048899df31113b83f0f01c62))
## [2.5.9](https://github.com/HuLaSpark/HuLa/compare/v2.5.8...v2.5.9) (2024-12-18)
### ✨ Features | 新功能
* **component:** :sparkles: 新增默认头像 ([#104](https://github.com/HuLaSpark/HuLa/issues/104)) ([5a4ff70](https://github.com/HuLaSpark/HuLa/commit/5a4ff7065b2f5c2339f8f6208bf3fe3d73c59400))
### 🐛 Bug Fixes | Bug 修复
* **CI:** :bug: 修复release配置 ([#110](https://github.com/HuLaSpark/HuLa/issues/110)) ([6969a09](https://github.com/HuLaSpark/HuLa/commit/6969a0999ec0a0114e21e9db8ea8f56a82c73e09))
* **component:** :bug: 修复mac下输入框输入拼音时的问题 ([#108](https://github.com/HuLaSpark/HuLa/issues/108)) ([6fd6636](https://github.com/HuLaSpark/HuLa/commit/6fd6636cef63c05cdd2ed04858d533ad98e0c34f))
* **component:** :bug: 修复naiveui的虚拟列表问题 ([#109](https://github.com/HuLaSpark/HuLa/issues/109)) ([1ec6020](https://github.com/HuLaSpark/HuLa/commit/1ec602016869119e51348c40436aeda120a0dccd))
* **config:** :bug: 修改renovate bot的配置 ([23511f7](https://github.com/HuLaSpark/HuLa/commit/23511f78cd5b22449bbc53cb5c567255250ca863))
* **view:** :bug: 修复群里在线人数问题和登录历史记录问题 ([#105](https://github.com/HuLaSpark/HuLa/issues/105)) ([4dae48e](https://github.com/HuLaSpark/HuLa/commit/4dae48e1ad380bc5ca68b664fe89664ac68235fd))
* **view:** :bug: 修复异常关闭再重新登录会不显示会话的bug ([096df49](https://github.com/HuLaSpark/HuLa/commit/096df49dcd9408eecadb9344d5d7433468e7bc5c))
### ⚡️ Performance Improvements | 性能优化
* **hook:** :zap: 优化windows窗口圆角问题 ([024c1a3](https://github.com/HuLaSpark/HuLa/commit/024c1a36d8ab435151d6485921b198070b15076e))
* **view:** :zap: 优化一下样式和登录页面的提示 ([#107](https://github.com/HuLaSpark/HuLa/issues/107)) ([8bb4aa7](https://github.com/HuLaSpark/HuLa/commit/8bb4aa77d93fb731d3ff85fe273d20e7b4ba991d)), closes [#106](https://github.com/HuLaSpark/HuLa/issues/106)
## [2.5.8](https://github.com/HuLaSpark/HuLa/compare/v2.5.7...v2.5.8) (2024-12-12)
### ✨ Features | 新功能
* **component:** :sparkles: 新增米游社表情包功能 ([1b38500](https://github.com/HuLaSpark/HuLa/commit/1b385005be135d8afc83ec1d5fb80d1ab25bf5f5))
### 🐛 Bug Fixes | Bug 修复
* **chat-edittor:** 在 Webkit 中 re-focus 后焦点被重置 ([e381a09](https://github.com/HuLaSpark/HuLa/commit/e381a09fb138be627b01df6f096a0ad9383eef99))
* **common:** :bug: 修改Cargo.lock ([e3ead1c](https://github.com/HuLaSpark/HuLa/commit/e3ead1c7fdf30b7a2eb857973dfcc66bb01dc44b))
* **component:** :bug: 修复canvas模糊问题以及图片和emoji的一些插入的位置和优化 ([5dee0ae](https://github.com/HuLaSpark/HuLa/commit/5dee0ae4d4d09178a1664d5f2ec01354a69b8001))
* **config:** :bug: 修改cargo的镜像源和文件后缀 ([d882e2e](https://github.com/HuLaSpark/HuLa/commit/d882e2e301b8ae27819dd8469452d40a704ea4a6))
* **package:** :bug: 修复发版和commit的命令 ([6307326](https://github.com/HuLaSpark/HuLa/commit/6307326b016bfc654b0e6f70bc254d59d0fcde67))
## [2.5.7](https://github.com/HuLaSpark/HuLa/compare/v2.5.6...v2.5.7) (2024-12-10)
### 🐛 Bug Fixes | Bug 修复
* **config:** :bug: 修复因为notify窗口没有配置问题导致mac下打不开 ([d940838](https://github.com/HuLaSpark/HuLa/commit/d940838f380c8e626926dae1dceea6a4076ea83f)), closes [#55](https://github.com/HuLaSpark/HuLa/issues/55)
## [2.5.6](https://github.com/HuLaSpark/HuLa/compare/v2.5.5...v2.5.6) (2024-12-09)
### ✨ Features | 新功能
* **component:** :sparkles: 新增创建群聊弹窗 ([10fb45f](https://github.com/HuLaSpark/HuLa/commit/10fb45f8d9cc48058ad54c8c24ce50ab434a45a8))
* **hook:** :sparkles: 添加消息保存到本地数据库功能 ([8b67a1b](https://github.com/HuLaSpark/HuLa/commit/8b67a1b0b67822d70459b26beaf85b4fb9e2cab2))
* **hooks:** :sparkles: 新增 useMitter 钩子以替代直接使用 Mitt 事件总线 ([44db95d](https://github.com/HuLaSpark/HuLa/commit/44db95d3fecdad11155e9583f85d5b51d1407173))
* **plugin:** :sparkles: 限制只能一台设备打开一个客户端 ([ab9a515](https://github.com/HuLaSpark/HuLa/commit/ab9a5153fecb6da048540247bbae63080399540b))
* **view:** :sparkles: 新增新消息状态栏图标闪烁 ([09264b7](https://github.com/HuLaSpark/HuLa/commit/09264b7918c11044fe2830a8c5607cceb162d106))
### 🐛 Bug Fixes | Bug 修复
* **component:** :bug: 修复聊天框右键菜单问题和添加好友等一些已知问题 ([69b4cbd](https://github.com/HuLaSpark/HuLa/commit/69b4cbd63f7bb8cd286d4c673babf08bd1fb2008))
* **layout:** :bug: 处理退出账号bug|处理登录token有时未保存bug|其他优化 ([470efde](https://github.com/HuLaSpark/HuLa/commit/470efded2edff37a93e0a002a34ca7aec6c90172))
* **layout:** :bug: 处理异常关闭程序发送下线通知 ([2cf5e97](https://github.com/HuLaSpark/HuLa/commit/2cf5e97d1e05c1641c7919b2f4e521dd176860cd))
* **layout:** :bug: 处理mitt合并冲突 ([f0766e1](https://github.com/HuLaSpark/HuLa/commit/f0766e1907a9411683de94b54072638d30d06478))
* **layout:** :bug: 修复登录不同账号会导致其他账号退出登录的问题 ([2b21f83](https://github.com/HuLaSpark/HuLa/commit/2b21f83bab32ed19504b9dad9aa32f33c73cec5b))
* **layout:** :bug: 修复自动登录bug|修复登录token未保存bug|其他优化 ([945502f](https://github.com/HuLaSpark/HuLa/commit/945502fa38fd8a7fb7d15bd1a7e8f018dddeac67))
* **service:** :bug: 处理pinia报错 ([c9d65dc](https://github.com/HuLaSpark/HuLa/commit/c9d65dc82a4777edf5f636a7b26bd976364d8d64))
* **service:** :bug: 修复异常退出登录bug优化ws ([c671db8](https://github.com/HuLaSpark/HuLa/commit/c671db8d98dbce6fcdf248232a4a2eca020d770f))
* **store:** :bug: 修复store中保存的用户信息冲突导致登录的用户信息错乱问题 ([6119e42](https://github.com/HuLaSpark/HuLa/commit/6119e420b0b355cb6dde7f3f4d0d6e07f7202358))
* **view:** :bug: 固定右下角消息提示位置 ([5bc78d2](https://github.com/HuLaSpark/HuLa/commit/5bc78d2c8b4aa6e1f69d2f6d9e01db6b23ee7e9d))
* **view:** :bug: 修复右下角消息提示位置不对bug ([db19672](https://github.com/HuLaSpark/HuLa/commit/db19672295ac8b1abc0489cf76b41dbf9d6b3ebe))
* **view:** :bug: 修复自动登录bug ([8b1da81](https://github.com/HuLaSpark/HuLa/commit/8b1da812e1845190a708ea146cb075ef907dd12d))
### ⚡️ Performance Improvements | 性能优化
* **component:** :zap: 优化撤回信息后的功能 ([7cbb443](https://github.com/HuLaSpark/HuLa/commit/7cbb443e84f04e6b19f45a0fa779639d75a4939e))
* **component:** :zap: 优化消息气泡发送状态提示 ([90b7c91](https://github.com/HuLaSpark/HuLa/commit/90b7c91264e88052d3cc1086b81900cf08d0e213))
* **component:** :zap: 优化新增群组功能 ([e33de24](https://github.com/HuLaSpark/HuLa/commit/e33de24dec294bccb68e10821f05b09d09c1f358))
* **component:** :zap: 优化一些代码和逻辑 ([4b500a1](https://github.com/HuLaSpark/HuLa/commit/4b500a1c9ef60dda95f513755ea362a865194e55))
* **component:** :zap: 优化右键@和发送消息功能 ([91e8703](https://github.com/HuLaSpark/HuLa/commit/91e8703af0c66a61eddec245fe1132d26194a303))
* **component:** :zap: 优化注册流程和样式 ([3d59a7d](https://github.com/HuLaSpark/HuLa/commit/3d59a7d6d0e0558f04e96dc536e1e8cfb0955520))
* **hook:** :zap: 优化useMitt的写法 ([004a696](https://github.com/HuLaSpark/HuLa/commit/004a6960100f2139ef7e3021db0da6081c60954a))
* **view:** :zap: 优化代理功能 ([0cf8dc9](https://github.com/HuLaSpark/HuLa/commit/0cf8dc9bb9fafa66a419497bcf814f8fcc1cb791))
* **view:** :zap: 优化useMitt的取消时机 ([f7f6bc0](https://github.com/HuLaSpark/HuLa/commit/f7f6bc0ada6a6531586c74b08995056cb92d30ba))
## [2.5.5](https://github.com/HuLaSpark/HuLa/compare/v2.5.4...v2.5.5) (2024-11-20)
### 🐛 Bug Fixes | Bug 修复
* **service:** :bug: 修复更新功能版本出错问题以及修复输入框和聊天框对于特殊字符和兼容性 ([9c1d23d](https://github.com/HuLaSpark/HuLa/commit/9c1d23d2060dbad13d4197517feec6d3a410e742))
* **style:** :bug: 修复聊天消息框回复宽度限制问题 ([d0aca70](https://github.com/HuLaSpark/HuLa/commit/d0aca707a7a549aa0696a1074da62e58d7449056))
## [2.5.4](https://github.com/HuLaSpark/HuLa/compare/v2.5.3...v2.5.4) (2024-11-19)
### 🐛 Bug Fixes | Bug 修复
- **component:** :bug: 修复群聊侧边栏搜索时无法右键查看用户信息 ([f5b5bb0](https://github.com/HuLaSpark/HuLa/commit/f5b5bb09c8711227e4ccb9e3bc4e65bdc52415b9))
- **component:** :bug: 修复群聊当前登录用户右键菜单功能逻辑错误 ([00c35ff](https://github.com/HuLaSpark/HuLa/commit/00c35ff6feda18623c608b8aa29529c30a48e528))
- **hook:** :bug: 修复发送消息频繁的bug ([bbb74ee](https://github.com/HuLaSpark/HuLa/commit/bbb74ee78a425375a44ce6940dbed0b8265b618c))
- **service:** :bug: 修复http模块没有设置请求头导致请求报错问题 ([1538964](https://github.com/HuLaSpark/HuLa/commit/153896480e8a86cd50962d3678fae786ea444ebd))
- **store:** :bug: 上下线通知 ([2f2a2a2](https://github.com/HuLaSpark/HuLa/commit/2f2a2a2068143e723db3ec31cfce3f2397acf8d4))
- **store:** :bug: 修复一些接口的store封装 ([4626527](https://github.com/HuLaSpark/HuLa/commit/46265275e52fd30090a3d07a98f1023e9960b18d))
- **view:** :bug: 修复一些功能漏洞问题 ([#38](https://github.com/HuLaSpark/HuLa/issues/38)) ([f626a96](https://github.com/HuLaSpark/HuLa/commit/f626a96c1abfb00e07d53fceec12ea3cdd1faca0))
- **view:** :bug: 修复打开独立窗口后主窗口消息窗口无法打开问题 ([#36](https://github.com/HuLaSpark/HuLa/issues/36)) ([06435c8](https://github.com/HuLaSpark/HuLa/commit/06435c8d58250d4b9501431dc82c51643bc6e054))
- **view:** :bug: 修复登录和请求的一些缺陷 ([54ee3ff](https://github.com/HuLaSpark/HuLa/commit/54ee3ff1688ec1dd248b5e7120e3613ce8758ac9))
## [2.5.3](https://github.com/HuLaSpark/HuLa/compare/v2.5.2...v2.5.3) (2024-11-06)
### 🐛 Bug Fixes | Bug 修复
- **component:** :bug: 修复输入框换行不兼容webkit的问题 ([345d830](https://github.com/HuLaSpark/HuLa/commit/345d83068711df087dd0ba403446c739151a11dd))
- **layout:** :bug: 修复聊天框改变宽度的时候可以选中文本的问题 ([56d79cc](https://github.com/HuLaSpark/HuLa/commit/56d79ccc8ba015a313eabcd938757f35d1d840a4))
- **layout:** :bug: 修复选择了图片不显示在输入框中的bug ([c7cdac6](https://github.com/HuLaSpark/HuLa/commit/c7cdac69ce6fa185489dcb480991e3a268fec99d))
- **service:** :bug: 修复请求接口bug ([f3723d4](https://github.com/HuLaSpark/HuLa/commit/f3723d4e5a2342314ce6e85931a49f1ddfecab0b))
### ⚡️ Performance Improvements | 性能优化
- **component:** :zap: 优化右键菜单功能 ([7b53029](https://github.com/HuLaSpark/HuLa/commit/7b530297ac37122ead00a15864e16a73a5547d04))
## [2.5.2](https://github.com/HuLaSpark/HuLa/compare/v2.5.1...v2.5.2) (2024-10-31)
### 🐛 Bug Fixes | Bug 修复
- **build:** :bug: 升级wry版本修复mac安装报错问题 ([fefa2f9](https://github.com/HuLaSpark/HuLa/commit/fefa2f970305839064764cd1d82a0d8e557f3148))
- **component:** :bug: 修复聊天框内右键菜单问题 ([e59630b](https://github.com/HuLaSpark/HuLa/commit/e59630b70ed0d245174c97136d502bb63cac03ec))
## [2.5.1](https://github.com/HuLaSpark/HuLa/compare/v2.5.0...v2.5.1) (2024-10-29)
### 🐛 Bug Fixes | Bug 修复
- **build:** :bug: 修复release配置导致打包的问题 ([4cd9a93](https://github.com/HuLaSpark/HuLa/commit/4cd9a9355d3c5cbd9101b709a839017c92538bfd))
- **build:** :bug: 添加不同编译版本,以修复不同架构安装出错问题 ([19fb138](https://github.com/HuLaSpark/HuLa/commit/19fb138d51afd2884c1abd7fc62ae47762c2678b))
- **global:** :bug: 修复艾特弹窗在mac下高度问题导致不显示 ([8a18e84](https://github.com/HuLaSpark/HuLa/commit/8a18e84ce781a7a987575ed9f27d2a8eff334bb6))
- **layout:** :bug: 修复更新弹窗显示更新的内容 ([bd7f6fb](https://github.com/HuLaSpark/HuLa/commit/bd7f6fbe7f27e69275e54c776d761a1751289bf0))
- **view:** :bug: 修复消息输入框部分bug ([24b8a51](https://github.com/HuLaSpark/HuLa/commit/24b8a517d85f5895ae66db64ac7d6d8ae547cad4))
## [2.5.0](https://github.com/HuLaSpark/HuLa/compare/v2.4.0...v2.5.0) (2024-10-27)
### ⚠ BREAKING CHANGES
- **util:** http请求异常bug
### ✨ Features | 新功能
- **layout:** :sparkles: 自动更新增加进度条 ([4ee3e2b](https://github.com/HuLaSpark/HuLa/commit/4ee3e2b8a36b34cdc996a8b538bddea61bbf1af2))
### 🐛 Bug Fixes | Bug 修复
- **api:** 修改websocket请求地址, 修改请求方式采用fetch处理 ([e55f863](https://github.com/HuLaSpark/HuLa/commit/e55f86385fb8e25e826ae57341e0d818f5fe34b2))
- **build:** :bug: 修复因为类型导致打包出错 ([db26e6b](https://github.com/HuLaSpark/HuLa/commit/db26e6bdf65003c1263574464a194236aa341129))
- **layout:** :bug: 修复更新进度条显示异常bug ([45e2bfc](https://github.com/HuLaSpark/HuLa/commit/45e2bfce669c76cbb72be641febf59509b3e6204))
- **service:** :bug: 修复打包后访问不了正式服务器的bug ([c8d42ab](https://github.com/HuLaSpark/HuLa/commit/c8d42ab31e1e6b41b3a30f1664d1be0c28d4ed36))
- **service:** :bug: 修复请求体包裹多层data的问题 ([d97d24f](https://github.com/HuLaSpark/HuLa/commit/d97d24f1c1d554e5477b221c725e45100655c0e0))
- **util:** :bug: http请求异常bug ([6e82a09](https://github.com/HuLaSpark/HuLa/commit/6e82a099a2a51ea08548c4d5da496393a94b7b05))
- **view:** :bug: 修复点击右侧布局页面时候不跳转回消息页 ([be0edf9](https://github.com/HuLaSpark/HuLa/commit/be0edf974778b58fe5af9ec030d9927999a6d7bb))
## [2.4.0](https://github.com/HuLaSpark/HuLa/compare/v2.3.0...v2.4.0) (2024-10-24)
### ✨ Features | 新功能
- **ide:** :sparkles: 新增.idea文件提供idea的项目图标 ([84b6039](https://github.com/HuLaSpark/HuLa/commit/84b6039a81370d9d71c8394e6dbb4145b1fb7f1e))
- **layout:** :sparkles: 菜单优化|插件优化|新增菜单显示模式切换 ([78f09c5](https://github.com/HuLaSpark/HuLa/commit/78f09c5bb9449f5546823f71265c247c137a9e55))
- **setting:** :sparkles: 新增开机启动功能 ([91ad538](https://github.com/HuLaSpark/HuLa/commit/91ad538f72909e16f232310a58a5b7610dfd08f0))
### 🐛 Bug Fixes | Bug 修复
- **layout:** :bug: 代码修复 ([96ad89c](https://github.com/HuLaSpark/HuLa/commit/96ad89c05d2b9d104b4a80f064892d63381441a2))
- **layout:** :bug: 修复侧边栏顶部空白块颜色和无法缩小主页面问题 ([1999f30](https://github.com/HuLaSpark/HuLa/commit/1999f30b0e363d63bf1f1a8c0fda7bdc80c9b8b7))
- **layout:** :bug: 修复窗体高度整体变大bug ([396a103](https://github.com/HuLaSpark/HuLa/commit/396a103a24255568f426b1c08e4d7e7beb60264b))
- **layout:** :bug: 插件菜单增加图标和点击事件 ([bcbb61a](https://github.com/HuLaSpark/HuLa/commit/bcbb61a652a121e2cf251d6b4dfefa1c7bf00dec))
- **view:** :bug: 修复一些页面拖动区域问题 ([1183b7e](https://github.com/HuLaSpark/HuLa/commit/1183b7e3baabcbb9cfabe23327583221ae083ae8)), closes [#25](https://github.com/HuLaSpark/HuLa/issues/25)
- **view:** :bug: 修复侧边栏图标和字体宽度不一致问题 ([901218b](https://github.com/HuLaSpark/HuLa/commit/901218b043aa87ef4f5c972eb01aeb37ee4c56a5))

128
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,128 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, 和 experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
- Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
- The use of sexualized language or imagery, 和 sexual attention or
advances of any kind
- Trolling, insulting or derogatory comments, 和 personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email
address, without their explicit permission
- Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
2439646234@qq.com.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.

75
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,75 @@
# HuLa - Contributing Guide 🌟
We're thrilled that you want to contribute to HuLa! 😄
HuLa is an open-source project, and we welcome your collaboration. Before you jump in, let's make sure you're all set to contribute effectively and have loads of fun along the way!
## Fork the Repository
🍴 Fork this repository to your GitHub account by clicking the "Fork" button at the top right. This creates a personal copy of the project you can work on.
## Clone Your Fork
📦 Clone your forked repository to your local machine using the `git clone` command:
```bash
git clone https://github.com/HuLaSpark/HuLa.git
```
## Create a New Branch
🌿 Create a new branch for your contribution. This helps keep your work organized and separate from the main codebase.
```bash
git checkout -b your-branch-name
```
Choose a meaningful branch name related to your work. It makes collaboration easier!
## Code Like a Wizard
🧙‍♀️ Time to work your magic! Write your code, fix bugs, or add new features. Be sure to follow our project's coding style. You can check if your code adheres to our style using:
```bash
pnpm run lint:staged
```
This adds a bit of enchantment to your coding experience! ✨
## Committing Your Work
📝 Ready to save your progress? Commit your changes to your branch.
```bash
pnpm run commit
```
This will commit all the files to git, Please keep your commits focused and clear. And remember to be kind to your fellow contributors; keep your commits concise.
## Sync with Upstream
⚙️ Periodically, sync your forked repository with the original (upstream) repository to stay up-to-date with the latest changes.
```bash
git remote add upstream https://github.com/HuLaSpark/HuLa.git
git fetch upstream
git merge upstream/master
```
This ensures you're working on the most current version of HuLa. Stay fresh! 💨
## Open a Pull Request
🚀 Time to share your contribution! Head over to the original HuLa repository and open a Pull Request (PR). Our maintainers will review your work.
## Review and Collaboration
👓 Your PR will undergo thorough review and testing. The maintainers will provide feedback, and you can collaborate to make your contribution even better. We value teamwork!
## Celebrate 🎉
Congratulations! Your contribution is now part of HuLa. 🥳
Thank you for making HuLa even more magical. We can't wait to see what you create! 🌠
Happy Coding! 🚀

201
LICENSE Normal file
View File

@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [2025] [HuLaSpark]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

410
README.en.md Normal file
View File

@@ -0,0 +1,410 @@
<p align="center">
<img width="350px" height="150px" src="src/assets/logo/hula.png"/>
</p>
<p align="center">An instant messaging system built with Tauri, Vite 7, Vue 3, and TypeScript</p>
<!-- 🌟 Featured -->
<div align="center">
<a href="https://hellogithub.com/repository/743b101346c54f6cb5c20eed2edbaa40" target="_blank">
<img src="https://abroad.hellogithub.com/v1/widgets/recommend.svg?rid=743b101346c54f6cb5c20eed2edbaa40&claim_uid=WsQaY6SlnL7qxG3&theme=neutral" alt="FeaturedHelloGitHub" style="width: 250px; height: 54px;" width="250" height="54" />
</a>
</div>
<br>
<!-- Project Statistics & Certification -->
<div align="center">
<h3>📊 Project Statistics</h3>
<p>
<a href="https://gitee.com/HulaSpark/HuLa/stargazers">
<img src="https://gitee.com/HulaSpark/HuLa/badge/star.svg?theme=gvp" alt="Gitee Stars">
</a>
<a href="https://github.com/HulaSpark/HuLa/stargazers">
<img src="https://img.shields.io/github/stars/HulaSpark/HuLa?style=social" alt="GitHub Stars">
</a>
<a href="https://gitcode.com/HuLaSpark/HuLa">
<img src="https://gitcode.com/HuLaSpark/HuLa/star/badge.svg" alt="GitCode Stars">
</a>
</p>
<!-- 🔖 Project Certification -->
<h3>🔖 Project Certification</h3>
<p>
<a href="https://deepwiki.com/HuLaSpark/HuLa">
<img src="https://deepwiki.com/badge.svg" alt="DeepWiki">
</a>
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2FHuLaSpark%2FHuLa?ref=badge_shield">
<img src="https://app.fossa.com/api/projects/git%2Bgithub.com%2FHuLaSpark%2FHuLa.svg?type=shield" alt="FOSSA Status">
</a>
<a href="https://www.bestpractices.dev/en/projects/9692">
<img src="https://bestpractices.coreinfrastructure.org/projects/9692/badge" alt="CII Best Practices">
</a>
</p>
</div>
<br>
<!-- 🛠️ Tech Stack -->
<div align="center">
<h3>🛠️ Tech Stack</h3>
<p>
<img src="https://img.shields.io/badge/Vue3-35495E?logo=vue.js&logoColor=4FC08D">
<img src="https://img.shields.io/badge/TypeScript-3178C6?logo=typescript&logoColor=fff">
<img src="https://img.shields.io/badge/Vite7-646CFF?logo=vite&logoColor=fff">
<img src="https://img.shields.io/badge/Tauri-24C8DB?logo=tauri&logoColor=FFC131">
<img src="https://img.shields.io/badge/Rust-c57c54?logo=rust&logoColor=E34F26">
<img src="https://img.shields.io/badge/UnoCss-333333?logo=unocss&logoColor=fff">
<img src="https://img.shields.io/badge/Sass-CC6699?logo=sass&logoColor=fff">
<img src="https://img.shields.io/badge/pnpm-F69220?logo=pnpm&logoColor=fff">
</p>
</div>
<br>
<!-- 🔗 Quick Links -->
<div align="center">
<h3>🔗 Quick Links</h3>
<p>
💻 <strong>Website:</strong><a href="https://hulaspark.com">HuLaSpark</a> |
☕️ <strong>Server:</strong><a href="https://github.com/HulaSpark/HuLa-Server">GitHub</a> / <a href="https://gitee.com/HulaSpark/HuLa-Server">Gitee</a> |
💬 <strong>WeChat:</strong><code>cy2439646234</code>
</p>
</div>
<p align="center">
<a href="README.md">中文</a> |
English |
<!-- Keep these links. Translations will automatically update with the README. -->
<a href="https://www.readme-i18n.com/HuLaSpark/HuLa?lang=de">Deutsch</a> |
<a href="https://www.readme-i18n.com/HuLaSpark/HuLa?lang=es">Español</a> |
<a href="https://www.readme-i18n.com/HuLaSpark/HuLa?lang=fr">français</a> |
<a href="https://www.readme-i18n.com/HuLaSpark/HuLa?lang=ja">日本語</a> |
<a href="https://www.readme-i18n.com/HuLaSpark/HuLa?lang=ko">한국어</a> |
<a href="https://www.readme-i18n.com/HuLaSpark/HuLa?lang=pt">Português</a> |
<a href="https://www.readme-i18n.com/HuLaSpark/HuLa?lang=ru">Русский</a>
</p>
## 🌐 Supported Platforms
| Platform | Supported Versions |
|----------|-------------------|
| Windows | Windows 10, Windows 11 |
| macOS | macOS 10.5+ |
| Linux | Ubuntu 22.0+ |
| iOS/iPadOS | iOS 9.0+, iPadOS 9.0+ |
| Android | Android 8.0+ |
## 📝 Project Introduction
HuLa is an instant messaging system built with Tauri, Vite 7, Vue 3, and TypeScript. It leverages Tauri's cross-platform capabilities and Vue 3's reactive design, combined with TypeScript's type safety features and Vite 7's fast build process, providing users with an efficient, secure, and user-friendly communication solution.
## 🛠️ Tech Stack
- **Tauri**: Provides a lightweight, high-performance desktop application container for this project, enabling us to develop cross-platform desktop applications using frontend technology stack. Tauri's design philosophy is to minimize resource consumption while ensuring security.
- **Vite 7**: Vite is a modern frontend build tool that leverages native ES module imports to provide a fast development server, while also offering powerful support for production environment packaging. Vite 7 is its latest version, bringing more optimizations and features.
- **Vue 3**: Vue 3 is a progressive JavaScript framework for building user interfaces. Its Composition API, better TypeScript integration, and mobile optimization make developing complex single-page applications simpler and more efficient.
- **TypeScript**: TypeScript is a superset of JavaScript that adds a type system on top of JavaScript. This allows us to catch more errors during development and provides better editor support.
## 🖼️ Project Preview
<div align="center">
<h3>🎨 Interface Showcase</h3>
</div>
<!-- Main Interface -->
<table align="center">
<tr>
<td align="center">
<img src="preview/img.png" alt="Main Interface" width="400" style="border-radius: 12px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); margin: 8px;">
<br><em>💬 Main Chat Interface</em>
</td>
<td align="center">
<img src="preview/img_1.png" alt="Chat Interface" width="400" style="border-radius: 12px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); margin: 8px;">
<br><em>🗨️ Chat Conversation Interface</em>
</td>
</tr>
<tr>
<td align="center">
<img src="preview/img_2.png" alt="Contact Interface" width="400" style="border-radius: 12px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); margin: 8px;">
<br><em>😊 Emoji Selection</em>
</td>
<td align="center">
<img src="preview/img_3.png" alt="Settings Interface" width="400" style="border-radius: 12px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); margin: 8px;">
<br><em>⚙️ System Settings</em>
</td>
</tr>
</table>
<br>
<!-- Feature Showcase -->
<div align="center">
<h4>🌟 Feature Highlights</h4>
</div>
<table align="center">
<tr>
<td align="center">
<img src="preview/img_4.png" alt="Message Features" width="280" style="border-radius: 10px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); margin: 6px;">
<br><em>📱 Diverse Messaging</em>
</td>
<td align="center">
<img src="preview/img_5.png" alt="Theme Switching" width="280" style="border-radius: 10px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); margin: 6px;">
<br><em>🎨 Status Toggle</em>
</td>
<td align="center">
<img src="preview/img_6.png" alt="Emojis" width="280" style="border-radius: 10px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); margin: 6px;">
<br><em>📷 Image Viewer</em>
</td>
</tr>
<tr>
<td align="center">
<img src="preview/img_7.png" alt="Group Management" width="280" style="border-radius: 10px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); margin: 6px;">
<br><em>👥 Group Management</em>
</td>
<td align="center">
<img src="preview/img_8.png" alt="Personal Settings" width="280" style="border-radius: 10px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); margin: 6px;">
<br><em>🤖 ChatBot Plugin Features</em>
</td>
<td align="center">
<img src="preview/img_9.png" alt="File Transfer" width="280" style="border-radius: 10px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); margin: 6px;">
<br><em>🤖 ChatBot Settings Page</em>
</td>
</tr>
</table>
## ✨ Features
<div align="center">
<h3>🎯 Development Progress Overview</h3>
</div>
### 🔐 User Authentication System
| Feature | Description | Status |
|---------|-------------|--------|
| 🔑 | Username/Password Login | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 📱 | QR Code Scan Login | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 💻 | Multi-device Login Management | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
### 💬 Message Communication
| Feature | Description | Status |
|---------|-------------|--------|
| 👤 | One-on-one Private Chat | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 👥 | Group Chat | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| ↩️ | Message Recall | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 📢 | @Mention & Reply Features | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 👁️ | Message Read Status | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 😊 | Emoji Features | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🖱️ | Message Right-click Menu | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🔗 | Link Preview Cards | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 👍 | Message Like Interaction | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
### 🤝 Social Management
| Feature | Description | Status |
|---------|-------------|--------|
| | Add & Remove Friends | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🔍 | Friend Search | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🏢 | Group Creation & Management | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🟢 | Friend Online Status | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🎖️ | Friend Badge System | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🚫 | Block & Do Not Disturb | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 📤 | Message Forwarding | ![In Progress](https://img.shields.io/badge/🐣-In_Progress-ee9f20?style=flat&labelColor=fef7e6&color=ee9f20) |
| 📋 | Group Announcements | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🏷️ | Nickname & Remark Management | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
### 🎨 User Experience
| Feature | Description | Status |
|---------|-------------|--------|
| 🖼️ | Modern UI Design | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🌙 | Dark & Light Theme | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🎭 | Skin Theme Switching | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
### 🛠️ System Features
| Feature | Description | Status |
|---------|-------------|--------|
| 🪟 | Multi-window Management | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🔔 | System Tray Notifications | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 📷 | Image Viewer | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| ✂️ | Screenshot Feature | ![In Progress](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 📁 | File Upload (Qiniu Cloud) | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🔄 | Auto-update System | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
### 🌐 Cross-platform Support
| Feature | Description | Status |
|---------|-------------|--------|
| 💻 | Windows/macOS/Linux | ![Completed](https://img.shields.io/badge/✅-Completed-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 📱 | iOS/Android Adaptation | ![In Progress](https://img.shields.io/badge/🐣-Accomplish60%-ee9f20?style=flat&labelColor=fef7e6&color=ee9f20) |
### 🤖 AI Integration
| Feature | Description | Status |
|---------|-------------|--------|
| 🧠 | AI Chat Assistant | ![In Progress](https://img.shields.io/badge/🐣-In_Progress-ee9f20?style=flat&labelColor=fef7e6&color=ee9f20) |
| 🔌 | Multi-platform AI Support | ![In Progress](https://img.shields.io/badge/🐣-In_Progress-ee9f20?style=flat&labelColor=fef7e6&color=ee9f20) |
## 👏 Thanks to all Contributors!
<a href="https://github.com/HuLaSpark/HuLa/graphs/contributors">
<img src="https://contrib.rocks/image?repo=HuLaSpark/HuLa" />
</a>
## 📥 Installation & Running
```bash
# Clone the project
git clone https://gitee.com/HulaSpark/HuLa.git
# or
git clone https://github.com/HulaSpark/HuLa.git
# Enter project directory
cd HuLa
# Install dependencies
pnpm install
# Run development server
pnpm run tauri:dev
# Build for production
pnpm run tauri:build
```
## ⚠️ Important Notes (macOS Users)
Downloading installation packages from the web may show a damaged package prompt, possibly encountering certificate issues due to macOS security mechanisms. Please follow these steps to resolve:
#### 1. Open "System Settings" - "Security & Privacy", check as shown: Allow apps downloaded from "Anywhere" to run:
<div align="center">
<img src="preview/img_10.png" alt="img_10.png" />
</div>
#### 2. If errors persist, execute the following commands in Terminal:
```bash
## Execute before installation
sudo xattr -rd com.apple.quarantine path/to/your/downloaded/package
```
```bash
## If already installed, execute the following
sudo xattr -r -d com.apple.quarantine /Applications/ApplicationName.app
```
## 📋 Commit Guidelines
Execute **pnpm run commit** to invoke _git commit_ interaction, complete information input and selection according to prompts.
## ⚖️ Disclaimer
1. This project is provided as an open-source project. Developers do not provide any form of explicit or implicit warranties for the functionality, security, or applicability of the software within the scope permitted by law.
2. Users clearly understand and agree that the risk of using this software is entirely borne by the user. The software is provided on an "as is" and "as available" basis. Developers do not provide any form of warranty, whether explicit or implicit, including but not limited to warranties of merchantability, fitness for a particular purpose, and non-infringement.
3. Under no circumstances shall developers or their suppliers be liable for any direct, indirect, incidental, special, punitive, or consequential damages, including but not limited to profit loss, business interruption, personal information leakage, or other commercial damages or losses arising from the use of this software.
4. All users conducting secondary development on this project must commit to using this software for legal purposes and are responsible for complying with local laws and regulations.
5. Developers have the right to modify the software's functions or features at any time, as well as any part of this disclaimer, and these modifications may be reflected in the form of software updates.
**The final interpretation of this disclaimer belongs to the developers**
## 🎁 Support the Project
<h3>💝 Sponsor Support</h3>
<p><em>If you find HuLa helpful, welcome to sponsor and support us. Your support is our motivation to keep moving forward!</em></p>
<div>
<img src="preview/zs.jpg" height="240" alt="WeChat Code">
<img src="preview/zfb.png" height="240" alt="Alipay Code">
</div>
<br>
---
## 💬 Join Community
<div align="center">
<h3>🤝 HuLa Community Discussion Group</h3>
<p><em>Join developers and users for discussions, get the latest news and technical support</em></p>
<div>
<img src="preview/wx.png" width="220" height="260" alt="WeChat Group QR Code">
</div>
<p><strong>📱 Scan to Join WeChat Discussion Group</strong></p>
</div>
## 🙏 Thanks to Sponsors
<div align="center">
<h3>💎 Contributors Hall of Fame</h3>
<p><em>Thanks to the following friends for their generous support of the HuLa project!</em></p>
</div>
### 🏆 Gold Sponsors ($15+)
| 💝 Date | 👤 Sponsor | 💰 Amount | 🏷️ Platform |
|---------|----------|--------|---------|
| 2025-04-25 | **上官俊斌** | `¥200` | ![WeChat](https://img.shields.io/badge/WeChat-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-05-27 | **临安居士** | `¥188` | ![WeChat](https://img.shields.io/badge/WeChat-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-04-20 | **姜兴(Simon)** | `¥188` | ![WeChat](https://img.shields.io/badge/WeChat-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-02-17 | **禾硕** | `¥168` | ![Alipay](https://img.shields.io/badge/Alipay-1677FF?style=flat&logo=alipay&logoColor=white) |
| 2025-08-13 | **zhongjing** | `¥100` | ![WeChat](https://img.shields.io/badge/微信赞赏-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-07-15 | **粉兔** | `¥100` | ![WeChat](https://img.shields.io/badge/微信赞赏-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-02-8 | **Boom....** | `¥100` | ![WeChat](https://img.shields.io/badge/WeChat-07C160?style=flat&logo=wechat&logoColor=white) |
### 🥈 Silver Sponsors ($8-14)
| 💝 Date | 👤 Sponsor | 💰 Amount | 🏷️ Platform |
|---------|----------|--------|---------|
| 2025-06-26 | **m udDy🐖** | `¥88` | ![WeChat](https://img.shields.io/badge/WeChat-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-05-09 | **犹豫,就会败北。** | `¥88` | ![WeChat](https://img.shields.io/badge/WeChat-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-04-01 | **墨** | `¥88.88` | ![WeChat](https://img.shields.io/badge/WeChat-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-02-8 | **邓伟** | `¥88` | ![WeChat](https://img.shields.io/badge/WeChat-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-02-7 | **dennis** | `¥80` | ![Gitee](https://img.shields.io/badge/Gitee-C71D23?style=flat&logo=gitee&logoColor=white) |
| 2025-02-6 | **小二** | `¥62` | ![WeChat](https://img.shields.io/badge/WeChat-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-05-15 | **孤鸿影** | `¥56` | ![WeChat](https://img.shields.io/badge/WeChat-07C160?style=flat&logo=wechat&logoColor=white) |
### 🥉 Bronze Sponsors ($3-7)
| 💝 Date | 👤 Sponsor | 💰 Amount | 🏷️ Platform |
|---------|----------|--------|---------|
| 2025-08-12 | ***持** | `¥20` | ![Alipay](https://img.shields.io/badge/支付宝赞赏-1677FF?style=flat&logo=alipay&logoColor=white) |
| 2025-06-03 | **洪流** | `¥20` | ![WeChat](https://img.shields.io/badge/WeChat-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-05-27 | **刘启成** | `¥20` | ![WeChat](https://img.shields.io/badge/WeChat-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-05-20 | **匿名赞助者** | `¥20` | ![WeChat](https://img.shields.io/badge/WeChat-07C160?style=flat&logo=wechat&logoColor=white) |
<div align="center">
<br>
> 📝 **Friendly Reminder**
> This list is manually updated. If you have sponsored but are not listed, please contact us:
> 🐛 [GitHub Issue](https://github.com/HuLaSpark/HuLa/issues) | 📧 Email: `2439646234@qq.com` | 💬 WeChat: `cy2439646234`
<br>
</div>
---
## 📄 Open Source License
<div align="center">
<h3>⚖️ License Information</h3>
<p>
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2FHuLaSpark%2FHuLa?ref=badge_large">
<img src="https://app.fossa.com/api/projects/git%2Bgithub.com%2FHuLaSpark%2FHuLa.svg?type=large" alt="FOSSA Status" style="max-width: 100%; border-radius: 8px;">
</a>
</p>
<p><em>This project follows open source license agreements. For detailed information, please check the license report above</em></p>
</div>
---
<div align="center">
<h3>🌟 Thank You for Your Attention</h3>
<p>
<em>If you find HuLa valuable, please give us a ⭐ Star, which is the greatest encouragement for us!</em>
</p>
<p>
<strong>Let's build a better instant messaging experience together 🚀</strong>
</p>
</div>

413
README.md
View File

@@ -1,16 +1,411 @@
# Tauri + Vue 3 + TypeScript
This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
<p align="center">
<img width="350px" height="150px" src="src/assets/logo/hula.png"/>
</p>
## Recommended IDE Setup
<p align="center">一款基于Tauri、Vite 7、Vue 3 和 TypeScript 构建的即时通讯系统</p>
- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)
<!-- 🌟 特色推荐 -->
<div align="center">
<a href="https://hellogithub.com/repository/743b101346c54f6cb5c20eed2edbaa40" target="_blank">
<img src="https://abroad.hellogithub.com/v1/widgets/recommend.svg?rid=743b101346c54f6cb5c20eed2edbaa40&claim_uid=WsQaY6SlnL7qxG3&theme=neutral" alt="FeaturedHelloGitHub" style="width: 250px; height: 54px;" width="250" height="54" />
</a>
</div>
## Type Support For `.vue` Imports in TS
<br>
Since TypeScript cannot handle type information for `.vue` imports, they are shimmed to be a generic Vue component type by default. In most cases this is fine if you don't really care about component prop types outside of templates. However, if you wish to get actual prop types in `.vue` imports (for example to get props validation when using manual `h(...)` calls), you can enable Volar's Take Over mode by following these steps:
<!-- 项目统计与认证 -->
<div align="center">
<h3>📊 项目统计</h3>
<p>
<a href="https://gitee.com/HulaSpark/HuLa/stargazers">
<img src="https://gitee.com/HulaSpark/HuLa/badge/star.svg?theme=gvp" alt="Gitee Stars">
</a>
<a href="https://github.com/HulaSpark/HuLa/stargazers">
<img src="https://img.shields.io/github/stars/HulaSpark/HuLa?style=social" alt="GitHub Stars">
</a>
<a href="https://gitcode.com/HuLaSpark/HuLa">
<img src="https://gitcode.com/HuLaSpark/HuLa/star/badge.svg" alt="GitCode Stars">
</a>
</p>
1. Run `Extensions: Show Built-in Extensions` from VS Code's command palette, look for `TypeScript and JavaScript Language Features`, then right click and select `Disable (Workspace)`. By default, Take Over mode will enable itself if the default TypeScript extension is disabled.
2. Reload the VS Code window by running `Developer: Reload Window` from the command palette.
<!-- 🔖 项目认证 -->
<h3>🔖 项目认证</h3>
<p>
<a href="https://deepwiki.com/HuLaSpark/HuLa">
<img src="https://deepwiki.com/badge.svg" alt="DeepWiki">
</a>
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2FHuLaSpark%2FHuLa?ref=badge_shield">
<img src="https://app.fossa.com/api/projects/git%2Bgithub.com%2FHuLaSpark%2FHuLa.svg?type=shield" alt="FOSSA Status">
</a>
<a href="https://www.bestpractices.dev/zh-CN/projects/9692">
<img src="https://bestpractices.coreinfrastructure.org/projects/9692/badge" alt="CII Best Practices">
</a>
</p>
</div>
You can learn more about Take Over mode [here](https://github.com/johnsoncodehk/volar/discussions/471).
<br>
<!-- 🛠️ 技术栈 -->
<div align="center">
<h3>🛠️ 技术栈</h3>
<p>
<img src="https://img.shields.io/badge/Vue3-35495E?logo=vue.js&logoColor=4FC08D">
<img src="https://img.shields.io/badge/TypeScript-3178C6?logo=typescript&logoColor=fff">
<img src="https://img.shields.io/badge/Vite7-646CFF?logo=vite&logoColor=fff">
<img src="https://img.shields.io/badge/Tauri-24C8DB?logo=tauri&logoColor=FFC131">
<img src="https://img.shields.io/badge/Rust-c57c54?logo=rust&logoColor=E34F26">
<img src="https://img.shields.io/badge/UnoCss-333333?logo=unocss&logoColor=fff">
<img src="https://img.shields.io/badge/Sass-CC6699?logo=sass&logoColor=fff">
<img src="https://img.shields.io/badge/pnpm-F69220?logo=pnpm&logoColor=fff">
</p>
</div>
<br>
<!-- 🔗 快速链接 -->
<div align="center">
<h3>🔗 快速链接</h3>
<p>
💻 <strong>官网:</strong><a href="https://hulaspark.com">HuLaSpark</a> |
☕️ <strong>服务端:</strong><a href="https://github.com/HulaSpark/HuLa-Server">GitHub</a> / <a href="https://gitee.com/HulaSpark/HuLa-Server">Gitee</a> |
💬 <strong>微信:</strong><code>cy2439646234</code>
</p>
</div>
<p align="center">
中文 |
<a href="README.en.md">English</a> |
<!-- Keep these links. Translations will automatically update with the README. -->
<a href="https://www.readme-i18n.com/HuLaSpark/HuLa?lang=de">Deutsch</a> |
<a href="https://www.readme-i18n.com/HuLaSpark/HuLa?lang=es">Español</a> |
<a href="https://www.readme-i18n.com/HuLaSpark/HuLa?lang=fr">français</a> |
<a href="https://www.readme-i18n.com/HuLaSpark/HuLa?lang=ja">日本語</a> |
<a href="https://www.readme-i18n.com/HuLaSpark/HuLa?lang=ko">한국어</a> |
<a href="https://www.readme-i18n.com/HuLaSpark/HuLa?lang=pt">Português</a> |
<a href="https://www.readme-i18n.com/HuLaSpark/HuLa?lang=ru">Русский</a>
</p>
## 🌐 支持平台
| 平台 | 支持版本 |
|------|---------|
| Windows | Windows 10, Windows 11 |
| macOS | macOS 10.5+ |
| Linux | Ubuntu 22.0+ |
| iOS/iPadOS | iOS 9.0+, iPadOS 9.0+ |
| Android | Android 8.0+ |
## 📝 项目介绍
HuLa 是一款基于 Tauri、Vite 7、Vue 3 和 TypeScript 构建的即时通讯系统。它利用了 Tauri 的跨平台能力和 Vue 3 的响应式设计,结合了 TypeScript 的类型安全特性和 Vite 7 的快速构建,为用户提供了一个高效、安全和易用的通讯解决方案。
## 🛠️ 技术栈
- **Tauri**: 为本项目提供了一款轻量级的、高性能的桌面应用容器使得我们可以使用前端技术栈来开发跨平台的桌面应用。Tauri 的设计哲学是在保证安全性的前提下,尽可能减少资源占用。
- **Vite 7**: Vite 是一个现代化的前端构建工具,它利用原生 ES 模块导入的能力来提供一个快速的开发服务器与此同时它也为生产环境打包提供了强大的支持。Vite 7 是其最新的版本,带来了更多的优化和特性。
- **Vue 3**: Vue 3 是一个渐进式JavaScript框架用于构建用户界面。它的组合式API、更好的TypeScript集成和对移动端的优化使得开发复杂的单页应用变得更加简单和高效。
- **TypeScript**: TypeScript 是 JavaScript 的一个超集,它在 JavaScript 的基础上增加了类型系统。这让我们能够在开发过程中捕获更多的错误,并且提供更好的编辑器支持。
## 🖼️ 项目预览
<div align="center">
<h3>🎨 界面展示</h3>
</div>
<!-- 主界面展示 -->
<table align="center">
<tr>
<td align="center">
<img src="preview/img.png" alt="主界面" width="400" style="border-radius: 12px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); margin: 8px;">
<br><em>💬 主聊天界面</em>
</td>
<td align="center">
<img src="preview/img_1.png" alt="聊天界面" width="400" style="border-radius: 12px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); margin: 8px;">
<br><em>🗨️ 聊天对话界面</em>
</td>
</tr>
<tr>
<td align="center">
<img src="preview/img_2.png" alt="联系人界面" width="400" style="border-radius: 12px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); margin: 8px;">
<br><em>😊 表情包选择</em>
</td>
<td align="center">
<img src="preview/img_3.png" alt="设置界面" width="400" style="border-radius: 12px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); margin: 8px;">
<br><em>⚙️ 系统设置</em>
</td>
</tr>
</table>
<br>
<!-- 功能特性展示 -->
<div align="center">
<h4>🌟 功能特性</h4>
</div>
<table align="center">
<tr>
<td align="center">
<img src="preview/img_4.png" alt="消息功能" width="280" style="border-radius: 10px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); margin: 6px;">
<br><em>📱 消息多样化</em>
</td>
<td align="center">
<img src="preview/img_5.png" alt="主题切换" width="280" style="border-radius: 10px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); margin: 6px;">
<br><em>🎨 状态切换</em>
</td>
<td align="center">
<img src="preview/img_6.png" alt="表情包" width="280" style="border-radius: 10px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); margin: 6px;">
<br><em> 📷 图片查看</em>
</td>
</tr>
<tr>
<td align="center">
<img src="preview/img_7.png" alt="群聊管理" width="280" style="border-radius: 10px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); margin: 6px;">
<br><em>👥 群聊管理</em>
</td>
<td align="center">
<img src="preview/img_8.png" alt="个人设置" width="280" style="border-radius: 10px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); margin: 6px;">
<br><em>🤖 ChatBot 插件功能</em>
</td>
<td align="center">
<img src="preview/img_9.png" alt="文件传输" width="280" style="border-radius: 10px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); margin: 6px;">
<br><em>🤖 ChatBot 设置页面</em>
</td>
</tr>
</table>
## ✨ 功能特性
<div align="center">
<h3>🎯 开发进度一览</h3>
</div>
### 🔐 用户认证系统
| 功能 | 描述 | 状态 |
|------|------|------|
| 🔑 | 账号密码登录 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 📱 | 二维码扫码登录 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 💻 | 多设备登录管理 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
### 💬 消息通信
| 功能 | 描述 | 状态 |
|------|------|------|
| 👤 | 一对一私聊 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 👥 | 群组聊天 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| ↩️ | 消息撤回 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 📢 | @提醒、回复功能 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 👁️ | 消息已读状态 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 😊 | 表情包功能 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🖱️ | 消息右键菜单 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🔗 | 链接预览卡片 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 👍 | 消息点赞互动 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
### 🤝 社交管理
| 功能 | 描述 | 状态 |
|------|------|------|
| | 好友添加与删除 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🔍 | 好友搜索 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🏢 | 群组创建与管理 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🟢 | 好友在线状态 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🎖️ | 好友徽章系统 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🚫 | 屏蔽拉黑免打扰 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 📤 | 消息转发 | ![进行中](https://img.shields.io/badge/🐣-进行中-ee9f20?style=flat&labelColor=fef7e6&color=ee9f20) |
| 📋 | 群公告功能 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🏷️ | 备注昵称管理 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
### 🎨 界面体验
| 功能 | 描述 | 状态 |
|------|------|------|
| 🖼️ | 现代化界面设计 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🌙 | 深色浅色主题 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🎭 | 皮肤主题切换 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
### 🛠️ 系统功能
| 功能 | 描述 | 状态 |
|------|------|------|
| 🪟 | 多窗口管理 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🔔 | 系统托盘通知 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 📷 | 图片查看器 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| ✂️ | 截图功能 | ![进行中](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 📁 | 文件上传(七牛云) | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 🔄 | 自动更新系统 | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
### 🌐 跨平台支持
| 功能 | 描述 | 状态 |
|------|------|------|
| 💻 | Windows/macOS/Linux | ![完成](https://img.shields.io/badge/✅-完成-008080?style=flat&labelColor=e6f7f7&color=008080) |
| 📱 | iOS/Android 适配 | ![进行中](https://img.shields.io/badge/🐣-完成60%-ee9f20?style=flat&labelColor=fef7e6&color=ee9f20) |
### 🤖 AI 集成
| 功能 | 描述 | 状态 |
|------|------|------|
| 🧠 | AI 聊天助手 | ![进行中](https://img.shields.io/badge/🐣-进行中-ee9f20?style=flat&labelColor=fef7e6&color=ee9f20) |
| 🔌 | 多平台 AI 支持 | ![进行中](https://img.shields.io/badge/🐣-进行中-ee9f20?style=flat&labelColor=fef7e6&color=ee9f20) |
## 👏 感谢以下贡献者们!
<a href="https://github.com/HuLaSpark/HuLa/graphs/contributors">
<img src="https://contrib.rocks/image?repo=HuLaSpark/HuLa" />
</a>
## 📥 安装与运行
```bash
# 克隆项目
git clone https://gitee.com/HuLaSpark/HuLa.git
或者
git clone https://github.com/HuLaSpark/HuLa.git
# 进入项目目录
cd HuLa
# 安装依赖
pnpm install
# 运行开发服务器
pnpm run tauri:dev
# 构建生产版本
pnpm run tauri:build
```
## ⚠️ 注意事项(macOS用户)
网页上下载安装包会提示安装包已损坏,可能会遇到证书问题,这是因为 macOS 系统的安全机制导致的。请按照以下步骤解决:
#### 1. 打开 "系统设置" - "安全性与隐私",如图勾选:允许 "任何来源" 下载的 App 运行:
<div align="center">
<img src="preview/img_10.png" alt="img_10.png" />
</div>
#### 2. 如果还报错,请在终端执行以下命令解决:
```bash
## 安装前执行
sudo xattr -rd com.apple.quarantine 你的安装包路径/下载的安装包名称
```
```bash
## 如果已经安装,则执行下面
sudo xattr -r -d com.apple.quarantine /Applications/应用名称.app
```
## 📋 提交规范
执行 **pnpm run commit** 唤起 _git commit_ 交互,根据提示完成信息的输入和选择
## ⚖️ 免责声明
1. 本项目是作为一款开源项目提供的,开发者在法律允许的范围内不对软件的功能性、安全性或适用性提供任何形式的明示或暗示的保证
2. 用户明确理解并同意,使用本软件的风险完全由用户自己承担,软件以"现状"和"现有"基础提供。开发者不提供任何形式的担保,无论是明示还是暗示的,包括但不限于适销性、特定用途的适用性和非侵权的担保
3. 在任何情况下,开发者或其供应商都不对任何直接的、间接的、偶然的、特殊的、惩罚性的或后果性的损害承担责任,包括但不限于使用本软件产生的利润损失、业务中断、个人信息泄露或其他商业损害或损失
4. 所有在本项目上进行二次开发的用户,都需承诺将本软件用于合法目的,并自行负责遵守当地的法律和法规
5. 开发者有权在任何时间修改软件的功能或特性,以及本免责声明的任何部分,并且这些修改可能会以软件更新的形式体现
**本免责声明的最终解释权归开发者所有**
## 🎁 支持项目
<h3>💝 赞助支持</h3>
<p><em>如果您觉得 HuLa 对您有帮助,欢迎赞助支持,您的支持是我们不断前进的动力!</em></p>
<div>
<img src="preview/zs.jpg" height="240" alt="WeChat Code">
<img src="preview/zfb.png" height="240" alt="Alipay Code">
</div>
<br>
---
## 💬 加入社区
<div align="center">
<h3>🤝 HuLa 社区讨论群</h3>
<p><em>与开发者和用户一起交流讨论,获取最新资讯和技术支持</em></p>
<div>
<img src="preview/wx.png" width="220" height="260" alt="微信群二维码">
</div>
<p><strong>📱 扫码加入微信讨论群</strong></p>
</div>
## 🙏 感谢赞助者
<div align="center">
<h3>💎 贡献者荣誉榜</h3>
<p><em>感谢以下朋友对 HuLa 项目的慷慨支持!</em></p>
</div>
### 🏆 金牌赞助者 (¥100+)
| 💝 日期 | 👤 赞助者 | 💰 金额 | 🏷️ 平台 |
|---------|----------|--------|---------|
| 2025-04-25 | **上官俊斌** | `¥200` | ![微信赞赏](https://img.shields.io/badge/微信赞赏-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-05-27 | **临安居士** | `¥188` | ![微信赞赏](https://img.shields.io/badge/微信赞赏-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-04-20 | **姜兴(Simon)** | `¥188` | ![微信赞赏](https://img.shields.io/badge/微信赞赏-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-02-17 | **禾硕** | `¥168` | ![支付宝赞赏](https://img.shields.io/badge/支付宝赞赏-1677FF?style=flat&logo=alipay&logoColor=white) |
| 2025-08-13 | **zhongjing** | `¥100` | ![微信赞赏](https://img.shields.io/badge/微信赞赏-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-07-15 | **粉兔** | `¥100` | ![微信赞赏](https://img.shields.io/badge/微信赞赏-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-02-8 | **Boom....** | `¥100` | ![微信赞赏](https://img.shields.io/badge/微信赞赏-07C160?style=flat&logo=wechat&logoColor=white) |
### 🥈 银牌赞助者 (¥50-99)
| 💝 日期 | 👤 赞助者 | 💰 金额 | 🏷️ 平台 |
|---------|----------|--------|---------|
| 2025-06-26 | **m udDy🐖** | `¥88` | ![微信赞赏](https://img.shields.io/badge/微信赞赏-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-05-09 | **犹豫,就会败北。** | `¥88` | ![微信赞赏](https://img.shields.io/badge/微信赞赏-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-04-01 | **墨** | `¥88.88` | ![微信赞赏](https://img.shields.io/badge/微信赞赏-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-02-8 | **邓伟** | `¥88` | ![微信赞赏](https://img.shields.io/badge/微信赞赏-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-02-7 | **dennis** | `¥80` | ![Gitee赞赏](https://img.shields.io/badge/Gitee赞赏-C71D23?style=flat&logo=gitee&logoColor=white) |
| 2025-02-6 | **小二** | `¥62` | ![微信赞赏](https://img.shields.io/badge/微信赞赏-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-05-15 | **孤鸿影** | `¥56` | ![微信赞赏](https://img.shields.io/badge/微信赞赏-07C160?style=flat&logo=wechat&logoColor=white) |
### 🥉 铜牌赞助者 (¥20-49)
| 💝 日期 | 👤 赞助者 | 💰 金额 | 🏷️ 平台 |
|---------|----------|--------|---------|
| 2025-08-12 | ***持** | `¥20` | ![支付宝赞赏](https://img.shields.io/badge/支付宝赞赏-1677FF?style=flat&logo=alipay&logoColor=white) |
| 2025-06-03 | **洪流** | `¥20` | ![微信赞赏](https://img.shields.io/badge/微信赞赏-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-05-27 | **刘启成** | `¥20` | ![微信赞赏](https://img.shields.io/badge/微信赞赏-07C160?style=flat&logo=wechat&logoColor=white) |
| 2025-05-20 | **匿名赞助者** | `¥20` | ![微信赞赏](https://img.shields.io/badge/微信赞赏-07C160?style=flat&logo=wechat&logoColor=white) |
<div align="center">
<br>
> 📝 **温馨提示**
> 该名单为手动更新,如果您已赞助但未在列表中,请联系我们:
> 🐛 [GitHub Issue](https://github.com/HuLaSpark/HuLa/issues) | 📧 邮箱: `2439646234@qq.com` | 💬 微信: `cy2439646234`
<br>
</div>
---
## 📄 开源许可
<div align="center">
<h3>⚖️ 许可证信息</h3>
<p>
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2FHuLaSpark%2FHuLa?ref=badge_large">
<img src="https://app.fossa.com/api/projects/git%2Bgithub.com%2FHuLaSpark%2FHuLa.svg?type=large" alt="FOSSA Status" style="max-width: 100%; border-radius: 8px;">
</a>
</p>
<p><em>本项目遵循开源许可协议,详细信息请查看上方许可证报告</em></p>
</div>
---
<div align="center">
<h3>🌟 感谢您的关注</h3>
<p>
<em>如果您觉得 HuLa 有价值,请给我们一个 ⭐ Star这是对我们最大的鼓励</em>
</p>
<p>
<strong>让我们一起构建更好的即时通讯体验 🚀</strong>
</p>
</div>

19
SECURITY.md Normal file
View File

@@ -0,0 +1,19 @@
# Security Policy
## Supported Versions
There are now two versions of HuLa, one is an earlier version using simulated data
and the other is a later version using server data
| Version | Supported |
| ------- | ------------------------------------ |
| 1.4 | :Comparatively complete features: |
| 1.5 | :Support more features: |
| 1.6 | :Interconnect with backend data: |
| 2.x | :Developed on the basis of Tauri-V2: |
## Reporting a Vulnerability
Now the installation package downloaded in the browser will have a virus error, this is because there
is no security code set for the reason, this follow-up is set according to the platform, the Windows
platform costs less, so we focus on the solution of the Windows platform

115
biome.json vendored Normal file
View File

@@ -0,0 +1,115 @@
{
"$schema": "https://biomejs.dev/schemas/latest/schema.json",
"vcs": { "enabled": false, "clientKind": "git", "useIgnoreFile": false },
"files": {
"ignoreUnknown": false,
"includes": [
"**/*.{js,jsx,ts,tsx,vue,json}",
"!.*",
"!public/*",
"!src/typings/*.d.ts",
"!src-tauri/*",
"!node_modules/*",
"!tauri-plugin-hula/*",
"!dist/*",
"!src-tauri/gen/schemas"
]
},
"formatter": {
"enabled": true,
"formatWithErrors": false,
"indentStyle": "space",
"indentWidth": 2,
"lineEnding": "lf",
"lineWidth": 120,
"attributePosition": "auto",
"bracketSameLine": true,
"bracketSpacing": true,
"expand": "auto",
"useEditorconfig": true
},
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"a11y": {
"noStaticElementInteractions": "off",
"useKeyWithClickEvents": "off",
"noSvgWithoutTitle": "off",
"useAltText": "off"
},
"complexity": {
"useOptionalChain": "off",
"useLiteralKeys": "off",
"useDateNow": "off",
"noStaticOnlyClass": "off"
},
"correctness": {
"noUnusedVariables": "warn",
"noUnusedImports": "warn"
},
"style": {
"useNodejsImportProtocol": "off",
"noNonNullAssertion": "off",
"useNamingConvention": "off",
"useTemplate": "off"
},
"suspicious": {
"noGlobalIsNan": "off",
"noExplicitAny": "off",
"noAssignInExpressions": "off",
"noImplicitAnyLet": "off",
"noConfusingVoidType": "off",
"noArrayIndexKey": "off",
"useIterableCallbackReturn": "off"
}
}
},
"javascript": {
"formatter": {
"jsxQuoteStyle": "double",
"quoteProperties": "asNeeded",
"trailingCommas": "none",
"semicolons": "asNeeded",
"arrowParentheses": "always",
"bracketSameLine": true,
"quoteStyle": "single",
"attributePosition": "auto",
"bracketSpacing": true
}
},
"json": {
"formatter": {
"trailingCommas": "none"
}
},
"assist": {
"enabled": true,
"actions": { "source": { "organizeImports": "on" } }
},
"overrides": [
{
"includes": ["**/*.vue"],
"linter": {
"rules": {
"correctness": {
"noUnusedVariables": "off",
"noUnusedImports": "off"
},
"style": {
"useNamingConvention": "off",
"useTemplate": "off"
},
"suspicious": {
"noExplicitAny": "off",
"noAssignInExpressions": "off",
"noImplicitAnyLet": "off"
}
}
},
"formatter": {
"enabled": true
}
}
]
}

View File

@@ -1,5 +1,5 @@
//使用path需要按照@types/node依赖
import path from 'path'
import path from 'node:path'
/**
* 获取项目根路径

42
build/config/version.ts vendored Normal file
View File

@@ -0,0 +1,42 @@
import pkg from '../../package.json'
/** npm依赖包版本信息 */
export interface PkgVersionInfo {
name: string
version: string
}
interface Package {
name: string
version: string
author: Record<string, string>
dependencies: Record<string, string>
devDependencies: Record<string, string>
[key: string]: any
}
interface PkgJson {
name: string
version: string
author: Record<string, string>
dependencies: PkgVersionInfo[]
devDependencies: PkgVersionInfo[]
}
const pkgWithType = pkg as Package
const transformVersionData = (tuple: [string, string]): PkgVersionInfo => {
const [name, version] = tuple
return {
name,
version
}
}
export const pkgJson: PkgJson = {
name: pkgWithType.name,
version: pkgWithType.version,
author: pkgWithType.author,
dependencies: Object.entries(pkgWithType.dependencies).map((item) => transformVersionData(item)),
devDependencies: Object.entries(pkgWithType.devDependencies).map((item) => transformVersionData(item))
}

98
commitlint.config.cjs vendored Normal file
View File

@@ -0,0 +1,98 @@
/** @type {import('cz-git').UserConfig} */
const fs = require('fs')
const path = require('path')
/* 获取项目的修改范围 */
const scopes = fs
.readdirSync(path.resolve(__dirname, 'src'), { withFileTypes: true })
.filter((dirent) => dirent.isDirectory())
.map((dirent) => dirent.name.replace(/s$/, ''))
module.exports = {
// 继承的规则
extends: ['@commitlint/config-conventional'],
// 自定义规则
rules: {
// @see https://commitlint.js.org/#/reference-rules
// 提交类型枚举git提交type必须是以下类型
'type-enum': [
2,
'always',
[
'feat', // 新增功能
'fix', // 修复缺陷
'docs', // 文档变更
'style', // 代码格式(不影响功能,例如空格、分号等格式修正)
'refactor', // 代码重构(不包括 bug 修复、功能新增)
'perf', // 性能优化
'test', // 添加疏漏测试或已有测试改动
'build', // 构建流程、外部依赖变更(如升级 npm 包、修改 webpack 配置等)
'ci', // 修改 CI 配置、脚本
'revert', // 回滚 commit
'chore' // 对构建过程或辅助工具和库的更改(不影响源文件、测试用例)
]
],
'subject-case': [0] // subject大小写不做校验
},
prompt: {
messages: {
type: '选择你要提交的类型 :',
scope: '选择一个提交范围(可选):',
customScope: '请输入自定义的提交范围 :',
subject: '填写简短精炼的变更描述 :\n',
body: '填写更加详细的变更描述(可选)。使用 "|" 换行 :\n',
breaking: '列举非兼容性重大的变更(可选)。使用 "|" 换行 :\n',
footerPrefixesSelect: '选择关联issue前缀可选:',
customFooterPrefix: '输入自定义issue前缀 :',
footer: '列举关联issue (可选) 例如: #31, #I3244 :\n',
generatingByAI: '正在通过 AI 生成你的提交简短描述...',
generatedSelectByAI: '选择一个 AI 生成的简短描述:',
confirmCommit: '是否提交或修改commit ?'
},
// prettier-ignore
types: [
{ value: "feat", name: "特性: ✨ 新增功能", emoji: ":sparkles:" },
{ value: "fix", name: "修复: 🐛 修复缺陷", emoji: ":bug:" },
{ value: "docs", name: "文档: 📝 文档变更", emoji: ":memo:" },
{ value: "style", name: "格式: 💄 代码格式(不影响功能,例如空格、分号等格式修正)", emoji: ":lipstick:" },
{ value: "refactor", name: "重构: ♻️ 代码重构(不包括 bug 修复、功能新增)", emoji: ":recycle:" },
{ value: "perf", name: "性能: 🚀 性能优化", emoji: ":zap:" },
{ value: "test", name: "测试: 🧪 添加疏漏测试或已有测试改动", emoji: ":white_check_mark:"},
{ value: "build", name: "构建: 📦️ 构建流程、外部依赖变更(如升级 npm 包、修改 vite 配置等)", emoji: ":package:"},
{ value: "ci", name: "集成: ⚙️ 修改 CI 配置、脚本", emoji: ":ferris_wheel:"},
{ value: "revert", name: "回退: ↩️ 回滚 commit",emoji: ":rewind:"},
{ value: "chore", name: "其他: 🛠️ 对构建过程或辅助工具和库的更改(不影响源文件、测试用例)", emoji: ":hammer:"},
],
useEmoji: true,
emojiAlign: 'center',
useAI: false,
aiNumber: 1,
themeColorCode: '38;5;168',
allowCustomScopes: true,
allowEmptyScopes: true,
customScopesAlign: 'bottom',
scopes: [...scopes],
upperCaseSubject: false,
markBreakingChangeMode: false,
allowBreakingChanges: ['feat', 'fix'],
breaklineNumber: 100,
breaklineChar: '|',
skipQuestions: [],
issuePrefixes: [{ value: 'closed', name: 'closed: ISSUES has been processed' }],
customIssuePrefixAlign: 'top',
emptyIssuePrefixAlias: 'skip',
customIssuePrefixAlias: 'custom',
allowCustomIssuePrefix: true,
allowEmptyIssuePrefix: true,
confirmColorize: true,
maxHeaderLength: Infinity,
maxSubjectLength: Infinity,
minSubjectLength: 0,
scopeOverrides: undefined,
defaultBody: '',
defaultIssues: '',
defaultSubject: ''
}
}

73
config/cz-config.cjs vendored
View File

@@ -1,73 +0,0 @@
module.exports = {
types: [
{
value: ':sparkles: feat',
name: '✨ feat: 新功能'
},
{
value: ':sunflower: update',
name: '🌻 update: 更新'
},
{
value: ':bug: fix',
name: '🐛 fix: 修复bug'
},
{
value: ':package: build',
name: '📦build: 打包'
},
{
value: ':zap: perf',
name: '⚡️ perf: 性能优化'
},
{
value: ':tada: release',
name: '🎉 release: 发布正式版'
},
{
value: ':medal: version',
name: '🎖version: 发布新版本'
},
{
value: ':lipstick: style',
name: '💄 style: 代码的样式美化'
},
{
value: ':recycle: refactor',
name: '♻️ refactor: 重构'
},
{
value: ':pencil2: docs',
name: '✏️ docs: 文档变更'
},
{
value: ':white_check_mark: test',
name: '✅ test: 测试'
},
{
value: ':rewind: revert',
name: '⏪️ revert: 回退'
},
{
value: ':rocket: chore',
name: '🚀 chore: 构建/工程依赖/工具'
},
{
value: ':construction_worker: ci',
name: '👷 ci: CI相关的变化'
}
],
messages: {
type: '请选择提交类型(必填)',
customScope: '请输入文件修改范围(可选)',
subject: '请简要描述提交(必填)',
body: '请输入详细描述(可选)',
breaking: '列出任何BREAKING CHANGES(可选)',
footer: '请输入要关闭的issue(可选)',
confirmCommit: '确定提交此说明吗?'
},
allowCustomScopes: true,
// 跳过问题
skipQuestions: ['body', 'footer'],
subjectLimit: 72
}

60
docker-compose.yaml vendored Normal file
View File

@@ -0,0 +1,60 @@
version: '3.7'
services:
tauri:
image: ubuntu:22.04
volumes:
- .:/app
# 只挂载构建产物目录
- ./src-tauri/target/release:/app/src-tauri/target/release
environment:
- RUST_BACKTRACE=1
- CARGO_HOME=/root/.cargo
- RUSTUP_HOME=/root/.rustup
- DEBIAN_FRONTEND=noninteractive
command:
- 'bash'
- '-c'
- |
cd /app
apt-get update
apt-get install -y curl git build-essential libwebkit2gtk-4.1-dev librsvg2-dev patchelf libudev-dev \
libasound2-dev pkg-config libgtk-3-dev libayatana-appindicator3-dev
# 安装 Node.js 22
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt-get install -y nodejs
npm install -g npm@latest
# 安装指定版本的 pnpm
npm install -g pnpm@9
pnpm --version
# 安装 Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$CARGO_HOME/env"
# 配置镜像源
pnpm config set registry https://repo.huaweicloud.com/repository/npm/
rustup default stable
mkdir -p ~/.cargo
echo '[source.crates-io]
replace-with = "rsproxy-sparse"
[source.rsproxy]
registry = "https://rsproxy.cn/crates.io-index"
[source.rsproxy-sparse]
registry = "sparse+https://rsproxy.cn/index/"
[registries.rsproxy]
index = "https://rsproxy.cn/crates.io-index"' > ~/.cargo/config.toml
# 构建项目
cd /app
echo "📦 Installing dependencies..."
rm -rf node_modules pnpm-lock.yaml
pnpm install
echo "🔨 Building Vite project..."
pnpm build || exit 1
echo "✨ Starting Tauri build..."
pnpm tauri build || exit 1
echo "✅ Tauri build completed. Check src-tauri/target/release for the output."

241
docs/qiniu-upload.md Normal file
View File

@@ -0,0 +1,241 @@
# 七牛云上传功能使用指南
HuLa 现已支持使用七牛云存储服务来上传和存储文件,这为用户提供了更灵活的文件存储选择。本文档将介绍如何在 HuLa 中使用七牛云上传功能。
## 功能特点
- 支持在默认上传方式和七牛云之间切换
- 使用统一的上传接口,便于集成
- 支持大文件上传
- 自动生成唯一文件名,避免文件名冲突
- 支持进度显示(在浏览器环境中)
- 支持多区域上传(华东、华北、华南、北美、东南亚)
- 支持分片上传大文件
## 配置说明
### 七牛云区域设置
七牛云提供了多个存储区域HuLa 支持根据配置自动选择合适的上传域名:
| 区域代码 | 区域名称 | 上传域名 |
|---------|---------|---------|
| z0 | 华东 | https://upload.qiniup.com |
| z1 | 华北 | https://upload-z1.qiniup.com |
| z2 | 华南 | https://upload-z2.qiniup.com |
| na0 | 北美 | https://upload-na0.qiniup.com |
| as0 | 东南亚 | https://upload-as0.qiniup.com |
默认情况下如果未指定区域系统将使用华南区域z2
### 后端配置
后端需要提供以下配置信息:
```json
{
"token": "七牛云上传凭证",
"domain": "七牛云存储域名",
"storagePrefix": "存储前缀",
"region": "存储区域代码可选默认为z2"
}
```
## 使用方法
### 在代码中使用
```typescript
import { useUpload, UploadProviderEnum } from '@/hooks/useUpload'
import { UploadSceneEnum } from '@/enums'
// 创建上传hook实例
const uploadHook = useUpload()
// 使用七牛云上传
async function uploadToQiniu(filePath: string) {
try {
// 获取上传和下载URL
const result = await uploadHook.getUploadAndDownloadUrl(filePath, {
provider: UploadProviderEnum.QINIU,
scene: UploadSceneEnum.CHAT
})
// 执行上传
await uploadHook.doUpload(filePath, result.uploadUrl, result)
console.log('上传成功,下载地址:', result.downloadUrl)
return result.downloadUrl
} catch (error) {
console.error('上传失败:', error)
throw error
}
}
// 使用默认上传方式
async function uploadWithDefault(filePath: string) {
try {
// 获取上传和下载URL
const result = await uploadHook.getUploadAndDownloadUrl(filePath, {
provider: UploadProviderEnum.DEFAULT,
scene: UploadSceneEnum.CHAT
})
// 执行上传
await uploadHook.doUpload(filePath, result.uploadUrl, { downloadUrl: result.downloadUrl })
console.log('上传成功,下载地址:', result.downloadUrl)
return result.downloadUrl
} catch (error) {
console.error('上传失败:', error)
throw error
}
}
```
### 使用分片上传
对于大文件上传HuLa 现在支持使用七牛云的分片上传功能,可以提高上传成功率和性能:
```typescript
import { useUpload, UploadProviderEnum } from '@/hooks/useUpload'
import { UploadSceneEnum } from '@/enums'
// 创建上传hook实例
const uploadHook = useUpload()
// 使用七牛云分片上传
async function uploadLargeFileToQiniu(filePath: string) {
try {
// 获取上传和下载URL
const result = await uploadHook.getUploadAndDownloadUrl(filePath, {
provider: UploadProviderEnum.QINIU,
scene: UploadSceneEnum.CHAT
})
// 执行分片上传指定使用分片上传和分片大小可选默认4MB
await uploadHook.doUpload(filePath, result.uploadUrl, {
...result,
useChunks: true,
chunkSize: 4 * 1024 * 1024 // 4MB可根据需要调整
})
console.log('分片上传成功,下载地址:', result.downloadUrl)
return result.downloadUrl
} catch (error) {
console.error('分片上传失败:', error)
throw error
}
}
```
分片上传参数说明:
| 参数名 | 类型 | 说明 |
|-------|------|------|
| useChunks | boolean | 是否使用分片上传设置为true启用分片上传 |
| chunkSize | number | 分片大小单位为字节默认为4MB (4 * 1024 * 1024) |
当文件大小超过设定的分片大小时,系统会自动将文件分成多个块进行上传,并在上传完成后自动合并。
### 在消息策略中使用
HuLa 的消息策略已集成七牛云上传功能,可以通过传递 `provider` 选项来指定使用哪种上传方式:
```typescript
import { messageStrategyMap } from '@/strategy/MessageStrategy'
import { MsgEnum } from '@/enums'
import { UploadProviderEnum } from '@/hooks/useUpload'
// 获取图片消息策略
const imageStrategy = messageStrategyMap[MsgEnum.IMAGE]
// 使用七牛云上传
async function uploadImageWithQiniu(path: string) {
const result = await imageStrategy.uploadFile(path, {
provider: UploadProviderEnum.QINIU
})
// 执行上传
await imageStrategy.doUpload(path, result.uploadUrl, result)
return result.downloadUrl
}
// 使用七牛云分片上传大图片
async function uploadLargeImageWithQiniu(path: string) {
const result = await imageStrategy.uploadFile(path, {
provider: UploadProviderEnum.QINIU
})
// 执行分片上传
await imageStrategy.doUpload(path, result.uploadUrl, {
...result,
useChunks: true,
chunkSize: 2 * 1024 * 1024 // 2MB分片
})
return result.downloadUrl
}
```
## 分片上传原理与优势
七牛云分片上传功能基于七牛云的分块上传API实现主要流程如下
1. 将大文件分割成固定大小的数据块
2. 使用 `/mkblk/<blocksize>` 接口上传第一个数据块
3. 使用 `/bput/<ctx>/<offset>` 接口上传后续数据块
4. 所有分片上传完成后,使用 `/mkfile/<filesize>/key/<encodedKey>` 接口将所有数据块合并成完整文件
分片上传的主要优势:
- **支持断点续传**:上传中断后可以从已上传的部分继续
- **提高上传成功率**:大文件分成小块上传,减少单次传输失败的风险
- **优化网络利用率**:可以更好地利用网络带宽
- **提供上传进度反馈**:可以精确显示每个分片的上传进度
建议在以下情况使用分片上传:
- 上传大于10MB的文件
- 网络环境不稳定
- 需要显示精确上传进度的场景
## 配置七牛云
要使用七牛云上传功能,需要在后端配置七牛云的相关参数:
1. 在七牛云控制台创建存储空间Bucket
2. 获取 AccessKey 和 SecretKey
3. 配置后端服务,实现获取上传 Token 的接口
后端需要提供以下接口:
```
GET /api/qiniu/token
```
返回格式:
```json
{
"token": "七牛云上传Token",
"domain": "七牛云存储域名",
"storagePrefix": "存储前缀"
}
```
## 测试方法
1. 在七牛云控制台创建存储空间Bucket
2. 获取 AccessKey 和 SecretKey
3. 配置后端服务,实现获取上传 Token 的接口
4. 使用 HuLa 提供的上传接口进行测试
## 注意事项
1. 七牛云上传需要有效的 TokenToken 有时效性,过期后需要重新获取
2. 上传大文件时,请确保网络稳定
3. 在生产环境中,建议配置 HTTPS 域名,确保数据传输安全
4. 七牛云存储有容量和流量限制,请根据实际需求选择合适的套餐
5. 分片上传时建议根据网络环境和文件大小调整分片大小一般推荐1MB-4MB
6. 对于特别大的文件(如视频),强烈建议使用分片上传功能

124
index.html vendored
View File

@@ -2,16 +2,130 @@
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Tauri + Vue + TS</title>
<title>HuLa</title>
<meta
name="viewport"
content="width=device-width, initial-scale=1, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover" />
<!--引入iconpark图标库-->
<script defer src="https://lf1-cdn-tos.bytegoofy.com/obj/iconpark/svg_30895_65.b5d5f1a1bd93fac2f65940a74ac82f80.js"></script>
<!-- 🎯 预加载图片资源(仅移动端) -->
<script>
if (/Mobi|Android|iPhone/i.test(navigator.userAgent)) {
const preloadImages = ['/Mobile/1.png', '/Mobile/2.png', '/Mobile/3.png', '/Mobile/4.png']
preloadImages.forEach(src => {
const link = document.createElement('link')
link.rel = 'preload'
link.as = 'image'
link.href = src
document.head.appendChild(link)
})
}
</script>
<!-- iconpark图标库 -->
<script async src="/icon.js"></script>
<!-- 🧩 加载页样式 -->
<style id="loading-css">
#loading-page {
position: fixed;
inset: 0;
z-index: 9999;
background-image: url('/Mobile/2.png');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding-top: env(safe-area-inset-top);
padding-bottom: env(safe-area-inset-bottom);
transition: opacity 0.4s ease-out;
opacity: 1;
}
.bottom-bar {
position: absolute;
bottom: 40px;
display: flex;
gap: 16px;
align-items: center;
}
.rounded-14px {
border-radius: 14px;
}
.size-50px {
width: 50px;
height: 50px;
}
.w-300px {
width: 300px;
}
.h-200px {
height: 200px;
}
.w-78px {
width: 78px;
}
.h-40px {
height: 40px;
}
.mb-140px {
margin-bottom: 140px;
}
</style>
</head>
<body>
<!-- 🚀 加载页 DOM -->
<div id="loading-page">
<img src="/Mobile/4.png" alt="hula" class="w-300px h-200px mb-140px" />
<div class="bottom-bar">
<img src="/Mobile/3.png" alt="hula" class="size-50px rounded-14px" />
<img src="/Mobile/1.png" alt="hula" class="w-78px h-40px" />
</div>
</div>
<!-- Vue 应用挂载点 -->
<div id="app"></div>
<!-- 🎯 加载页逻辑控制(淡出 + 清理) -->
<script>
function isMobileDevice() {
return /Mobi|Android|iPhone/i.test(navigator.userAgent)
}
if (!isMobileDevice()) {
document.getElementById('loading-page')?.remove()
document.getElementById('loading-css')?.remove()
}
window.addEventListener('DOMContentLoaded', () => {
const interval = setInterval(() => {
const isMounted = document.getElementById('app')?.children.length > 0
if (isMounted) {
const loader = document.getElementById('loading-page')
if (loader) {
loader.style.opacity = '0'
setTimeout(() => {
loader.remove()
document.getElementById('loading-css')?.remove()
}, 450) // 等待 transition 完成后再移除
}
clearInterval(interval)
}
}, 100)
})
</script>
<!-- 🚀 Vue 应用入口 -->
<script type="module" src="/src/main.ts"></script>
</body>
</html>

BIN
logo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

221
package.json vendored
View File

@@ -1,93 +1,170 @@
{
"name": "hula-im-tauri",
"private": true,
"version": "v1.2.9",
"packageManager": "pnpm@8.15.4",
"engines": {
"node": ">=18.12.0",
"pnpm": ">=8.10.0"
},
"$schema": "https://json.schemastore.org/jsconfig",
"name": "hula",
"type": "module",
"author": {
"name": "nongyehong",
"email": "2439646234@qq.com",
"url": "https://xxxx/xxx"
"version": "2.6.13",
"license": "Apache-2.0",
"engines": {
"node": "^20.19.0 || >=22.12.0",
"pnpm": ">=10.x"
},
"lint-staged": {
"*.{js,jsx,vue,ts,tsx}": [
"oxlint src",
"prettier --config .prettierrc --write",
"eslint src"
]
"repository": {
"url": "https://github.com/HuLaSpark/HuLa.git"
},
"author": {
"name": "HuLaSpark团队",
"email": "2439646234@qq.com",
"url": "https://github.com/HuLaSpark"
},
"scripts": {
"========= 启动vue(tauri项目会连带执行不需要单独执行) =========": "",
"dev": "vite",
"========= 打包vue(tauri项目会连带执行不需要单独执行) =========": "",
"build": "vue-tsc --noEmit && vite build",
"preview": "vite preview",
"========= 启动HuLa桌面应用程序 =========": "",
"tauri:dev": "tauri dev",
"tauri:build": "tauri build",
"tauri:icon": "tauri icon logo.png",
"preinstall": "npx only-allow pnpm",
"commit": "git add . && lint-staged && git-cz && conventional-changelog -p cz-config.js -i CHANGELOG.md -s -r 0",
"changelog": "conventional-changelog -p cz-config.js -i CHANGELOG.md -s -r 0",
"lint:staged": "lint-staged"
"td": "tauri dev",
"========= 打包桌面应用程序 =========": "",
"tauri:build": "node scripts/interactive-build-inquirer.js",
"========= 启动HuLa ios 程序 =========": "",
"tauri:ios:dev": "tauri ios dev",
"========= 启动HuLa android 程序 =========": "",
"tauri:android:dev": "tauri android dev",
"========= 启动安卓程序 =========": "",
"adev": "tauri android dev",
"========= 初始化 ios =========": "",
"tauri:ios:init": "tauri ios init",
"========= 初始化 android =========": "",
"tauri:android:init": "tauri android init",
"========= 生成icon =========": "",
"tauri:icon": "tauri icon public/light.png",
"========= 安装依赖前执行 =========": "",
"preinstall": "npx only-allow pnpm && node scripts/check-all.js",
"========= 使用commit来进行代码提交 =========": "",
"commit": "git add . && git-cz",
"========= 只检查代码问题和格式(不修复) =========": "",
"check": "biome check",
"========= 修复代码问题和格式并且检查 =========": "",
"check:write": "biome check --write --unsafe",
"========= 格式化Vue文件模板 =========": "",
"format:vue": "npx prettier --write \"src/**/*.vue\"",
"========= 完整格式化(JS+Vue) =========": "",
"format:all": "pnpm check:write && pnpm format:vue",
"========= Git提交前的代码检查(简化命令) =========": "",
"lint:s": "lint-staged && vue-tsc --noEmit",
"========= Git提交前的代码检查 =========": "",
"lint:staged": "lint-staged && vue-tsc --noEmit",
"========= 安装husky =========": "",
"prepare": "husky",
"========= 发版 =========": "",
"release": "release-it",
"========= commit后再次添加修改到上一次的commit =========": "",
"addition-commit": "git add . && git commit --amend --no-edit",
"========= 单元测试 =========": "",
"test:run": "vitest run",
"========= 使用 vitest UI =========": "",
"test:ui": "vitest --ui --coverage.enabled=true",
"========= 测试覆盖率 =========": "",
"coverage": "vitest run --coverage",
"========= 单独提交 =========": "",
"gitcz": "git-cz"
},
"dependencies": {
"@tauri-apps/api": "^1.5.3",
"axios": "^1.6.7",
"dayjs": "^1.11.10",
"@actions/github": "^6.0.1",
"@breezystack/lamejs": "^1.2.7",
"@fingerprintjs/fingerprintjs": "^4.6.2",
"@tanstack/vue-virtual": "^3.13.12",
"@tauri-apps/api": "2.7.0",
"@tauri-apps/plugin-autostart": "2.5.0",
"@tauri-apps/plugin-barcode-scanner": "^2.4.0",
"@tauri-apps/plugin-clipboard-manager": "2.3.0",
"@tauri-apps/plugin-dialog": "^2.3.2",
"@tauri-apps/plugin-fs": "^2.4.1",
"@tauri-apps/plugin-global-shortcut": "^2.3.0",
"@tauri-apps/plugin-http": "2.5.1",
"@tauri-apps/plugin-log": "^2.6.0",
"@tauri-apps/plugin-notification": "^2.3.0",
"@tauri-apps/plugin-opener": "^2.4.0",
"@tauri-apps/plugin-os": "2.3.0",
"@tauri-apps/plugin-process": "2.3.0",
"@tauri-apps/plugin-shell": "^2.3.0",
"@tauri-apps/plugin-sql": "^2.3.0",
"@tauri-apps/plugin-updater": "2.9.0",
"@vue-office/docx": "^1.6.3",
"@vue-office/excel": "^1.7.14",
"@vue-office/pdf": "^2.0.10",
"@vue-office/pptx": "^1.0.1",
"colorthief": "^2.6.0",
"crypto-js": "^4.2.0",
"dayjs": "^1.11.11",
"digest-wasm": "^0.1.4",
"dompurify": "^3.2.6",
"file-type": "^21.0.0",
"grapheme-splitter": "^1.0.4",
"hula-emojis": "^1.2.26",
"lodash-es": "^4.17.21",
"mitt": "^3.0.1",
"naive-ui": "^2.38.1",
"pinia": "^2.1.7",
"pinia-plugin-persistedstate": "^3.2.1",
"vue": "^3.4.21",
"vue-draggable-plus": "^0.3.5",
"vue-router": "^4.3.0"
"naive-ui": "^2.42.0",
"pinia": "^3.0.3",
"pinia-plugin-persistedstate": "^4.5.0",
"pinia-shared-state": "^1.0.1",
"seemly": "^0.3.10",
"tauri-plugin-mic-recorder-api": "^2.0.0",
"tauri-plugin-safe-area-insets": "^0.1.0",
"vue": "^3.5.18",
"vue-cropper": "1.1.4",
"vue-demi": "0.14.6",
"vue-router": "^4.5.1",
"vue-virtual-scroller": "2.0.0-beta.8"
},
"devDependencies": {
"@babel/eslint-parser": "^7.23.3",
"@biomejs/biome": "^2.2.0",
"@commitlint/cli": "^19.8.1",
"@commitlint/config-conventional": "^19.8.1",
"@iconify/vue": "^5.0.0",
"@inquirer/prompts": "^7.8.3",
"@release-it/bumper": "^6.0.1",
"@release-it/conventional-changelog": "8.0.2",
"@rollup/plugin-terser": "^0.4.4",
"@tauri-apps/cli": "^1.5.7",
"@tauri-apps/cli": "2.7.1",
"@types/crypto-js": "^4.2.2",
"@types/lodash-es": "^4.17.12",
"@types/node": "^20.10.4",
"@typescript-eslint/eslint-plugin": "7.1.0",
"@typescript-eslint/parser": "^7.1.0",
"@unocss/preset-uno": "^0.58.4",
"@unocss/reset": "^0.58.4",
"@unocss/transformer-directives": "^0.58.4",
"@unocss/vite": "^0.58.4",
"@vitejs/plugin-vue": "^5.0.3",
"@vitejs/plugin-vue-jsx": "^3.1.0",
"@vueuse/core": "^10.8.0",
"commitizen": "^4.3.0",
"conventional-changelog": "^5.1.0",
"conventional-changelog-cli": "^4.1.0",
"cz-conventional-changelog": "^3.3.0",
"cz-customizable": "^7.0.0",
"eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-prettier": "^5.0.1",
"eslint-plugin-vue": "^9.19.2",
"lint-staged": "^15.2.0",
"only-allow": "^1.2.1",
"oxlint": "^0.2.4",
"prettier": "^3.2.5",
"sass": "^1.71.1",
"sass-loader": "^14.1.1",
"typescript": "^5.4.2",
"unplugin-auto-import": "^0.17.2",
"unplugin-vue-components": "^0.26.0",
"vite": "5.1.4",
"vue-tsc": "^2.0.6"
"@types/node": "^24.3.0",
"@unocss/preset-wind3": "^66.4.2",
"@unocss/reset": "^66.4.2",
"@unocss/transformer-directives": "^66.4.2",
"@unocss/transformer-variant-group": "^66.4.2",
"@unocss/vite": "^66.4.2",
"@vitejs/plugin-vue": "^6.0.1",
"@vitejs/plugin-vue-jsx": "^5.0.1",
"@vitest/coverage-v8": "^3.2.4",
"@vitest/ui": "^3.2.4",
"@vue/test-utils": "^2.4.6",
"@vueuse/core": "^13.7.0",
"chalk": "^5.6.0",
"commitizen": "^4.3.1",
"cz-git": "^1.12.0",
"happy-dom": "^15.11.7",
"husky": "^9.1.7",
"lint-staged": "^15.2.7",
"postcss-pxtorem": "^6.1.0",
"prettier": "^3.6.2",
"release-it": "^17.11.0",
"sass": "1.90.0",
"typescript": "^5.9.2",
"unplugin-auto-import": "^20.0.0",
"unplugin-vue-components": "^29.0.0",
"vite": "7.1.2",
"vite-plugin-vue-setup-extend": "^0.4.0",
"vitest": "^3.2.4",
"vue-tsc": "^3.0.5"
},
"config": {
"commitizen": {
"path": "./node_modules/cz-customizable"
},
"cz-customizable": {
"config": "config/cz-config.cjs"
"path": "node_modules/cz-git"
}
},
"pnpm": {
"ignoredBuiltDependencies": ["esbuild", "vue-demi", "@parcel/watcher", "sharp"]
}
}
}

12057
pnpm-lock.yaml generated vendored

File diff suppressed because it is too large Load Diff

8
pnpm-workspace.yaml vendored Normal file
View File

@@ -0,0 +1,8 @@
packages:
- "."
onlyBuiltDependencies:
- '@vue-office/docx'
- '@vue-office/excel'
- '@vue-office/pdf'
- '@vue-office/pptx'

BIN
preview/img.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
preview/img_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
preview/img_10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

BIN
preview/img_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
preview/img_3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 840 KiB

BIN
preview/img_4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 KiB

BIN
preview/img_5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 633 KiB

BIN
preview/img_6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 492 KiB

BIN
preview/img_7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 358 KiB

BIN
preview/img_8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 477 KiB

BIN
preview/img_9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 KiB

BIN
preview/wx.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

BIN
preview/zfb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

BIN
preview/zs.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

BIN
public/AI/QW.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

BIN
public/AI/deepseek.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

1
public/AI/openai.svg Normal file
View File

@@ -0,0 +1 @@
<svg fill="currentColor" fill-rule="evenodd" height="14" viewBox="0 0 24 24" width="14" xmlns="http://www.w3.org/2000/svg" color="rgb(171, 104, 255)" style="flex: 0 0 auto; line-height: 1;"><title>OpenAI</title><path d="M21.55 10.004a5.416 5.416 0 00-.478-4.501c-1.217-2.09-3.662-3.166-6.05-2.66A5.59 5.59 0 0010.831 1C8.39.995 6.224 2.546 5.473 4.838A5.553 5.553 0 001.76 7.496a5.487 5.487 0 00.691 6.5 5.416 5.416 0 00.477 4.502c1.217 2.09 3.662 3.165 6.05 2.66A5.586 5.586 0 0013.168 23c2.443.006 4.61-1.546 5.361-3.84a5.553 5.553 0 003.715-2.66 5.488 5.488 0 00-.693-6.497v.001zm-8.381 11.558a4.199 4.199 0 01-2.675-.954c.034-.018.093-.05.132-.074l4.44-2.53a.71.71 0 00.364-.623v-6.176l1.877 1.069c.02.01.033.029.036.05v5.115c-.003 2.274-1.87 4.118-4.174 4.123zM4.192 17.78a4.059 4.059 0 01-.498-2.763c.032.02.09.055.131.078l4.44 2.53c.225.13.504.13.73 0l5.42-3.088v2.138a.068.068 0 01-.027.057L9.9 19.288c-1.999 1.136-4.552.46-5.707-1.51h-.001zM3.023 8.216A4.15 4.15 0 015.198 6.41l-.002.151v5.06a.711.711 0 00.364.624l5.42 3.087-1.876 1.07a.067.067 0 01-.063.005l-4.489-2.559c-1.995-1.14-2.679-3.658-1.53-5.63h.001zm15.417 3.54l-5.42-3.088L14.896 7.6a.067.067 0 01.063-.006l4.489 2.557c1.998 1.14 2.683 3.662 1.529 5.633a4.163 4.163 0 01-2.174 1.807V12.38a.71.71 0 00-.363-.623zm1.867-2.773a6.04 6.04 0 00-.132-.078l-4.44-2.53a.731.731 0 00-.729 0l-5.42 3.088V7.325a.068.068 0 01.027-.057L14.1 4.713c2-1.137 4.555-.46 5.707 1.513.487.833.664 1.809.499 2.757h.001zm-11.741 3.81l-1.877-1.068a.065.065 0 01-.036-.051V6.559c.001-2.277 1.873-4.122 4.181-4.12.976 0 1.92.338 2.671.954-.034.018-.092.05-.131.073l-4.44 2.53a.71.71 0 00-.365.623l-.003 6.173v.002zm1.02-2.168L12 9.25l2.414 1.375v2.75L12 14.75l-2.415-1.375v-2.75z"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
public/Mobile/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
public/Mobile/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
public/Mobile/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
public/Mobile/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
public/avatar/001.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
public/avatar/002.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
public/avatar/003.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
public/avatar/004.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
public/avatar/005.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
public/avatar/006.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
public/avatar/007.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
public/avatar/008.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
public/avatar/009.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
public/avatar/010.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
public/avatar/011.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
public/avatar/012.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
public/avatar/013.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
public/avatar/014.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
public/avatar/015.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
public/avatar/016.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
public/avatar/017.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
public/avatar/018.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
public/avatar/019.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
public/avatar/020.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
public/avatar/021.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
public/avatar/022.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Some files were not shown because too many files have changed in this diff Show More