Commit Graph
2 Commits
Author SHA1 Message Date
kevinveenbirkenbachandClaude Opus 5 636caf7fab refactor(utils): stop parse_trace from doing its work on import
The script read sys.argv[1] and opened a zip at module level, so importing
it ran it. autodoc imports to document, was handed sphinx's own '-b' as the
path, and died with FileNotFoundError.

It now has main() behind the __main__ guard and holds the archive in a with
block. The URL scan appeared twice verbatim, once per trace member, and is
one function called in a loop.

That also drops a bug of the original: its 'if len(seen) >= 50: break' sat
outside the membership check, so a duplicate hit ended the scan early.

Invocation is unchanged; a missing argument now prints the usage and exits 2
instead of raising IndexError.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-25 19:36:01 +02:00
kevinveenbirkenbachandClaude Opus 4.7 4dcb1e866e feat(web-app-jitsi): add Jitsi Meet role with oauth2-proxy + LDAP variants
Adds the four-container Jitsi Meet stack (web, prosody, jicofo, jvb) with a
3-variant matrix: V1 oauth2-proxy gate + Keycloak LDAP federation, V2
no-auth anonymous, V3 direct prosody mod_auth_ldap2 against svc-db-openldap.

Auth model is oauth2-proxy at the reverse proxy because Jitsi has no
native OIDC adapter — JWT-via-Keycloak would require a custom token
server outside this repo. The role injects a fixed-position
`[data-injected-logout]` button via templates/javascript.js.j2 so the
no-built-in-logout React SPA satisfies the persona contract's
no-direct-URL logout rule. V2/V3 declare PERSONA_BIBER_BLOCKED /
PERSONA_ADMINISTRATOR_BLOCKED because the shared persona helpers only
model the OIDC redirect chain.

Final FULL-matrix `mode=reinstall full_cycle=true` run green across all
three variants (V1: 6/6 pass, V2/V3: 2 pass + 4 blocked skips).

Also lands utils/parse_trace.py — a small zipfile helper used during
the iteration to extract URL traces from playwright .trace bundles.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 12:20:11 +02:00