Serhii Hospodarchuk
bd24a2fdcd
feat(core): add a new environment variable to configure the output format ( #22738 )
2026-07-16 23:01:26 +08:00
Tony
0ab18ff80e
test: refactor tests ( #22677 )
...
* test: refactor tests
* test: run *.worker.ts unit tests inside workerd
2026-07-10 23:26:43 +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 01ecdd48d09a046dce05f440814dcbec0323a7de.
* 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
github-actions[bot]
b24e8736b5
style: auto format
2026-06-20 15:12:58 +00:00
dependabot[bot]
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
dependabot[bot]
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
Tony
7c229947f7
perf: lazyload sentry ( #22249 )
2026-06-12 12:01:11 +08:00
dependabot[bot]
07834413f5
chore(deps-dev): bump eslint-plugin-unicorn from 64.0.0 to 65.0.0 ( #22219 )
...
* chore(deps-dev): bump eslint-plugin-unicorn from 64.0.0 to 65.0.0
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn ) from 64.0.0 to 65.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases )
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v64.0.0...v65.0.0 )
---
updated-dependencies:
- dependency-name: eslint-plugin-unicorn
dependency-version: 65.0.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix: no-array-from-fill
* fix: unicorn-js/no-duplicate-set-values
* fix: no-this-outside-of-class
* fix: no-unnecessary-nested-ternary
* fix: prefer-array-last-methods
* fix: prefer-queue-microtask
* fix: prefer-split-limit
* fix: no-array-from-fill
* fix: no-unused-array-method-return
* fix: prefer-single-call
* fix: prefer-includes-over-repeated-comparisons
* fix: consistent-compound-words
* fix: prefer-includes-over-repeated-comparisons
* chore: add eslint-plugin-unicorn v65 recommended preset
* fix: correct duration parsing logic in parseDuration function
* fix: update oxlint-disable
---------
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-09 00:08:15 +08:00
Tony
75d43dd086
chore: add eslint-plugin-regexp ( #22189 )
...
* chore: add eslint-plugin-regexp
* chore: autofix
* chore: fix no-useless-flag
* chore: fix optimal-lookaround-quantifier
* chore: fix no-lazy-ends
* chore: fix no-contradiction-with-assertion
* chore: fix no-useless-assertions
* chore: fix no-useless-quantifier
* chore: fix remaining regexp issues
* fix: regex for WFU news link validation
2026-06-05 20:04:39 +08:00
Tony
a98de2effd
refactor: use arrow function
2026-05-11 02:16:04 +08:00
github-actions[bot]
ebfe021b50
style: auto format
2026-04-14 15:15:05 +00:00
Tony
1fe4e8a4ae
feat(core): add honeybadger support ( #21574 )
...
* feat(core): add honeybadger support
* feat(honeybadger): configure Honeybadger to disable uncaught error tracking
* feat(tests): add info logger mock to app-bootstrap tests
* test: fix mock value
* test: mock honeybadger as well
2026-04-01 01:10:12 +08:00
Tony
8043a5a819
style: update oxlint to use simple-import-sort
2026-03-04 03:13:57 +08:00
Tony
1acb805799
style: migrate eslint to oxlint ( #21224 )
...
* chore: add oxlint support
* style: apply autofix
* style: apply autofix for toSorted
* style: use alternative api for nsfw-flag jsPlugins
* fix: git diff
* fix: codeql
* test: console.log
* style: update lint workflow to use Checkstyle SARIF converter
* style: remove debug log from extractDateFromURL function
* chore: use oxlint-json-to-sarif
* test: console.log
* test: remove console.log
* test: update cookie data expectation in getCookies test
https://github.com/mccutchen/go-httpbin/pull/235 breaks this
* style: type-aware linting
* style: enable type-aware linting for oxlint
2026-02-28 21:23:11 +08:00
Tony
da15d11d1d
chore: replace postlight/parser with jocmp/mercury-parser ( #21152 )
2026-02-15 01:27:25 +08:00
DIYgod
81ff849337
feat(tests): add comprehensive unit tests for various utility functions and views ( #20779 )
...
* feat(tests): add comprehensive unit tests for various utility functions and views
- Implement tests for cache utility to ensure proper behavior with no cache and TTL keys.
- Add tests for common utilities including string manipulation and path handling.
- Introduce tests for directory import functionality to validate file imports and pattern matching.
- Create tests for git hash retrieval to handle fallback scenarios.
- Develop tests for deprecated got utility to verify response handling and retry logic.
- Enhance got utility tests to include request hooks and search parameter handling.
- Mock header generator tests to validate user agent handling.
- Expand helpers tests to cover current path retrieval and duration parsing.
- Implement tests for ofetch utility to ensure proper proxy handling and logging.
- Add OpenTelemetry metric tests to validate metric serialization.
- Create proxy tests to verify multi-proxy selection and failure handling.
- Introduce request rewriter tests to validate fetch and get wrapper functionality.
- Add timezone utility tests to handle various input types.
- Implement view tests for Atom and RSS rendering to ensure correct output.
- Create index view tests to validate debug information display based on configuration.
* refactor: remove deprecated got implementation and associated tests
* test: expand coverage for api, middleware, and utils
2025-12-29 17:34:48 +08:00
DIYgod
cf4e772de8
refactor: replace art template with jsx ( #20777 )
...
* refactor: replace art template with jsx
* fix: tsx files
* fix: renderToString import
* fix: hono html raw import
* feat: remove art
2025-12-29 12:27:32 +08:00
Tony
14757b8d5e
test(header): add wait after each test to prevent race conditions
2025-12-20 23:54:41 +08:00
github-actions[bot]
edfac9f24c
style: auto format
2025-11-27 05:54:33 +00:00
github-actions[bot]
838eb3c7ff
style: auto format
2025-11-27 05:49:33 +00:00
github-actions[bot]
a28890a135
style: auto format
2025-11-27 02:55:46 +00:00
Tony
e6cef5ad4c
fix(middleware): ensure referrerpolicy is set only if not already defined ( #20394 )
2025-10-30 04:40:05 +08:00
Stephen Zhou
a0c5b08936
fix(route/bilibili): only get subtitle for jsonfeed ( #20377 )
...
* fix(route/bilibili): only get subtitle for jsonfeed
* Update lib/middleware/cache.ts
Co-authored-by: Tony <TonyRL@users.noreply.github.com>
* Update lib/middleware/cache.ts
Co-authored-by: Tony <TonyRL@users.noreply.github.com>
---------
2025-10-29 15:32:20 +08:00
Aleksandr Bogdanov
9d2fc7a676
feat(route/telegram): Fix tglib ( #18268 )
...
* refactor telegram/tglib for Hono
* linter fix
* add CSP for channel media
* don't cut feed item title prematurely
* implement shared Geo position attachment
* don't start TG client unless routes are requested
* resolve typescript; fix private chats and groups; fix stickers and no-thumbnail document attachments; fix media-by-link attachments
* fix empty text and message grouping; add GeoLive media type; add Poll/Quiz media type
* add script-src none to CSP
Co-authored-by: Tony <TonyRL@users.noreply.github.com>
* add unwrap media for stories support
* fix fwdFrom access
* remove unnecessary core patches, add media route docs
* remove tglib fallback, as it's already preferred if configured
* implement stories endpoint
* improve text representation of channel content
* serve channel media under /channel/entityName/msgId
* improve stories endpoint
* restore original post links to avoid feed duplicates on upgrade
* appease eslint
* fix lint
* improve stories config route definition
* fix poll handling
* lint fix
* format poll results nicely
* fix node compat
* remove duplicate ignore
---------
2025-09-16 21:41:05 +08:00
dependabot[bot]
802cbf95d2
chore(deps-dev): bump eslint-plugin-unicorn from 60.0.0 to 61.0.2 ( #19998 )
...
* chore(deps-dev): bump eslint-plugin-unicorn from 60.0.0 to 61.0.1
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn ) from 60.0.0 to 61.0.1.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases )
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v60.0.0...v61.0.1 )
---
updated-dependencies:
- dependency-name: eslint-plugin-unicorn
dependency-version: 61.0.1
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* refactor: replace `replace(/regex/g)` with replaceAll
* refactor: replace sort() with toSorted() for immutability in various routes and utilities
* refactor: fix unicorn/prefer-array-find
* refactor: fix unicorn/prefer-at
* refactor: add unicorn/no-array-sort rule to ESLint configuration
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-08 23:03:48 +08:00
dependabot[bot]
72466f0ea7
chore(deps): bump hono from 4.7.11 to 4.8.0 ( #19404 )
2025-06-19 11:28:16 +08:00
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