Commit graph

188 commits

Author SHA1 Message Date
35ea32dcea web: centralize service help link logic in HelpButton component
Introduce a helpLinkOverride store so the Header's help button can
display context-sensitive service docs. Move the svctype-to-URL
computation into Help.svelte (service prop + $effect), removing the
duplicated helpLink functions from the service edit page and the modal
Footer. Pages now render <HelpButton {service} /> to drive the override
without showing a redundant per-page button.
2026-03-05 16:25:44 +07:00
acf7c0d152 web: replace service modal with dedicated page and sidebar
Replace the Service modal component with a dedicated service page route
and a ServiceSidebar component, improving navigation by giving each
service its own URL under [subdomain]/[serviceid].
2026-03-05 16:25:44 +07:00
633a3d6c72 web: focus newly added SPF directive input on creation 2026-03-04 02:24:38 +07:00
36bf664eaa web: sync sidebar scroll with visible subdomain in main content
Use IntersectionObserver to track which subdomain section is currently
visible in the top 30% of the viewport, bold the matching sidebar link,
and auto-scroll the sidebar to keep it in view with scroll-margin-block
so adjacent items remain visible.
2026-03-04 02:24:38 +07:00
7217b6ab18 web: improve subdomain list styling with domain part highlighting
Split subdomain display to show the subdomain and domain parts
separately, making the root domain bold and dimming the domain
suffix. Add hover bold effect for text-dark links.
2026-03-04 02:24:38 +07:00
eb5e0adc0f web: extract zone sidebar into dedicated ZoneSidebar component
Refactor the domain layout by moving the zone-specific sidebar content
(subdomain list, zone actions dropdown) into a new ZoneSidebar.svelte
component, improving separation of concerns between zone and service views.
2026-03-04 02:24:38 +07:00
d588ade59d web: replace deprecated cuid with @paralleldrive/cuid2
All checks were successful
continuous-integration/drone/push Build is passing
2026-03-02 10:08:27 +07:00
ec51c095d8 chore(deps): lock file maintenance
All checks were successful
continuous-integration/drone/push Build is passing
2026-03-02 01:18:49 +00:00
e8a6f2bdbd web: Add transition to VoxPeople card and fix URL param
All checks were successful
continuous-integration/drone/push Build is passing
2026-03-01 17:41:02 +07:00
f0bf1b0b62 web: Integrate BasePath support into frontend and fix web route serving 2026-03-01 17:41:02 +07:00
64c86df9ac Support configurable BasePath for hosting at a sub-path 2026-03-01 17:41:01 +07:00
bf34051069 Reformat manifest.json, add id and fix spelling 2026-03-01 17:40:20 +07:00
ac441a0a25 web: fix service worker caching bugs
- Add network fallback for asset cache misses (prevents broken requests
  on install race conditions)
- Fix query string stripping to use a clean Request instead of copying
  event.request options
- Await cache.put() calls to prevent incomplete writes on SW termination
- Expand auth path exclusion to startsWith("/api/auth") to cover all
  auth-related endpoints
2026-03-01 17:40:20 +07:00
d664bee36d web: Fix coding-style issues 2026-03-01 17:40:20 +07:00
f457071d5d chore: replace interface{} with any across the codebase
Use the modern Go type alias `any` instead of `interface{}` throughout
all packages for improved readability and consistency with current Go idioms.
2026-03-01 17:38:04 +07:00
759fcf5cee chore: replace deprecated ioutil functions with io and os equivalents 2026-03-01 16:40:34 +07:00
464c7db123 web: insert new SPF directive before -all even when it's the only entry
All checks were successful
continuous-integration/drone/push Build is passing
2026-02-27 00:18:50 +07:00
51d993d14b chore(deps): lock file maintenance
All checks were successful
continuous-integration/drone/push Build is passing
2026-02-26 09:26:58 +07:00
exyone
38b5364823 Improve Chinese localization and add simplified Chinese README
All checks were successful
continuous-integration/drone/push Build is passing
- Refine zh.json translations for natural Chinese expressions
- Remove machine translation artifacts while preserving technical accuracy
- Add README.zh-cn.md for Chinese-speaking users
- Improve tone with subtle classical Chinese elements
2026-02-16 14:03:50 +08:00
31c391bbf3 chore(deps): lock file maintenance
All checks were successful
continuous-integration/drone/push Build is passing
2026-02-16 01:18:15 +00:00
4bf5698418 Enforce coding style in generated dns_rr.ts
All checks were successful
continuous-integration/drone/push Build is passing
2026-02-14 19:20:49 +07:00
7427ed7270 Remove last generation date from generated files for build reproducibility 2026-02-14 19:13:09 +07:00
570d3d16dd web: Add readonly prop to basic and raw input components 2026-02-14 10:49:46 +07:00
08bdb983b6 web: Sync HTML lang attribute with active locale
All checks were successful
continuous-integration/drone/push Build is passing
2026-02-13 12:34:31 +07:00
e0d8526577 Add Altcha captcha provider support
Some checks are pending
continuous-integration/drone/push Build is running
2026-02-13 12:29:14 +07:00
0090054324 Add CAPTCHA support for login and registration
Integrates optional bot protection on the registration endpoint (always
required when a provider is configured) and the login endpoint (triggered
after N consecutive failures for the same IP or email address).

Supported providers: hCaptcha, reCAPTCHA v2, Cloudflare Turnstile.
2026-02-13 11:31:37 +07:00
f6f885f85f web: Replace page data flags with route ID checks for history/logs pages 2026-02-12 12:12:09 +07:00
b9e3f93533 chore(deps): lock file maintenance
All checks were successful
continuous-integration/drone/push Build is passing
2026-02-09 01:18:14 +00:00
6714a037a4 chore(deps): lock file maintenance
All checks were successful
continuous-integration/drone/push Build is passing
2026-02-02 01:17:50 +00:00
7d37367394 Fix API route documentation
All checks were successful
continuous-integration/drone/push Build is passing
2026-01-28 22:24:53 +08:00
dc06c8becc web: Fix provider filtering on home page
All checks were successful
continuous-integration/drone/push Build is passing
2026-01-26 12:34:55 +08:00
31f5c52fc4 web: Add custom title to all pages 2026-01-26 12:34:55 +08:00
30a3f7ec3e Add zone diff summary endpoint for efficient diff count retrieval 2026-01-26 12:34:55 +08:00
d392a4e5af web: Migrate frontend to openapi-ts code generation
Replace manual API client code with automated generation using @hey-api/openapi-ts.
2026-01-26 12:34:55 +08:00
0a0f71cf1c web-admin: Implement users actions 2026-01-26 12:34:55 +08:00
5896fe899c Generate admin API 2026-01-26 12:34:55 +08:00
0d4348fc3b Create admin interface base 2026-01-26 12:34:55 +08:00
bc0ff97ce2 web: Don't show TTL or Class if using default TTL or undefined class 2026-01-26 12:34:55 +08:00
7127282607 web: Format file 2026-01-26 12:34:55 +08:00
9f2094db03 ui: Use main tag 2026-01-26 12:34:55 +08:00
9f25df945a chore(deps): lock file maintenance
All checks were successful
continuous-integration/drone/push Build is passing
2026-01-26 01:17:51 +00:00
4e4e3e0ca7 chore(deps): lock file maintenance
All checks were successful
continuous-integration/drone/push Build is passing
2026-01-19 01:17:48 +00:00
612b756114 ui: Improve vertical alignment of home page card headers
All checks were successful
continuous-integration/drone/push Build is passing
2026-01-14 17:41:45 +08:00
bfafaf88c5 ui: Translate and titlelize page title 2026-01-14 17:37:18 +08:00
3bada097a7 ui: Modernize aspects of the resolver page 2026-01-14 17:34:15 +08:00
a20f52f0a7 ui: Modernize aspects of providers page 2026-01-14 17:34:05 +08:00
aea880f054 ui: Don't display full email on small screen 2026-01-14 17:17:56 +08:00
e17649d5f2 ui: Modernize aspects of settings page 2026-01-14 17:17:55 +08:00
0f98d998a3 ui: Refactor service filtering logic and add keyboard navigation 2026-01-14 15:56:47 +08:00
e7bb727b01 ui: Refactor service specs store to use explicit loading state
Replace null-check pattern with dedicated servicesSpecsLoaded boolean flag.
Add servicesSpecsError for error tracking and servicesSpecsList derived store.
Update all components to check loading state instead of null values.
2026-01-14 15:39:47 +08:00