Commit Graph

263 Commits

Author SHA1 Message Date
DIYgod 8520db3e13
feat: api route (#19209)
* feat: api route

* test: api route
2025-05-27 13:21:27 +08:00
DIYgod 68aed429c5
feat(core): filter out null route 2025-05-14 20:25:45 +08:00
DIYgod d2743c9d4f
feat(core): add routePath in response header 2025-05-14 17:21:22 +08:00
Tony 8faec7fbfd refactor: fix Element type import 2025-05-07 04:18:23 +08:00
Tony 03969f3867
refactor: fix lint issue (#18963)
* fix: unicorn/no-empty-file

* fix: unicorn/prefer-node-protocol

* fix: unicorn/prefer-number-properties

* fix: unicorn/consistent-destructuring

* fix: unicorn/no-array-callback-reference

* fix: unicorn/new-for-builtins

* fix: set checkNaN to false in unicorn/prefer-number-properties

* fix: unicorn/prefer-string-slice

* fix: update eslint ignore
2025-04-29 03:00:16 +08:00
Tony d78a47ec7b
fix(core/cache): update cache key generation to include query limit (#17674) 2024-11-22 01:41:11 +08:00
DIYgod 91d9acc68b
fix: redirection in router handler 2024-11-12 20:14:04 +08:00
Tsuyumi 40bab08529
feat: better error message display (#17477) 2024-11-07 01:55:12 +08:00
Tsuyumi abed9a058c
fix(middleware): use URL pathname to maintain exact user access path for access control (#17327) 2024-10-27 23:06:44 +08:00
lzk 7a74a131d5
feat: HOTLINK_TEMPLATE environment variable applied to audio and video link (#17287)
Co-authored-by: linzhikang <linzhikang@bytedance.com>
2024-10-25 02:01:02 +08:00
Stephen Zhou a4daf28ca5
fix: catch Invalid Date (#17081) 2024-10-10 21:21:35 -07:00
Tony 25d53e8053 chore: fix typo 2024-09-24 23:56:06 +08:00
incubator4 be3ba61788
chore: otel fix and enhancement (#16754)
* feat(otel): use routePath insteadof path

* feat(otel): add otel bucket boundary env

* chore: move otel to debug block with alphabetical sort
2024-09-15 19:42:21 +08:00
Tony 9d7e1943f0
test: fix tests (#16697)
* test: fix tests

* revert "fix: fill image from itunes_item_image (#16694)"

This reverts commit 879772a97f.

* fix: fill image from jsonfeed template

* chore: bump msw to 2.4.3
2024-09-11 01:05:37 +08:00
Stephen Zhou 879772a97f
fix: fill image from itunes_item_image (#16694) 2024-09-10 23:24:43 +08:00
CaoMeiYouRen ed8b868432
feat(middleware): 优化 多媒体处理增加 data.image/item.enclosure_url/item.image… (#16610)
* feat(middleware): 优化 多媒体处理增加 data.image/item.enclosure_url/item.image/item.itunes_item_image 等字段

* test(middleware): 补充 anti-hotlink 缺失的测试用例
2024-09-05 20:47:53 +08:00
COxDE 2962c6f64f
feat(middleware): process feed title and description using LLM (#16464)
* feat(middleware): add title translation using LLM

* refactor: combine title and description

* fix: camelCase for variables

* refactor: try to update the test case

---------
2024-08-22 02:15:00 +08:00
DIYgod 59e19001e6
feat: update descriptions 2024-07-23 16:30:41 +08:00
DIYgod 55c6f859a5
fix: 304 response error 2024-07-14 15:37:45 +08:00
Nya Candy 68c7430fbb
feat(core): opentelementry support (update of #14668) (#16087)
* chore: squash commit

* fix: tweak some mentioned issues

---------

Co-authored-by: incubator4 <aries0robin@gmail.com>
2024-07-05 19:22:33 +08:00
DIYgod d1dd8a53ca
feat: retry requesting control (#15717)
* feat: retry requesting control

* test: fix error handling test
2024-05-26 21:48:29 +08:00
DIYgod 0839e555bb
feat: bypass cache for non rss routes 2024-05-26 20:46:12 +08:00
TonyRL 3a58d90698 fix(template): remove undefined character and 0 width space
fix #8760
2024-05-24 08:12:02 +00:00
Tony b0b7adf382
fix(template): redis-backed instances always show ttl 1 (#15536) 2024-05-10 03:47:21 +08:00
Henry Wang 5c3711cbcc
feat: support .rss3 output type (#15258)
Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
2024-04-18 02:10:33 +08:00
Tony 0456ca9541
fix(core): remove unicode control characters in item description (#15263) 2024-04-17 02:51:05 +08:00
DIYgod cef1ed1eb6
refactor: error types 2024-04-07 16:37:54 +08:00
DIYgod efc2b2f5a4
test: fix parameter test text 2024-04-07 14:06:32 +08:00
Tony 0893debb07
style(eslint): lint tsx (#15098) 2024-04-04 20:28:45 +08:00
Rongrong 045eaf664c
fix(core): misc fixes of disabling cache (#15036)
* fix(core): CACHE_TYPE='' does not disable cache

The documentation of config always states that CACHE_TYPE being empty
will disable the cache.

The regression was introduced in 847724ca. The corresponding test case
was mistakenly "fixed" in 719af907.

Signed-off-by: Rongrong <i@rong.moe>

* fix(core): false RSS <ttl> when cache unavailable

Some RSS readers may probe <ttl> to determine the minimum interval of
polling. However, it is always set to `config.cache.routeExpire / 60`
even when cache is unavailable. This may not be expected when the cache
is explicitly disabled.

Set it to 1 (minute) under such a circumstance. The minimum <ttl> (when
cache is available) is also limited to 1 to avoid potential misuse.

The Cache-Control header remains untouched as caching can be done by a
reverse proxy.

Signed-off-by: Rongrong <i@rong.moe>

---------

Signed-off-by: Rongrong <i@rong.moe>
2024-04-02 01:21:38 +08:00
DIYgod 50d194ef3d
Merge remote-tracking branch 'origin/master' into feature/ofetch 2024-03-31 23:37:37 +08:00
DIYgod bf4e5dd78f
test: fix caces 2024-03-31 23:13:22 +08:00
wudifeixue c086c62acd
fix(core): fix documentation link path and error message links (#15023)
* fix: all broken sponsor links

* fix: all broken deployment links

* fix: other broken links
2024-03-30 08:12:12 +00:00
DIYgod 8c0534393f
feat: use ofetch in parameter common-config wechat-mp 2024-03-27 14:40:42 +08:00
DIYgod b774c60858
test: add full routes test (#14934)
* test: add critical routes test

* fix: youtube channels config

* test: add full routes test

* test: output full routes test result

* test: build routes before test

* test: use one reporter

* test: fix cache test errors

* test: fix cache test errors

* chore: puppeteerrc.cjs

* chore: puppeteerrc.cjs

* chore: puppeteerrc.cjs

* fix: build script

* chore: puppeteerrc rename

* test: route test names

* chore: pass test result to docs
2024-03-24 19:00:03 +08:00
DIYgod 40350abcbb
feat: use jsx (#14863)
* feat: render rss using jsx

* fix: error page response header

* feat: render atom using jsx

* feat: export art

* feat: use jsxRenderer

* chore: upgrade hono
2024-03-21 00:28:11 +08:00
Tony 7641e7dd29
fix: logo not showing with ACCESS_KEY (#14722) 2024-03-09 00:09:34 +08:00
DIYgod 066ee90326
test: fix response code 2024-03-06 02:56:08 +08:00
DIYgod c213e479c6
test: fix response code 2024-03-06 02:50:07 +08:00
Tony 1bdef0171b
fix(anti-hotlink): skip base64 image (#14676)
* fix(anti-hotlink): skip base64 image

* test: fix parameter complicated_description
2024-03-06 02:35:30 +08:00
Tony d17ebe81d0
feat(index): add back hot stats (#14664) 2024-03-05 13:55:39 +08:00
DIYgod 6beeece94b
Merge remote-tracking branch 'origin/master' into feature/vitest 2024-03-04 01:17:26 +08:00
DIYgod dee7da3105
feat: pure esm and typescript routes 2024-03-04 00:17:16 +08:00
DIYgod 38e42156a0
feat: replace jest with vitest 2024-03-03 18:57:07 +08:00
Tony 2c771aa0f6
fix: sentry import 2024-03-03 06:03:38 +00:00
DIYgod 0ab8996f40
feat: remove allowlist and denylist 2024-03-02 21:35:40 +08:00
DIYgod 1b0acc996b
test: import app instead of index 2024-03-02 04:50:51 +08:00
DIYgod 91e6fe3d1a
feat: remove unclean require in core 2024-03-02 03:50:42 +08:00
DIYgod ed63b7b220
fix: debug.html response content type 2024-03-01 21:59:31 +08:00
DIYgod 68a99bf4d9
feat: logger middleware 2024-03-01 21:42:51 +08:00