Files
proxy/docs
wmantly 1c7ad9aaae Fix DuckDNS domains field colliding with DnsProvider's own relation (#127)
Reported error when adding a DuckDNS provider:

  TypeError: this.domains.map is not a function
    at Proxy.updateDomains (models/dns_provider.js:185:37)

DnsProvider.__intraModel merges `{...DnsProvider._keyMap,
...Provider._keyMap}`, so a provider-defined field with the same name
as one of DnsProvider's own (created_by, updated_by, name,
dnsProvider, domains, id) silently overwrites it. DuckDNS defined a
`domains` field (the operator-supplied comma-separated subdomain
list), which replaced DnsProvider's `domains` relation (rel: 'many' to
Domain, populated by updateDomains()) — so `this.domains` stopped
being the array relation and became DuckDNS's raw string instead.

Rename the field to `subdomains` throughout (model, docs, tests). Add
a comment on __intraModel documenting the collision risk for future
providers, and a regression test asserting no registered provider's
_keyMap redefines one of DnsProvider's reserved field names.
2026-07-14 01:24:53 -04:00
..
2025-12-31 16:51:27 -05:00

Documentation

This directory contains the GitHub Pages documentation site for the Proxy project.

Live site: https://theta42.github.io/proxy/

Pages

  • index.md - Home page with project overview
  • installation.md - Installation and setup guide
  • api.md - Complete API reference
  • architecture.md - System architecture and design
  • contributing.md - Development and contribution guide

Local Preview

To preview the site locally:

# Install Jekyll (one-time setup)
gem install jekyll bundler

# Run local server
cd docs
jekyll serve

# View at http://localhost:4000/proxy/

Theme

The site uses the Cayman theme (jekyll-theme-cayman). Configuration is in _config.yml.

Updating Documentation

  1. Edit markdown files in this directory
  2. Commit and push to master branch
  3. GitHub Pages automatically rebuilds (may take 1-2 minutes)
  4. Changes visible at https://theta42.github.io/proxy/