* 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
* 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
* 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>
---------
* 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
* feat(middleware): add title translation using LLM
* refactor: combine title and description
* fix: camelCase for variables
* refactor: try to update the test case
---------
* 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>