• synchronet not implementing original quotes.txt format

    From Michael Long@1:103/705 to GitLab issue in main/sbbs on Sat Nov 28 07:58:31 2020
    open https://gitlab.synchro.net/main/sbbs/-/issues/188

    It appears the original WWIV 4.21 wrote 2 metadata lines to the top of quotes.txt. Synchronet does not do this. When you use the original wwivedit (and most likely bredit) with quotes.txt support, it ignores the first two lines of quotes.txt.**Reproduce: **1. Setup WWIVEdit (http://wiki.synchro.net/howto:editor:wwivedit). 2. In SCFG, Set Automatically Quoted Text to None3. in config/default.def, set QUOTER: [2]4. Reply to a message. See that the first 2 lines are ignored.**Evidence**wwiv 5.0 whatsnew.txt<code>* QBBS Editors should now mostly work as expected, we strip the colors out of the messages, and the header lines that go into QUOTES.TXT since only wwiv editors care about that metadata.</code>wwiv 5.0 brware/bredit/quote.cpp<code> if (strchr(QuoteFile.GetLine(0)->Text, '#')!=NULL) { // Quote file contains author info QuoteFile.RemoveLine(0); QuoteFile.RemoveLine(0); }</code>wwiv 5.0 bbs/external_edit_qbbs.cpp<code> const auto qfn = FilePath(tmpdir, QUOTES_TXT); if (!File::Exists(qfn)) { return false; } // Copy quotes.txt to MSGTMP if it exists TextFile in(qfn, "rt"); if (!in) { return false; } File out(FilePath(tmpdir, MSGTMP)); if (!out.Open(File::modeBinary | File::modeReadWrite | File::modeCreateFile | File::modeTruncate)) { return false; } const auto lines = in.ReadFileIntoVector(); int num_to_skip = 2; for (const auto& l : lines) { if (!l.empty()) { if (l.front() == CD) { continue; } if (num_to_skip-- > 0) { continue; } } out.Writeln(stripcolors(l)); } return true;</code>wwiv 5.0 quotes.txt creationI don't fully understand it, but its here: https://github.com/wwivbbs/wwiv/blob/main/common/quote.cpp
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Michael Long@1:103/705 to GitLab issue in main/sbbs on Sat Nov 28 08:00:27 2020
    update https://gitlab.synchro.net/main/sbbs/-/issues/188

    It appears the original WWIV 4.21 wrote 2 metadata lines to the top of quotes.txt. Synchronet does not do this. When you use the original wwivedit (and most likely bredit) with quotes.txt support, it ignores the first two lines of quotes.txt.## Reproduce:1. Setup WWIVEdit (http://wiki.synchro.net/howto:editor:wwivedit). 2. In SCFG, Set Automatically Quoted Text to None3. in config/default.def, set QUOTER: [2]4. Reply to a message. See that the first 2 lines are ignored.## Evidence### wwiv 5.0 whatsnew.txt<code>* QBBS Editors should now mostly work as expected, we strip the colors out of the messages, and the header lines that go into QUOTES.TXT since only wwiv editors care about that metadata.</code>### wwiv 5.0 brware/bredit/quote.cpp<code> if (strchr(QuoteFile.GetLine(0)->Text, '#')!=NULL) { // Quote file contains author info QuoteFile.RemoveLine(0); QuoteFile.RemoveLine(0); }</code>### wwiv 5.0 bbs/external_edit_qbbs.cpp<code> const auto qfn = FilePath(tmpdir, QUOTES_TXT); if (!File::Exists(qfn)) { return false; } // Copy quotes.txt to MSGTMP if it exists TextFile in(qfn, "rt"); if (!in) { return false; } File out(FilePath(tmpdir, MSGTMP)); if (!out.Open(File::modeBinary | File::modeReadWrite | File::modeCreateFile | File::modeTruncate)) { return false; } const auto lines = in.ReadFileIntoVector(); int num_to_skip = 2; for (const auto& l : lines) { if (!l.empty()) { if (l.front() == CD) { continue; } if (num_to_skip-- > 0) { continue; } } out.Writeln(stripcolors(l)); } return true;</code>### wwiv 5.0 quotes.txt creationI don't fully understand it, but its here: https://github.com/wwivbbs/wwiv/blob/main/common/quote.cpp
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Michael Long@1:103/705 to GitLab issue in main/sbbs on Sat Nov 28 08:21:53 2020
    update https://gitlab.synchro.net/main/sbbs/-/issues/188

    It appears the original WWIV 4.21 wrote 2 metadata lines to the top of quotes.txt. Synchronet does not do this. When you use the original wwivedit (and most likely bredit) with quotes.txt support, it ignores the first two lines of quotes.txt.## Reproduce:1. Setup WWIVEdit (http://wiki.synchro.net/howto:editor:wwivedit). 2. In SCFG, Set Automatically Quoted Text to None3. in config/default.def, set QUOTER: [2]4. Reply to a message. See that the first 2 lines are ignored.## Evidence### wwiv 5.0 whatsnew.txt<code>* QBBS Editors should now mostly work as expected, we strip the colors out of the messages, and the header lines that go into QUOTES.TXT since only wwiv editors care about that metadata.</code>### wwiv 5.0 brware/bredit/quote.cpp<code> if (strchr(QuoteFile.GetLine(0)->Text, '#')!=NULL) { // Quote file contains author info QuoteFile.RemoveLine(0); QuoteFile.RemoveLine(0); }</code>### wwiv 5.0 bbs/external_edit_qbbs.cpp<code> const auto qfn = FilePath(tmpdir, QUOTES_TXT); if (!File::Exists(qfn)) { return false; } // Copy quotes.txt to MSGTMP if it exists TextFile in(qfn, "rt"); if (!in) { return false; } File out(FilePath(tmpdir, MSGTMP)); if (!out.Open(File::modeBinary | File::modeReadWrite | File::modeCreateFile | File::modeTruncate)) { return false; } const auto lines = in.ReadFileIntoVector(); int num_to_skip = 2; for (const auto& l : lines) { if (!l.empty()) { if (l.front() == CD) { continue; } if (num_to_skip-- > 0) { continue; } } out.Writeln(stripcolors(l)); } return true;</code>### wwiv 5.0 quotes.txt creationI don't fully understand it, but its here: https://github.com/wwivbbs/wwiv/blob/main/common/quote.cpp### wwivedit wequote.pas (you can see the src here: https://github.com/MarkHofmann11/WWIVEdit or in deuce's file http://doors.bbsdev.net/wedit.tgz)<code>PROCEDURE SkipHeader(VAR t:text);BEGIN readln(t); readln(t);END;</code><code>PROCEDURE QuoteLines(VAR Infile,Outfile:text; RangeLo,RangeHi:integer; prefix:string);VAR Line : Integer; s : string;BEGIN rewrite(OutFile); reset(infile); SkipHeader(infile); Line:=1; WHILE NOT EOF(infile) DO...</quote>
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Sat Nov 28 13:03:52 2020
    https://gitlab.synchro.net/main/sbbs/-/issues/188#note_982

    I'm with ya in that I don't really understand https://github.com/wwivbbs/wwiv/blob/main/common/quote.cpp either. I don't see where it's writing 2 lines to the beginning of the quotes.txt.The to_quote_date_line() seems to be writing a line that contains some text and a date/time, but that's just a single line.Some of what you pasted above indicates the first line would contain a '#' (likely for user number), if it was in this format. So I'm guessing the first line of metadata is a to or from user name and number (e.g. "Digital Man #1").In any case, it would not be too difficult to have Synchronet generate a quotes.txt file with 2 extra lines at the top, under specific configurations (a new toggle option for external editors).However I have some WWIV editors installed on Vertrauen to test and:FEdit v2.00.7ß works fine the Synchronet-generated quotes.txt.As does BREdit v1.0 Build(#1).The version of WWIVedit I have installed is WWIVEdit Version 2.5B and it does not appear to support quoting at all.So I'm not sure when WWIV started adding meta data to quotes.txt or if that would even work with the versions of FEdit/BRedit I have.WWIV v4.10 (the latest of WWIV v4 source I have on hand) did not apparently write to quotes.txt.
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Michael Long@1:103/705 to GitLab note in main/sbbs on Sat Nov 28 14:02:48 2020
    https://gitlab.synchro.net/main/sbbs/-/issues/188#note_985

    So I have WWIVEdit 2.5 which was the last one made AFAIK. It says quoter was added to WWIVEdit in version 2.4It appears it expects what is being done in WWIV 4.21a
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Michael Long@1:103/705 to GitLab note in main/sbbs on Sat Nov 28 14:06:03 2020
    https://gitlab.synchro.net/main/sbbs/-/issues/188#note_986

    Here is the text from config.doc:``` QUOTER: [0] Specified that No quoter, or an unsupported quoter is installed. [1] Specifies that Gooes's QUOTE 3.01 or later is installed. This setting enables the command /QUOTE in WWIVEdit [2] Specifies WWIV 4.21a's QUOTES.TXT```And from the readme:``` Version 2.4 (Beta version) ----------- - Numerous little/big bugs fixed - Added a quoter - Added a cursor toggle for insert/overwrite mode - Insert File now behaves a little differently (gives you a list of files) - More memory efficient -- Now will allocate up to 64K of EMS if available.```So it sounds like the version you have installed is fine, you just need to set QUOTER: [2] in the default.def (and make sure to remove the cached default.set)
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Sat Nov 28 14:25:52 2020
    https://gitlab.synchro.net/main/sbbs/-/issues/188#note_987

    I have this is the .def file I'm using with WWIVedit:QUOTER: [2] 0 = None, 1=Goose's Quote 3.01 or greater, 2=WWIV 4.21ashrugs.
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Michael Long@1:103/705 to GitLab note in main/sbbs on Sat Nov 28 14:27:18 2020
    https://gitlab.synchro.net/main/sbbs/-/issues/188#note_988

    So just to state obvious..Make sure you're replying to something longer than 2 linesInside the editor type /QUOTE
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Sat Nov 28 14:36:46 2020
    https://gitlab.synchro.net/main/sbbs/-/issues/188#note_989

    Ah yes, I see now. Even though the /QUOTE option did not appear in any of the help menus, it does work and it exposes the "off by 2" issue.
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)