Repository navigation
Releases
v0.6.10
FlashRec v0.6.10
修复
- Linux 托盘菜单勾选标记不显示(修复):修复「开机启动」「窗口置顶」等托盘勾选项在 GNOME 等面板永远显示不出勾选标记的问题——此前勾选状态只存在于程序内部,托盘上看不到,反复点击甚至会把已开启的功能反向关闭。
- Linux deb 更新支持应用内直接安装:更新包下载完成后,面板提供「立即安装」按钮——点击后应用退出,系统弹出授权窗口(polkit),安装完成后自动拉起新版本,不再需要手动到软件中心安装。(无 polkit 环境保持原来的「打开所在文件夹」手动方式,兼容 Debian/Ubuntu 系。)
- AppImage 更新助手加固:换装前增加哈希复核(封堵下载与替换之间的文件窗口)、最终替换失败自动回滚旧版本、全程写入安装日志,失败可诊断。
改进
- 「已是最新版本」带版本号:更新弹窗标题显示远端最新版本号(如「已是最新版本 v0.6.10」);托盘菜单保持纯动作文案不带数据。
FlashRec v0.6.10 (English)
Fixed
- Tray checkmarks never rendered on Linux: fixed "Start on boot" / "Always on top" tray check items never showing their checkmark in GNOME and other appindicator panels — the checked state was internal-only, and clicking the seemingly-unchecked item could silently turn an enabled feature back off.
- In-app install for deb updates (Linux): the update panel now offers "Install now" once the package is downloaded — the app exits, a system authorization prompt (polkit) appears, and the new version relaunches automatically; no more manual detour through the software center. Environments without polkit keep the previous "open folder" manual flow (Debian/Ubuntu compatible).
- AppImage update helper hardening: the helper now re-verifies the package hash before swapping (closing the download→install file window), rolls back to the old version if the final rename fails, and writes a full install log for diagnosability.
Improved
- "Up to date" now shows the version: the update dialog title includes the remote version (e.g. "You're up to date (v0.6.10)"); the tray menu stays action-only.
v0.6.9
FlashRec v0.6.9
修复
- 待机时不再误弹「播放」提示:没有任何投屏媒体时,按空格键或单击画面不会再弹出「播放」提示(此前会让人误以为已经开始播放)。
- Linux 更新后未自动拉起(修复):修复通过应用内更新升级(deb / AppImage)完成后,新版本没有自动启动的问题——更新助手意外持有了应用的单实例锁,导致拉起的新版被误判为「已在运行」而退出。
FlashRec v0.6.9 (English)
Fixed
- No more false "Playing" toast while idle: with no cast session, pressing Space or clicking the video area no longer shows a "Playing" OSD (it previously looked like playback had started).
- App did not relaunch after in-app update (Linux): fixed the new version not starting automatically after a deb / AppImage in-app update — the update helper was accidentally holding the app's single-instance lock, so the relaunched app mistook itself for "already running" and exited.
v0.6.8
FlashRec v0.6.8
新增
- 新皮肤「暗灰橙·直角」:与「暗灰橙」同配色的无圆角版本,窗口、进度、按钮等元素全部直角化;自定义皮肤现在也可覆盖右键菜单、OSD、提示条的圆角。
改进
- 更新说明按语言显示:检查更新时,弹窗内的更新说明会跟随界面语言显示中文或英文。
修复
- 退出后无法再次启动(Linux):修复网络状态监听线程在部分情况下未随应用退出,导致退出时挂起、再次启动被误判为“已在运行”的问题。
- 投屏中退出可能残留后台(Linux):投屏会话中退出应用时,若画面输出被系统暂时卡住,应用现在能可靠完成退出,不再残留后台进程(异常情况下最多等待数秒后强制退出)。
- 硬解播放偶发花屏:硬件解码的帧在上屏前增加一次同格式拷贝,规避部分显卡/驱动组合下偶发的彩色横条与碎块(如需还原旧行为,可设环境变量
FR_NO_HWDEC_COPY=1)。
FlashRec v0.6.8 (English)
Added
- New skin "Graphite Orange Square": a square-cornered variant of the "Graphite Orange" skin with the same palette; window, progress bar and buttons are all squared. Custom skins can now also override the corner radius of the context menu, OSD and prompt bar.
Improved
- Release notes in your language: the update dialog now shows release notes matching the UI language (Chinese or English).
Fixed
- Could not start again after quitting (Linux): fixed the network monitoring thread not exiting with the app in some cases, which made quitting hang and subsequent launches being mistaken for "already running".
- Quit during casting could leave a background process (Linux): quitting while a cast session is active now completes reliably even if the video output stalls; the app force-exits after a few seconds at worst instead of lingering.
- Occasional corruption with hardware decoding: decoded frames are copied once before upload, working around sporadic color bars / block artifacts on some GPU/driver combinations (set
FR_NO_HWDEC_COPY=1to restore the previous behavior).
v0.6.7
FlashRec v0.6.7
新增
- 网络自愈:启动时网络尚未就绪、或运行中网络发生变化(如网线重新插拔、IP 地址变更、网卡启停),投屏服务会自动感知并恢复,无需重启应用。Windows 与 Linux 均支持。
改进
- 直播起播提速:对 m3u8 直播流收窄媒体探测窗口,减少起播前的等待时间。
修复
- 直播误判为点播:部分直播流(初始分片时长较短的可拖动流)此前被识别为点播,进度条呈现为可拖动的点播形态;现在会在短暂复核后正确识别为直播,进度条转为直播形态。
FlashRec v0.6.7 (English)
Added
- Network self-healing: if the network is not ready at startup, or changes while running (e.g. cable re-plug, IP address change, adapter up/down), the casting service now detects it automatically and recovers without restarting the app. Supported on both Windows and Linux.
Improved
- Faster live-stream startup: the media probe window for m3u8 live streams is narrowed, reducing the wait before playback starts.
Fixed
- Live streams misdetected as on-demand: some live streams (seekable streams with very short initial segments) were previously treated as on-demand, showing a draggable on-demand progress bar; after a short re-check they are now correctly identified as live, and the progress bar switches to the live form.
v0.6.6
FlashRec v0.6.6
改进
- 右键菜单精简:菜单不再包含播放控制条目(播放/暂停、上/下一集、停止),只保留窗口与画面类操作;播放控制继续走底栏按钮、空格键与媒体键。
- Seek 响应提速:网络流跳转改用关键帧对齐(即点即跳,落点与目标可能有 2~5 秒对齐偏差);缓冲恢复等待从 1 秒降至 0.3 秒。本地文件仍为精确跳转。
- 更新检测期间顶栏布局修复:出现更新图标时,旁边的帮助按钮不再被挤开到悬停展开宽度的位置,恢复紧贴布局。
修复
- 拖动/校准进度在加载期不再失败:投屏端在视频加载窗口内发来的 Seek 请求(如 B 站的起始进度校准)不再被拒绝,改为排队等加载完成后立即执行,投屏起始进度更可靠。
- 菜单能力宣告(
GetCurrentTransportActions)与实际行为对齐:加载中状态如实宣告可用的传输操作。
FlashRec v0.6.6 (English)
Improved
- Simplified context menu: playback control entries (play/pause, previous/next, stop) are removed from the right-click menu; window and picture options remain. Playback control stays on the bottom bar, spacebar and media keys.
- Faster seeking: seeks on network streams now align to keyframes (instant jump, with a possible 2–5 s alignment offset from the exact target); the buffer-recovery wait is reduced from 1 s to 0.3 s. Local files still seek exactly.
- Top bar layout fix during update: when the update icon appears, the help button next to it is no longer pushed out to the hover-expanded width; the buttons sit tightly again.
Fixed
- Seek during loading no longer fails: Seek requests sent by the casting app inside the video-loading window (e.g. Bilibili's start-position calibration) are queued and executed right after loading instead of being rejected, making the initial cast position more reliable.
- Capability advertisement (
GetCurrentTransportActions) now matches actual behavior: the loading state advertises exactly the transport operations that are available.
v0.6.5
FlashRec v0.6.5
新增
- DLNA 直播低延迟:直播流缓冲水位钉死 + 实时遥测 + 窄带自动追赶(1.10×/1.25× 分档,防追崩保护),稳定贴近直播边缘;直播会话内倍速由播放器统一接管。
- Windows 便携版自动更新:下载校验完成后由独立换装助手自动完成备份、替换与重启,失败自动还原为更新前状态。
- Linux deb 自动安装:检测到 polkit 环境时,更新包经系统授权框提权后由 apt 自动安装并拉起新版本;无桌面环境自动回退为打开下载目录。
- 换装/安装全程日志:Windows 换装助手与 Linux 安装助手均输出过程日志,便于问题定位。
- 更新调试参数:
--update-version=<版本>可临时指定更新检测的当前版本,便于验证自动更新链路。
改进
- AirPlay 投屏中被禁用的操作(暂停、倍速)全入口统一无提示反馈。
- 更新包在安装前执行二次 SHA-256 校验,覆盖下载与安装之间的文件窗口。
FlashRec v0.6.5 (English)
New
- DLNA live stream low latency: pinned live buffer water level + real-time telemetry + narrow-band automatic catch-up (1.10×/1.25× steps with anti-overrun guard) to stay close to the live edge; playback rate during live sessions is managed by the player.
- Automatic updates for Windows portable builds: after download and verification, a standalone swap assistant performs backup, replacement and restart automatically, restoring the previous state on failure.
- Automatic installation for Linux deb: when a polkit environment is detected, the update package is installed via the system authorization dialog with apt, and the new version is launched automatically; without a desktop session it falls back to opening the download folder.
- Full logging for swap/install helpers: both the Windows swap assistant and the Linux install assistant write process logs for easier troubleshooting.
- Debug flag for updates:
--update-version=<version>temporarily overrides the current version used by update detection.
Improved
- Disabled actions during AirPlay mirroring (pause, playback speed) are now consistently feedback-free across all entry points.
- A second SHA-256 verification runs right before installation, covering the window between download and install.
v0.6.4
FlashRec v0.6.4 更新说明
一、新增功能
-
应用内自动更新:程序可自行检测新版本并完成更新,全程无需手动下载安装包。
- 检测:启动 30 秒后首次检查,之后每 4 小时一次;以 GitHub Release 的
latest.json清单为权威,兼容未提供清单的历史版本(自动回退 GitHub API 资产信息 + SHA256SUMS 合成校验)。 - 端点测速:直连与全部启用代理同轮赛跑,按完整响应体下载吞吐(字节 ÷ 总耗时)排名选择,不以延迟为准;最快端点同时承担清单获取与资产下载;连续失败自动冷却退避(30 秒 ~ 60 分钟),支持配置自定义镜像(
prefix/template)。 - 下载:检测到新版本后自动在后台下载,断点续传(中断后从已下载位置继续),SHA-256 校验通过才进入「就绪」;校验失败自动换端点重下。
- 分形态安装:
- Windows 安装版:弹出安装向导,用户确认后完成安装,安装完成后自动拉起新版本;
- Windows 便携版 / Linux deb:打开下载所在文件夹,由用户手动替换;
- Linux AppImage:等待程序退出后自动备份旧文件、原子替换并重启,失败时保留
.old备份可手动回滚。
- 提示与入口:更新就绪后不弹窗打扰——顶栏出现下载箭头图标按钮(悬停显示「更新软件」),托盘菜单同步提供检查 / 下载 / 安装入口;投屏中安装需二次确认。
- 跳过此版本:不想升的版本可一键跳过,本次运行不再提示。
- 安全与隔离:全程 HTTPS(重定向不降级)、回环地址仅限本机联调代理;全部网络 / 哈希 / 写盘在独立工作线程完成,主线程、渲染线程、投屏线程零阻塞。
- 检测:启动 30 秒后首次检查,之后每 4 小时一次;以 GitHub Release 的
-
顶栏帮助按钮:窗口右上角新增
?按钮(窗口控制键最左侧),悬停展开显示「帮助」,点击打开帮助面板(与 F1 等效);有更新就绪时自动为更新按钮让位。 -
帮助面板显示版本号:帮助面板标题行显示当前软件版本(如
FlashRec v0.6.4-帮助面板),核对版本一目了然。
二、升级说明
- v0.6.3 及更早版本没有自动更新功能,需要手动下载安装包升级一次;从 v0.6.4 起,后续版本即可在应用内直接更新。
- 升级后首次启动会在后台自动完成一次更新模块初始化,不影响正常使用。
FlashRec v0.6.4 Release Notes
1. New Features
-
In-app auto-update: The app now detects new versions and updates itself — no manual download required.
- Detection: First check 30 seconds after launch, then every 4 hours. The
latest.jsonmanifest on GitHub Releases is authoritative; older releases without a manifest are supported via automatic fallback to GitHub API asset info + SHA256SUMS. - Endpoint racing: Direct connection and all enabled proxies race in parallel, ranked by full-response-body download throughput (bytes ÷ total time) — not latency. The fastest endpoint serves both the manifest and asset downloads. Consecutive failures trigger cooldown backoff (30 s – 60 min). Custom mirrors are supported via
prefix/templatesettings. - Download: New versions are downloaded automatically in the background with resume support; SHA-256 must pass before entering the "ready" state. A failed checksum automatically retries on another endpoint.
- Install per package type:
- Windows installer: shows the setup wizard for you to confirm; relaunches the new version afterwards;
- Windows portable / Linux deb: opens the download folder for manual replacement;
- Linux AppImage: waits for the app to exit, backs up the old file, atomically replaces it and restarts; on failure a
.oldbackup is kept for manual rollback.
- Notification: No pop-ups — once an update is ready, a download-arrow button appears in the title bar (hover to see "Update software"), with check / download / install entries in the tray menu. Installing while casting requires a second confirmation.
- Skip this version: Skip a version you don't want; it won't be offered again this session.
- Safety & isolation: HTTPS enforced (no downgrade on redirects); loopback allowed only for local debugging proxies. All network / hashing / disk work runs on a dedicated worker thread — the UI, render and casting threads are never blocked.
- Detection: First check 30 seconds after launch, then every 4 hours. The
-
Help button in the title bar: A new
?button (leftmost of the window control group). Hover to expand "Help"; click to open the help panel (same as F1). It automatically yields space when the update button appears. -
Version number in the help panel: The help panel title now shows the running version (e.g.
FlashRec v0.6.4-Help panel).
2. Upgrade Notes
- v0.6.3 and earlier have no auto-update; please upgrade manually once. From v0.6.4 on, future updates install directly in the app.
- On first launch after upgrading, the update module initializes automatically in the background — no impact on normal use.
FlashRec v0.6.3
FlashRec v0.6.3 更新说明
一、新增功能
- 画面填充模式(右键「画面填充」):自动 / 铺满 / 完整画面 / 拉伸四档,随时切换并持久记忆。「自动」下 AirPlay 镜像按画面比例自适应(横屏铺满、竖屏完整),DLNA / 本地播放默认完整画面。
- 画面缩放二级菜单(右键「画面缩放」):50% / 100% / 150% / 200% / 300% / 400% / 500% 七档,与键盘 Ctrl+↑↓、滚轮入口共用同一缩放值。
- 画中画可拖拽缩放:小窗支持拖拽边缘 / 四角自由调整大小(不锁 16:9,最小 320×180),本次运行记住最后尺寸,再次进入小窗沿用。
- 开机启动:托盘菜单新增「开机启动」勾选项(Windows 注册表 Run、Linux XDG autostart),系统启动项即唯一真值,程序路径搬移后自动更新。
- AirPlay 投屏中切换解码方式:切换会挂起到下一次投屏会话生效,右键菜单标注「(下次生效)」并给出 OSD 提示,避免镜像会话被重载打断。
二、行为变化
- DLNA / 本地播放默认画面由「铺满」改为「完整画面」:默认完整保留画面内容,比例不匹配时留边;需要裁边铺满可在右键「画面填充」中随时切回「铺满」或「拉伸」。
- 托盘菜单精简:移除「播放 / 暂停」「下一集」,播放控制保留在主界面。
- 右键菜单精简:移除「语言」入口,语言切换保留在托盘菜单。
- AirPlay 会话接管:AirPlay 投屏中由 DLNA / 本地投屏接管时,会主动结束 AirPlay 会话,iPhone 端同步退出投屏。
三、修复问题
- AirPlay 镜像重新投屏黑屏无声:会话重载误用上一次的点播 URL,已改为重载当前真实地址(直播流跳最新、点播按原进度续播)。
- AirPlay 镜像断线重连稳定性:修复重连后 PSI 不在探测窗内、补救动作迟于探测判死、陈旧预缓冲抢占探测窗、纯音频重连后永久静音四条链路。
- AirPlay 投屏中切换解码方式卡死:镜像流每个会话只有一个关键帧,切换解码会重载播放链导致永久冻结;现改为挂起并在下次会话生效。
- 正常退出后产生崩溃 dump:修复退出收尾阶段日志器已关闭导致的空指针崩溃(此前每次退出生成约 28MB dump)。
- 右键菜单显示异常:子菜单与父项顶部对齐;贴近屏幕边缘时自动翻转 / 回夹;按显示器可用工作区定位;修复菜单满 18 条时最后两项不显示及分隔线空指针。
- 主线程健壮性修复:窗口几何在退出 / 最大化场景的持久化、高 DPI 屏上的画面平移、最大化状态进入画中画、跨线程状态竞争、帮助面板与右键菜单层级、失焦后按键状态复位、显示器热拔空指针、系统最大化后拖拽还原等。
- 画面缩放默认值:修复启动时默认 200% 的问题,恢复为 100%。
v0.6.2
FlashRec v0.6.2 更新说明
一、新增功能
- 界面多语言(中 / 英):全部界面文案(右键菜单、托盘、OSD 反馈、F1 帮助面板、待机画面、媒体信息面板)支持简体中文 / English 双语;语言跟随系统(可固定),右键菜单「语言」二级菜单或托盘勾选即时热切换,无需重启。
- 皮肤名多语言:内置七套皮肤在英文界面显示英文名(Nord Snow / Frost / Rose / Iris / Night / Forest、Graphite Orange);自定义皮肤可在 JSON 中自带
name[en]等多语言字段,随语言自动选用。 - README 中英双语:
README.en.md英文全文,两份顶部互链切换。
二、修复问题
- 语言切换后,皮肤菜单残留旧语言名称——现已随语言即时更新。
- 圆角窗口下,底部常驻迷你进度线两端伸出圆角区域——已内缩与窗口圆角对齐;全屏 / 最大化时窗口无圆角,进度线恢复全宽。
- 画中画体验:小窗内重新投屏不再退回常规窗口,原地换流续播;播放结束也不再自动弹回大窗,小窗保持「等待投屏」空态等下一轮投屏(退出画中画仍为单击小窗)。
v0.6.1
FlashRec v0.6.1 更新说明
一、新增功能
窗口置顶:Ctrl+T / 右键菜单 / 托盘三入口切换,偏好记忆,重启与画中画往返均保持。
窗口快速缩放:数字键 1–7 = 视频尺寸的 50 / 100 / 150 / 200 / 300 / 400 / 500%(PotPlayer 语义,100% = 逐像素);画中画小窗内同样生效;右键菜单「窗口大小」二级菜单同步七档;超出屏幕自动收缩到工作区。
画面缩放与平移:Ctrl+↑↓ / Ctrl+滚轮 将画面中心放大 50%–500%(步进 10%,窗口尺寸不变);Ctrl+左键拖拽平移画面;Ctrl+中键一键复位 100%;新投屏会话自动复位;DLNA / AirPlay 全协议生效。
解码方式选择:右键菜单「解码」二级菜单,软解 / 硬解 · 自动 / 硬解 · NVDEC / 硬解 · DXVA2 四档,切换即按位续播(进度、暂停态、缩放状态保留),标题栏徽章实时显示当前后端;硬解花屏时可一键切换自救。
F1 帮助面板:全部快捷键一览,F1 / Esc / 点击均可关闭。
鼠标中键静音:中键点击窗口任意位置即可切换静音。
二、修复问题
高 DPI 屏幕(如 150% 缩放)下窗口 100% 档偏差约 2%,无法真正逐像素——已修正缩放口径。
画面缩放百分比错误(100% 实际放大 2 倍、50% 无法缩小)——已修正为标准映射:100% = 原大、50% = 一半、200% = 2 倍。
点击带子菜单的父级条目(如「窗口大小」)会误关闭整个菜单——已按 Windows 惯例保持展开。
鼠标中键静音实际不生效(仅在音量滑杆热区有效)——已放开到全窗口。
Linux 安装包(deb / AppImage)缺少 AirPlay 接收端——已补齐,Windows 包不受影响;并加固构建链,杜绝再产出无 AirPlay 的安装包。
许可证统一为 GPLv3。