Repository navigation
Releases
CF Compass v4.4.1
CF Compass v4.4.1
模板待做与复习进度
- 模板卡片支持加入待做题单,在主窗口和独立题单中都可直接用 VS Code 打开原文件。
- 卡片显示待复习、已复习和累计完成次数;算法分类与模板库概览显示复习进度。
- 每轮待做完成计一次。取消完成会撤回本轮,点击“再复习”后完成可继续累加;移出待做队列保留累计次数。
- 升级前仍标为已完成的模板按一次迁移;过去没有记录的复习轮次无法补算。
- 切换模板目录后,队列中来自以前所选目录的文件仍可打开。中文、空格和井号文件名得到正确保留;未选择过的目录仍受路径检查约束。
待做顺序
新加入的题目追加到末尾,早加入的排在前面。旧队列按加入时间整理一次,之后手动拖动的顺序会保留;再次加入已完成题目会作为新一轮排到末尾。
自建题单
在题库顶部点击“新建题单”并填写名称,通过题名右侧的收录按钮选入题目。同一道题可收录到多份题单;支持切换查看、按原有条件筛选、重命名、移出题目和删除题单。删除题单保留原题库。
题单与学习记录一起保存、备份和导入导出。保存题单只更新题单字段,并与笔记写入依次处理,避免覆盖独立窗口刚保存的笔记。
升级与安装
提供 Windows x64 安装版及便携版、Linux x64 AppImage 及 Debian 包、macOS Intel 及 Apple Silicon 包。Windows 安装版可在“数据中心 → 应用更新”检查和下载安装,其余版本按既有方式手动更新。升级保留本地学习数据。
正式附件在核心回归、各平台构建与启动检查、下载完整性验证及 Windows 覆盖升级检查通过后公开。
English summary
- Add local templates to the study plan and open their original files in VS Code from either window, including after switching between selected template folders.
- Track cumulative template review completions. Undoing completion reverses the current round; reviewing again adds another round, and deleting a queue entry keeps the total. Existing completed templates migrate as one recorded completion.
- Append new study-plan entries in insertion order while retaining manual reordering after the initial migration.
- Create named personal problem lists, collect problems into multiple lists, filter, rename, remove entries and delete lists. Lists persist with study data and backups.
- List updates preserve notes saved in other windows, with concurrent list and note writes handled in sequence.
CF Compass v4.3.4
CF Compass v4.3.4
修复 #45:部分虚拟赛因 Codeforces 提交时间字段相差 1 秒,整场显示“提交时间处于场次边界或不一致,暂不估分”。现在允许绝对提交时间与相对时间存在 ±1 秒取整偏差,正常场内提交可以继续计算本场参考分与参考位次。
升级后,在 赛事复盘 → 虚拟参赛 展开此前失败的场次,点击 重新估分。参考分仍是本地估计,不修改官方 Rating。
计分与数据校验
- 校验与计分使用同一个绝对提交时间。若 1 秒变化跨过分钟边界,CF 分数衰减和 ICPC 罚时按该绝对时间所属分钟计算。
- 虚拟场次起点继续精确匹配;不同场次、练习提交和场外提交不会因此混入。
- 负时间、恰好到达比赛结束边界、非整数时间、超过 1 秒的字段偏差,以及不完整身份、未完成判题和不支持的计分规则仍保留拒绝保护。
- 本版也包含 v4.3.3 之后主线合入的 Codeforces 同源传输加固。
构建与升级
沿用现有发布门禁:核心回归、四种平台原生构建、打包启动检查、附件下载与摘要回验,以及 Windows 安装版、便携版和上一稳定版覆盖升级验证。正式包通过门禁后才公开,候选说明本身不表示这些检查已经完成。
提供 Windows x64 安装版 / 便携版、Linux x64 AppImage / Debian 包、macOS Intel / Apple Silicon 包,以及 latest.yml、Windows .blockmap 和 AppImage .zsync 更新数据。Windows 安装版可在 数据中心 → 应用更新 更新;其他版本继续手动更新。平台安装条件沿用既有说明。
English summary
- Fixes #45: a ±1-second rounding difference between Codeforces absolute and relative submission timestamps no longer makes a complete virtual session unavailable for estimation.
- Validation and scoring share the absolute submission time. Minute-boundary changes use that timestamp for CF decay and ICPC penalties.
- Exact virtual-session identity, contest boundaries, integer timestamps, larger discrepancies, participant identity and scoring-model checks remain enforced.
- After upgrading, open the affected virtual replay and click Recalculate estimate. Estimates do not change official Rating.
- Includes the Codeforces same-origin transport hardening already merged after v4.3.3. Tagged packages are published only after the existing build, launch, download-integrity and Windows previous-stable upgrade gates pass.
CF Compass v4.3.3
CF Compass v4.3.3
v4.3.3 新增计划题单计时表,在独立辅助窗口提供正向、反向和定点计时。保留中英文界面、本地优先架构,以及 v4.3.1 的自定义训练赛、独立隐藏标签与难度、Windows 安装版更新和专属侧栏图标。
计划题单计时表
在 计划题单 → 计时表 打开辅助窗口;独立题单窗口也提供计时入口。重复打开会显示已有窗口,全局同时保留一只计时表,不改变题单完成记录、训练成绩或 Rating,也不新增云同步或计时统计。
- 正向计时:开始、暂停、继续和重置,累计时间可超过 24 小时。
- 反向计时:设置 1 秒至 7 天的时长,支持暂停、继续和重置;到时显示完成提示。
- 定点计时:设置未来 366 天内的本地日期与时刻,显示跨日日期和时区。开始后目标时刻固定,不提供暂停;取消后可修改。
- 运行中或暂停时,先重置或取消才能修改模式与设置。点击开始后保存设置与计时状态;尚未开始的输入只在当前窗口内,关闭后不保留。操作落盘后才更新状态,重复点击不会创建额外计时器。
定点提醒与本地音频
只有定点计时播放声音;正向与反向计时保持静音。 定点模式使用程序生成的温和短铃声,也可通过系统文件选择框设置本地音频,试听或停止播放。
- 试听与到时播放均最多 15 秒,不循环;取消、重置、切换模式或点击停止会停止声音。同一次到时不会因普通刷新或重复轮询反复响铃。
- 支持选择 WAV、MP3、OGG、M4A、AAC、FLAC,单文件上限 20 MiB。解码能力取决于当前 Electron 和系统;自定义音频无法播放或保存副本缺失时,尝试默认铃声并显示提示。
- 音频复制到本地应用数据,原文件之后移动不影响已保存副本;不上传音频。系统静音、音量和通知设置仍可能影响提示。
关闭、退出与休眠边界
切换页面、最小化主窗口或关闭计时表窗口均不会暂停计时;应用仍运行时,关闭辅助窗口后定点到时仍可响铃。退出整个应用后,运行中的计时按现实经过时间恢复,暂停的计时保持暂停;重新启动时恢复状态,已到时的计时补完成提示。
应用完全退出时不能播放声音;系统休眠时不能保证准时响铃。 恢复运行后按系统时间校准并检查到时,不会唤醒电脑或自动启动应用。手动调整系统时钟仍会影响时间计算。此功能是应用内学习辅助工具,不是系统级闹钟。
计时状态与音频副本保存在本机,独立于学习数据;目前不随学习数据 JSON 导入、导出或备份迁移。完整用法见 计时表说明。
本版候选修复
- 改进计时状态与音频配置的原子写入,避免写入中断留下部分内容,并在保存成功后更新状态。
- 封装回归显式等待相关数据和控件就绪,消除首帧加载时读取空列表的竞态。
- 计时状态保存后的退出续调移至下一个事件循环,避免重入原生退出回调。macOS 原生包检查覆盖正常退出和 SIGTERM 退出,并设置等待上限;超时明确失败并保存诊断。
这些修复随本版重新验收;正式标签包仍须通过后文列出的 CI 门禁后才公开,候选说明不表示 CI 已通过。
已有功能与升级
自定义训练赛继续支持从题库、收藏与目标题单组题,独立隐藏标签和难度,并按绑定账号、完整题号和本场提交时间同步结果;自组训练不并入官方或综合估计 Rating。Windows x64 安装版继续在 数据中心 → 应用更新 检查公开稳定版,下载和安装需明确操作,进行中的自定义训练阻止安装。
Windows 内置更新从 v4.3.1 起提供。v4.2.2 及更早版本需要先手动安装支持更新的官方 Setup.exe;便携版、解包目录和其他平台继续手动更新。AppImage 仍通过外部更新工具使用匹配的 .zsync,不在应用内自动更新。详见 v4.3.1 功能说明 与 Windows 更新说明。
发布资产与验证边界
沿用既有平台矩阵,提供六个程序包和三项更新数据:
| 平台或用途 | 文件 |
|---|---|
| Windows x64 安装版 | CF-Compass-4.3.3-Windows-x64-Setup.exe |
| Windows x64 便携版 | CF-Compass-4.3.3-Windows-x64-portable.exe |
| Windows 安装版更新数据 | CF-Compass-4.3.3-Windows-x64-Setup.exe.blockmap |
| Windows 稳定版更新元数据 | latest.yml |
| Linux x64 AppImage | CF-Compass-4.3.3-x86_64.AppImage |
| AppImage 更新数据 | CF-Compass-4.3.3-x86_64.AppImage.zsync |
| Linux Debian x64 | CF-Compass-4.3.3-Linux-amd64.deb |
| macOS Intel | CF-Compass-4.3.3-macOS-x64.dmg |
| macOS Apple Silicon | CF-Compass-4.3.3-macOS-arm64.dmg |
不上传独立 .sha256 或 SHA256SUMS.txt 附件;CI 内部仍执行摘要和下载回验,latest.yml 保留与实际安装包匹配的版本、文件名、大小和 SHA-512。.blockmap、latest.yml 与 .zsync 由更新工具读取,不是额外程序包。
此前本地计时器验证已通过 34 项计时与音频核心回归,以及使用隔离数据的 12 组实际 Windows Electron UI 流程,覆盖三模式、重复打开、恢复与提醒操作。Linux 和 macOS 的新增计时器原生交互未在本轮本地验收。正式标签包须通过各平台打包、既有启动检查、下载回验及 Windows 安装/便携版门禁后才公开;这些门禁不等同所有系统下的音频解码与休眠提醒保证。历史版本的验证记录不代替本版产物验证。
既有更新器的本地隔离 NSIS 0.0.1 → 0.0.2 升级测试是历史证据,不能证明向未来公开版本的生产 GitHub 渠道升级。Windows 包仍未使用商业 Authenticode 签名;macOS 使用 ad-hoc 签名,未经过 Apple 公证。Linux 保留 Chromium 沙箱:Ubuntu / Debian 推荐 .deb,受限制的 Ubuntu 24.04 AppImage 仍需固定路径和管理员批准的 AppArmor 配置,详见 Linux 安装说明。不声明任意 Linux 主机均可直接运行。
English summary
- Adds Study Plan → Timer, also available from the separate plan window. Repeated opens focus the same auxiliary window; one timer is shared across the application.
- Provides stopwatch, countdown (1 second to 7 days), and target-time (a local date/time within the next 366 days) modes. Stopwatch and countdown support pause/resume; fixed target-time mode uses cancel/edit instead of pause.
- Only target-time mode plays sound. It supports a short default bell or a local audio copy up to 20 MiB, with preview/stop and a maximum 15-second, non-looping playback. Unsupported or missing custom audio falls back to the default bell. Stopwatch and countdown remain silent.
- Starting persists the timer. Unstarted form inputs are not retained after closing the window. Closing the auxiliary window does not pause an active timer; restarting restores running elapsed time or a paused state.
- No sound can play while the application is fully exited, and sleep cannot guarantee a punctual alarm. Recovery recalibrates from the system clock and shows missed completion. The feature does not wake the computer or start the application automatically; clock changes can affect timing.
- Timer/audio data stays local, separate from learning-data imports, exports, and backups. The feature adds no cloud sync, statistics, or Rating changes.
- Retains v4.3.1 Custom Training, independent tag/Rating visibility, the dedicated rail icon, and Windows installer updates. Windows updating first became available in v4.3.1; portable and other-platform editions still update manually.
- Improves atomic timer/audio writes, resumes quitting on the next event-loop turn after the flush, and makes packaged regressions wait for ready controls. The native macOS smoke check bounds both normal and SIGTERM exit and retains failure evidence. Tagged CI must validate these candidate fixes before publication.
- Keeps the nine-asset platform inventory above, with no standalone
.sha256orSHA256SUMS.txtattachments. Internal CI verification and updater metadata hashes remain intact. - Earlier local timer validation passed 34 timer/audio regression tests and 12 isolated real Windows Electron UI flows. New timer interactions were not locally verified on native Linux/macOS. Tagged packages must pass the platform, launch, download, and Windows installation gates before publication; these checks do not guarantee every audio codec or timely alarms during sleep.
- Windows remains unsigned, macOS is ad-hoc signed and not notarized, and Linux retains its documented Chromium sandbox and restricted Ubuntu 24.04 AppArmor requirements. Historical updater and platform evidence does not replace verification of these packages.
CF Compass v4.3.1
CF Compass v4.3.1
v4.3.1 新增自定义训练赛第一版、Windows 安装版更新,以及专属的自定义训练赛侧栏图标。保留中英文界面、本地优先数据架构和原有训练、复盘与综合估计 Rating 功能。
自定义训练赛
- 从题库、收藏或目标题单挑选题目,查看已有尝试与通过记录,设置顺序、时长和标题,保存草稿或开始训练。
- 隐藏标签与隐藏难度 Rating分别控制,训练与结果页沿用各自的会话设置;需要复盘时可分别展开。跳转 Codeforces 原站仍可能看到官方标签和难度。
- 开始后锁定账号、题目顺序、时长和隐藏设置,显示倒计时与未尝试、错误、判题中、通过状态。会话持久化,退出应用后计时继续,重启可恢复。
- 使用绑定账号在 Codeforces 原站提交,再同步本场结果。只统计该账号的单人
PRACTICE提交,完整匹配contestId + index,并使用提交creationTimeSeconds与本场绝对时间窗口;不使用原比赛relativeTimeSeconds。 - 同步按提交 ID 去重,断网保留已有结果,恢复网络后可补同步。截止前提交、截止后出结果仍可更新;判题中不算错误或通过。切换账号不能将另一账号的提交计入原会话。
- 到时或提前结束后展示通过数、首次 AC 用时、错误尝试与待补题,复用已有笔记和计划题单入口。取消保留取消状态及已同步记录;重复操作不会重复创建正在进行的会话。
自组训练独立于官方比赛和 Codeforces virtual,不并入官方或综合估计 Rating。第一版不提供自建判题器或多人排行榜。计时依赖系统时钟,Codeforces 数据和判题结果可能延迟,必要时再次同步。详见 自定义训练赛说明。
Windows 安装版更新
- Windows x64
Setup.exe安装版在 数据中心 → 应用更新 检查本仓库的公开稳定版,展示版本、发布说明和下载进度。 - 默认启动检查可关闭;下载需主动点击,安装需明确确认退出应用,不会自动下载或退出安装。正在进行自定义训练赛时阻止安装,升级保留本地学习数据。
- 下载可取消,检查或下载失败后可重试;只接受更高的稳定版本及匹配的完整 NSIS 安装包,保留 SHA-512 校验。暂不启用差分下载。
- 便携版、解包目录、开发环境、浏览器和其他平台保留手动发布页入口。
Windows v4.2.2 及更早版本没有此更新入口,需先手动安装一次 v4.3.1 的 Setup.exe。 之后才可通过内置更新获取后续稳定版。详见 Windows 更新说明。
专属侧栏图标
自定义训练赛入口改为原生 SVG「秒表+播放符号」,与赛事中心的日历图标区分。尺寸、线条粗细、继承配色及默认、悬停、选中样式与现有侧栏保持一致。
面板透明度
修复自定义训练赛与应用更新卡片的背景,使其沿用现有面板透明度设置。
发布资产与验证边界
本版沿用既有平台矩阵,提供六个程序包和三项更新数据:
| 平台或用途 | 文件 |
|---|---|
| Windows x64 安装版 | CF-Compass-4.3.1-Windows-x64-Setup.exe |
| Windows x64 便携版 | CF-Compass-4.3.1-Windows-x64-portable.exe |
| Windows 安装版更新数据 | CF-Compass-4.3.1-Windows-x64-Setup.exe.blockmap |
| Windows 稳定版更新元数据 | latest.yml |
| Linux x64 AppImage | CF-Compass-4.3.1-x86_64.AppImage |
| AppImage 更新数据 | CF-Compass-4.3.1-x86_64.AppImage.zsync |
| Linux Debian x64 | CF-Compass-4.3.1-Linux-amd64.deb |
| macOS Intel | CF-Compass-4.3.1-macOS-x64.dmg |
| macOS Apple Silicon | CF-Compass-4.3.1-macOS-arm64.dmg |
不上传独立 .sha256 或 SHA256SUMS.txt 附件;CI 内部仍执行摘要和下载回验,latest.yml 保留与实际安装包匹配的版本、文件名、大小和 SHA-512。更新数据由更新工具读取,不是额外程序包。
本地已验证训练会话回归、真实 Electron 中英文训练与更新流程、侧栏图标状态,并通过隔离 NSIS fixture 0.0.1 → 0.0.2 的实际升级、错误 SHA-512 拒绝及数据保留测试。fixture 使用本机 loopback 源和独立应用身份,不能证明生产 GitHub 渠道向未来公开版本的升级。正式标签构建须重新打包并通过各平台构建、Linux 启动、下载回验和 Windows 安装/便携版门禁后才公开 Release;v4.2.2 的 Linux 验证 是历史记录,不代替本版产物验证。
Windows 包尚无商业 Authenticode 签名,SmartScreen 可能显示未知发布者;SHA-512 校验验证文件与元数据一致性,不等同发布者身份认证。macOS 包使用 ad-hoc 签名,未经过 Apple 公证。Linux 保留 Chromium 沙箱:Ubuntu / Debian 推荐 .deb,受限制的 Ubuntu 24.04 AppImage 仍需固定路径和管理员批准的 AppArmor 配置,详见 Linux 安装说明。不声明任意 Linux 主机均可直接运行。
English summary
- Adds Custom Training from the problem library, favorites, or study plan, with previous-solving hints, problem order, duration, and saved drafts. Starting locks the session; persisted state and the absolute countdown survive restart.
- Hide tags and hide Rating are independent settings retained in training and results, with explicit reveal controls for review. Codeforces pages retain their original information.
- Submit on Codeforces with the bound account. Only that account's solo
PRACTICEsubmissions count, matched by the complete problem ID andcreationTimeSecondswithin this session's window. Original contest-relative times are not reused. - Deduplicates submissions, preserves results offline, supports later synchronization and verdicts arriving after the deadline, and prevents cross-account counting. Results show solved count, first AC time, wrong attempts, and unsolved problems, with shared notes and study-plan actions.
- Custom sessions remain separate from official/virtual contests and never enter official or combined estimated Rating. Version one includes no private judge or multiplayer leaderboard. Timing depends on the system clock and public API data can be delayed.
- Adds Windows x64 NSIS installer updates under Data Center → App Updates, using this repository's stable GitHub releases. Startup checks can be disabled; downloading requires a click and installation requires explicit confirmation. Active training blocks installation. Full-installer downloads retain SHA-512 verification; differential downloading is disabled.
- Windows v4.2.2 and older need one manual installation of the v4.3.1
Setup.exefirst. Portable, unpacked, development, browser, and other-platform editions still update manually. - Gives Custom Training a dedicated native SVG stopwatch-and-play rail icon with the existing size, stroke, colors, and interaction states.
- Fixes Custom Training and App Updates card backgrounds to follow the existing panel transparency setting.
- Preserves the existing platform matrix and publishes exactly the nine assets listed above. No standalone
.sha256orSHA256SUMS.txtattachments are uploaded; private CI verification and the updater's metadata hashes remain intact. - Local Electron flows and a real, isolated NSIS
0.0.1 → 0.0.2fixture upgrade passed, including invalid SHA-512 rejection and data retention. The loopback fixture does not establish a future public GitHub-channel upgrade. Tagged packages must be rebuilt and pass the CI platform, launch, download, and Windows installation gates before publication; historical v4.2.2 Linux evidence does not validate the new packages. - Windows remains unsigned; macOS is ad-hoc signed and not notarized. Linux preserves the Chromium sandbox, and restricted Ubuntu 24.04 AppImage use requires the documented administrator-approved fixed-path AppArmor configuration. Universal Linux compatibility is not claimed.
CF Compass v4.2.2
CF Compass v4.2.2
Linux 分发与首次使用体验维护版本。新增标准 AppImage 更新支持,保留 Chromium 沙箱,不发布额外 SHA-256 校验附件。
Linux AppImage 与更新工具支持
- AppImage 改用静态 type-2 runtime 和 zstd SquashFS,不再依赖系统
libfuse2。正常挂载启动仍需要可用的 FUSE 设备、辅助工具及兼容的 Linux 桌面环境。 - AppImage 文件名改为
CF-Compass-4.2.2-x86_64.AppImage,去掉多余的Linux段。Debian 包保持CF-Compass-4.2.2-Linux-amd64.deb,旧版发布资产与链接不重命名。 - 稳定版 AppImage 嵌入标准更新信息,并附匹配的
CF-Compass-4.2.2-x86_64.AppImage.zsync,供外部 AppImageUpdate 等工具使用。CF Compass 内部不新增自动检查、下载或安装更新。 - 补充 AppStream 元数据和固定提交地址的演示工作台截图,供软件目录识别产品信息。截图说明产品界面,不替代 Linux 启动验证,也不代表目录页面已经更新。
首次使用与已有功能
首次启动直接进入内置演示工作台,无需登录或联网。演示账号和统计来源有明确标识,可先体验题目搜索、收藏与页面导航,再同步自己的 Codeforces 账号。已保存的语言选择继续沿用。
v4.2.1 的正式赛 / 虚拟赛综合估计 Rating、训练偏好、赛事复盘、笔记与目标题单继续保留。估计仍只供训练参考,官方数据不被覆盖;完整规则见 v4.2.1 说明。
Ubuntu 24.04 与沙箱
Ubuntu / Debian 用户优先选择 .deb 安装包,通过系统包管理器安装和升级。
对限制用户命名空间的 Ubuntu 24.04,AppImage 需要一次性管理员许可:安装到管理员拥有的固定路径 /opt/cf-compass/CF-Compass.AppImage,再为该精确路径加载 AppArmor 配置。按 Linux 安装与沙箱说明 操作;应用运行时仍使用普通用户身份。应用不会自动添加关闭 Chromium 沙箱的参数,也不要求全局关闭系统的用户命名空间限制。
4.2.2 候选包已通过 Ubuntu 22.04 AppImage 双模式启动、Ubuntu 24.04 的 .deb 安装启动及上述授权后的 AppImage 双模式启动。受限主机仍保持全局限制,实际渲染进程的 seccomp、禁止提权及独立用户命名空间检查均通过。这不是未经配置的 Ubuntu 24.04 开箱即用或所有发行版兼容承诺;详细证据见 验收记录 和 候选包完整测试。正式标签包还会重新构建,并在公开下载前通过安装与下载校验。
从旧版升级
v4.2.1 AppImage 未嵌入更新信息,因此需要先从 GitHub Release 手动下载一次 v4.2.2。此后,外部 AppImageUpdate 等工具才可依据新包中的元数据查找后续稳定版本。
后续跨版本更新需要未来稳定版本及其匹配 .zsync 实际发布。当前的元数据校验和完整本地种子重构只能验证打包链路,不能证明一次尚未发生的公开跨版本升级。.zsync 是更新工具使用的数据,不是安装包,也无需手动运行。
使用 Ubuntu 24.04 固定路径安装方式时,先在用户可写目录更新副本,再由管理员安装到固定路径;不要以 root 身份运行更新工具的图形界面。.deb 用户下载新版包后通过系统包管理器覆盖升级。已有用户数据和本地素材配置继续沿用;建议先从数据中心导出重要数据。
下载与完整性验证
附件为六个平台安装包及一个 AppImage 更新 sidecar:
| 平台 | 文件 |
|---|---|
| Windows x64 安装版 | CF-Compass-4.2.2-Windows-x64-Setup.exe |
| Windows x64 便携版 | CF-Compass-4.2.2-Windows-x64-portable.exe |
| Linux x64 AppImage | CF-Compass-4.2.2-x86_64.AppImage |
| AppImage 更新数据 | CF-Compass-4.2.2-x86_64.AppImage.zsync |
| Linux Debian x64 | CF-Compass-4.2.2-Linux-amd64.deb |
| macOS Intel | CF-Compass-4.2.2-macOS-x64.dmg |
| macOS Apple Silicon | CF-Compass-4.2.2-macOS-arm64.dmg |
不发布任何 .sha256 或 SHA256SUMS.txt 附件。CI 内部保留摘要校验和重新下载验证;需要自行核对下载时,可比较本机 SHA-256 与 GitHub Release 资产显示的摘要。Windows 包未购买商业代码签名证书;macOS 包使用 ad-hoc 签名,未经 Apple 公证。
English summary
- Uses a static type-2 AppImage runtime with zstd SquashFS and the filename
CF-Compass-4.2.2-x86_64.AppImage; the Debian filename retainsLinux. - Adds standard update metadata and a matching
.AppImage.zsyncfor external tools such as AppImageUpdate. There is no in-app automatic updater. - Keeps the offline demo workbench explicit about its identity and data sources, and adds AppStream metadata with an immutable screenshot URL.
- Users of the v4.2.1 AppImage must manually download v4.2.2 once. A real cross-version update requires a future stable release and has not yet been established by metadata or local reconstruction checks.
- Ubuntu / Debian users should prefer
.deb. Restricted Ubuntu 24.04 AppImage use requires a one-time administrator-approved installation at/opt/cf-compass/CF-Compass.AppImagewith an exact-path AppArmor profile. Run the app as an ordinary user; update a copy in a writable directory before administrator installation. Do not run updater GUIs as root. - Preserves the Chromium sandbox and does not disable user-namespace restrictions globally. This is not a claim of universal Linux compatibility or unconfigured Ubuntu 24.04 support.
- Publishes no
.sha256orSHA256SUMS.txtattachments; package verification remains internal to CI. The candidate passed Windows/macOS builds and both documented Ubuntu configurations. Tagged packages are rebuilt and must pass installation and download verification before the Release becomes public.
CF Compass v4.2.1
CF Compass v4.2.1
正式参赛 + 虚拟参赛,统一估计 Rating
- 个人评分显示简化为「真实模式」和「综合估计模式」。旧版虚拟专用模式设置会迁移到综合估计模式,不沿用旧的虚拟专用评分结果。
- 综合估计将正式参赛与虚拟参赛按参加时间排入同一条评分记录,使用上一场的估计 Rating 继续计算,而不是简单叠加官方涨跌分。
- 对支持的近期普通比赛,即使官方 Rating changes 尚未公布,也可利用最终榜单和参赛者公开 Rating 快照进行临时估算;不依赖比赛题目先获得难度评级。
- 启用综合估计时,后台发现比赛记录并在已知虚拟赛结束后自动尝试计算,完成后更新界面和今日训练,无需反复手动刷新。
- 官方评级公布后会替换对应临时依据并重算评分链,避免同一场重复计分。暂缺依据或部分参赛者缺失时会显示状态并重试。
推荐与体验
- 今日训练支持使用综合估计分;自动模式跟随个人评分显示选择,手动指定的训练参考分始终优先。
- 修复无历史评级时的估计异常,增加账号切换、缓存、失败重试及旧设置迁移回归。
- 统一正式与虚拟参赛的赛事复盘布局,并恢复 README 功能图集。
使用方式与边界
在个人评分切换器选择综合估计模式,或在今日训练偏好中选择综合估计参考分。默认仍保留真实模式;官方 Rating 和原始个人数据不会被估计结果覆盖。
这是训练参考估计,不是官方 Rating 预测承诺。未结算比赛的快照估计目前限定为最近 7 天内、榜单已结束且未冻结的受支持普通 Codeforces / Educational / Global Round;特殊赛制、缺失成绩或尚未结束的比赛可能需要等待。参赛资格、赛前历史 Rating、新用户规则及公开榜单覆盖不足都会影响精度。界面会提示临时估计和缺失依据。
“赛后自动”表示在应用运行、相关模式启用且 API 数据可用时自动尝试;实际更新时间受 Codeforces 数据公布、网络和限流影响,不保证瞬时完成。无需 AI API 或付费服务。
下载与数据
提供 Windows 安装版 / 便携版、Linux AppImage / deb、macOS Intel / Apple Silicon DMG。需要校验下载时,可将本机计算的 SHA-256 与 GitHub 在 Release 资产下显示的摘要比较。macOS 包采用临时签名,并非 Apple 公证版本。
升级保留用户数据与本地素材配置;安装包不包含测试账号数据或个人素材。重要本地数据仍建议在升级前备份。
English summary
- Adds an opt-in combined rating ledger for chronological official and virtual participation, including provisional estimates for supported recent finished but unrated rounds.
- Automatically retries pending evidence, updates training recommendations after completion, and rebuilds the ledger when official rating evidence becomes available.
- Keeps official data unchanged and manual training ratings authoritative; migrates the retired virtual-only display mode.
- Unifies official/virtual contest replay presentation and restores the README gallery.
- Estimates are training references, not official-rating guarantees. Current-rating snapshots, incomplete fields, eligibility and newcomer rules may limit accuracy. API availability and rate limits affect update timing.
CF Compass v4.2.0
CF Compass v4.2.0
本次更新让「只打虚拟赛」与「自行设定训练水平」都能进入日常训练闭环,同时保留独立的官方数据。
双 Rating 与训练偏好(Issue #31)
- 默认官方模式。在主页个人进度的 Rating 选项中切换本地估算模式;选择按账号保存。
- 有官方历史 Rated 对照数据的虚拟场次自动按时间累计估分;缺失数据明确标记并可重试。展开估分详情可查看账本。
- 估算模式同步影响相关训练难度、复习、赛事推荐、Rating 颜色与分析曲线,不覆盖官方缓存、实际 AC 数或真实比赛成绩。
- 今日训练新增手动参考 Rating(800–3500)、弱项标签,并集中管理复习数量、难度范围及各档题量。手动参考分在官方模式下生效。
估算边界
这不是 Codeforces 官方 Rating,也不是正式赛与虚拟赛混合生涯。轨迹从第一场可计算虚拟赛之前的官方分开始,无历史分时采用模拟起点 1400;后续正式赛不重置这条轨迹。重复比赛和赛前做过题的场次仍计入并提示,不只保留正向涨分。同步提交中不可见的无提交参赛无法发现。缺失场次使结果保持暂定,历史新账号处理为近似,不承诺预测精度。
界面
- 训练设置集中,估分明细默认折叠,减少重复信息。
- 修复窄进度卡片文字截断,扩展训练布局,Rating 颜色跟随分数。
- 活跃用户排名前 500 显示直接排名,其余显示百分比与名次。
- 沉浸大厅保留标题栏、拖动区域和窗口按钮。
下载与验证
升级前建议导出备份。提供 Windows x64 Setup / portable、Linux x64 AppImage / deb、macOS Intel / Apple Silicon dmg,以及逐包 SHA-256 和总清单。Windows 日常使用建议 Setup。
发布流程要求逻辑回归、Windows 打包后界面检查、Linux/macOS 原生构建与启动检查、下载校验及 Windows 安装/便携冷启动通过后才公开 Release。估分测试使用合成历史数据验证实现,不是现实预测精度评估。
核心训练和估算无需 AI;个人数据留在本机,公开接口用于同步。安装包不含个人资料、密钥或第三方壁纸。macOS 使用 ad-hoc 签名,未经过 Apple Developer ID 公证。
English summary
Official Rating remains the default. An optional local estimate accumulates eligible virtual sessions with historical Rated evidence and feeds training targets, related recommendations, colors and analytics without changing official records. Daily Training now groups manual reference Rating, weak tags, review bounds and problem counts. Immersive mode keeps the titlebar visible; narrow cards and training layouts are improved.
Estimates form a separate virtual-only trajectory, not official Rating. Repeated contests and prior exposure contribute with warnings; missing evidence stays explicit, and sessions without visible submissions cannot be discovered. Back up before upgrading. Packages are gated by native builds, tests, checksums and Windows installation/cold-start verification.
CF Compass v4.1.2
CF Compass v4.1.2
完整正式安装包,包含 v4.1.1 的功能,本次重点修复赛事复盘保存与推荐题单,并完善标题栏。
赛事复盘与推荐题单(Issue #27)
- 修复增强复盘保存时丢失源码时间线和 Diff 展示数据的问题;重新打开或重启后复用已保存报告,不再因为缺少旧版明细自动请求 AI。
- 保存真正成功后才显示已保存;切换场次、关闭窗口或重新请求时,过期结果不会覆盖当前场次。
- 旧版已经丢失的源码明细无法从报告正文恢复,但正文仍可查看;需要明细时可手动重新分析。
- 从已同步题库按题号补齐比赛题目缺失的 Rating 和标签,提高相似题筛选的可靠性;不改变排序权重,不编造缺失数据。
- 分别解释未同步题库、题目元数据不足和没有合适未做题三种情况;本地题库指“题库工作台 → 同步数据”,不是本地模板文件夹。
- 未知时间不再显示为零秒,Diff 保留缩进与上下文空格,过长内容明确标记截断。
顶部标题栏与外观
- 顶部使用铺满窗口的单一实色色块,消除叠层黑条和露底;默认跟随天空蓝、薄荷绿、珊瑚粉主题。
- 外观设置支持独立调节标题栏颜色,浅色背景自动使用深色文字;支持预览、取消、保存和恢复跟随主题。
- 标题栏独立于内容面板透明度;沉浸大厅时隐藏并禁用隐藏窗口控件,退出后恢复。
- 补齐部分英文界面和无模板时的提示。
验证与使用说明
发布前执行逻辑测试与真实 Electron 界面回归,覆盖保存/重启、延迟响应、保存失败、虚拟赛、补题、布局、主题、素材和小字可读性;发布流程另验证 Windows、Linux、macOS Intel/Apple Silicon 原生包与 SHA-256,并重新下载验证 Windows 安装/冷启动。
AI 回归使用模拟服务,未调用付费 AI;不同服务商及反馈者原始数据仍可能存在未覆盖情况。如仍能复现,请补充步骤与脱敏错误信息,不要上传 API 密钥。
包含 Windows x64 Setup/portable、Linux x64 AppImage/deb、macOS x64/arm64 dmg、单包 SHA-256 和总清单。Windows 日常使用推荐 Setup,升级前建议导出备份。安装包不包含第三方壁纸、个人素材、用户数据或 API 密钥。
macOS 使用 ad-hoc 签名,不是 Apple Developer ID 公证;首次运行可能需要在系统隐私与安全设置中确认。
CF Compass v4.1.1
CF Compass v4.1.1
完整正式版本,包含 4.1.0 功能以及以下修复和外观返工;不是增量补丁文件。
复盘与 Codeforces 接口兼容
- 普通比赛榜单统一使用匿名 GET,且只带比赛编号,修复虚拟参赛复盘、赛事中心详情的 HTTP 400 错误。
- 升级后允许旧参数错误的记录重新尝试;明确的客户端错误不再无效重试,请求具备超时边界。
- 虚拟赛专注复盘和补题:展开场次即可查看题目、打开原题、加入补题队列;本场提交和场内 AC 与赛后补题分别统计。
- 虚拟赛本场估计分:点击计算时读取完整本场提交,校验原比赛计分模型,将重建成绩插入当前可见的原比赛 Rated 选手榜单后计算 Carrot 参考分。参考位次不是官方虚拟排名,不进入正式 Rating 或总体统计。离线保留已有结果;特殊计分、未完成判题、无法还原的 CF 重复提交等情况明确拒绝估分,不影响题目打开与补题。
- 当前公开榜单与历史 Rating 记录可能不完全对应;只采用可匹配选手,并显示匹配人数及缺失提示,不将缺失选手编造为零分。因此本场估计分不是完整历史榜单的精确复算。
- 顶部标题栏整理:背景铺满到窗口顶部,不再保留 34 像素的露底空隙;按反馈保留整条统一的半透明深色标题栏,去除多余阴影和装饰条,保留拖动、窗口控制和内收的键盘焦点提示。标题栏独立于内容面板透明度,保证窗口操作清晰。
- 标题栏跟随三套主题色;进入沉浸大厅时隐去并禁用隐藏窗口按钮与拖动区域,退出后恢复,保留 Esc 与返回终端入口。
- 有完整本地比赛缓存时直接使用;缺少缓存时按公开接口获取题目。切换场次时各场独立加载,不再因另一场正在加载而跳过当前场次。
官方规则:contest.standings。
共享大厅与三套主题
- 面板透明度方向与名称一致:0% 不透明,100% 去掉面板底色与磨砂,文字和按钮仍可操作。
- 统一主界面各页的面板、内层表格和固定渐变;独立调节磨砂、阴影和背景遮罩。
- 平衡、专注和展示预设,数字输入、单项重置,以及保存自己的方案。
- 实时预览不混入其他数据保存:完成才保存,取消、关闭和 Esc 撤回试调。导入/删除素材仍属于独立的明确操作。
- 天空蓝、薄荷绿、珊瑚粉统一按钮、选中态和轻微面板染色;AC、错误、Codeforces Rating 颜色保持语义。
- 移除多余的“显示面板”入口和重复的“算法分类 / 题目列表 / 个人进度”标题行。保留原有标题,移动和展开收为角落图标,边角缩放、键盘微调、布局记忆和智能复位仍可用。
完整安装包与数据
包含 Windows x64 Setup 安装版与 portable 便携版、Linux x64 AppImage 与 deb、macOS Intel 与 Apple Silicon dmg,以及各包 SHA-256 和总校验清单。
Windows 日常使用推荐 Setup。升级前建议导出备份。安装包不含第三方壁纸或用户素材,也不携带用户数据/API 密钥。
macOS 为 ad-hoc 签名,不是 Apple Developer ID 公证,首次打开可能仍需在“隐私与安全性”中确认。
全透明展示不保证任意亮色背景上的文字对比度;持续阅读建议使用平衡或专注预设。真实素材在独立本地副本中测试,不进入发布包。
CF Compass v4.1.0
CF Compass v4.1.0
虚拟赛与补题
- 支持虚拟参赛复盘,以比赛 ID 和本次虚拟赛开始时间隔离场次,避免多次练习混在一起。
- 展示本场参考表现分,标明为非官方估算;不计入正式 Rating、总体表现和正式排名统计。资料不足或不支持的赛制明确提示,不伪造结果。
- 修复未参加的比赛加入补题后列表为空的问题。补题队列保存题目快照,离线和重启后仍可查看。
- 保存采用原子替换;失败时保留原文件,避免半写入数据。
更跟手的桌面工作台
- 题库三个面板可自由拖动、八方向调整大小、单框展开和还原,布局自动记忆;智能复位同时恢复位置与尺寸。
- 拖动按刷新帧合并处理,位置更新不添加滞后动画;搜索输入优先响应。
- 优化 Rating 历史图范围拖动,减少重复布局读取;模板卡片每批显示 60 项,搜索仍覆盖完整模板库。
- 统一短反馈与页面过渡,尊重系统及应用的减少动态效果设置;修复窗口缩放和焦点导致外壳意外偏移。
- 普通说明文字可读性优化;导入素材的分类仅保留“全部”,不删除素材或收藏。
下载与数据
提供 Windows x64 安装版/便携版、Linux x64 AppImage/deb、macOS Intel/Apple Silicon dmg,以及 SHA-256 校验文件。
Windows 日常使用推荐安装版:便携版每次启动都需要解压。升级前建议在数据中心导出备份。安装包不包含第三方壁纸、角色图片及用户本地素材。
macOS 使用 ad-hoc 签名,不是 Apple Developer ID 公证,首次打开可能需要在“隐私与安全性”中确认。
验证边界
本版增加场次隔离、虚拟参考分、自由布局、指针帧调度、模板分批展示和素材分类的回归检查。性能测试使用构造数据,减少重复工作的测量不等同于所有设备的固定帧率承诺。