Skip to content

Fix: 1.x config translation dropped the proprietary-filter keys - #32

Merged
bjfultn merged 1 commit into
developfrom
fix/compat-legacy-propfilter
Oct 6, 2026
Merged

bjfultn merged 1 commit into
developfrom
fix/compat-legacy-propfilter

Conversation

@bjfultn

@bjfultn bjfultn commented Oct 6, 2026

Copy link
Copy Markdown
Collaborator

Problem

When TAP.conf uses the 1.x layout, compat.translate_legacy (from #30) rewrites it into the 3.x layout. It copied only COOKIENAME, RACOL and DECCOL from [webserver] into the connection section.

The 1.x layout also keeps the proprietary-filter keys in [webserver]: PROPFILTER, ACCESS_TBL, USERS_TBL, FILEID and ACCESSID. 3.x reads those from the connection section, so the translation dropped them. configParam then saw no PROPFILTER, and the proprietary filter was silently off. Anonymous queries would return proprietary rows.

This affects any deployment that runs develop with a 1.x config that sets a proprietary filter. NEA's config has none of these keys, so NEA was unaffected. A KOA test deployment does have them; it hasn't served queries yet, for an unrelated reason.

Fix

Every [webserver] key that isn't a [WEB] key, DBMS or an ADQL_* key now goes to the connection section. Nothing in a 1.x config can be dropped, including keys added later. configParam ignores keys it doesn't read, so the extra keys are harmless.

Verification

  • New tests, both failing before the fix:
    • test_legacy_proprietary_filter_keys_are_kept: a 1.x config with all five keys produces the same configParam state as its 3.x equivalent, and propfilter is set.
    • test_every_legacy_webserver_key_is_kept: an unknown [webserver] key reaches the connection section.
  • Full suite: 111 passed, 2 skipped. ruff clean.
  • Checked against the real configs (password redacted, read locally):
    • The KOA 1.x config's five filter keys come out empty on develop and correctly set with this fix.
    • NEA's production 1.x config gives identical configParam values before and after.

🤖 Generated with Claude Code

translate_legacy copied only COOKIENAME, RACOL and DECCOL from
[webserver] to the connection section, so a 1.x config's PROPFILTER,
ACCESS_TBL, USERS_TBL, FILEID and ACCESSID were dropped and the
proprietary filter was silently off.  Every [webserver] key that is not
a [WEB] or ADQL_* key now goes to the connection section.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@bjfultn
bjfultn merged commit bc125fd into develop Oct 6, 2026
6 checks passed
@bjfultn
bjfultn deleted the fix/compat-legacy-propfilter branch October 6, 2026 20:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant