-
Notifications
You must be signed in to change notification settings - Fork 12
chore: 同步gerrit代码到github-2 #34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
chore: 修改插件编程指南 补充缺失的接口函数和消息协议,优化文档格式和内容 Log: Influence: 修改文档,不涉及功能 Change-Id: I09efad1622a9c2f9c4e5d6d121fd644594114992 (cherry picked from commit cb89e7ca3e63f72cbcd8b3958a256bd813ef9d53) feat: 删除写入到cache里面的日志 锁屏的日志已经写入到journal了,无需向cache目录重复写入日志 Log: 日志不再写入到cache目录 Influence: 日志 Task: https://pms.uniontech.com/task-view-379327.html Change-Id: I2ba0c2d10ff3f12cb50577bd4d853f06df28d6fe (cherry picked from commit 4f21e8889ffd8939f803240c898bde278b047507) feat: 控制台日志只在调试模式下输出 发布模式下不输出控制台日志 Log: 控制台日志只在调试模式下输出 Influence: 日志 Task: https://pms.uniontech.com/task-view-379327.html Change-Id: I8c439d34c2807dc7a0ae7cc138c4d7b9ad929fc5 (cherry picked from commit de95b99e757a2ef3331b46809dc55af2fef4f1b0) fix: 【DDE】【终端锁定】开启自动登录和无密码登录,终端锁定后,登录按钮未置灰显示 无密码认证时,需要同时考虑终端锁定的情况 Bug: https://pms.uniontech.com/bug-view-268089.html Log: 修复开启自动登录和无密码登录,终端锁定后,登录按钮未置灰显示问题 Change-Id: Ibd733db31f05bbb592a4be28d93ffba103805d40 (cherry picked from commit 954e344d7e32ccd0ee6732635711cff01fd4257c) (cherry picked from commit c59d73173a38b1cd7607c2bffde9565ad4a2822f) fix: 待机信号处理中考虑其它流程设置的可见性 有些流程需要内置黑屏,所以可能在未锁定时拉起lock Log: 响应唤醒时,处理可见性 Bug: https://pms.uniontech.com/bug-view-314491.html Change-Id: I9bd6171cc7dc3bb58223d20dbb8bb40aa39c9f9b (cherry picked from commit eb18a13d0a2b1a18e30fa5785dda72093bad4b8f) (cherry picked from commit e32cd5b00206307a187be1b0c77e96aa380b2173) feat: 切换用户界面待机唤醒时进入锁屏界面 切换用户界面属于进入锁屏,唤起时仍进入锁屏界面,需输入密码进入系统 Log: Task: https://pms.uniontech.com/task-view-379555.html Influence: 切换用户界面待机唤醒,以及各种和切换用户界面相关的逻辑 Change-Id: I382ba9e764c17a39627ac2099eda95bfc526901a (cherry picked from commit eb1221425988cdb7469ff0fc479ba3927df0dd1d) fix: 极端情况无法获取到后端账户User列表信息,将页面显示成输入密码和账户的情况 极端情况无法获取到后端账户User列表信息,将页面显示成输入密码和账户的情况 Log: 极端情况无法获取到后端账户User列表信息,将页面显示成输入密码和账户的情况 Influence: 获取不到账户信息是greeter崩溃 Bug: https://pms.uniontech.com/bug-view-322207.html Change-Id: Ib0a3717f5a1e6d24f97d424d651d6a9c2398744d (cherry picked from commit ebb3a2e3839821a759598a17c02fbb460595e865) fix: 登录界面显示两个重置密码弹窗 auth_password新建后,旧的析构未有检测重置密码弹窗,如果有,则应该关闭和释放内存。 Log: as title Influence: 重置密码弹窗显示一个 Bug: https://pms.uniontech.com/bug-view-255785.html Change-Id: I49233803cb1347606c5cbdb600bd4c73b605009d (cherry picked from commit e44decfc7c1aa030a721059880955c41f34a0810) fix: 如果开启了Checkpwd配置,关机时不能显示关机黑屏 如果开启了Checkpwd配置,关机时不能显示关机黑屏 以前增加关机黑屏,是为了解决关机、重启闪屏,但是未考虑到关机还有一个gsettings配置checkpwd Log: 如果开启了Checkpwd配置,关机时不能显示关机黑屏 Influence: 开启配置关机 Bug: https://pms.uniontech.com/bug-view-328319.html Change-Id: I35cc895ae8e49795c00e42e774a3ace623ba4849 (cherry picked from commit 5df869bafb8c0a1022161610e8f343a1ccc50bc9) fix: 修复密码错误详细弹框UI问题 1. 密码错误详细弹框UI高度过高 Log: 高倍缩放(大于1倍)下,登录或锁屏界面下,密码错误的tooltip提示显示异常 Influence: 密码错误详细弹框 Bug: https://pms.uniontech.com/bug-view-328583.html Change-Id: I47bd8e29b9df22fe25565f4960ac3477bfe88aff (cherry picked from commit c8d180c73cb525affe499114939a5985a1ef66e0) chore: 避免频繁通过接口查询错误提示框使能状态 没有必要的接口频繁调用 Change-Id: I3ec38657fd9337f5bd666035ecda25b914ba9c4c (cherry picked from commit 6d30c6b4a51886c7ab4fe822c1f8eabe56a27663) fix: 重新修改免密登录待机唤醒场景 1. 锁屏界面待机时,唤醒进入锁屏免密界面 2. 关机界面待机时,唤醒进入桌面 Log: 【通用】关闭待机恢复时需要密码开关,开启免密登录开关,在桌面待机唤醒后,显示锁屏界面,没有直接进入桌面 Influence: 免密待机唤醒 Bug: https://pms.uniontech.com/bug-view-330173.html Change-Id: Ie6417fb0bd09bd397094e14b13e683b61b79a855 (cherry picked from commit 59c4c850fd0faab07f1482e6cb784c4c4ef5ddb3) fix: 处理缩放和当前屏幕不匹配的情况 启动greeter之前判断下从配置文件中获取缩放和当前屏幕是否匹配,如果不匹配则用默认缩放1 这个只能处理启动greeter前插入屏幕的场景,greeter启动后插入和当前缩放不匹配的屏幕无法处理。 Log: Bug: https://pms.uniontech.com/bug-view-331209.html Influence: 登录界面缩放(设计多种缩放比,最好用4K屏幕测试),多屏缩放比(相同分辨率屏幕和不同分辨率屏幕都需要测试) Change-Id: I4fd3cb3c616f877d5b0d134170e0d96dd7dbd896 (cherry picked from commit 813f345c203ad4b47356c10367a923e379bf65c8) chore: 手势插件安装问题 明确dconfig配置文件归属,避免产生安装时文件冲突问题 Change-Id: I6185df3bd1a9541d6f56b22a71bffa889d03a5bd (cherry picked from commit d09727b0745c92f18cb3d445e6bb9069ebb232b8) fix: 修复pgy待机唤醒过程中mouseRelease造成锁屏隐藏的问题 触发了WarningContent的展示,后响应鼠标事件隐藏锁屏 Log: 调整显示流程 Influence: 修复问题 Bug: https://pms.uniontech.com/bug-view-331651.html Change-Id: I413352c235207ff8830f764dc0ddebe7aae2d81c (cherry picked from commit 31cf025ab5d3cd29cd9b4027a5d42068c148b352) fix: 修复唤醒过程中频繁点击造成锁屏隐藏的问题 存在两个方面的影响: 1 UI设置不正确(显示WarningContent) 2 外部设置的lock状态导致判断条件不满足 Log: 调整逻辑 Influence: 修复问题 Bug: https://pms.uniontech.com/bug-view-331651.html Change-Id: I086a236255e9ceeacee4adfa587f3ba33a6a8ad7 (cherry picked from commit a0368c0fd23021c7b0bfba47e9f1b185f08c7a87) chore: 增加显示登录框的日志 增加显示登录框的日志,用以后面分析问题 Log: Influence: 无功能影响 Change-Id: I060771e650780cff4ac5b02272f4974aeaedaa39 (cherry picked from commit 0a62937301974e8ad92222b9f0559d0253b2a51d)
Synchronize source files from linuxdeepin/dde-session-shell. Source-pull-request: linuxdeepin/dde-session-shell#34
deepin pr auto review代码审查报告总体评价这是一个关于 UOS 登录器插件的开发指南和代码变更,主要涉及认证插件的接口规范、实现细节和系统登录/锁屏功能的改进。代码整体结构清晰,功能实现完整,但仍有部分可以优化的地方。 具体改进建议1. 代码质量问题:代码注释不完整
问题:变量命名不够清晰
问题:代码重复
2. 性能优化问题:资源使用效率
问题:内存管理
3. 安全性问题:敏感信息处理
问题:认证流程安全性
4. 功能改进问题:用户体验
问题:错误处理
5. 架构优化问题:模块耦合
问题:配置管理
具体修改建议
// 建议的代码风格
class AuthModule {
public:
explicit AuthModule(QWidget *parent = nullptr);
virtual ~AuthModule() = default;
virtual void reset() = 0;
virtual QString lineEditText() const = 0;
protected:
void showErrorTip(const QString &text);
void clearErrorTips();
};
// 建议的错误处理方式
try {
// 认证逻辑
if (!authenticate(user, password)) {
throw AuthenticationError("认证失败");
}
} catch (const AuthenticationError &e) {
showErrorTip(e.message());
logError(e);
}
// 建议的缓存机制
class ScaleManager {
private:
QHash<QString, double> m_scaleCache;
QMutex m_cacheMutex;
public:
double getScaleFactor(const QString &screenId) {
QMutexLocker locker(&m_cacheMutex);
if (m_scaleCache.contains(screenId)) {
return m_scaleCache.value(screenId);
}
// 计算并缓存
double scale = calculateScale(screenId);
m_scaleCache.insert(screenId, scale);
return scale;
}
};
// 建议的安全处理
class SecureAuth {
private:
QByteArray encryptPassword(const QString &password) {
// 使用安全加密算法
return QCryptographicHash::hash(password.toUtf8(), QCryptographicHash::Sha256);
}
bool verifyPassword(const QString &input, const QByteArray &encrypted) {
QByteArray inputHash = encryptPassword(input);
return constantTimeCompare(inputHash, encrypted);
}
};总结
建议按照上述建议逐步改进代码,特别是安全性相关的部分。同时,建议添加更多的单元测试,确保代码质量和功能正确性。 |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: waterlovemelon, yixinshark The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Synchronize source files from linuxdeepin/dde-session-shell. Source-pull-request: linuxdeepin/dde-session-shell#34 Co-authored-by: zyz <[email protected]>
chore: 修改插件编程指南
补充缺失的接口函数和消息协议,优化文档格式和内容
Log:
Influence: 修改文档,不涉及功能
Change-Id: I09efad1622a9c2f9c4e5d6d121fd644594114992 (cherry picked from commit cb89e7ca3e63f72cbcd8b3958a256bd813ef9d53)
feat: 删除写入到cache里面的日志
锁屏的日志已经写入到journal了,无需向cache目录重复写入日志
Log: 日志不再写入到cache目录
Influence: 日志
Task: https://pms.uniontech.com/task-view-379327.html Change-Id: I2ba0c2d10ff3f12cb50577bd4d853f06df28d6fe (cherry picked from commit 4f21e8889ffd8939f803240c898bde278b047507)
feat: 控制台日志只在调试模式下输出
发布模式下不输出控制台日志
Log: 控制台日志只在调试模式下输出
Influence: 日志
Task: https://pms.uniontech.com/task-view-379327.html Change-Id: I8c439d34c2807dc7a0ae7cc138c4d7b9ad929fc5 (cherry picked from commit de95b99e757a2ef3331b46809dc55af2fef4f1b0)
fix: 【DDE】【终端锁定】开启自动登录和无密码登录,终端锁定后,登录按钮未置灰显示
无密码认证时,需要同时考虑终端锁定的情况
Bug: https://pms.uniontech.com/bug-view-268089.html Log: 修复开启自动登录和无密码登录,终端锁定后,登录按钮未置灰显示问题
Change-Id: Ibd733db31f05bbb592a4be28d93ffba103805d40 (cherry picked from commit 954e344d7e32ccd0ee6732635711cff01fd4257c) (cherry picked from commit c59d73173a38b1cd7607c2bffde9565ad4a2822f)
fix: 待机信号处理中考虑其它流程设置的可见性
有些流程需要内置黑屏,所以可能在未锁定时拉起lock
Log: 响应唤醒时,处理可见性
Bug: https://pms.uniontech.com/bug-view-314491.html Change-Id: I9bd6171cc7dc3bb58223d20dbb8bb40aa39c9f9b (cherry picked from commit eb18a13d0a2b1a18e30fa5785dda72093bad4b8f) (cherry picked from commit e32cd5b00206307a187be1b0c77e96aa380b2173)
feat: 切换用户界面待机唤醒时进入锁屏界面
切换用户界面属于进入锁屏,唤起时仍进入锁屏界面,需输入密码进入系统
Log:
Task: https://pms.uniontech.com/task-view-379555.html Influence: 切换用户界面待机唤醒,以及各种和切换用户界面相关的逻辑
Change-Id: I382ba9e764c17a39627ac2099eda95bfc526901a (cherry picked from commit eb1221425988cdb7469ff0fc479ba3927df0dd1d)
fix: 极端情况无法获取到后端账户User列表信息,将页面显示成输入密码和账户的情况
极端情况无法获取到后端账户User列表信息,将页面显示成输入密码和账户的情况
Log: 极端情况无法获取到后端账户User列表信息,将页面显示成输入密码和账户的情况
Influence: 获取不到账户信息是greeter崩溃
Bug: https://pms.uniontech.com/bug-view-322207.html Change-Id: Ib0a3717f5a1e6d24f97d424d651d6a9c2398744d (cherry picked from commit ebb3a2e3839821a759598a17c02fbb460595e865)
fix: 登录界面显示两个重置密码弹窗
auth_password新建后,旧的析构未有检测重置密码弹窗,如果有,则应该关闭和释放内存。
Log: as title
Influence: 重置密码弹窗显示一个
Bug: https://pms.uniontech.com/bug-view-255785.html Change-Id: I49233803cb1347606c5cbdb600bd4c73b605009d (cherry picked from commit e44decfc7c1aa030a721059880955c41f34a0810)
fix: 如果开启了Checkpwd配置,关机时不能显示关机黑屏
如果开启了Checkpwd配置,关机时不能显示关机黑屏
以前增加关机黑屏,是为了解决关机、重启闪屏,但是未考虑到关机还有一个gsettings配置checkpwd
Log: 如果开启了Checkpwd配置,关机时不能显示关机黑屏
Influence: 开启配置关机
Bug: https://pms.uniontech.com/bug-view-328319.html Change-Id: I35cc895ae8e49795c00e42e774a3ace623ba4849 (cherry picked from commit 5df869bafb8c0a1022161610e8f343a1ccc50bc9)
fix: 修复密码错误详细弹框UI问题
Log: 高倍缩放(大于1倍)下,登录或锁屏界面下,密码错误的tooltip提示显示异常
Influence: 密码错误详细弹框
Bug: https://pms.uniontech.com/bug-view-328583.html Change-Id: I47bd8e29b9df22fe25565f4960ac3477bfe88aff (cherry picked from commit c8d180c73cb525affe499114939a5985a1ef66e0)
chore: 避免频繁通过接口查询错误提示框使能状态
没有必要的接口频繁调用
Change-Id: I3ec38657fd9337f5bd666035ecda25b914ba9c4c (cherry picked from commit 6d30c6b4a51886c7ab4fe822c1f8eabe56a27663)
fix: 重新修改免密登录待机唤醒场景
Log: 【通用】关闭待机恢复时需要密码开关,开启免密登录开关,在桌面待机唤醒后,显示锁屏界面,没有直接进入桌面 Influence: 免密待机唤醒
Bug: https://pms.uniontech.com/bug-view-330173.html Change-Id: Ie6417fb0bd09bd397094e14b13e683b61b79a855 (cherry picked from commit 59c4c850fd0faab07f1482e6cb784c4c4ef5ddb3)
fix: 处理缩放和当前屏幕不匹配的情况
启动greeter之前判断下从配置文件中获取缩放和当前屏幕是否匹配,如果不匹配则用默认缩放1
这个只能处理启动greeter前插入屏幕的场景,greeter启动后插入和当前缩放不匹配的屏幕无法处理。
Log:
Bug: https://pms.uniontech.com/bug-view-331209.html Influence: 登录界面缩放(设计多种缩放比,最好用4K屏幕测试),多屏缩放比(相同分辨率屏幕和不同分辨率屏幕都需要测试) Change-Id: I4fd3cb3c616f877d5b0d134170e0d96dd7dbd896 (cherry picked from commit 813f345c203ad4b47356c10367a923e379bf65c8)
chore: 手势插件安装问题
明确dconfig配置文件归属,避免产生安装时文件冲突问题
Change-Id: I6185df3bd1a9541d6f56b22a71bffa889d03a5bd (cherry picked from commit d09727b0745c92f18cb3d445e6bb9069ebb232b8)
fix: 修复pgy待机唤醒过程中mouseRelease造成锁屏隐藏的问题
触发了WarningContent的展示,后响应鼠标事件隐藏锁屏
Log: 调整显示流程
Influence: 修复问题
Bug: https://pms.uniontech.com/bug-view-331651.html Change-Id: I413352c235207ff8830f764dc0ddebe7aae2d81c (cherry picked from commit 31cf025ab5d3cd29cd9b4027a5d42068c148b352)
fix: 修复唤醒过程中频繁点击造成锁屏隐藏的问题
存在两个方面的影响:
1 UI设置不正确(显示WarningContent)
2 外部设置的lock状态导致判断条件不满足
Log: 调整逻辑
Influence: 修复问题
Bug: https://pms.uniontech.com/bug-view-331651.html Change-Id: I086a236255e9ceeacee4adfa587f3ba33a6a8ad7 (cherry picked from commit a0368c0fd23021c7b0bfba47e9f1b185f08c7a87)
chore: 增加显示登录框的日志
增加显示登录框的日志,用以后面分析问题
Log:
Influence: 无功能影响
Change-Id: I060771e650780cff4ac5b02272f4974aeaedaa39 (cherry picked from commit 0a62937301974e8ad92222b9f0559d0253b2a51d)