Skip to content
Snippets Groups Projects
  1. Dec 17, 2022
  2. Dec 14, 2022
  3. Dec 13, 2022
  4. Dec 12, 2022
  5. Dec 05, 2022
    • Rob Swindell's avatar
      Include blank lines in messages edited with internal editor · a3d7cf5d
      Rob Swindell authored
      Needed a version of strListSplit() that doesn't treat consecutive delimiters (e.g. "\r\n\r\n") as a single delimiter: so introducing strListDivide(). Like strListSplit(), strListDivide() modifies the input string (replacing first occurrences of delimiter with NUL).
      
      Since we don't want "\r\n" to be counted as 2 lines, we need to just split/divide on '\n' and then truncate any line endings (i.e. '\r') chars off the ends of the split strings.
      
      Reported by phigan in #synchronet
      a3d7cf5d
    • Rob Swindell's avatar
      Include blank lines in messages edited with internal editor · 0e30b9f6
      Rob Swindell authored
      Needed a version of strListSplit() that doesn't treat consecutive delimiters (e.g. "\r\n\r\n") as a single delimiter: so introducing strListDivide(). Like strListSplit(), strListDivide() modifies the input string (replacing first occurrences of delimiter with NUL).
      
      Since we don't want "\r\n" to be counted as 2 lines, we need to just split/divide on '\n' and then truncate any line endings (i.e. '\r') chars off the ends of the split strings.
      
      Reported by phigan in #synchronet
      0e30b9f6
    • Rob Swindell's avatar
      Remove the commented-out code · eded40f1
      Rob Swindell authored
      eded40f1
    • Rob Swindell's avatar
      Add startup_t set_state callback support · ad4af220
      Rob Swindell authored
      Replaces the status(), started() and terminated() callbacks, in this case.
      
      set_state() is called from a single thread (unlike status() was), so no mutex should be needed here.
      
      Don't do the cursor dance. We have multiple servers, so reflecting their state in the cursor is not really accurate.
      
      I'll clean-up the commented-out code after some more testing.
      ad4af220
    • Rob Swindell's avatar
      a345dbfa
    • Rob Swindell's avatar
      Add support for systemd system state notifications · 7e320d92
      Rob Swindell authored
      When the systemd dev package (e.g. libsystemd-dev) is installed, we can use
      sd_notify() to inform systemd of Synchronet server state/status. The state
      values (READY, STOPPING, RELOADING) are "well known" while the status
      value is a free-form text string (the last lputs output).
      
      Eliminated the free-form status() callback from *startup_t.
      Eliminated the now-redundant started() callback from *startup_t.
      
      Eliminated the use of sbbs_status.c/h as nothing is using that interface
      and while I do plan on using a remote control/monitor interface, I'm
      considering use of a standard pub/sub lib and protocol.
      
      This commit is going to break the Windows sbbsctrl build for sure.
      Probably break the sbbsNTsvcs build.
      7e320d92
  6. Dec 03, 2022
    • Rob Swindell's avatar
      Add output line pacing support (delay before sending LF) · 1166d9ff
      Rob Swindell authored
      New LINEDELAY and LINEDELAY:n @-codes
      Another way to pace the terminal output of long display (e.g. ANSI) files. LINEDELAY enables a 1/10th of a second delay before the sending of all LF chars. LINEDELAY:n sets the line_delay duration explicitly to a value in 1/100ths of a second units. So LINEDELAY and LINEDELAY:10 are equivalent. LINEDELAY:0 turns line-pacing off. The original line pacing value is always restored after a printfile/putmsg operation.
      
      New JS console.line_delay property (milliseconds) to control via JS. Setting this to a really high value would be bad. Some range enforcement should be added to this and many other console control values (TODO).
      1166d9ff
  7. Dec 02, 2022
  8. Nov 30, 2022
    • Rob Swindell's avatar
      Filter messages in qwk_voting->qwk_vote() · 1749d3ff
      Rob Swindell authored
      No longer applying QWK filters to incoming netmail messages since we would need different criteria for netmail filtering (e.g. don't apply the twitlist.cfg). And I'm not clear that we actually need netmail filtering.
      
      Disable the importing of "remaining" 
      VOTING.DAT sections (polls, votes) since this should no longer be necessary for backwards compatibility and appears to the source of errors like:
      qwk.cpp line 1141 (qwk_vote) writing "/sbbs/data/subs/sync_sys" access=-105 info=smb_addpollclosure thread_back field missing
      
      qwk_vote() takes a msg_filters argument, so we'd have to pass that to qwk_handle_remaining_votes() and frankly, it just shouldn't be needed any more, so disabling and logging a warning if there are any "remaining QWK voting.dat sections" after parsing QWK/REP packet (which consumes the sections from the parsed VOTING.DAT file).
      1749d3ff
  9. Nov 29, 2022
  10. Nov 28, 2022
    • Rob Swindell's avatar
      Revert "Check socket writability in JS Socket.send()" · dacaf1f1
      Rob Swindell authored
      This reverts commit 2cddddce.
      
      This change was "wrong-headed" per Deuce and broke JS sends on
      blocking sockets. Thanks for the help.
      
      This fix for inifinite-wait on send() likely led to the infinite
      BinkIT errors/log messages that led to commit b795cf6a.
      
      The real fix for this problem (which can block all other timed
      events from running), would be a Socket.poll() on the socket before
      send in binkp.js.
      dacaf1f1
  11. Nov 27, 2022
  12. Nov 22, 2022
  13. Nov 20, 2022
  14. Nov 19, 2022
  15. Nov 17, 2022
Loading