Pre-Auth Feedback
The pre_auth_feedback module lets unauthenticated visitors send a private message to the sysop before logging in — directly from the login matrix. This is distinct from page_sysop, which requires an authenticated user.
The sender types a free-text name in the From field. It is stored as-is and never resolved to a user account, so a malicious visitor cannot impersonate an existing user. The To field is locked to the sysop. The full FSE editor is used for composition.
Because the sender has no account, replies to these messages are blocked: attempting to reply from the inbox shows the preAuthFeedbackNoReply notice and returns to the inbox rather than opening a compose screen that would silently discard the mail.
Enabling the Feature
Section titled “Enabling the Feature”The preAuthFeedback and preAuthFeedbackNoReply menus ship in the menu templates, so a configuration generated by oputil.js config new already has them. The feature is off only because nothing routes to it yet.
-
Uncomment the
feedbackitem in your loginmatrixmenu’sVM1items list. It is shipped commented out, next toforgot pass, with the matching submit action already in place:{text: feedbackdata: feedback} -
Check your theme has the art.
luciano_blocktronicsships both files; a theme of your own needs them:msg_op_feedback_headerwithET1(From — editable),ET2(To — locked),ET3(Subject — editable), and optionalTL4(error message). The body, footer and help art reuse the standardMSGBODY,MSGEFTR,MSGEMFT,MSGEHLPfiles.PREAFNRPLYfor the “cannot reply” notice shown to the sysop. That menu returns to the previous one after 3 seconds.
-
Add a
preAuthFeedbacktheme block if your theme is notluciano_blocktronics, matching the MCI widths and bodyMT1height — copy fromprivateMailMenuCreateMessage.
./oputil.js config validate will tell you if any of this does not line up.
Art Files
Section titled “Art Files”| Spec | Description | Key MCI |
|---|---|---|
msg_op_feedback_header | Header form — From (editable), To (locked), Subject (editable), optional error | ET1 (from), ET2 (to), ET3 (subject), TL4 (error) |
PREAFNRPLY | Notice shown when sysop attempts to reply to a ghost-sender message | none required |
preAuthFeedback Menu Config Keys
Section titled “preAuthFeedback Menu Config Keys”| Key | Default | Description |
|---|---|---|
sysopUserName | Sysop | Display name shown in the locked To field |
defaultFromName | "" | Seed value for the editable From field |
defaultSubject | Feedback to Sysop | Pre-populated Subject (user may edit) |
noReplyGhostSenderMenu | preAuthFeedbackNoReply | Menu shown when sysop attempts to reply |
Theming
Section titled “Theming”Add a preAuthFeedback block to your theme.hjson, matching the MCI view widths from your art file and the body MT1 height:
preAuthFeedback: { 0: { mci: { ET1: { width: 19, textOverflow: "..." } ET2: { width: 19, textOverflow: "..." } ET3: { width: 19, textOverflow: "..." } } } 1: { mci: { MT1: { height: 14 } } }}See Also
Section titled “See Also”- Sysop Chat — two-way split-screen chat and paging for authenticated users.