Commit Graph

1626 Commits

Author SHA1 Message Date
yusing
9acb9fa50f feat(debug): implement debug server for development environment
- Added `listenDebugServer` function to handle debug requests.
- Introduced table based debug page with different functionalities.
- Updated Makefile to use `scc` for code analysis instead of `cloc`.
2026-01-01 16:42:38 +08:00
yusing
2b0cd260ce feat(auth): modernize block page styling 2026-01-01 16:42:38 +08:00
yusing
6cd1fc844d fix(healthcheck): fix fileserver health check by removing zero port check 2026-01-01 16:42:37 +08:00
yusing
a503441539 fix(auth): correct logic in AuthOrProceed when auth is disabled 2026-01-01 16:42:37 +08:00
yusing
5d225c820f refactor(docker): streamline label loading in loadDeleteIdlewatcherLabels function 2026-01-01 16:42:37 +08:00
yusing
1636e19937 feat(oidc): make rate limit customizable; per oidc instance rate limit
- add env variables OIDC_RATE_LIMIT and OIDC_RATE_LIMIT_PERIOD
- default rate limit changed to 10 rps from 1 rps
- rate limit is no longer applied globally
2026-01-01 16:42:32 +08:00
yusing
af2975bcc4 fix(auth): enforce HTML acceptance in OIDC login handler 2026-01-01 16:42:31 +08:00
yusing
601864a3e9 refactor(auth): enhance error handling in OIDC login and callback handlers with user-friendly pages 2026-01-01 16:42:31 +08:00
yusing
b248303487 refactor(auth): update WriteBlockPage function to include action text and URL 2026-01-01 16:42:30 +08:00
yusing
6ca64ea3eb fix(config): remove duplicated reload error 2026-01-01 16:42:30 +08:00
yusing
e6308c4caa refactor(docker): remove unnecessary http client in NewClient method 2026-01-01 16:42:29 +08:00
yusing
498b0acbf9 refactor(list_icons): interning app category names to save memory 2026-01-01 16:42:29 +08:00
yusing
5012c9afab feat(fileserver): implement spa support; add spa and index fields to config 2026-01-01 16:41:32 +08:00
yusing
8045477abf fix(healthcheck): nil panic on health check 2025-12-20 11:07:17 +08:00
yusing
498cf7f21b build trigger 2025-12-20 10:45:41 +08:00
yusing
679b02f790 fix(healthcheck): nil panic on agents 2025-12-20 02:29:10 +00:00
yusing
9bdf847f56 refactor(workflow): change merge strategy to cherry-pick for compatibility branch 2025-12-18 23:22:25 +08:00
yusing
678cf4b3c6 fix(idlewatcher): incorrect "dependency has positive idle timeout" error 2025-12-18 23:18:11 +08:00
yusing
4299c78067 refactor(http): enhance health check error logic by treating all 5xx as unhealthy 2025-12-18 10:13:59 +08:00
yusing
b49d565213 feat(reverse_proxy): add scheme mismatch handling for retry logic in reverse proxy 2025-12-18 10:13:53 +08:00
yusing
85b93be277 fix(docker): nil panic reading container names 2025-12-18 10:13:51 +08:00
yusing
a754a2ed9f refactor(http): consolidate User-Agent header in health monitor 2025-12-18 10:08:51 +08:00
yusing
7547de6077 fix(idlewatcher): directly serve the request on ready instead of redirecting 2025-12-17 11:47:53 +08:00
yusing
f7340015b5 fix(access_log): fix slice out-of-bound panic on log rotation 2025-12-17 10:29:27 +08:00
yusing
ba8d23fada fix(config): nil panic introduced in ff934a4bb2911f5fa3c23d8fe6fea252d881fdc3; remove duplicated log 2025-12-17 10:29:26 +08:00
yusing
0a3332bd10 refactor: simplify and optimize deserialization 2025-12-17 10:29:26 +08:00
yusing
106f5b0ce2 refactor(pool): simplify and optimize SizedPool; remove sync pool 2025-12-17 10:29:25 +08:00
yusing
da1e666a72 refactor(config): remove unused ActiveConfig 2025-12-17 10:29:25 +08:00
yusing
3873e2860b fix(config): fix default values not applied 2025-12-17 10:29:24 +08:00
yusing
57d229f94b refactor(config): remove unnecessary indirection 2025-12-17 10:29:24 +08:00
yusing
7705402360 feat(rules): add protocol matching functionality
- Introduced a new checker for HTTP protocols (http, https, h3) in the routing rules.
- Added corresponding test cases to validate protocol matching behavior in requests.
2025-12-17 10:29:24 +08:00
yusing
6614783450 fix(icons): add handling for dark icons for walkxcode 2025-12-17 10:29:23 +08:00
yusing
c50fe0ee4a refactor(favicon): enhance FindIcon function to support icon variants
- Updated FindIcon to accept an additional variant parameter for improved icon fetching.
- Adjusted FavIcon and GetFavIconFromAlias functions to utilize the new variant handling logic.
2025-12-17 10:29:23 +08:00
yusing
8ba8726bc2 refactor(icon): improve handling in WithVariant 2025-12-17 10:29:22 +08:00
yusing
e9eba5a892 fix(favicon): enhance variant handling in GetFavIconFromAlias function
- Added fallback logic to handle cases where the requested icon variant is unavailable.
- If variant not provided, do not call WithVariant.
2025-12-17 10:29:22 +08:00
yusing
2d73dde9ff fix(favicon): correct icon cache key in FindIcon method 2025-12-17 10:29:21 +08:00
yusing
da13b3b66d refactor(icon): add variant handling for absolute/relative icons in WithVariant method 2025-12-17 10:29:21 +08:00
yusing
80c122b3b7 chore: update api swagger 2025-12-17 10:29:20 +08:00
yusing
6fec81deb9 feat(favicon): add variant support for favicons
- Introduced a new Variant field in GetFavIconRequest to specify icon variants (light/dark).
- Updated GetFavIconFromAlias function to handle the variant when fetching favicons.
- Added WithVariant method in IconURL to manage icon variants effectively.
2025-12-17 10:29:20 +08:00
yusing
30f1617d13 fix(socket-proxy): update golang version. fix Dockerfile 2025-12-17 10:29:19 +08:00
yusing
e9612ce6ae fix(ci): correct socket-proxy github workflow 2025-12-17 10:29:19 +08:00
yusing
48db8930cc refactor(docker): streamline idlewatcher label handling
- Introduced a map for idlewatcher labels to simplify the loading of configuration values.
- Simplify logic to check for the presence of an idle timeout and handle dependencies.
2025-12-17 10:27:01 +08:00
yusing
a54f6942ba feat(idlewatcher): add option to disable loading page 2025-12-17 10:22:09 +08:00
yusing
37e72cda57 fix(idlewatcher): improve container readiness handling in wakeFromHTTP
- Updated the wakeFromHTTP method to send a 100 Continue response to prevent client wait-header timeout.
- Implemented logic for non-HTML requests to wait for the container to become ready, returning an error message if it times out, or redirecting if successful.
- Adjusted the waitForReady method to return true upon receiving a ready notification.
2025-12-17 10:15:31 +08:00
yusing
b783ded2e7 chore(deps): upgrade dependencies 2025-12-10 17:35:27 +08:00
yusing
7d91c3548e fix(http): 'runtime error: comparing uncomparable type httputils.UnwrittenBody' 2025-12-10 17:31:59 +08:00
yusing
fde5a304e8 chore(deps): upgrade dependencies in submodules 2025-12-09 10:51:56 +08:00
yusing
21e26e2a14 fix(http): correct Unwrap method and enhance error handling in Hijack method
- Updated the Hijack method in LazyResponseModifier and ResponseModifier to return a wrapped error for unsupported hijacking.
- Added a nil check in LazyResponseModifier's Unwrap method to ensure safe access to the underlying ResponseWriter.
2025-12-09 10:51:52 +08:00
yusing
06233759d9 fix(middleware): enhance response modification handling in ServeHTTP
- Replaced ResponseModifier with new LazyResponseModifier.
- Added logic to skip modification for non-HTML content.
2025-12-09 10:51:50 +08:00
yusing
9e0c189abe fix(io): limit buffer size to 16KB to avoid high memory usage and improve context propagation 2025-12-09 10:51:48 +08:00