Skip to content

[pull] master from diygod:master - #6

Open
pull[bot] wants to merge 10000 commits into
ohyoxo:masterfrom
DIYgod:master
Open

pull[bot] wants to merge 10000 commits into
ohyoxo:masterfrom
DIYgod:master

Conversation

@pull

@pull pull Bot commented Oct 24, 2023

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@vercel

vercel Bot commented Oct 24, 2023 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
everything-is-rssible ❌ Failed (Inspect) Dec 12, 2024 2:11pm

dependabot Bot and others added 30 commits November 2, 2026 18:16
Bumps [@notionhq/client](https://github.com/makenotion/notion-sdk-js) from 5.28.0 to 5.30.0.
- [Release notes](https://github.com/makenotion/notion-sdk-js/releases)
- [Commits](makenotion/notion-sdk-js@v5.28.0...v5.30.0)

---
updated-dependencies:
- dependency-name: "@notionhq/client"
  dependency-version: 5.30.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>
fuliba2023.net now answers its WordPress REST API with 410 Gone, so
/fuliba/latest failed for everyone. The site itself is up: the home page
lists the latest 20 posts, and each post page carries the full text.

Read the list from the home page and the text from each post page,
cached per post. The post pages show no author name, so items no longer
carry one, and the date is a day without a time, as on the site.
Bumps the opentelemetry group with 1 update in the / directory: [@opentelemetry/semantic-conventions](https://github.com/open-telemetry/opentelemetry-js).


Updates `@opentelemetry/semantic-conventions` from 1.43.0 to 1.44.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-js@semconv/v1.43.0...semconv/v1.44.0)

---
updated-dependencies:
- dependency-name: "@opentelemetry/semantic-conventions"
  dependency-version: 1.44.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
On Ubuntu noble the chromium-browser package only installs the Chromium
snap. When the snap store timed out (2026-10-26, 2026-10-28 and from
2026-11-02 08:05Z), both "Chromium from Ubuntu" jobs failed at Install
Chromium before any test ran, which turned Test red on master and kept
the automerge job, which needs every playwright job, from merging
dependabot patch updates.

Drop the entry. Chrome from Google still covers an external browser
through CHROMIUM_EXECUTABLE_PATH, the vitest job covers the bundled
Chromium, and the Chromium-bundled Docker image uses Debian's native
package rather than the snap.
Every push to a dependabot branch ran Lint twice: once for the push and
once for its pull request, on the same commit. Test already skips these
pushes. Do the same for Lint, a follow-up to #23747.
The detail pages were fetched through pMap with stopOnError: false, which
throws an AggregateError once every listing has run if any one of them
failed. On 2026-11-02 at 09:02Z CloudFront answered 403 to seven new
detail pages of /temposmart/estates/kanagawa/14104 and the whole feed
became a 503, though its list page had loaded; a single request to the
same pages minutes later was a 200.

A listing whose detail page fails now keeps its list-page fields (the
detail-only ones stay null), with a warning, and nothing is cached for
it, so the next request asks again. A failed list page still fails the
route. Same as athome/rent-store.
…updates (#23749)

Bumps the cloudflare group with 4 updates in the / directory: [@cloudflare/vitest-plugin](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-plugin), [@cloudflare/workers-types](https://github.com/cloudflare/workerd), [cf](https://github.com/cloudflare/cf/tree/HEAD/packages/cli) and [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler).


Updates `@cloudflare/vitest-plugin` from 1.4.8 to 1.4.11
- [Release notes](https://github.com/cloudflare/workers-sdk/releases)
- [Changelog](https://github.com/cloudflare/workers-sdk/blob/main/packages/vitest-plugin/CHANGELOG.md)
- [Commits](https://github.com/cloudflare/workers-sdk/commits/@cloudflare/vitest-plugin@1.4.11/packages/vitest-plugin)

Updates `@cloudflare/workers-types` from 5.20261027.1 to 5.20261030.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)

Updates `cf` from 1.0.0-beta.23 to 1.0.0-beta.26
- [Release notes](https://github.com/cloudflare/cf/releases)
- [Changelog](https://github.com/cloudflare/cf/blob/main/packages/cli/CHANGELOG.md)
- [Commits](https://github.com/cloudflare/cf/commits/cf@1.0.0-beta.26/packages/cli)

Updates `wrangler` from 4.153.0 to 4.156.0
- [Release notes](https://github.com/cloudflare/workers-sdk/releases)
- [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.156.0/packages/wrangler)

---
updated-dependencies:
- dependency-name: "@cloudflare/vitest-plugin"
  dependency-version: 1.4.11
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: cloudflare
- dependency-name: "@cloudflare/workers-types"
  dependency-version: 5.20261030.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: cloudflare
- dependency-name: cf
  dependency-version: 1.0.0-beta.26
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: cloudflare
- dependency-name: wrangler
  dependency-version: 4.156.0
  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>
Bumps [sm-crypto-v2](https://github.com/Cubelrti/sm-crypto-v2) from 1.15.1 to 2.0.0.
- [Release notes](https://github.com/Cubelrti/sm-crypto-v2/releases)
- [Changelog](https://github.com/Cubelrti/sm-crypto-v2/blob/master/CHANGELOG.md)
- [Commits](Cubelrti/sm-crypto-v2@v1.15.1...v2.0.0)

---
updated-dependencies:
- dependency-name: sm-crypto-v2
  dependency-version: 2.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump entities from 8.1.0 to 9.0.0

Bumps [entities](https://github.com/fb55/entities) from 8.1.0 to 9.0.0.
- [Release notes](https://github.com/fb55/entities/releases)
- [Commits](fb55/entities@v8.1.0...v9.0.0)

---
updated-dependencies:
- dependency-name: entities
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: use entities v8/v9 for cheerio and rss-parser

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [tsdown](https://github.com/rolldown/tsdown) from 0.23.2 to 0.23.4.
- [Release notes](https://github.com/rolldown/tsdown/releases)
- [Commits](rolldown/tsdown@v0.23.2...v0.23.4)

---
updated-dependencies:
- dependency-name: tsdown
  dependency-version: 0.23.4
  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>
Bumps [rolldown](https://github.com/rolldown/rolldown/tree/HEAD/packages/rolldown) from 1.2.15 to 1.2.16.
- [Release notes](https://github.com/rolldown/rolldown/releases)
- [Changelog](https://github.com/rolldown/rolldown/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rolldown/rolldown/commits/v1.2.16/packages/rolldown)

---
updated-dependencies:
- dependency-name: rolldown
  dependency-version: 1.2.16
  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>
)

* fix(sjtu): correct CS feed dates and failed detail caching

* chore: rerun CI after transient browser test timeout
The forum's thread list keeps threads that were deleted, such as spam
removed by moderators. Their detail request answers code 1047
(内容已被删除), and getThread threw on it, so one deleted thread failed
the whole feed. /feng/forum/1 listed two of them on 2026-11-03.

Treat code 1047 as deleted and skip the thread. Any other error code
still fails the feed as before.
Recap links already carry a query string, such as
recap?gameId=401909905. The route appended "?xhr=1" to the link as text,
so the request became recap?gameId=401909905?xhr=1. ESPN does not
recognize that game id and redirects to the league home page, which has
no story body, so every recap item failed the whole feed. /espn/news/nba
answered 503 whenever the feed listed a recap.

Build the URL with searchParams so xhr=1 is added as its own parameter.
Story links, which have no query string, request the same URL as before.
The 精选 list's footer sometimes adds the discussion count after the
date, such as "2026-06-07 22 条讨论", which parseDate could not read, so
that item came back as Invalid Date. The same list can also show one
question twice (question 77473 on 2026-11-03), which gave two items with
the same guid. The weekly full-route test flags both.

Parse the footer with the YYYY-MM-DD format, which reads the leading
date, and keep the first item for each question link.
Releases with no detail page used their name as the guid. Apple's list
can name two releases the same, such as watchOS 27.0.1 on 23 and 28
September 2026, so the feed had two items with one guid, which the
weekly full-route test flags.

Use the name plus the listed date for those releases. Releases with a
detail page keep their link as the guid. The guid of releases without a
page changes once, so readers may show those again.
BBC News 中文 lists video pages (/zhongwen/watch/...) next to articles.
fetchBbcContent only handled /zhongwen/articles/, so a video page fell
through to the generic branch, which reads a page structure these pages
do not have, and threw. One video in the list failed the whole feed:
/bbc/chinese and /bbc/zhongwen/topics/ckr7mn6r003t both answered 503.

Video pages carry the same page data as articles, with a video block
the renderer already handles, so send them through the article branch.
…ory pages

nippon.com relaunched on 2026-10-28 (its own notice: 全新改版上线). The
search API the route read, `/api/search/cn/...`, now answers 404, so every
category failed, and article pages no longer have the `.editArea` body.

Read the 最新报道 (latest) section of the category page instead, and take
the body from `.article-body` and the date from `article:published_time` on
each article page. The detail cache key moves to v3 because what it
stores changed. `In-depth` and `japan-data` keep working at their new
addresses (/cn/insight, /cn/data). `Science,Technology` and `japan-topics`
have no page any more (one answers 404, the other redirects to the home
page), so they are dropped from the docs and an unknown category now
answers with a parameter error that lists the valid ones.
* feat(sjtu): add CS talent cultivation feeds

* fix(sjtu): keep existing notice route unchanged
* feat(mi): render sell point list in crowdfunding template

* refactor(xiaomiyoupin): use shared crowdfunding utils and template

* refactor(xiaomiyoupin): use shared newproduct utils and template

* refactor(xiaomiyoupin): remove unused goods template

* refactor(xiaomiyoupin): fetch goods via venue and detail APIs with types

* fix(xiaomiyoupin): omit pubDate when release time is missing

* fix(xiaomiyoupin): parse homepage response as JSON

* fix(xiaomiyoupin): use product_hot module for new product list

* fix(xiaomiyoupin): throw NotFoundError for invalid homepage URL

* refactor(xiaomiyoupin): replace loops with flatMap and filter

* refactor(xiaomiyoupin): simplify URL parsing in parsePageQuery

* refactor(xiaomiyoupin): support reservation items in crowdfunding list

* fix(xiaomiyoupin): link crowdfunding items to detail page by gid

* style(xiaomiyoupin): reorder request options keys

* fix(xiaomiyoupin): map crowdfunding prices and send info from API

* fix(xiaomiyoupin): guard optional detail fields and add API headers

* refactor(xiaomiyoupin): use raw new product batch items directly

Replace the intermediate GoodsListItem mapping with NewProductBatchListItem accessors, filter goods and banner entries, and dedupe by gid before fetching details.

* fix(xiaomiyoupin): link new products to detail page by gid

Build the item link from the gid instead of the API jump_url so the
feed points to a human-readable page, drop the now unused
getNewProductJumpUrl helper, and stop falling back to unrelated image
and release-time fields.

* fix(xiaomiyoupin): map new product goods list from detail pids

Resolve each product through goodsInfo.pids so only the variants that
belong to the goods are listed, and use the horizon image for the item
cover instead of falling back to the list item picture.

* fix(xiaomiyoupin): prefer on-hand price for new product variants

Use the first onHandPrice entry when the detail API provides one so
discounted variants show the price users actually pay, falling back to
the regular price otherwise.

* fix(xiaomiyoupin): fall back to single price for variants

Some detail responses expose the current price as singlePrice rather
than onHandPrice, so try it before the base price and type the field.

* refactor(mi): share dedupeByKey across route utils

Export the deduplication helper from mi/utils, replace the local
dedupeByGid in xiaomiyoupin, and reuse it in xiaomiev so the
Map.groupBy chain is not repeated in each route.

* refactor(xiaomiyoupin): use ternaries in item getters

* perf(xiaomiyoupin): limit detail fetch concurrency

Use p-map with a concurrency of 6 instead of firing every detail
request at once in the crowdfunding and latest routes.

* docs(xiaomiyoupin): document exported utility functions

* fix(xiaomiyoupin): resolve venue floor by title in kingkong module

The homepage floors `product_hot` and `crowd_funding` no longer exist, so
read the `kingkong_occupied` module and match items by their title
(`上新精选` / `小米众筹`). Return the venue jump URL alongside the list and
use it as the feed link instead of the homepage root.

* refactor(xiaomiyoupin): generalize venue batch response types

* refactor(xiaomiyoupin): remove unused type fields and sort members

* refactor(xiaomiyoupin): narrow internal exports

Keep helper functions and types module-private since routes only
consume the default export, and drop redundant Chinese comments.

* refactor(xiaomiyoupin): inline nested response types

* fix(xiaomiyoupin): send canonical Accept header casing

* fix(xiaomiyoupin): tolerate empty venue batch results
…icle>

code.visualstudio.com moved blog posts to a new layout: the body now sits
on <article class="docs-main-content body">, with the title, byline, tags
and an "On this page" menu inside it. The route looked for
main.docs-main-content.body, which only release notes still use, so
every blog post failed and pMap's AggregateError took down the whole
feed.

Match the body on either element, and drop the blog header and the
"On this page" menu so the description starts at the post's text.
Release notes are read as before.
The 精品课程 page groups courses into modules such as 今日推荐, 商业财经 and
名家大课, and the route turned every module entry into an item. A course
listed in more than one module came out several times with the same
guid: on 2026-11-03 the page held 88 entries for 80 courses, which the
weekly full-route test flags.

Keep the first entry for each course before fetching course details, so
each course is requested once. Its categories still come from the course
info, as before.
cline.bot rebuilt its blog pages. Rows on /blog/archive are now plain
<article> elements whose byline and excerpt carry CSS module classes
(`Editorial_meta`, `Editorial_excerpt`), so the old `article.group`,
`.text-sm.text-slate-500` and `p.text-slate-600` selectors matched
nothing and the route threw "No articles found".

Select every <article> and read the byline and excerpt by their class
prefix. The archive lists 100 posts, each with author, date, cover and
excerpt, as before.
The paper's front page links every page twice, once in the page
dropdown and once in the page list. The route skipped only the first
link, so pages 1 to 9 were fetched again and every article came out
twice with the same guid: 74 items for 37 articles on 2026-11-03.

Keep each page link once before fetching. Also read the paper from
hnrb.hunantoday.cn, where hnrb.voc.com.cn now redirects every request,
so item links point at the live site.
The route posted to https://lcen.xiaote.net//api/graphql/. The server
used to accept the extra slash but now answers 404 Not Found, while the
same query on /api/graphql/ returns the latest 20 community posts.
On the 最新动态 list a highlighted notice wraps its link in
<span class="red">, so the item has two spans. The route read the text
of every span, which joined the title and the date, and the date could
not be parsed: 候补购票操作说明 came out as "Invalid Date".

Read the date from span.zxdt_time_in, which every list item has.
www.jwc.uestc.edu.cn moved to a new site. The old list pages such as
/list/256/ now return 404, so every type of the route failed.

Map each type to its page under 通知公告:

- important: tzgg.htm, the full notice list (the site has no separate
  重要公告 list any more)
- student: tzgg/xsswgg.htm
- teacher: tzgg/jsswgg.htm
- teaching: tzgg/jxxw.htm
- office: tzgg/jsswgg/bgsgg.htm

Titles and dates come from the list, and the body from the article page.
Links to nry.jsp redirect to the campus login, so those items keep only
their list title and date, as campus-only articles did before.

This branch had an error being deployed

1 failed (outdated) deployment
Preview — 352cac95 Deployed Dec 12, 2024 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.