Commit graph

1,804 commits

Author SHA1 Message Date
e8af55a989 web: display onboarding form on home page with ?onboarding 2026-03-06 14:43:09 +07:00
03be1f7348 web: replace domains home page with an interactive table 2026-03-06 14:43:09 +07:00
0677b82dfc web: relook provider edit page and add provider sidebar 2026-03-06 14:43:09 +07:00
5f6b9a22b9 web: sync home filter state with URL query params 2026-03-06 14:43:02 +07:00
2e7713fec0 web: Format files and remove unused dependencies 2026-03-06 12:44:15 +07:00
827a92e77e web: replace providers list with an interactive table
Replace the ListGroup-based provider list with a Bootstrap Table on the
providers page. Rows are clickable to edit, the domain count links to
the domains page pre-filtered by provider, and action buttons handle
propagation correctly.
2026-03-06 12:44:15 +07:00
6a00090d0c web: replace providers/new page with NewProvider modal
Replace the dedicated provider type selection page with a modal,
using a module-level controller pattern. The /providers/new route
now redirects to /providers?newProvider, which auto-opens the modal.
2026-03-06 12:44:15 +07:00
6360938660 README: Include Matrix badge 2026-03-06 12:44:15 +07:00
77f9dde4bf web: add PageTitle component and apply it across all pages
Introduces a reusable PageTitle component with a teal overline accent,
display-3 heading, optional monospace domain label, subtitle, and a
children slot for future domain health/check badges. Applied consistently
to the zone viewer, history, logs, export, import, resolver, providers,
account settings, and new-domain pages.
2026-03-06 12:44:15 +07:00
5ece0f15ca web: document all functions in dns.ts with JSDoc 2026-03-06 12:44:15 +07:00
ba29d13a17 web: add service details offcanvas with DNS records and actions
Introduce ServiceDetailsOffcanvas, an offcanvas panel that opens when
clicking a service card. It displays the service description, its DNS
records, and provides actions buttons.

Also remove raw DNS record from service form.
2026-03-06 12:44:15 +07:00
efebd7e4e2 web: add DNS syntax highlighting with highlight.js
Install highlight.js and apply DNS zone file syntax highlighting on the
export page and in the RecordText component. Uses the github theme and
imports only the dns language to keep the bundle small.
2026-03-05 16:25:44 +07:00
044c6da31a web: replace ModalViewZone with a dedicated export page
Convert the zone file viewer from a modal dialog to a dedicated page at
/domains/[dn]/export, following the same pattern used for service pages.
Adds a "Copy to clipboard" button in the page title bar and adds the
common.copy-clipboard translation key to all supported locales.
2026-03-05 16:25:44 +07:00
91c431f23c web: Improve abstract view 2026-03-05 16:25:44 +07:00
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
0782f99c19 docs: improve README with badges, ToC, contributing and license sections
All checks were successful
continuous-integration/drone/push Build is passing
2026-03-02 10:35:58 +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
ee0e22adf5 chore: apply Go naming conventions and minor code improvements 2026-03-01 17:38:12 +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
35843f740c chore: modernize Go idioms in config and forms packages 2026-03-01 17:38:01 +07:00
001b919870 fix: resolve go vet variable shadowing warnings 2026-03-01 17:37:59 +07:00
759fcf5cee chore: replace deprecated ioutil functions with io and os equivalents 2026-03-01 16:40:34 +07:00
15298c4101 chore: remove deprecated rand.Seed call and unused imports 2026-03-01 16:38:52 +07:00
28d90fd8d0 fix(deps): update module github.com/gin-gonic/gin to v1.12.0
All checks were successful
continuous-integration/drone/push Build is passing
2026-02-28 11:18:51 +00: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
323389d13a Bump dnscontrol to v4.35.0 + add MikroTik and UniFi providers, drop Hexonet 2026-02-25 22:18:32 +07:00
e90a561b4b Update go packages + bump dnscontrol to 4.34.0 2026-02-21 23:23:14 +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
c9552fa9b2 Remove UsecaseDependancies service locator pattern
All checks were successful
continuous-integration/drone/push Build is passing
Replace the UsecaseDependancies interface with plain Dependencies structs
defined locally in each route package. DeclareRoutes acts as the sole
composition root where use cases are resolved; sub-route functions and
controllers receive only the specific interfaces they need.
2026-02-14 10:49:46 +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
b4ea8a87dd Improve insights reliability and safety 2026-02-13 09:03:16 +07:00