19956 Commits

Author SHA1 Message Date
DIYgod 66904a9cb5 fix(uestc): follow the current forum API and timestamp contract 2026-10-15 12:36:26 +08:00
DIYgod 1315f1ff49 fix(yilinzazhi): recover blocked article bodies in one browser context 2026-10-15 12:36:26 +08:00
DIYgod cf4382bbf0 fix(openwrt): read firmware releases from the official hardware catalog 2026-10-15 12:36:26 +08:00
DIYgod 0d3c6c091d fix(webnovel): recover blocked ranking pages with the project browser 2026-10-15 12:36:26 +08:00
DIYgod 6066a89296 fix(jable): retry blocked search requests with the project browser 2026-10-15 12:36:26 +08:00
DIYgod fdd809f4d3 fix(instagram): bootstrap CSRF token before checking the session 2026-10-15 12:36:26 +08:00
DIYgod 45628723c8 fix(lastfm): recover public user feeds without an API key 2026-10-15 11:56:42 +08:00
DIYgod 10b3325677 fix(xsijishe): restore authenticated forum feeds with Patchright 2026-10-15 10:50:00 +08:00
pseudoyu d24f513648 fix(route/twitter): reuse the shared proxy dispatcher
The web API helpers built their own ProxyAgent from proxy.proxyUri,
which throws for a socks5h PROXY_URI that the shared dispatcher now
supports, and also dropped the PROXY_AUTH token and TLS options that
the shared dispatcher sets. Compose the cookie agent on top of
proxy.dispatcher instead, so these requests use the same proxy setup
as every other fetch.
v2026.10.15-8430.d24f513
2026-10-15 08:30:17 +08:00
pseudoyu e0b3b98401 fix(core): stop SOCKS proxies other than socks5 from crashing startup
Since #22401 every socks* PROXY_URI is handed to undici's ProxyAgent,
which only accepts socks5: and socks:. A socks5h, socks4 or socks4a
URI fell through to its HTTP proxy path and threw "Invalid URL
protocol" while the proxy module loaded, so the server never started,
even though unify-proxy listed all of them as supported.

Pass socks5h to undici as socks5: its SOCKS5 client sends host names
to the proxy, so DNS still resolves there, as playwright.ts already
assumes. undici has no SOCKS4 support, so drop socks4 and socks4a from
the accepted protocols, which logs the supported list and disables the
proxy like any other unsupported protocol.
2026-10-15 08:29:37 +08:00
pseudoyu 8e8a1769e6 feat(route/p-bandai): add new items
Read the Premium Bandai new item list, which covers the last 10 days,
with each item's image, price and start of sales or reservations. The
page is Shift_JIS and gives no year, so a date ahead of now is taken
from the previous year.

Premium Bandai redirects requests from outside Japan to its
international site, so the route reports a configuration error then and
the docs point to PROXY_URI with PROXY_URL_REGEX. Item pages sit behind
a browser check even from Japan, so full names and delivery dates are
not included.

Closes #4517
v2026.10.15-8429.8e8a176
2026-10-15 08:14:14 +08:00
ZZG97 0bcea1c9e6 fix(route/zhihu): handle empty user pins feeds (#23574) v2026.10.14-8428.0bcea1c 2026-10-15 04:27:48 +08:00
dependabot[bot] 33a606e82a chore(deps): bump imapflow from 2.3.0 to 2.4.0 (#23582)
Bumps [imapflow](https://github.com/postalsys/imapflow) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/postalsys/imapflow/releases)
- [Changelog](https://github.com/postalsys/imapflow/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postalsys/imapflow/compare/v2.3.0...v2.4.0)

---
updated-dependencies:
- dependency-name: imapflow
  dependency-version: 2.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-15 03:34:11 +08:00
dependabot[bot] b37d6c9eb0 chore(deps-dev): bump @cloudflare/workers-types (#23575)
Bumps the cloudflare group with 1 update in the / directory: [@cloudflare/workers-types](https://github.com/cloudflare/workerd).


Updates `@cloudflare/workers-types` from 5.20261009.1 to 5.20261011.1
- [Release notes](https://github.com/cloudflare/workerd/releases)
- [Changelog](https://github.com/cloudflare/workerd/blob/main/RELEASE.md)
- [Commits](https://github.com/cloudflare/workerd/commits)

---
updated-dependencies:
- dependency-name: "@cloudflare/workers-types"
  dependency-version: 5.20261011.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: cloudflare
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-15 03:07:24 +08:00
pseudoyu 8f7d429262 feat(route/ps): add game price
The old product route read Sony's Valkyrie API, which now returns 404,
so PlayStation Store prices had no route since it was removed. Concept
and product pages still embed the store's Apollo cache, with each
edition, its SKUs and the purchase buttons that carry the price.

List every edition for a concept ID, or the one product for a product
ID, priced from the button whose upsell service is NONE, since the
default button can be a PlayStation Plus catalog or trial offer. The
guid includes the base price, the discounted price and the offer end,
so each price change becomes a new item.

Closes #1110
v2026.10.14-8427.8f7d429
2026-10-15 02:53:22 +08:00
pseudoyu afef350fe1 fix(ci): keep fixing until the auto format result passes lint
oxlint applies fixes in a single pass and reports the problems it saw
before fixing, so a fix that creates a new problem still exits 0. In
60dd77d75 the prefer-switch fix left an unbraced `else switch` with
braced cases, the bot committed it, and every later Format run failed
on code it could no longer fix in one pass.

After `npm run format`, repeat oxlint --fix and oxfmt on the changed
files until they stop changing, then lint them without --fix so the
job fails instead of committing what lint rejects. Pushes without
fixes skip the loop. Remove the step once oxlint applies fixes
recursively (oxc-project/oxc#16118).
2026-10-15 02:46:47 +08:00
DIYgod 81d2230cd6 fix(route): retrieve HUBU mobile China News articles 2026-10-15 02:28:10 +08:00
DIYgod f9f8e6e40a fix(hafu): follow the migrated admissions notices 2026-10-15 02:03:06 +08:00
DIYgod 50a82ef8c3 fix(github): fetch latest issue timeline without pagination 2026-10-15 01:45:20 +08:00
DIYgod 5556d17b10 fix(bjeea): retain notices when article pages are unavailable 2026-10-15 01:37:39 +08:00
DIYgod 3aa7383b6e fix(route): parse current Annual Reviews RSS feeds 2026-10-15 01:33:22 +08:00
dependabot[bot] 39855738d0 chore(deps): bump nixpkgs from e7439b6 to 6510408 in the nix group (#23577)
Bumps the nix group with 1 update: [nixpkgs](https://github.com/NixOS/nixpkgs).


Updates `nixpkgs` from `e7439b6` to `6510408`
- [Commits](https://github.com/NixOS/nixpkgs/compare/e7439b6b14ad3cc35d05608ebca9bce01a25f5f8...6510408d147d8c5e6d76043e899e9251756f6a75)

---
updated-dependencies:
- dependency-name: nixpkgs
  dependency-version: 6510408d147d8c5e6d76043e899e9251756f6a75
  dependency-type: direct:production
  dependency-group: nix
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-15 01:16:30 +08:00
DIYgod a9d6b0c716 fix(bakamh): recover public chapter lists with Patchright 2026-10-15 01:14:35 +08:00
DIYgod 2d9468e508 fix(route): preserve source dates in chiculture topics 2026-10-15 01:00:58 +08:00
DIYgod ac9aa49bfb fix(bbcnewslabs): use the migrated official news API 2026-10-15 00:58:31 +08:00
dependabot[bot] fafa10b08e chore(deps-dev): bump msw (#23581)
Bumps the msw group with 1 update in the / directory: [msw](https://github.com/mswjs/msw).


Updates `msw` from 3.0.2 to 3.0.3
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v3.0.2...v3.0.3)

---
updated-dependencies:
- dependency-name: msw
  dependency-version: 3.0.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: msw
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-14 16:53:37 +00:00
dependabot[bot] 84c4a11e0e chore(deps-dev): bump oxlint-tsgolint (#23583)
Bumps the oxc group with 1 update: [oxlint-tsgolint](https://github.com/oxc-project/tsgolint).


Updates `oxlint-tsgolint` from 7.0.2003 to 7.0.2004
- [Release notes](https://github.com/oxc-project/tsgolint/releases)
- [Commits](https://github.com/oxc-project/tsgolint/compare/v7.0.2003...v7.0.2004)

---
updated-dependencies:
- dependency-name: oxlint-tsgolint
  dependency-version: 7.0.2004
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: oxc
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-14 16:50:44 +00:00
dependabot[bot] ec79d479bc chore(deps): bump uuid from 14.0.2 to 14.0.3 (#23578)
Bumps [uuid](https://github.com/uuidjs/uuid) from 14.0.2 to 14.0.3.
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v14.0.2...v14.0.3)

---
updated-dependencies:
- dependency-name: uuid
  dependency-version: 14.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-14 16:50:14 +00:00
dependabot[bot] a0703c9e3a chore(deps-dev): bump tsdown from 0.23.0 to 0.23.1 (#23580)
Bumps [tsdown](https://github.com/rolldown/tsdown) from 0.23.0 to 0.23.1.
- [Release notes](https://github.com/rolldown/tsdown/releases)
- [Commits](https://github.com/rolldown/tsdown/compare/v0.23.0...v0.23.1)

---
updated-dependencies:
- dependency-name: tsdown
  dependency-version: 0.23.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-14 16:49:31 +00:00
dependabot[bot] 545d335cf5 chore(deps): bump zod from 4.6.5 to 4.6.6 (#23579)
Bumps [zod](https://github.com/colinhacks/zod) from 4.6.5 to 4.6.6.
- [Release notes](https://github.com/colinhacks/zod/releases)
- [Commits](https://github.com/colinhacks/zod/compare/v4.6.5...v4.6.6)

---
updated-dependencies:
- dependency-name: zod
  dependency-version: 4.6.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-14 16:48:17 +00:00
dependabot[bot] 139b3a1fdd chore(deps): bump p-map from 7.1.0 to 7.1.1 (#23576)
Bumps [p-map](https://github.com/sindresorhus/p-map) from 7.1.0 to 7.1.1.
- [Release notes](https://github.com/sindresorhus/p-map/releases)
- [Commits](https://github.com/sindresorhus/p-map/compare/v7.1.0...v7.1.1)

---
updated-dependencies:
- dependency-name: p-map
  dependency-version: 7.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-14 16:47:14 +00:00
DIYgod 7b4743caaa fix(uestc): document canonical authorization config 2026-10-15 00:46:33 +08:00
pseudoyu 09594934e2 fix(route/telegram): fall back to the web preview on MTProto flood waits
The MTProto path cached the resolved input entity for the default 5
minutes, so every process that started later or missed the cache called
contacts.ResolveUsername again for each channel. That method is heavily
rate limited, and once the account hit a flood wait the route failed
with "A wait of N seconds is required" even for channels that the public
web preview serves fine.

Keep the channel ID and access hash for 30 days, since they do not
change, and fall back to the web preview when MTProto raises a
FloodWaitError. Other MTProto errors are still reported.

Closes #20454
v2026.10.14-8426.0959493
2026-10-14 23:08:00 +08:00
pseudoyu d7a84ed3c7 feat(route/huggingface): add user posts activity
Read the posts from the recent-activity API, as requested in the review
of #23262. The profile page only server-renders the latest two posts,
while the API returns the user's post activity without authentication.
Keep the social-post entries (the activity also lists comments and
reactions on other posts), render rawContent as Markdown and append the
image and video attachments.

Closes #23059

Co-authored-by: qqc20043 <147302501+qqc20043@users.noreply.github.com>
v2026.10.14-8425.d7a84ed
2026-10-14 22:56:37 +08:00
pseudoyu ca885902e6 feat(route/douban): follow the last page of long group topics
Douban lists replies from oldest to newest, 100 per page, so the route
only ever saw the first 100 replies of a long topic and missed every
new one. When the topic has more than one page, fetch the page that the
paginator's last link points to and use its replies instead. Reply
links now open that page (with author=1 in author-only mode), while the
guid keeps the old format so existing items are not duplicated.

Closes #17743
v2026.10.14-8424.ca88590
2026-10-14 22:45:11 +08:00
pseudoyu 66411e5503 style(route/wordpress): drop the case braces left by the switch autofix
Same autofix as in seu: the prefer-switch fixer left braced cases that
unicorn/switch-case-braces "avoid" rejects. The Format workflow fixed
these in its own checkout but stopped on the seu errors before
committing, so lint without --fix still fails here.
v2026.10.14-8423.66411e5
2026-10-14 21:32:04 +08:00
pseudoyu 9071f933f1 style(route/seu): drop the case braces left by the switch autofix
The Format workflow rewrote the if/else chain into a switch through
unicorn prefer-switch, whose fixer adds braces to every case. The
repo config sets unicorn/switch-case-braces to "avoid", and oxlint
applies fixes in a single pass, so the braces were committed and every
later Format run failed on them without being able to fix them.
2026-10-14 21:31:43 +08:00
pseudoyu 68a110994a fix(radar): link build-routes docs to the route namespace page
The docs site only builds pages for namespace keys, so the category
links written into radar-rules.json/js pointed at missing pages.
0a3a66a1c fixed the API rules; do the same for the build output.

Refs #17785
2026-10-14 20:27:29 +08:00
github-actions[bot] 60dd77d757 style: auto format 2026-10-14 08:17:50 +00:00
DIYgod a9140b8b53 test(worker): verify cache isolation for filtered requests
Filtered requests keep a distinct source candidate cache. Expect the first
unfiltered request to miss that cache, and verify that repeating the same
unfiltered request returns all entries with a cache hit.
v2026.10.14-8422.a9140b8
2026-10-14 16:11:37 +08:00
DIYgod b4ae78140d fix(routes): integrate reviewed fixes with current source APIs
Merge current master while retaining the completed route review and retired
service removals. Keep upstream source migrations and new feed functionality,
including the ACEA API, Xiaomi data helpers, Yahoo Finance topic helper,
Bilibili list URLs, Douban IP locations, and Douyin live-stream handling.

Resolve overlapping changes without losing existing limit validation, bounded
detail requests, stable item metadata, or route configuration corrections.
Keep RSS image MIME inference and explicit media precedence alongside upstream
attachment extraction, emitting a single enclosure per item.
2026-10-14 16:04:51 +08:00
DIYgod 7a3edee07b chore(routes): remove retired services and categories
Remove retired services, obsolete source endpoints, and discontinued categories.
Keep supported routes and categories available.

Affected files:
- lib/routes/163/news/rank.ts
- lib/routes/app-center/namespace.ts
- lib/routes/app-center/release.tsx
- lib/routes/cdi/index.ts
- lib/routes/ce/district.ts
- lib/routes/dgjyw/index.ts
- lib/routes/dgjyw/namespace.ts
- lib/routes/lfsyd/old-home.ts
- lib/routes/linkedin/cn/index.ts
- lib/routes/linkedin/cn/renderer.ts
- lib/routes/linkedin/cn/utils.tsx
- lib/routes/odaily/post.ts
- lib/routes/openai/chatgpt-atlas.ts
- lib/routes/pku/ss/pg-admin.ts
- lib/routes/tencent/news/coronavirus/data.tsx
- lib/routes/tencent/news/coronavirus/total.tsx
- lib/routes/tencent/news/coronavirus/utils.ts
- lib/routes/theinitium/follow.ts
- lib/routes/wikinews/index.ts
- lib/routes/wikinews/namespace.ts
- lib/routes/xjtu/2yuan/news.ts
- lib/routes/zcmu/jwc/index.ts
- lib/routes/zhibo8/forum.ts
- lib/routes/zhibo8/post.ts
2026-10-14 15:09:16 +08:00
DIYgod 74fa9e2809 fix(zzuli): correct feed handling
Combine the reviewed route corrections and their follow-up adjustments.

Affected files:
- lib/routes/zzuli/campus.ts
- lib/routes/zzuli/yjsc.ts
2026-10-14 15:09:16 +08:00
DIYgod 61aa312361 fix(zzu): correct feed handling and route metadata
Combine the reviewed route corrections and their follow-up adjustments.

Affected files:
- lib/routes/zzu/dwzzb.ts
- lib/routes/zzu/dzb.ts
- lib/routes/zzu/gs.ts
- lib/routes/zzu/jwc.ts
- lib/routes/zzu/kjc.ts
- lib/routes/zzu/math.ts
- lib/routes/zzu/news.ts
- lib/routes/zzu/rsc.ts
- lib/routes/zzu/soft-news.ts
- lib/routes/zzu/ss.ts
- lib/routes/zzu/student.ts
- lib/routes/zzu/sxy.ts
- lib/routes/zzu/tzhb.ts
- lib/routes/zzu/xbx.ts
- lib/routes/zzu/xuan.ts
- lib/routes/zzu/zcycwb.ts
2026-10-14 15:09:16 +08:00
DIYgod 6b83c89cba fix(zyw): correct feed handling
Combine the reviewed route corrections and their follow-up adjustments.

Affected files:
- lib/routes/zyw/hot.ts
2026-10-14 15:09:16 +08:00
DIYgod 5383a698ed fix(zyshow): correct feed handling
Combine the reviewed route corrections and their follow-up adjustments.

Affected files:
- lib/routes/zyshow/index.tsx
2026-10-14 15:09:16 +08:00
DIYgod 3e3f69d93e fix(zxcs): correct feed handling
Combine the reviewed route corrections and their follow-up adjustments.

Affected files:
- lib/routes/zxcs/novel.ts
2026-10-14 15:09:15 +08:00
DIYgod df33eea0fe fix(zuvio): correct feed handling
Combine the reviewed route corrections and their follow-up adjustments.

Affected files:
- lib/routes/zuvio/boards.ts
- lib/routes/zuvio/student5.ts
- lib/routes/zuvio/utils.tsx
2026-10-14 15:09:15 +08:00
DIYgod cb2f15f55a fix(zuel): correct feed handling
Combine the reviewed route corrections and their follow-up adjustments.

Affected files:
- lib/routes/zuel/notice.ts
2026-10-14 15:09:15 +08:00
DIYgod 3799ba267a fix(zsxq): correct feed handling
Combine the reviewed route corrections and their follow-up adjustments.

Affected files:
- lib/routes/zsxq/group.ts
- lib/routes/zsxq/user.ts
- lib/routes/zsxq/utils.ts
2026-10-14 15:09:15 +08:00