Skip to content

参考:upstream #462 Bugfixes & Features(有冲突,未合) - #1

Open
bestsort wants to merge 614 commits into
bestsort:developfrom
dyphire:feat
Open

参考:upstream #462 Bugfixes & Features(有冲突,未合)#1
bestsort wants to merge 614 commits into
bestsort:developfrom
dyphire:feat

Conversation

@bestsort

Copy link
Copy Markdown
Owner

从上游 EhPanda-Team/EhPanda#462 搬过来,方便二次开发挑选。

上游状态:mergeable_state=dirty,和 develop 有冲突。体量 614 commits / 789 files / +95k 行,没有直接合

功能清单本身合理(缓存上限、标签建议语法、阅读进度、webtoon 竖滑、收藏色等),但里面还夹了一大堆 .planning/ 现代化文档和 CI 改动,不宜一次性 squash。

建议:从 develop 开始二次开发,需要的点从 dyphire:feat cherry-pick。

chihchy added 30 commits June 29, 2026 10:33
Extract shared fixture-loading scaffolding (TestHelper, HTMLFilename,
TestError) and the HTML/jpg fixtures into a new TestingSupport library
target, kept out of the package's public products via an isTestSupport
flag on Module. Both new test targets depend on it; download tests reach
the fixtures through the public TestFixtures accessor since their own
Bundle.module no longer carries the resources.

Drop dead TestBundleLocator and unused imports from the moved helpers.
Repoint the FeatureTests.xctestplan at the two new targets.
testCancelledProcessCleanupDoesNotClearNewerActiveTask waited for the
paused task's active-slot clear by polling testingActiveGalleryID against
a 1-second wall-clock deadline, which intermittently failed under parallel
test load (executor starvation).

Replace the poll with a cancellation-event handshake: the gate's first
download now parks inside withTaskCancellationHandler and signals
waitForFirstCancellation() the moment pause() cancels it. Actor mutual
exclusion then guarantees the active slot is already cleared before the
next scheduleNextIfNeeded() runs, with no timing dependency. The first
download still stays parked past cancellation so its late cleanup fires
only after the second task is active — preserving the generation-guard
behaviour under test.

Verified: 40 run-tests-until-failure iterations, all green.
chihchy and others added 30 commits July 9, 2026 21:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants