release: 发布6.6.18版本,完成多项合规与功能优化

此版本包含以下核心更新:
1. 版本号升级至6.6.18,更新全平台配置文件
2. 实现隐私合规改造:
   - 新增剪贴板隐私守卫,未同意协议前禁止读取剪贴板
   - 所有桌面小部件继承隐私感知基类,未同意协议时显示占位提示
   - 移除自动剪贴板监控,改为用户主动触发
3. 新增Windows平台深色主题同步功能
4. 补全多语言默认句子翻译
5. 优化安卓快捷方式配置与小部件合规性
6. 修复macOS插件注册问题
7. 新增Windows安装脚本
8. 优化触觉反馈服务初始化时机
This commit is contained in:
Developer
2026-06-17 04:47:06 +08:00
parent ad00967c68
commit 49b6323772
65 changed files with 1745 additions and 442 deletions

View File

@@ -24,7 +24,6 @@ import 'core/services/network/deep_link_service.dart';
import 'core/router/deep_link_resolver.dart';
import 'core/services/performance/performance_orchestrator.dart';
import 'core/services/error/crash_monitor.dart';
import 'core/services/device/haptic_service.dart';
import 'core/storage/kv_storage.dart';
import 'core/services/error/global_error_handler.dart';
import 'core/services/post_agreement_initializer.dart';
@@ -95,8 +94,7 @@ Future<void> _appMain() async {
}
// IOSScrollViewFlingVelocityTracker 时间戳乱序Flutter框架已知bug非致命
// iOS上触摸事件时间戳偶尔乱序导致velocity tracker断言失败不影响功能
if (msg.contains('smaller timestamp') &&
msg.contains('predecessor')) {
if (msg.contains('smaller timestamp') && msg.contains('predecessor')) {
Log.w(
'⚠️ FlutterError: VelocityTracker timestamp out-of-order (已静默)',
msg,
@@ -153,8 +151,10 @@ Future<void> _appMain() async {
}
try {
await HapticService.init();
Log.i('触觉反馈服务初始化完成', null, null, LogCategory.haptic);
// HapticService.init() 已移至 PostAgreementInitializer
// Vibrate.canVibrate 会触发 flutter_vibrate 原生插件初始化,
// 未同意隐私协议前不应调用
Log.i('触觉反馈服务延迟到协议同意后初始化', null, null, LogCategory.haptic);
} catch (e, st) {
Log.e('触觉反馈服务初始化失败', e, st, LogCategory.haptic);
}
@@ -288,7 +288,10 @@ Future<void> _appMain() async {
child: ProviderScope(
overrides: [
authStateProvider.overrideWith((ref) => ref.watch(authProvider)),
logoutProvider.overrideWith((ref) => () => ref.read(authProvider.notifier).logout()),
logoutProvider.overrideWith(
(ref) =>
() => ref.read(authProvider.notifier).logout(),
),
],
child: const XianyanApp(),
),
@@ -299,7 +302,10 @@ Future<void> _appMain() async {
rootWidget: ProviderScope(
overrides: [
authStateProvider.overrideWith((ref) => ref.watch(authProvider)),
logoutProvider.overrideWith((ref) => () => ref.read(authProvider.notifier).logout()),
logoutProvider.overrideWith(
(ref) =>
() => ref.read(authProvider.notifier).logout(),
),
],
child: const XianyanApp(),
),