Skip to content

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.


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.

  1. Uncomment the feedback item in your login matrix menu’s VM1 items list. It is shipped commented out, next to forgot pass, with the matching submit action already in place:

    {
    text: feedback
    data: feedback
    }
  2. Check your theme has the art. luciano_blocktronics ships both files; a theme of your own needs them:

    • msg_op_feedback_header with ET1 (From — editable), ET2 (To — locked), ET3 (Subject — editable), and optional TL4 (error message). The body, footer and help art reuse the standard MSGBODY, MSGEFTR, MSGEMFT, MSGEHLP files.
    • PREAFNRPLY for the “cannot reply” notice shown to the sysop. That menu returns to the previous one after 3 seconds.
  3. Add a preAuthFeedback theme block if your theme is not luciano_blocktronics, matching the MCI widths and body MT1 height — copy from privateMailMenuCreateMessage.

./oputil.js config validate will tell you if any of this does not line up.


SpecDescriptionKey MCI
msg_op_feedback_headerHeader form — From (editable), To (locked), Subject (editable), optional errorET1 (from), ET2 (to), ET3 (subject), TL4 (error)
PREAFNRPLYNotice shown when sysop attempts to reply to a ghost-sender messagenone required

KeyDefaultDescription
sysopUserNameSysopDisplay name shown in the locked To field
defaultFromName""Seed value for the editable From field
defaultSubjectFeedback to SysopPre-populated Subject (user may edit)
noReplyGhostSenderMenupreAuthFeedbackNoReplyMenu shown when sysop attempts to reply

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 }
}
}
}

  • Sysop Chat — two-way split-screen chat and paging for authenticated users.