1. 09 Aug, 2022 1 commit
  2. 05 Aug, 2022 1 commit
  3. 23 Jul, 2022 1 commit
  4. 17 Jul, 2022 1 commit
    • Rob Swindell's avatar
      Don't treat Enter as choosing default section when no prompt was shown · 8651f2af
      Rob Swindell authored
      As pointed out via DOVE-Net by DesotoFireflite (VALHALLA):
      When xtrn_sec.* display file/menu is used, there's no auto-generated
      prompt (with a default section number indicated). So hitting Enter
      in this case and having the previous/default program section selected
      would be surprising behavior to a user. So, only support a default
      section selection when there was no xtrn_sec.* menu/display file.
  5. 15 Jul, 2022 1 commit
  6. 14 Jul, 2022 1 commit
  7. 07 Jul, 2022 1 commit
  8. 06 Jul, 2022 3 commits
  9. 04 Jul, 2022 2 commits
    • Eric Oulashin's avatar
    • Rob Swindell's avatar
      Use Synchronet's built-in mouse tracking support · 8da60139
      Rob Swindell authored
      Synchronet uses "extended normal" mouse reporting for mouse support
      (e.g. menu/display file clickable "hot spots"). Many of the JS scripts
      that predated Synchronet's own internal mouse support would send their
      own mouse-reporting enablement and disablement ANSI sequences and the
      terminal could become out of sync with the expectations of the script
      (i.e. it would not necessarily disable the mouse modes that had been
      set by SBBS before enabling its own preferred mode).
      And some scripts (e.g. Synchronet Minesweeper) use a mixture of Synchronet
      hotspot support and direct mouse click coordinate reporting, so it was a
      mess going between different mouse reporting modes at different times in the
      same script.
      This all came to light as a result of the fix for issue #412: using mouse
      button releases rather than presses to trigger a hotspot.
      So mouse_getkey() now has as a separate "release" property it sets in the
      return value. Right now its always the opposite of "press", but I can imagine
      some mouse tracking modes where movement might be reported with neither a
      button press nor release event.
      Anyway, Nelgin, give this a try and see if it resolves the issues you were
      reporting in IRC with avatar chooser mouse support.
  10. 03 Jul, 2022 1 commit
    • Rob Swindell's avatar
      Add a carriage-return to the mouse hotspot value when needed · 0021b378
      Rob Swindell authored
      For program listings, if the program number is fewer digits than the total
      program list count (number of digits), then a carriage return is required
      to launch that program. Automate this for the mouse hotspot value, so clicking
      Program #1 in a list of 10+ will just run that program and not require the
      user to hit the Enter key.
  11. 26 Jun, 2022 4 commits
  12. 25 Jun, 2022 4 commits
  13. 24 Jun, 2022 1 commit
    • Rob Swindell's avatar
      Respond with redir when directory requests are received without trailing slash · 187f8f8a
      Rob Swindell authored
      HTTP Directory requests without a trailing slash would "work" (the directory
      listing would be sent), but the links to files, since they're relative to the
      current request location, would be incorrect (missing the directory's virtual
      subdir). So send a 301 response if a client requets a directory without a
      trailing slash.
  14. 21 Jun, 2022 1 commit
  15. 17 Jun, 2022 1 commit
  16. 14 Jun, 2022 1 commit
  17. 09 Jun, 2022 1 commit
  18. 01 Jun, 2022 1 commit
  19. 31 May, 2022 1 commit
  20. 19 May, 2022 1 commit
    • Rob Swindell's avatar
      Fix loop limit (system.stats.total_users != system.lastuser) · ddd4d10b
      Rob Swindell authored
      When looping to highest user number, use system.lastuser, not
      This explains why not all userbases would be affected by the just-fixed
      issue in js_user.c. If the total_users happens to equal lastuser, then
      you would have hit the issue in js_user.c. If you had at least one
      deleted or inactive user account, then system.stats.total_users would
      be less than system.lastuser and your system would *not* have triggered
      that bug.
  21. 26 Apr, 2022 1 commit
  22. 16 Apr, 2022 2 commits
  23. 09 Apr, 2022 4 commits
    • Rob Swindell's avatar
      Fix long-standing issue with external program name display · 82b3374f
      Rob Swindell authored
      Especially for Guest (G-Exempt) accounts which support multiple
      concurrent logons - the 'curxtrn' value stored in the user's record
      may not match the external program that was actually last executed
      on the node in question, so use the .aux property value (from
      node.dab) as is done in the C++ code (e.g. printnodedat()). This insures
      that the node_status() output here matches the C/C++ code output
      (e.g. when logging on the terminal server).
      Still support the 'code-based' external program name look-up since
      that usage is relied upon by other modules, but when a number is
      passed, use the number to find the right external progarm name
      (and we need to subtract one, since aux is a 1-based number).
      I've looked at this problem a couple of times before and not sure why
      I didn't see the solution. <shrug>
    • Deucе's avatar
    • Rob Swindell's avatar
      Fix TypeError: args[1].toUpperCase is not a function · 0ed2c512
      Rob Swindell authored
      Issue #389 reported by Keyop:
      srvc 0324 IMAPS <Keyop> !JavaScript  /sbbs/exec/imapservice.js line 653:
      TypeError: args[1].toUpperCase is not a function
      I'm not sure how you reproduce this error or what type args[1] is
      (apparently, not a string), but this fix it regardless. Please let me
    • Rob Swindell's avatar
      Fix the graphic(BIN)->ANSI->HTML translation issue reported by Keyop · 49bae37e
      Rob Swindell authored
      Broken in commit ce01d8a7.
      F*ck the English language.
  24. 04 Apr, 2022 1 commit
  25. 03 Apr, 2022 2 commits
  26. 01 Apr, 2022 1 commit
    • Rob Swindell's avatar
      My initial/simple/ugly dynamic web file index generator · be0a37c8
      Rob Swindell authored
      Configured in sbbs.ini [web] by setting:
       FileVpathPrefix = /files/
       FileIndexScript = webfileindex.ssjs
      And optionally (if you want your vhosts to get filebase access):
       FileVPathForVHosts = true
      You can use an .xjs file if you prefer.