# Nekoloc更新日志

**URL:** <https://www.nodeloc.com/t/topic/106903>\
**Category:** Nekoloc\
**Created:** [2026 年9 月 5 日 14:21 UTC](https://www.nodeloc.com/t/topic/106903 "2026-09-05T14:21:59Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

作者： ![user94](https://www.nodeloc.com/user_avatar/www.nodeloc.com/user94/32/62905_2.png) [@user94](https://www.nodeloc.com/u/user94)\
发布日期： [2026 年9 月 5 日 14:21 UTC](https://www.nodeloc.com/t/topic/106903/1 "2026-09-05T14:21:59Z")

</div>

# 更新日志（Changelog）

Nekoloc（前身 NodeLoc APP）—— [NodeLoc](https://www.nodeloc.com) 第三方开源猫咪主题客户端的全部版本变更记录。

各版本安装包与详细说明见 [Releases](https://github.com/hekuo5310/Nekoloc/releases)。

* * *

## [v1.3.7] — 2026-10-05 · Google Play 更新渠道

### 新功能：按安装来源选择更新方式

- **Google Play 更新** ：从 Play 商店安装的 Android 客户端，点击“检查更新”打开对应商店页面，由 Play 提供公开测试或正式版更新
- **来源识别** ：读取 Android 的安装来源；Play 安装版本停止检查 GitHub Release，避免提示下载不同签名的 APK
- **其他渠道** ：从 GitHub 下载的 APK 及桌面端继续使用原有 GitHub 更新方式

### 内部改进

- 新增 Android 原生安装来源桥接，兼容 Android 11 前后的安装来源接口
- Play 专用构建增加渠道标记，在系统无法提供安装来源时保留 Play 更新渠道
- 增加更新来源、桌面端隔离及 Play 下载跳转回归测试，版本号更新为 1.3.7

**详细对比** ：[v1.3.6…v1.3.7](https://github.com/hekuo5310/Nekoloc/compare/v1.3.6...v1.3.7)

* * *

## [v1.3.6] — 2026-09-30 · Android 软件包名称调整

### 新功能：使用 Zerexa 域名对应的包名

- **Android 包名** ：软件包名称调整为 `net.zerexa.nekoloc`，适用于 APK 安装及 Google Play 的 AAB 上传
- **安装身份** ：新包名会被 Android 识别为另一个应用；旧包名版本的登录状态、本机设置和草稿不会自动迁移

### 内部改进

- 平台生成后统一配置 Android `applicationId`，明确启动 Activity 的完整类名
- 包名配置失败时终止构建，避免静默产出旧包名的安装包
- CI 检查通用及三种架构 APK 的实际包名，版本号更新为 1.3.6

**详细对比** ：[v1.3.5…v1.3.6](https://github.com/hekuo5310/Nekoloc/compare/v1.3.5...v1.3.6)

* * *

## [v1.3.5] — 2026-09-30 · 投票与写作工具

### 新功能：帖子投票与编辑体验

继续参考 NodeLoc 官方 Android / iOS 客户端，补齐投票、写作、搜索和收藏的日常操作。

- **帖子内投票** ：支持 Discourse 单选 / 多选投票、修改选择与取消投票；多选遵守服务器的最少 / 最多选择数，已结束的投票只读；结果票数按服务端权限显示
- **插入投票** ：编辑器新增投票工具，每行一个选项，可选择单选或多选；自动生成独立名称，方便一篇帖子插入多个投票
- **Markdown 工具栏** ：支持粗体、斜体、删除线、标题、引用、列表、代码块和链接；对选中文字应用格式，保留周围内容
- **编辑预览** ：可在正文编辑和本机 Markdown 预览之间切换；投票等站点插件的最终效果以发布后为准
- **搜索筛选与分页** ：按标题、作者、标签筛选，选择相关程度 / 最新发布 / 最多点赞排序；支持继续加载、失败重试和重复结果去重
- **逐楼收藏** ：每层楼的“更多”菜单可收藏 / 取消收藏；我的收藏支持分页、直接取消收藏和下拉刷新；收藏及搜索结果可直接打开目标楼层，包含首批列表之外的回复

### 内部改进

- 投票复用官方 `PUT /polls/vote` 和 `DELETE /polls/vote` 接口；保留命名投票与当前用户选择，缺失票数时不伪造结果
- 修复收藏编号丢失和取消收藏误匹配其他楼层的问题，优先查找准确楼层记录并清除已删除编号
- 修复加载更多楼层和表情响应覆盖刚完成的互动状态；编辑器上传返回后检查页面是否仍存在，上传期间禁用发送
- 增加投票解析 / 权限 / 多选限制、Markdown 选区、投票区块生成、搜索分页、收藏定位和 HTTP 参数编码测试
- 新增 `markdown` 依赖，版本号更新为 1.3.5

**详细对比** ：[v1.3.4…v1.3.5](https://github.com/hekuo5310/Nekoloc/compare/v1.3.4...v1.3.5)

* * *

## [v1.3.4] — 2026-09-29 · 官方客户端互动功能

### 新功能：对齐官方客户端的日常操作

参考 NodeLoc 官方 Android / iOS 客户端，补充话题互动、用户资料与编辑体验。

- **帖子举报** ：每层楼的“更多”菜单新增举报入口；理由和顺序读取 NodeLoc 站点配置，按站点要求填写补充说明，提交结果直接反馈
- **标签浏览** ：话题标题下展示站点标签，点击后进入对应话题列表，支持下拉刷新和分页
- **帖子投票** ：站点启用 `discourse-vote` 的帖子显示分数和赞成 / 反对按钮；点击已选方向可撤回，反对权限由服务端决定
- **用户资料与关注** ：点击楼层作者查看公开资料、已发布话题；可关注 / 取消关注、发起私信，允许时可忽略或取消忽略用户
- **编辑草稿** ：新话题、回复及私信的标题、正文等内容自动保存在本机；重新打开编辑器恢复，发送成功后清除

### 内部改进

- 举报调用 Discourse 的 `POST /post_actions`，标签列表复用 `GET /tag/{slug}.json` 与现有话题卡片
- 关注、忽略和投票使用官方客户端相同的站点端点；用户资料的权限和状态读取服务端字段
- 增加举报理由、标签、资料及投票字段的解析测试；发布工作流在全部测试和构建通过后创建标签，并从本文件提取版本日志作为 Release 正文
- 版本号更新为 1.3.4

**详细对比** ：[v1.3.3…v1.3.4](https://github.com/hekuo5310/Nekoloc/compare/v1.3.3...v1.3.4)

* * *

## [v1.3.3] — 2026-09-26 · 日常使用与可靠性

### 新功能：帖子编辑与话题通知

日常发帖、阅读和管理话题的操作进一步贴近 Discourse 网页版。

- **编辑帖子** ：对服务端允许修改的帖子提供编辑入口，读取原始 Markdown 并保留缩进、换行等格式
- **话题通知** ：可将话题设为关注 / 追踪 / 普通 / 静音，与 Discourse 通知级别同步
- **站内阅读** ：普通话题链接在客户端打开；指向具体楼层的链接继续交给浏览器定位

### 修复与体验改进

- **授权写入** ：修复浏览器授权登录后发帖、互动及图片上传受 CSRF 校验阻挡的问题
- **楼层与收藏** ：修复空话题及楼层加载异常；取消收藏时准确匹配对应帖子，避免影响同话题的其他收藏
- **搜索与显示** ：处理搜索请求竞态，并修正分类颜色解析
- **登录与报错** ：修复 CSRF 失效导致的登录递归，改进接口错误信息展示；更新检查改用当前仓库地址

### 内部改进

- 增加帖子编辑、话题链接及收藏记录相关回归测试
- Android、iOS、macOS、Windows、Linux 构建通过；版本号更新为 1.3.3

**详细对比** ：[v1.3.2…v1.3.3](https://github.com/hekuo5310/Nekoloc/compare/v1.3.2...v1.3.3)

* * *

## [v1.3.2] — 2026-09-05 · 发帖设备信息

### 📱 新功能：发帖显示设备信息（对齐官方 APP）

移动端发帖 / 回复时，帖子下方显示设备徽章（如「Pixel 8 Pro」），与 NodeLoc 官方 APP 的 `mobile_source` 功能一致。

- **等级开关** ：设置页新增四档开关 —— 关闭 / 仅平台 / 品牌 / 完整型号（默认完整型号），并实时预览当前设备将显示的徽章文本
- **Android** ：按官方逻辑识别子品牌（iQOO / Redmi / POCO / realme / HONOR / Nothing），未命中子品牌时显示厂商名（Build.MANUFACTURER）
- **iOS** ：硬件标识（utsname.machine）自动转换为友好型号名，如 `iPhone16,2` → 「iPhone 15 Pro Max」；未收录的新机型回退为泛称
- **隐私边界** ：桌面端（Windows / macOS / Linux）与 Web 不发送任何设备信息；私信不携带设备信息，仅公开帖与回复生效

### 🔧 内部改进

- 新增 `device_info_plus` 依赖（读取设备品牌 / 型号）
- 发帖（`createTopic`）与回复（`createReply`）请求体自动合并 `mobile_source_*` 字段
- 设置项持久化（SharedPreferences `post_source_level`），升级保留用户选择
- 单元测试覆盖等级语义 / 子品牌识别 / iOS 型号映射（12 用例）

**详细对比** ：[v1.3.1…v1.3.2](https://github.com/hekuo5310/Nekoloc/compare/v1.3.1...v1.3.2)

* * *

## [v1.3.1] — 2026-08-31 · 品牌打磨

### 🎨 新图标

- 应用图标更换为新设计稿：黑底猫面字标（双行 neko/loc 排版 + 猫耳 + 胡须 + 翘尾），全平台同步

### 🐛 修复

- **Windows 顶栏透明** ：无边框窗口下自绘标题栏缺少背景色导致透出桌面，现填充主题色并加底部分隔线
- 原生窗口背景改为暖黑色（#12100D），启动不再闪白
- 补齐 v1.3.0 遗漏的品牌改名：窗口标题、标题栏文字、登录授权页标题、User-Agent、授权应用名、个人页版本行、Android 更新包名 —— 全部统一为 Nekoloc

> 仓库已更名为 hekuo5310/Nekoloc，旧地址自动重定向，无需更换书签。

**详细对比** ：[v1.3.0…v1.3.1](https://github.com/hekuo5310/Nekoloc/compare/v1.3.0...v1.3.1)

* * *

## [v1.3.0] — 2026-08-29 · Nekoloc 品牌重塑

本客户端正式更名为 **Nekoloc** （neko 猫 + loc NodeLoc）—— 一只爱逛 NodeLoc 的第三方猫咪客户端，与 NodeLoc 官方无关。

### 🎨 品牌设计（猫元素全面融入）

- **新字标** ：neko（绿）+ loc（橙），顶部两只猫耳，结尾一条甩出的 S 形猫尾
- **新应用图标** ：绿橙渐变底 + 白色猫耳字标（各平台启动器名称同步改为 Nekoloc）
- **新加载动画** ：猫耳先立起 → “nekoloc” 逐笔写出 → 猫尾甩出（3.5s 循环），全局加载态焕新
- **猫爪空态** ：所有「空空如也」页面换上猫爪图标
- **彩蛋** ：设置页「关于」标题连点 5 次，有惊喜 🐾

### ✨ 体验与新功能

- **开屏动画完整播放** ：启动页第一次加载会完整播完一轮品牌动画再进入应用
- **全屏图片查看器** ：帖子图片点击全屏查看，双指缩放、双击放大、多图左右切换、页码指示

### 🔧 其他

- 应用 User-Agent 更新为 `Nekoloc/x.y.z`；更新检查、设置页关于信息同步 Nekoloc 品牌与第三方免责声明
- 安装包文件名改为 `Nekoloc-*`（Android）；修复模板测试为真实冒烟测试

**详细对比** ：[v1.2.1…v1.3.0](https://github.com/hekuo5310/Nekoloc/compare/v1.2.1...v1.3.0)

* * *

## [v1.2.1] — 2026-08-29 · 品牌加载动画

### 品牌加载动画

- 全新「nodeloc」字标加载动画：绿橙双色字母逐笔写出 → 悬停 → 淡出，3.5 秒循环
- 取代全部整页加载占位（9 个屏幕）、启动页与列表「加载更多」状态
- 按钮内的忙碌小菊花保留（尺寸语义更适合）

### 内部改进

- 修复全部静态分析告警（flutter analyze 0 issue）
- 版本号 1.2.0 → 1.2.1

**详细对比** ：[v1.2.0…v1.2.1](https://github.com/hekuo5310/Nekoloc/compare/v1.2.0...v1.2.1)

* * *

## [v1.2.0] — 2026-08-24 · 表情反应 + 自动更新检查

### 🎭 表情反应（discourse-reactions 插件）

- 话题详情支持 5 种表情：红心 / 赞同 / 哈哈 / 惊讶 / 庆祝
- 单击点赞按钮 = 快速红心；长按或点小箭头 = 打开 5 表情选择器
- 端点逆向自站点前端 JS：`PUT /discourse-reactions/posts/{id}/custom-reactions/{emoji}/toggle.json`

### 🔄 自动更新检查

- 启动后台查询 GitHub Releases 最新版本并比较版本号
- 首页顶部新版本横幅 + 更新说明对话框；设置页「检查更新」一键手动检查
- 下载按钮直达对应平台安装包（Android = universal APK，Windows/macOS/Linux = 对应压缩包，iOS = Release 页）

### 内部改进

- 版本号 1.1.0 → 1.2.0

**详细对比** ：[v1.1.0…v1.2.0](https://github.com/hekuo5310/Nekoloc/compare/v1.1.0...v1.2.0)

* * *

## [v1.1.0] — 2026-08-23 · Roadmap 全部功能

### ✨ 新功能

- **浏览器授权登录（User API Key 流程）** ：RSA-2048 + PKCS1v15，内置 webview 打开授权页并拦截 `discourse://` 回调；支持第三方 OAuth（LinuxDo Connect 等）、邮箱登录链接、2FA 等站点提供的全部登录方式
- **私信** ：会话列表 / 多收件人新建 / 回复（`target_usernames[]` 数组格式）
- **图片上传** ：编辑器选择本地图片上传（`/uploads.json`），自动以 Markdown 插入正文
- **收藏** ：新版 `bookmarkable_id` / `type=Post` API，话题内一键收藏 / 取消
- **阅读进度同步** ：离开话题时静默上报阅读时间（`/topics/timings`），与网页版共享已读状态
- **桌面端自定义标题栏** ：window\_manager；Windows 无边框 + 自绘按钮，macOS 隐藏原生标题栏

### 🔧 变更

- 站点固定为 [www.nodeloc.com](http://www.nodeloc.com)，移除多站点切换
- 许可证 MIT → **MPL-2.0**
- CI：Linux 增加 webkit2gtk 依赖；macOS 沙盒增加文件选择权限

* * *

## [v1.0.x] — 2026-08-23 · 首个版本（初始开发期）

> 首个可用版本，尚未发布正式 Release（正式发版自 v1.1.0 起）。

### ✨ 核心功能

- Flutter 单代码库覆盖 **Android / iOS / Windows / macOS / Linux** 五平台
- Discourse 用户级 API：账号密码登录（支持 2FA 动态口令，CSRF / Cookie 会话管理）
- 话题流（最新 / 热门 / 新帖 / 未读）、分类浏览、话题详情（HTML 富文本渲染）、发帖 / 回复、点赞、通知中心、搜索、个人中心
- NodeLoc 官方品牌配色（暖黑 + 松石绿 + 橘橙），深浅双主题

### 🐛 发布前关键修复

- 点赞端点修正为 `POST /post_actions`（PUT 返回 404）
- 分类支持子分类展平；发帖分类选择器只列子分类（顶级分类为容器不可发帖）
- 已用真实账号全流程验证：登录 / 浏览 / 发帖 / 回复 / 点赞 / 通知 / 搜索

### 🔧 基础设施

- GitHub Actions 五平台自动编译工作流 + tag 自动发版（含 macOS ditto 打包、Windows 控制台 UTF-8、绝对路径打包等一系列构建修复）

* * *

## 版本时间线总览

| 版本 | 日期 | 主题 |
| --- | --- | --- |
| v1.0.x | 2026-08-23 | 首个五平台版本（未发正式 Release） |
| v1.1.0 | 2026-08-23 | Roadmap 全部功能：授权登录 / 私信 / 上传 / 收藏 / 进度同步 |
| v1.2.0 | 2026-08-24 | 表情反应 + 自动更新检查 |
| v1.2.1 | 2026-08-29 | 品牌加载动画 |
| v1.3.0 | 2026-08-29 | 品牌重塑 Nekoloc（猫主题 + 图片查看器） |
| v1.3.1 | 2026-08-31 | 新 1:1 猫面图标 + Windows 顶栏修复 |
| v1.3.2 | 2026-09-05 | 发帖设备信息（对齐官方 APP） |
| v1.3.3 | 2026-09-26 | 帖子编辑与话题通知、日常使用修复 |
| v1.3.4 | 2026-09-29 | 举报、标签、投票、用户关注与草稿 |

---

<div class="post-metadata">

作者： ![James](https://www.nodeloc.com/user_avatar/www.nodeloc.com/james/32/1745_2.png) [@James](https://www.nodeloc.com/u/James)\
发布日期： [2026 年9 月 5 日 14:23 UTC](https://www.nodeloc.com/t/topic/106903/2 "2026-09-05T14:23:17Z")

</div>

更新了这么多。

---

<div class="post-metadata">

作者： ![user94](https://www.nodeloc.com/user_avatar/www.nodeloc.com/user94/32/62905_2.png) [@user94](https://www.nodeloc.com/u/user94)\
发布日期： [2026 年9 月 5 日 14:23 UTC](https://www.nodeloc.com/t/topic/106903/3 "2026-09-05T14:23:35Z")

</div>

这是从1.0开始的日志
