• synchronet not implementing original quotes.txt format

    From Michael Long@VERT to GitLab issue in main/sbbs on Sat Nov 28 15: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 None
    3. 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 creation

    I don't fully understand it, but its here: https://github.com/wwivbbs/wwiv/blob/main/common/quote.cpp

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Michael Long@VERT to GitLab issue in main/sbbs on Sat Nov 28 16: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 None
    3. 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 creation

    I don't fully understand it, but its here: https://github.com/wwivbbs/wwiv/blob/main/common/quote.cpp

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Michael Long@VERT to GitLab issue in main/sbbs on Sat Nov 28 16: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 None
    3. 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 creation

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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Sat Nov 28 21: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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Michael Long@VERT to GitLab note in main/sbbs on Sat Nov 28 22: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.4

    It appears it expects what is being done in WWIV 4.21a

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Michael Long@VERT to GitLab note in main/sbbs on Sat Nov 28 22: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)

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Sat Nov 28 22: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.21a

    shrugs.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Michael Long@VERT to GitLab note in main/sbbs on Sat Nov 28 22: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 lines

    Inside the editor type /QUOTE

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Sat Nov 28 22: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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Fri Apr 15 23:39:35 2022
    https://gitlab.synchro.net/main/sbbs/-/issues/188#note_2558

    Fixed 7 months ago.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab issue in main/sbbs on Fri Apr 15 23:39:35 2022
    close https://gitlab.synchro.net/main/sbbs/-/issues/188

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net