dbe5339eeb
Add plugin interface: api routes and frontend to manage user plugins
2026-02-13 12:38:10 +07:00
b4bac7e7ec
web-admin: Implement plugins interface with option editor
2026-02-13 12:38:10 +07:00
08bdb983b6
web: Sync HTML lang attribute with active locale
continuous-integration/drone/push Build is passing
2026-02-13 12:34:31 +07:00
e0d8526577
Add Altcha captcha provider support
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
continuous-integration/drone/push Build is passing
2026-02-09 01:18:14 +00:00
6714a037a4
chore(deps): lock file maintenance
continuous-integration/drone/push Build is passing
2026-02-02 01:17:50 +00:00
7d37367394
Fix API route documentation
continuous-integration/drone/push Build is passing
2026-01-28 22:24:53 +08:00
dc06c8becc
web: Fix provider filtering on home page
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
continuous-integration/drone/push Build is passing
2026-01-26 01:17:51 +00:00
4e4e3e0ca7
chore(deps): lock file maintenance
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
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
702ff07118
ui: FilterDomainInput can send to domain page on Return press
2026-01-14 15:35:08 +08:00
e8e2f2de0b
ui: Improve domain settings dropdown
...
Fixes: https://github.com/happyDomain/happydomain/issues/43
2026-01-13 21:12:00 +07:00
dc880d31a8
Handle CAA issuevmc, contactemail and contactphone
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2026-01-12 15:46:41 +07:00
2c22292141
Refactor ServiceEditor to use dynamic imports
2026-01-12 15:46:41 +07:00
bd5c3d1361
Quote character-strings in frontend when necessary
2026-01-12 15:46:41 +07:00
7f2c86e042
chore(deps): lock file maintenance
continuous-integration/drone/push Build is passing
2026-01-12 05:17:23 +00:00
65c241ec1a
Fix API route to import zone and improve import modal
continuous-integration/drone/push Build is passing
2026-01-12 10:38:53 +07:00
f7cc234407
Don't display NO FIELD in production mode
2026-01-12 10:19:33 +07:00
0794192679
Update and migrate GSuite to store records instead of generating them
2026-01-12 10:19:33 +07:00
2d39de5eb9
Add service initialization endpoint with DNS type detection
...
Implement backend-driven service initialization to replace hazardous
frontend initialization logic. Services can now provide custom
initialization via ServiceInitializer interface or get sensible
defaults automatically.
2026-01-12 10:19:33 +07:00
7d8ab16b60
chore(deps): update dependency globals to v17
continuous-integration/drone/push Build is running
2026-01-10 04:06:21 +00:00
64f5266071
chore(deps): lock file maintenance
continuous-integration/drone/push Build is passing
2026-01-09 11:18:32 +00:00
8a5b6ee061
ui: Add service editors
continuous-integration/drone/push Build is passing
2026-01-09 15:01:51 +07:00
cb21aefebe
ui: New function to treat key/value Txt records
2026-01-09 15:01:51 +07:00
bee1f9b616
ui: New function to convert text to rrtype
2026-01-09 15:01:51 +07:00
ae0f9018bb
Can add and update records in service
2026-01-09 15:01:51 +07:00
f5911cb256
Can delete a record in a service
2026-01-08 18:15:37 +07:00
9d5f23cef6
ui: Record modal adapt fields regarding selected rr type
2026-01-08 18:15:37 +07:00
f1f65a9b13
ui: Refactor components architecture
2026-01-08 18:15:37 +07:00
af34859fdf
ui: Extract DomainInput from NewSubdomainModal
2026-01-08 18:15:37 +07:00
fedd515b28
ui: In records view, display RecordModal instead of ServiceModal
2026-01-08 18:15:37 +07:00