1bd0318d35
feat(ios): add online device list and pairing code redemption
...
- Add API methods for fetching online devices and redeeming pairing codes
- Add OnlineDevice model and corresponding ViewModel state management
- Add UI sections for online device list and pairing code input in SetupPanel
- Ensure access token is verified before connecting to signaling server
2026-08-03 21:42:31 +08:00
da0a3bf59d
chore(ios): 添加LoginView并修复TokenStore类型与线程调度问题
...
- 在Xcode项目中添加LoginView.swift文件引用
- 修复TokenStore中Keychain查询字典类型为CFString
- 将DispatchQueue.main.async替换为MainActor.run,避免弱引用丢失
- 修复绑定设备信息时的线程安全与变量命名
2026-08-03 20:51:16 +08:00
5e369f14d9
feat: 添加 ApiClient 和 TokenStore 工具类
2026-08-03 20:44:49 +08:00
TongTongStudio
e1de4c8170
feat(remote): 修复键盘输入映射并重构连接流程
...
- Android端注入按键时显式设置SOURCE_KEYBOARD,修复IME丢弃事件导致输入框无法输入文字的问题
- Flutter端新增Flutter逻辑键到Android keyCode的转换映射,避免功能键误触发
- 重构RemoteController,分离信令连接与远程控制逻辑,支持设备列表选择与配对码兑换
- AuthRepository接口新增getBindings、getOnlineDevices、redeemPairingCode方法
- DioAuthRepository实现401自动刷新token重试机制
- ConnectionSessionState扩展设备列表、在线状态、配对码等状态字段
2026-08-03 20:22:29 +08:00
TongTongStudio
79cffcb041
feat(auth): 添加登录/注册页面及令牌恢复流程
...
- 新增 SplashPage(启动页)和 LoginPage(登录页),支持路由跳转
- 扩展 AuthState,增加 submitting/alert/busy 状态及消费机制
- AuthController 增加 checkLoginState/register/showAlert 等方法
- 删除旧模型文件(binding_item, token_response, verify_response)
- 删除旧版 LoginPage,迁移至 features/auth 目录
- 更新本地化字符串,增加注册相关文案
- 调整默认 API 地址为本地开发环境
2026-08-03 16:47:08 +08:00
TongTongStudio
bb488d216d
refactor(flutter): 重构账号模块并新增配对与独立登录页面
...
- 将 ApiClient 升级为全局单例,支持完整账号生命周期(登录/注册/刷新/校验/退出)
- 新增 TokenResponse / VerifyResponse / BindingItem 数据模型
- 新增 SplashPage 启动登录态检查与 LoginPage 独立登录页
- 新增被控端绑定列表展示、配对码兑换及设备选择功能
- 新增全局 401 拦截器,统一处理令牌失效并跳转登录
- 优化令牌存储策略,对齐 Android 端 TokenStore 行为
- 重构主页面 UI,移除内嵌登录对话框,改用独立页面流程
2026-08-03 16:20:11 +08:00
d5e66a1777
docs(webrtc_controller_flutter): 更新项目文档以反映重构后的架构
...
AGENTS.md 与 README.md 同步更新:根据实际代码结构重写目录树、技术栈、架构分层及编码规范,移除旧版内联示例并补充新的开发约定与代码生成命令。
2026-08-03 16:12:44 +08:00
1918e5738e
docs: add project AGENTS.md and Flutter AGENTS.md, fix appName
...
- 添加根目录 AGENTS.md 定义全仓工程总览及各端开发规范
- 添加 webrtc_controller_flutter/AGENTS.md 定义 Flutter 项目技术栈、架构与编码规范
- 修正 WebRTCController app/build.gradle 中 appName 返回值
2026-08-03 15:37:47 +08:00
0d49c60c12
fix(ControlBar): 修复键盘事件监听范围,改为全局监听window
...
将键盘事件从输入框的局部监听改为window全局监听,确保页面任意位置按下键盘即可向被控端发送指令。同时保留输入框聚焦逻辑,以兼容移动端软键盘输入场景。
2026-08-03 11:34:50 +08:00
TongTongStudio
d616ed743c
fix: 修复编译错误并添加WebSocket日志
...
- 修复MainActivity中语法错误导致的编译失败
- 在WebSocketClient中添加接收消息的调试日志
2026-08-03 11:23:21 +08:00
78aa3d3c71
feat: 支持按键分离事件与键盘捕获,并优化UI
...
- 后端与前端新增 keyAction 参数,支持按键按下/抬起独立事件,保持向下兼容
- 前端控制栏支持 pointerdown/pointerup 长按,新增键盘捕获输入框,映射浏览器按键到 Android KeyEvent
- 重构顶栏布局:用户区右置并添加在线指示器、状态文本省略,优化窄屏响应式表现
- 控制栏录制按钮组防拆行,分辨率/帧率选择器自适应收缩,全局样式增强
- 修复 AdminAuthFilter 中 doFilter 被异常捕获导致误返回 401 的问题
- 移除管理后台中用户 admin 角色及相关 UI 与 API
- 更新信令前端环境代理地址,修正路由名称大小写
2026-08-03 11:09:37 +08:00
TongTongStudio
e6ed7c8e3e
feat(webrtc): 完善前端会话恢复、设备绑定与开发代理配置
...
- 控制端新增页面刷新后自动恢复登录会话,并展示恢复中状态
- 支持被控端配对码绑定、设备在线状态标记及离线设备禁用连接
- 优化登录流程,支持双因子验证码输入
- 修复 API 客户端令牌刷新逻辑,增加认证失败统一回调
- 信令地址支持环境变量推导,ICE 服务器支持自定义配置
- 管理后台强制开发态走 Vite 代理,避免跨域和 IP 不可达问题
- 修复 tsconfig.node.json 产物干扰 vite 配置加载的构建问题
- 添加 .env.example 作为环境变量配置模板
2026-08-03 02:44:52 +08:00
TongTongStudio
e689b999e6
feat(controlled, controller): 新增配对码生成与兑换功能
...
被控端:新增生成一次性配对码并弹窗展示,支持倒计时与复制;控制端:新增输入配对码兑换绑定,刷新设备列表,并在设备列表中显示在线状态和点击连接。同时添加统一 401 拦截器,令牌失效时触发重新激活。
2026-08-03 01:57:42 +08:00
TongTongStudio
ded6fe5ab7
feat(android): add device activation flow and update dependencies
...
重构项目架构,引入启动页(SplashActivity)检查激活状态,未激活设备引导至激活页(ActivationActivity)完成provision+token流程。集成Retrofit+RxJava3网络层、Room数据库、Lifecycle组件、MMKV等依赖,升级OkHttp/Gson版本,并将构建配置从旧项目全面迁移至新项目结构。
2026-08-03 00:25:51 +08:00
TongTongStudio
61398ff4ff
feat(base): 添加MVVM、Rx生命周期和WebRTC控制端基础架构
...
引入BaseApplication、BaseService及MVVM基类(BaseViewModel/BaseMvvmActivity),
集成RxLifecycle管理生命周期,新增WebRTC控制端MainActivity与信令客户端,
建立屏幕捕获、推送、JPush等模块初始化流程,完善项目核心框架。
2026-08-03 00:25:25 +08:00
6eb2c7321a
feat(controlled): 实现设备激活与安全认证流程
...
- 添加API客户端、加密存储和provision/token激活逻辑
- WebSocket改用Bearer令牌认证,移除REGISTER请求
- 设备ID改为服务端下发,支持令牌刷新和强制下线处理
- 新增deviceSecret加密存储和accessToken自动刷新
- 更新设备ID获取方式为出厂SN,添加安全存储依赖
2026-08-01 15:13:12 +08:00
376a2c1217
fix: 修复视频画面拉伸变形问题
...
移除视频预览层的aspectRatio约束,并将本地解码画面渲染模式从resizeAspect改为resizeAspectFill,确保视频内容正确填充显示区域。
2026-08-01 04:09:14 +08:00
2cac572702
fix(iOS): 修复视频显示模式为填充
...
将远端视频渲染视图和内容视图的视频内容模式从 `.fit` 改为 `.fill`,并调整控制面板布局,将录制与断开按钮单独成行,提升界面利用率与操作体验。
2026-08-01 04:04:19 +08:00
a73f61f366
feat(ios): 添加远端视频录制功能并优化信令连接稳定性
...
- 新增 VideoRecorder 组件,支持 WebRTC 和自编码两种模式录制远端视频为 MP4
- 优化 SignalingClient 连接管理,修复 WebSocket 握手前 receive 导致的断开问题
- 重构控制面板 UI,支持统计信息折叠展开和录制控制按钮
- 添加录制状态指示、保存路径提示及断开自动取消录制逻辑
- 更新项目配置和文档,补充录制功能说明
2026-08-01 03:59:43 +08:00
TongTongStudio
30f26f27c3
fix(webrtc): 修复主动关闭旧连接时误报断开通知,并更新 ICE 服务器列表
...
- 在 createPeerConnectionAndAnswer 中关闭旧连接前设置 suppressDisconnectNotify 标志,抑制 notifyRemoteDisconnected 回调,避免接受新连接时误报远程断开。
- 调整被控端、控制端、Web 控制台及 Flutter 控制端的 ICE 服务器配置,启用了内网 STUN/TURN 服务器并注释掉旧的公网 TURN 服务器。
2026-08-01 02:19:19 +08:00
6d729f38be
fix(webrtc): 更新ICE服务器配置,新增备用TURN服务器并修复iOS模拟器连接问题
...
- 新增47.242.112.133的STUN/TURN服务器作为备用中继
- Flutter端添加turns: TLS中继,修复iOS模拟器无法获取relay候选的问题
- Web端同步添加新的ICE服务器配置
- 添加.gitignore忽略IDE配置文件
2026-07-31 22:19:09 +08:00
8935dc93d2
fix(webrtc): 修正ICE服务器配置并增强连接诊断日志
...
修正Flutter控制端TURN凭据错误,移除不可达的内网地址,新增TCP中继候选与详细的ICE状态/候选日志,以解决iOS模拟器下ICE连接失败问题。
2026-07-31 21:26:14 +08:00
TongTongStudio
362b9f238a
feat: 支持手动切换采集帧率
...
在 Android、Web 及 Flutter 控制端新增帧率选择 UI,被控端按屏幕刷新率生成支持的帧率档位并上报,允许在保持分辨率不变的情况下仅切换帧率。
另附带更新信号服务器的数据库配置。
2026-07-31 03:26:40 +08:00
TongTongStudio
c3602493dd
fix: 重新打开 Activity 时恢复串流状态
...
Activity 被销毁后重新打开时,若后台 ScreenCaptureService 仍在串流,则重新绑定服务并恢复界面为“运行中”状态,避免状态丢失。
2026-07-30 09:46:18 +08:00
TongTongStudio
ed84745005
feat(web): 添加远程视频录制功能
2026-07-30 09:23:53 +08:00
TongTongStudio
e831ef2795
feat: 增加信令自动重连保活与控制端视频录制
...
- 信令客户端增加心跳保活与指数退避自动重连机制
- 服务端优化传输异常日志级别,客户端断开不再报错
- 被控端信令断开时保持服务运行并自动重连
- Flutter 控制端增加远程视频录制功能,兼容标准 WebRTC 模式切换
- 各端连接按钮增加“连接中”状态防重复点击
2026-07-30 00:40:22 +08:00
TongTongStudio
7f545359d9
feat: 添加远端视频录制功能
2026-07-29 16:20:35 +08:00
1e37aa64cc
feat: 初始化 iOS 远程控制端项目
2026-07-29 10:34:02 +08:00
TongTongStudio
11173eb04c
refactor: 优化注释格式并修复WebSocket错误处理
2026-07-26 21:40:51 +08:00
TongTongStudio
63adb7f9f6
chore: 更新默认信令服务器地址为 wss://www.ttstd.com/signal
2026-07-25 11:51:09 +08:00
TongTongStudio
e5dafb65ed
feat(decode): 用 WebRTC stats 替代原生探针计算解码耗时
2026-07-25 11:18:34 +08:00
TongTongStudio
4a33f3db0d
feat(webrtc): 新增解码耗时统计并修复黑屏问题
...
1. 新增自编码与全托管模式的解码耗时探针(VideoSink),统计帧率与解码耗时。
2. 修复 SPS 与 PPS 作为独立 CONFIG 单元发送时被误丢弃导致 H.264 永久黑屏的问题。
3. 优化分片重组缓冲,丢弃过期单元并限制缓冲堆积以防内存泄漏。
2026-07-25 01:50:00 +08:00
TongTongStudio
cebb1e484e
fix: 修复自编码模式分辨率切换及画面拉伸问题
...
- 重启编码器以支持动态分辨率切换
- 同步调整解码端 SurfaceView 尺寸以保持宽高比
- 修复 MediaCodec Image 未及时关闭导致的潜在崩溃
2026-07-24 22:57:37 +08:00
TongTongStudio
efa533a2b1
fix(encoder): 修复特定设备下编码器写入越界崩溃
...
- 添加边界检查,防止部分设备 buffer limit 偏移导致的 Crash
- 兼容 I420 平面格式与 NV12/NV21 半平面格式
- 避免多线程下 encoder 字段被意外置空导致的空指针异常
- 修复 I420Buffer 为 null 时未释放输入缓冲的问题
2026-07-24 22:40:31 +08:00
TongTongStudio
7fc02ec73d
refactor(self-codec): 复用 WebRTC 采集管线适配 Android 14
...
自编码模式不再单独申请 MediaProjection 和 VirtualDisplay,
改为复用 WebRTC 的屏幕采集帧直接喂入编码器,规避 Android 14
单次投屏授权令牌限制。同时实现 I420 到 NV12 的颜色格式转换。
2026-07-24 22:27:08 +08:00
TongTongStudio
3792b75244
fix: 修复自编码模式黑屏问题
...
- 调整包序号过期检查逻辑,避免同一帧分片被误删
- 适配 Android 14,在创建 VirtualDisplay 前注册 MediaProjection.Callback
- 启动后检查编码器实际运行状态,失败时进行清理
2026-07-24 20:08:17 +08:00
23698d0be7
feat: 扩展 WebRTC 统计信息
...
在 StatsBar 中新增延迟、抖动、丢帧、解码耗时、上传速率和丢包率等指标展示。
重构速率计算逻辑,并从 inbound-rtp 和 candidate-pair 报告中提取相关数据。
2026-07-24 18:08:56 +08:00
TongTongStudio
cdf3d5da46
refactor: 重构设置页面并修复屏幕共享黑屏问题
...
将安全验证和输入设置从主界面迁移至独立的 SettingsActivity,并允许用户手动选择模拟点击方式。
修复 Android 10+ 上 MediaProjection Token 传递失效导致黑屏的问题,通过静态变量保存授权结果并增加捕获延时与心跳保活机制。
优化多端视频编解码器协商,统一在 Offer SDP 中将 VP8/VP9 优先排列,H264 仅作兜底,提升跨端解码兼容性。
2026-07-24 17:55:44 +08:00
778c37b8db
fix: 修复自编码模式黑屏及并发问题
...
- 修复 MediaCodec 回调需在 configure 前设置导致的异常
- 修复解码器线程安全问题及包乱序/重复处理
- 增加关键帧前重发 SPS/PPS 以防首帧丢失导致黑屏
- 支持分辨率切换时重置解码器
- 修复 Flutter 控制端连接类型选项 UI 显示拥挤问题
2026-07-24 09:31:58 +08:00
f8048e1331
fix(WebRtcClient): 修复关闭后调用状态引发的异常
2026-07-23 12:42:09 +08:00
1800881219
fix: 修正资源ID typo 及单元类型声明
...
修正布局文件中 `@+rid` 为 `@+id` 的 typo,将 UNIT_TYPE 常量类型从 int 改为 byte 以保持协议一致性,新增 StreamModeReportListener 接口,并将日志级别从 error 调整为 debug。
2026-07-23 12:14:56 +08:00
6138a1ffa4
Merge branch 'master' of ssh://gitea.ttstd.com:2222/tt/VibeCoding
...
# Conflicts:
# WebRTCController/app/src/main/res/layout/activity_main.xml
2026-07-23 12:04:04 +08:00
e56723a010
feat(streaming): 添加自编码串流模式切换功能
2026-07-23 12:01:08 +08:00
6ef18dd287
feat: 支持免密连接模式及允许免密连接开关
2026-07-23 10:50:31 +08:00
a1c29246d7
feat: Windows增加分辨率适应,切换分辨率按钮修改
2026-07-23 09:26:13 +08:00
7de30eefa4
fix: 修复flutter编译失败
2026-07-22 22:35:29 +08:00
bdde6ccd2e
feat: 增加密码连接
2026-07-22 20:32:52 +08:00
ef786b1529
feat: 增加网页后台管理
2026-07-21 17:46:00 +08:00
1edb87b5f2
build: 删除鸿蒙工程
2026-07-21 11:07:29 +08:00
f33e0f8592
Merge branch 'master' of ssh://gitea.ttstd.com:2222/tt/VibeCoding
2026-07-21 11:06:15 +08:00