{
  "name": "Novella",
  "identifier": "com.kanscape.novella.source",
  "sourceURL": "https://novella.mocho.org/source.json",
  "website": "https://github.com/Kanscape/Novella",
  "headerURL": "https://media.githubusercontent.com/media/Kanscape/Novella/refs/heads/main/assets/banner.png",
  "apps": [
    {
      "name": "Novella",
      "bundleIdentifier": "sh.celia.novella",
      "developerName": "Kanscape",
      "subtitle": "轻书架第三方客户端",
      "localizedDescription": "A third-party client for novel reading built with Flutter and Rust. Source dynamically updated via Cloudflare Workers.",
      "screenshots": [
        "https://media.githubusercontent.com/media/Kanscape/Novella/refs/heads/main/assets/screenshots_1.PNG",
        "https://media.githubusercontent.com/media/Kanscape/Novella/refs/heads/main/assets/screenshots_2.PNG",
        "https://media.githubusercontent.com/media/Kanscape/Novella/refs/heads/main/assets/screenshots_3.PNG",
        "https://media.githubusercontent.com/media/Kanscape/Novella/refs/heads/main/assets/screenshots_4.PNG",
        "https://media.githubusercontent.com/media/Kanscape/Novella/refs/heads/main/assets/screenshots_5.PNG",
        "https://media.githubusercontent.com/media/Kanscape/Novella/refs/heads/main/assets/screenshots_6.PNG",
        "https://media.githubusercontent.com/media/Kanscape/Novella/refs/heads/main/assets/screenshots_7.PNG",
        "https://media.githubusercontent.com/media/Kanscape/Novella/refs/heads/main/assets/screenshots_8.PNG"
      ],
      "iconURL": "https://media.githubusercontent.com/media/Kanscape/Novella/refs/heads/main/ios/Runner/Assets.xcassets/AppIcon.appiconset/AppIcon%7Eios-marketing.png",
      "tintColor": "#3B82F6",
      "permissions": {
        "background-fetch": {
          "description": "Background fetching for novel updates."
        }
      },
      "versions": [
        {
          "version": "2.1.0",
          "date": "2026-08-21T08:16:21Z",
          "localizedDescription": "<img width=\"800\" alt=\"Banner\"  src=\"https://github.com/user-attachments/assets/bd668bb7-1f66-4562-94ee-64306b583a54\" />\r\n\r\n#\r\n> [!CAUTION]\r\n> 鉴于部分用户长期不通过 GitHub 等正确渠道反馈问题，而是前往与本项目无关的社区发帖，且我没有真机 Android 设备用以测试，导致问题无法有效定位和排查，因此从 v2.1.0 起停止维护 Android 版本。\r\n> 主要两个原因：其一，换到 React Native 后我认为精力有限，不值得再投入；至于第二点，往下看就知道了。\r\n\r\n### 我不止一次强调，这是一款“第三方”客户端，仓库简介清楚写着。\r\n对于我来说，我不使用 Android，但此前仍然尽量修复特定于平台的问题。\r\n但现在衡量后，我认为不值得再付出更多精力，此后只专注于维护 iOS 版本。\r\n前几天有个人来 GitHub 问为什么他的账号登不上去了，我就解释了，可能在社区反馈软件问题被封了。\r\n那有的聪明的同学就要问了：有问题反馈不是很正常吗？\r\n是的，但我补充一些内容：\r\n\r\n1. 每次更新日志末尾，我都会强调“请不要在轻书架的社区反馈软件问题，**到 GitHub 反馈**，或者进**软件群组**反馈”，应用内置社区功能是为了方便讨论 acg 的，这是第一次提示。\r\n\r\n2. 进入应用，切换到社区，社区主页公告明确写着“欢迎在站务板块反馈网站体验问题，**第三方APP问题请前往作者处反馈**”，这是第二次提示。\r\n\r\n3. 准备发帖前，有一个明显的警告，提示“请不要在社区反馈软件问题”，并且要求**点击确认**，这是第三次警告。\r\n\r\n现在呢？三次提示，一路跳过，发帖。\r\n可能看到这里又忘了，所以我再次强调，这个软件是由我的兴趣而开发的，和网站没有直接关系，网站在推荐时，详情页也写了这是第三方客户端。\r\n结果是污染人家的社区，时不时就有人发能不能加某某功能，为什么之类的帖子。\r\n当时我看到这个问题，在v1版本中加入了新注册的用户必须看公告一定时间的特性。\r\n\r\n也就是说，我甚至曾经在 v1 里加过第四道措施：强制新用户阅读公告一段时间。到了 v2，我觉得这么做实在太强硬，才把它去掉。\r\n三次明确提醒已经摆在眼前，结果还是一路点击快进到发帖。\r\n\r\n其实到这里我都还能理解，但最好笑的事情来了：\r\n也就是开头有人来 GitHub 问怎么登不上去了，我解答“可能在社区乱发言号被封了”，随后说明了，可以给站长发邮件询问，我没办法判断帐号状态，他的回复从始至终都没说自己在社区发了什么。\r\n他的回复，从始至终都没说自己在社区发了什么，语气反而给人一种生气且理直气壮的感觉。随后他告诉我“我要换软件了”，行吧，其实你也没必要特别告诉我的。\r\n后面我知道了，他就是因为在社区发软件问题被封的，到这里我就不想回复了。\r\n在社区发的所谓“软件问题”实际上只是他自己找不到那个功能，我随后再次在 GitHub 澄清，这个功能是有的。\r\n结果他发了两遍“为什么不能再注册了”，并问我有没有解决方法，兄弟，你不是要换软件了嘛……\r\n\r\n本以为就这样过去了，直到我第二天在某粉色软件刷到这位兄弟，他的评论直言『这软件不好，神人小团体来的』，并暗示本软件不听建议。\r\n我就纳闷了，每个平台都有每个平台的规矩，况且前面提到了，我是想尽办法来提示你不要乱发帖，你倒是一路跳过，现在还倒打一耙了。\r\n关于“不听建议”，开头也说了：在已经有明确提示的情况下，你不来 GitHub 反馈，却跑去别人的社区发帖。\r\n这不单指你。对于这种没有上下文（设备信息、系统版本、复现过程）的反馈，就算发到了 GitHub，我也得再问一遍，何况还没发对地方。\r\n而你这个情况，纯粹是自己没找到功能，你来GitHub我也告诉你功能在哪里了。\r\n从一开始到你说『换软件』为止，我都和你友好解释，没有人身攻击吧？不守规矩乱发帖的是你，封禁你的也不是我。\r\n这是第三方客户端，一开始是我为了提升我在 iOS 的体验而构建的，后面才支持 Android，而我连 Android 设备都没有，这意味着我一直为自己并不使用的平台额外付出精力。很失望，再加上为了v2版本彻底重构了代码，熬夜两周，我清楚端上来的东西有点问题，自己看到有问题也难受，但有的同学反馈找不对位置，完了还被在评论区拉踩。\r\n不过不能全部归于单一因素，评论区这件事只是催化剂罢了。\r\n\r\n所以要做的就是回归开发初心，**我为我自己开发软件**，因此之后大概率只会有 iOS / iPadOS 版本了，我会尽量适配系统设计，有问题欢迎友好反馈。\r\n至于 Android，基于留存的代码，从结构上仍然有继续维护的可能，不过我不打算维护。\r\n可以选择其他软件，或者暂时使用网页版，同时观望官方 Android 版本推出。\r\n用什么与我无关。\r\n\r\n### 更新内容：\r\n\r\n- 此前部分用户遇到了无法加载的兼容性问题，现在**完全更换了小说阅读器实现**，该问题应该也解决了。\r\n我确实不负责任的发布了更新，这点得承认。\r\n但要说明的是，当时的 v2.0.0，我已经在 iOS 真机 和 Android 模拟器测试了，没有发现该问题，还找了有 Android 真机的同学测试，这个问题不发布压根不知道。\r\n尽管如此，考虑到设备差异，仍然可能存在未覆盖的问题，我为此道歉。\r\n\r\n- 修复了新用户书架为空时，导致详情页载入失败的问题\r\n该问题在老版本处理过，表现为进入页面时提示 “Invalid shelf response”，重构时遗漏了，现已补上。\r\n这里也要说一句：由于那位兄弟不知所谓地到处发评论，该问题也被他统称为“被封号”，实际不是。\r\n\r\n- 改进了书架管理逻辑。\r\n\r\n- 调整了漫画 API 调用。\r\n\r\n在曾经那篇“强制阅读”的公告末尾我写到“能做的就是让花期再久一些”。\r\n现在看来，至少想靠我一个人把所有平台的花期都延长，可能不太现实。\r\n\r\n已经见过很多仓库因为开发者被气走而**停止维护**了，不知道该感慨什么。\r\n至少我还继续维护其中一个平台，更好的 iPadOS 原生适配在下个版本推出。\r\n如果这个版本有问题请反馈到 GitHub，或者从『关于』页面进入反馈群。请不要在软件内置社区反馈软件问题。\r\n累了，后面会专注于个人项目了。\r\n### 👋总之，希望各位都能找到自己想看的书。\r\n\r\n# \r\n\r\n> [!NOTE]\r\n> 更新日志都写好了，本来不想放截图，既然你一直这么关心本软件，回应一下\r\n> 我也没求着你用。是谁说要换软件了，却又跑回来问怎么重新注册的；谁破防了，我不好说。\r\n> 你自己也说了“本质神人，反正免费的东西，不让想你用那就不用了，无所谓”，何况不是我不让你用，实在无法理解你的恶意\r\n> 我又没收你钱，对吧？不维护对于我来说反而省事\r\n> **实际上，好好看书，看完公告，反馈问题找对渠道什么事情都不会有**\r\n> 打码了，欣赏一下素质，连这**是不是官方客户端**都分不清，谁封的，为什么被封也搞不清，**不看公告**，**一路跳过的**赢学大师：\r\n<img width=\"600\" alt=\"Bilibili\" src=\"https://github.com/user-attachments/assets/fe6f544d-fd1f-440a-88f8-a5297415b78e\" />",
          "downloadURL": "https://github.com/celia-sh/Novella/releases/download/v2.1.0/Novella-2.1.0-release.ipa",
          "size": 29896049,
          "minOSVersion": "15.0"
        }
      ]
    }
  ]
}