1.1.4
修复
-
PDF 预览模态框过小,无法完整显示页面内容(
apps/web/src/components/previews/FilePreview.tsx)点击预览 PDF 文件时,内容渲染在
max-w-5xl max-h-[90vh]的固定尺寸模态框 iframe 内,宽高受限导致多列排版的 PDF 页面大量内容被截断,缩放/翻页等操作也受模态框边界制约,体验极差。修复:
FilePreview现在检测到effectiveCategory === 'pdf'且预览 URL 就绪后,直接调用window.open(previewUrl, '_blank', 'noopener')在新标签页打开,并同时关闭模态框。用户进入 Chrome 内置全屏 PDF 阅读器,具备完整的缩放、翻页、打印等原生操作控件,不再受模态尺寸约束。 -
预览 .txt 文件报"加载失败:TypeError: Failed to fetch"(
apps/web/src/hooks/usePreview.ts、apps/web/src/components/previews/TextViewer.tsx)React 18 StrictMode(
next dev模式下默认启用)对 Effect 执行双重触发:首次挂载 → 执行清理(调用clearPreview()→URL.revokeObjectURL())→ 二次挂载。这导致 blob URL 在TextViewer的useEffect尚未执行fetch(url)之前已被吊销,fetch抛出"TypeError: Failed to fetch",文本内容始终无法渲染。修复:
usePreview针对文本类文件不再创建 blob URL——改为在.then()回调中立即读取blob.arrayBuffer(),将结果以rawBytes: Uint8Array存入 React state。TextViewer接收rawBytesprop,在组件内同步进行 BOM 检测(UTF-8 BOMEF BB BF/ UTF-16 LE BOMFF FE/ UTF-16 BE BOMFE FF)与解码,无需任何二次网络请求,从根本上消除了 blob URL 被提前吊销的竞态问题。编码选择器(UTF-8 / GBK / UTF-16)、行号显示及字体缩放等功能完整保留。图片和 PDF 文件不受影响,仍使用 blob URL 路径。
下载
| 平台 | 文件 |
|---|---|
| Windows (x64) | RemoteBridge-Setup-1.1.4.exe |
| macOS (Apple Silicon) | RemoteBridge-1.1.4-arm64.dmg |
| Linux (x64) | RemoteBridge-1.1.4.AppImage |