Hi and Claude
6d77bd84c0
feat(route): add 中国地质大学(北京) ( #22352 )
...
* route: add 中国地质大学(北京)
Co-Authored-By: Claude <noreply@anthropic.com >
* feat(route): add channel icon for 中国地质大学(北京)
Co-Authored-By: Claude <noreply@anthropic.com >
* fix(route): use official crest favicon as 中国地质大学(北京)feed icon
Co-Authored-By: Claude <noreply@anthropic.com >
* fix(route): use official high-res crest for 中国地质大学(北京)feed icon
Co-Authored-By: Claude <noreply@anthropic.com >
---------
Co-authored-by: Claude <noreply@anthropic.com >
2026-07-09 23:28:13 +08:00
Jiamin
42b7ee9b7c
feat(route): add Liaoning Musuem route ( #22338 )
...
* feat(route): add Liaoning Musuem route
* fix(route): update radar
* fix(route): remove hash for radar
2026-07-09 23:01:22 +08:00
TonyRL
334b663855
chore: remove unused deps
2026-07-09 22:14:32 +08:00
Tony
5a50c8fa0e
fix(route/rfa): use embedded data ( #22479 )
2026-07-09 04:00:41 +08:00
Tony
cb0791cb41
perf: dx ( #22478 )
...
* perf: use only one WASM alloc for xxhash
* perf(deps): lazy load mercury-parser and use googleapis/youtube instead of heavy googleapis
* perf(dx): lazy load dev registry
speed up npm dev script
* perf: close playwright browser on destroy
* fix: show exception msg in prod
* revert: "perf: use only one WASM alloc for xxhash"
This reverts commit 01ecdd48d0 .
* perf: use only one WASM alloc for xxhash
* test: add claim for worker
* fix: missing piece from 8dd9c9a
* feat: add namespace to the chunkfilename
* fix: keep var naming
2026-07-09 02:37:41 +08:00
Yufan You
12a75059dd
fix(core): make the atom format spec-compliant ( #20723 )
...
* fix: remove the src attribute of atom:content
The src attribute is to replace the inner content, not to mark its source.
RFC4287:
> 4.1.3.2. The "src" Attribute
>
> atom:content MAY have a "src" attribute, whose value MUST be an IRI
> reference [RFC3987]. If the "src" attribute is present, atom:content
> MUST be empty. Atom Processors MAY use the IRI to retrieve the
> content and MAY choose to ignore remote content or to present it in a
> different manner than local content.
>
> If the "src" attribute is present, the "type" attribute SHOULD be
> provided and MUST be a MIME media type [MIMEREG], rather than "text",
> "html", or "xhtml". The value is advisory; that is to say, when the
> corresponding URI (mapped from an IRI, if necessary) is dereferenced,
> if the server providing that content also provides a media type, the
> server-provided media type is authoritative.
* fix: move <language> to xml:lang
* fix: remove <webMaster> in atom
* fix: use ISO format to display date in atom & always have <updated>
* fix: use ISO date for feed <updated> in atom
* fix: add <link rel=self> for atom
2026-07-08 21:37:45 +08:00
Tony
ee32cffa05
refactor: named import cheerio.load ( #22477 )
2026-07-08 19:47:09 +08:00
Dick Tang
604b8773d5
feat(route): fix Airtable embed link for Layoffs.fyi ( #22467 )
...
* Update Airtable embed link for Layoffs.fyi
* docs: fix title
---------
2026-07-08 09:48:24 +00:00
TonyRL
2dbc2eadfe
style: fix eslint/no-constant-binary-expression
2026-07-07 20:49:57 +08:00
1200522928 and github-actions[bot]
8908a70b6c
feat(route): fix route qstheory ( #22434 )
...
* your message
* style: auto format
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-07 10:27:19 +08:00
chesha1
f8d0a1438c
fix(openai): avoid Cloudflare 403 on article pages ( #22276 )
2026-07-06 15:10:19 +08:00
Jiamin
719cc1994b
fix: fix timezone for GMT+8 ( #22270 )
...
* fix: fix timezone for GMT+8
* fix: update +8 to 8
2026-07-05 18:03:12 +00:00
Jiamin
bb722f74be
feat(route): add Zhejiang Museum temporary exhibition route ( #22269 )
...
* feat(route): add Zhejiang Museum temporary exhibition route
* fix: fix the radar source and target
* fix:fix location with null
* fix: only remove the faulty x448
2026-07-06 01:04:37 +08:00
Jiamin
74cb1fa495
feat(route): add Nanjing Museum exhibition route ( #22261 )
...
* feat(route): add Nanjing Museum exhibition route
* fix: update the startDate and endDate
* fix: remove redundant fetchTitle
* Update lib/routes/njmuseum/exhibitionindex.tsx
2026-07-06 00:00:38 +08:00
jack2game
e171994187
fix(route): chinaventure route ( #22433 )
2026-07-05 04:42:32 +00:00
Jiamin
099d51b6a8
feat(route): add Shaanxi History Museum news and temporary exhib route ( #22260 )
...
* feat(route): add Shaanxi History Museum news and temporary exhib route
* fix:unify await got function
2026-07-05 03:06:56 +08:00
Tony
282ea912cf
fix(route/asus): update API address ( #22424 )
2026-07-03 20:18:58 +08:00
dependabot[bot] and TonyRL
a4002fa587
chore(deps): bump docker/build-push-action from 7.2.0 to 7.3.0 ( #22403 )
...
* chore(deps): bump docker/build-push-action from 7.2.0 to 7.3.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 7.2.0 to 7.3.0.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/f9f3042f7e2789586610d6e8b85c8f03e5195baf...53b7df96c91f9c12dcc8a07bcb9ccacbed38856a )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-version: 7.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* style: fix prefer-object-iterable-methods
* chore: update unicorn-js/isolated-functions rule to include global overrides
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: TonyRL <TonyRL@users.noreply.github.com >
2026-07-02 20:10:27 +08:00
dependabot[bot] and TonyRL
f17e026de6
chore(deps-dev): bump eslint-plugin-unicorn from 69.0.0 to 70.0.0 ( #22405 )
...
* chore(deps-dev): bump eslint-plugin-unicorn from 69.0.0 to 70.0.0
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn ) from 69.0.0 to 70.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases )
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v69.0.0...v70.0.0 )
---
updated-dependencies:
- dependency-name: eslint-plugin-unicorn
dependency-version: 70.0.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* style: fix prefer-simplified-conditions
* style: fix prefer-block-statement-over-iife
* style: fix no-unsafe-promise-all-settled-values
* style: add unicorn v70 recommded preset
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: TonyRL <TonyRL@users.noreply.github.com >
2026-07-02 18:48:44 +08:00
Tony
00eb86272e
fix(route/kadokawa): fix image attr ( #22394 )
2026-06-30 21:00:37 +08:00
github-actions[bot]
659e76c802
style: auto format
2026-06-29 11:55:02 +00:00
Tony
dd92228476
fix(route/uestc): fix selector ( #22349 )
...
* feat(route): add pawchive
* fix(route/uestc): fix url
2026-06-28 20:13:56 +08:00
github-actions[bot]
17e7c16139
style: auto format
2026-06-27 16:09:22 +00:00
sirius60111 and Claude Opus 4.8
a510ea3f24
fix(route/xueqiu): fix stock_info failure caused by WAF challenge ( #22346 )
...
The /xueqiu/stock_info route was broken by Alibaba Cloud WAF: the cookie
acquisition could not pass the challenge, and the data request was sent
to xueqiu.com which the WAF blocks for these endpoints.
- cookies.ts: allow the `script` resource type in the page.route filter
so the WAF challenge scripts can execute, enabling cookie extraction
via Patchright
- stock-info.ts: request data from api.xueqiu.com instead of xueqiu.com
to bypass the WAF
- stock-info.ts: align the supported types with the tabs on the stock
page (all / discuss / trans / news / announcement). all / discuss /
trans use the symbol search endpoint; news / announcement use the
stock timeline endpoint. The previously broken research type is removed
- stock-info.ts: fetch the stock name from the lightweight quote API
since it is rendered client-side and cannot be scraped from the HTML
- stock-info.ts: throw InvalidParameterError for unsupported types
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-28 00:07:48 +08:00
Tony
aa46e600e1
feat(route): add pawchive ( #22340 )
2026-06-26 19:48:11 +08:00
Tony
c70d087a9a
feat(route): nppa ( #22335 )
2026-06-25 01:34:49 +08:00
Tony
6355b9b597
feat(route): cefco ( #22333 )
2026-06-24 09:03:51 +08:00
Tony
b1ac83372c
feat(route): add zfcg ( #22320 )
2026-06-22 14:10:26 +08:00
DIYgod
00c2fe9b26
test(route/weibo): keep utils test out of routes tree
2026-06-22 11:26:04 +08:00
DIYgod
452558d096
fix(route/weibo): share visitor cookie fetches
2026-06-22 10:44:13 +08:00
Tony
9807609a4d
refactor: use cache utils directly ( #22316 )
2026-06-20 23:36:02 +08:00
github-actions[bot]
b24e8736b5
style: auto format
2026-06-20 15:12:58 +00:00
dependabot[bot] and Tony
417ab04f06
chore(deps-dev): bump eslint-plugin-unicorn from 66.0.0 to 68.0.0 ( #22310 )
...
* chore(deps-dev): bump eslint-plugin-unicorn from 66.0.0 to 68.0.0
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn ) from 66.0.0 to 68.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases )
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v66.0.0...v68.0.0 )
---
updated-dependencies:
- dependency-name: eslint-plugin-unicorn
dependency-version: 68.0.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* style: fix no-useless-coercion
* style: fix prefer-boolean-return
* style: fix no-useless-logical-operand
* style: fix prefer-single-replace
* style: fix consistent-conditional-object-spread
* style: fix no-useless-else
* style: fix prefer-unicode-code-point-escapes
* style: fix operator-assignment
* style: fix prefer-continue
* style: fix prefer-math-constants
* style: fix prefer-hoisting-branch-code
* style: fix prefer-array-slice
* style: fix consistent-class-member-order
* style: fix no-return-array-push
* style: fix prefer-promise-with-resolvers
* style: fix no-array-concat-in-loop
* style: fix no-loop-iterable-mutation
* style: fix no-invalid-argument-count
* style: fix no-duplicate-if-branches
* style: fix prefer-else-if
* style: fix no-unreadable-for-of-expression
* style: fix logical-assignment-operators
* style: fix default-export-style
* style: revert false positve in prefer-type-literal-last in #22274
* style: fix arrow-body-style
* style: add v68 recommended preset
* style: refactor GraphQL queries to use template literals for better readability
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tony <TonyRL@users.noreply.github.com >
2026-06-20 23:11:27 +08:00
Tony
2fb207b58b
fix(route/bluestack): proper cache saving
2026-06-18 06:45:57 +08:00
Tony
140734a680
fix(route/youtube): filter deleted channel
...
fix #14805
2026-06-18 05:36:28 +08:00
Tony
b70b4b83b2
refactor: remove aes-js
2026-06-17 01:04:54 +08:00
github-actions[bot]
ce4ffa75b0
style: auto format
2026-06-16 12:14:09 +00:00
dependabot[bot]
f4a49d429e
chore(deps-dev): bump the oxc group across 1 directory with 4 updates ( #22282 )
...
* chore(deps-dev): bump the oxc group across 1 directory with 4 updates
Bumps the oxc group with 4 updates in the / directory: [@oxlint/plugins](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint-plugins ), [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt ), [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint ) and [oxlint-plugin-eslint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint-plugin-eslint ).
Updates `@oxlint/plugins` from 1.69.0 to 1.70.0
- [Release notes](https://github.com/oxc-project/oxc/releases )
- [Changelog](https://github.com/oxc-project/oxc/blob/main/CHANGELOG.md )
- [Commits](https://github.com/oxc-project/oxc/commits/apps_v1.70.0/npm/oxlint-plugins )
Updates `oxfmt` from 0.54.0 to 0.55.0
- [Release notes](https://github.com/oxc-project/oxc/releases )
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md )
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.55.0/npm/oxfmt )
Updates `oxlint` from 1.69.0 to 1.70.0
- [Release notes](https://github.com/oxc-project/oxc/releases )
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md )
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.70.0/npm/oxlint )
Updates `oxlint-plugin-eslint` from 1.69.0 to 1.70.0
- [Release notes](https://github.com/oxc-project/oxc/releases )
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint-plugin-eslint/CHANGELOG.md )
- [Commits](https://github.com/oxc-project/oxc/commits/apps_v1.70.0/npm/oxlint-plugin-eslint )
---
updated-dependencies:
- dependency-name: "@oxlint/plugins"
dependency-version: 1.70.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: oxc
- dependency-name: oxfmt
dependency-version: 0.55.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: oxc
- dependency-name: oxlint
dependency-version: 1.70.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: oxc
- dependency-name: oxlint-plugin-eslint
dependency-version: 1.70.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: oxc
...
Signed-off-by: dependabot[bot] <support@github.com >
* chore: update oxlint-plugin-eslint js plugin name
https://github.com/oxc-project/oxc/pull/23495
https://github.com/oxc-project/oxc/pull/23335
* chore: use native no-array-fill-with-reference-type, prefer-export-from, prefer-single-call
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-16 20:12:39 +08:00
Tony
ff27ed8ab6
refactor: remove dead code
2026-06-16 19:10:47 +08:00
github-actions[bot]
9f37d05ab6
style: auto format
2026-06-16 06:45:07 +00:00
dependabot[bot] and Tony
873618e99d
chore(deps-dev): bump eslint-plugin-unicorn from 65.0.1 to 66.0.0 ( #22274 )
...
* chore(deps-dev): bump eslint-plugin-unicorn from 65.0.1 to 66.0.0
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn ) from 65.0.1 to 66.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases )
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v65.0.1...v66.0.0 )
---
updated-dependencies:
- dependency-name: eslint-plugin-unicorn
dependency-version: 66.0.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* style: fix unicorn-js/prefer-url-href
* style: oxlint disable
* style: fix unicorn-js/no-useless-else
* style: no-unsafe-string-replacement
* style: fix no-duplicate-loops
* style: fix prefer-number-is-safe-integer
* style: fix prefer-single-array-predicate
* style: fix no-object-methods-with-collections
* style: fix no-useless-boolean-cast
* style: fix no-useless-template-literals
* style: fix no-negated-array-predicate
* style: fix prefer-direct-iteration
* style: fix consistent-optional-chaining
* style: fix prefer-simple-sort-comparator
* style: fix prefer-global-number-constants
* style: fix prefer-type-literal-last
* style: fix require-array-sort-compare.
* style: fix prefer-early-return
* style: fix prefer-short-arrow-method
* style: fix prefer-array-from-map
* style: fix prefer-scoped-selector
* style: fix no-global-object-property-assignment
* style: fix no-unnecessary-global-this
* style: fix no-unreadable-object-destructuring
* style: fix no-invalid-argument-count
* style: fix prefer-smaller-scope
* style: fix prefer-iterator-to-array.
* style: fix prefer-object-iterable-methods
* style: fix typo
* style: fix max-nested-calls
* style: fix no-incorrect-template-string-interpolation
* style: fix no-break-in-nested-loop
* style: fix prefer-await
* style: fix no-computed-property-existence-check
* style: fix prefer-number-coercion
* style: fix no-empty-file
* style: update eslint unicorn v66 recommended preset
* style: add unicorn/prefer-spread to oxlint-disable comments
* style: fix no-array-reduce
* style: delete github/no-then as it's covered by unicorn/prefer-await
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tony <TonyRL@users.noreply.github.com >
2026-06-16 14:43:42 +08:00
github-actions[bot]
4d2e5fe799
style: auto format
2026-06-16 04:08:27 +00:00
Jagger.H
b10a33b191
fix(route): repair u3c3 search and drop sticky promo rows ( #22268 )
...
* fix(route): repair u3c3 search and drop sticky promo rows
The handler destructured `keywoard` (typo for `keyword`), so the search
branch never ran and every query fell through to the homepage listing.
u3c3 has also added an anti-scrape token (`search2=<token>`, rotated and
embedded in the homepage `search21()` JS) — `?search=<kw>` alone silently
returns the homepage, so scrape the token live with a graceful fallback.
Also skip the sticky promo rows (category-nav and external-ad rows, e.g.
the "國產原创" entries) shown on every page including search; real torrent
rows always link to /view.
* refactor(route): use filter+map instead of flatMap in u3c3
Address review feedback: the flatMap returning []/[obj] was just a
filter+map in disguise. Skip non-/view rows up front, then map.
2026-06-16 12:07:12 +08:00
Tony
adbe1b59bb
docs: fix example namespace
2026-06-15 04:27:54 +08:00
Tony
0f8f12a891
docs: fix table
2026-06-15 03:09:40 +08:00
Tony
3f9eb757b5
fix(route): update route path syntax
2026-06-15 00:53:33 +08:00
Tony
a1946363f5
fix: correct GUID generation for routes
2026-06-13 03:11:03 +08:00
Jiamin
c453c3323f
fix: modify list for now/future to get the right data ( #22256 )
2026-06-12 22:48:42 +08:00
Jiamin and Bian Jiamin
d3086acfe0
feat(route): add Shan Dong Museum exhibition and news route ( #22187 )
...
* feat(route): add Shan Dong Museum exhibition and news route
* fix: replaceAll to replace
* fix: replace for fullDurationDate
* fix: change xmlmode to xml
* fix: oxlint warning
---------
Co-authored-by: Bian Jiamin <jiamin@BiandeMac-mini.local >
2026-06-12 12:20:38 +08:00
cdf95e67fe
feat(route): add Hebei Museum Exhibition route ( #22185 )
...
* WIP: transfer
* feat(route): add Hebei Museum Exhibition route
* fix: Apply suggestions from code review
Co-authored-by: Tony <TonyRL@users.noreply.github.com >
* fix: oxlint warning
---------
Co-authored-by: Bian Jiamin <jiamin@BiandeMac-mini.local >
2026-06-12 12:09:50 +08:00