BBS:      TELESC.NET.BR
Assunto:  src/sbbs3/scfg/gen_option_index.py scfgindex.h
De:       Rob Swindell (on Debian Linux)
Data:     Sun, 24 May 2026 02:49:23 -0700
-----------------------------------------------------------
https://gitlab.synchro.net/main/sbbs/-/commit/807b7337725a5f9bb11ae23d
Modified Files:
	src/sbbs3/scfg/gen_option_index.py scfgindex.h
Log Message:
scfg: index helper-menu options under every caller's path

The Ctrl-F search index generator only attributed shared config helpers
(rate_limit_cfg, login_attempt_cfg, js_startup_cfg, edit_sys_timezone,
choose_io_method, dir_toggle_options, edit_fixed_event) to the single
alphabetically-first caller. Options reachable from multiple servers
were therefore missing from the search index for all but one server -
e.g. "Failed Login Threshold" only appeared under FTP Server even
though it exists under Global Settings, Terminal, Web, Mail, and
Services too.

Two fixes in gen_option_index.py:

1. Filter cfg_wizard out of the caller graph. It runs once at
   first-install, before main's Configure-menu loop, so its callees
   aren't reachable via Ctrl-F search. Indexing them produced bare
   path entries with no "Configure >" anchor AND stole attribution
   from sys_cfg (the real caller) via the alphabetical-first heuristic
   -- e.g. timezone choices were filed under "Non-U.S. Time Zone >
   Australian Central" instead of "System > Local Time Zone > ...".

2. Replace build_path's single-caller walk with build_paths, which
   DFS-enumerates every distinct caller chain from option_func up to
   main and returns one path per chain. The existing dedup-by-(label,
   menu, path) at the entries level collapses identical chains.

Regenerated index grows from 800 to 2077 entries. Audit (against the
parser's own option extraction plus an independent raw-source grep for
opt[] writes and string-array initializers) confirms every navigable
SCFG option reachable from main is indexed at least once.
n
---
  mSynchronetn  hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net

-----------------------------------------------------------
[Voltar]