I started out at v3.15 and have upgraded successfully to 3.17. When upgrading to 3.18, I have run into two issues.
First :
I was using a 3rd party menu called matrix3b, it is located a c:\sbbs\text\menu\matrix3b\, there are three files in that folder, matrix3b.ans, lamer.asc matrix3b.bin, and sysop.doc, the matrix3b.bin file move to the c:\sbbs\exec directory. All files still exists in the same folders, after the upgrade. After copying over all the files from the sbup318b folder to their corresponding folders in c:\sbbs, I ran jsexec update from the EXEC folder. When i attempt to login, i get a file can not find on the telnet client and on the Syncrhonet Control panel I see in the terminal services panel :
3/28 09:54:30p Node 1 09:54p Sun Mar 28 2021 Node 1
3/28 09:54:30p Node 1 Telnet ******************************
3/28 09:54:31p Node 1 received CTerm version report: 1.312
3/28 09:54:31p Node 1 terminal type: 80x24 syncterm
3/28 09:54:31p Node 1 !Error 2 (No such file or directory) opening: \matrix3b\lamer.asc
The file lamer.asc is in the folder : C:\SBBS\text\menu\matrix3b\. Do the files for matrix3b need to be located somewhere else ?
Second:
While I was on v3.17 I enabled the webv4 in sbbs.ini, and was able to verify that it was working by going to localhost on the computer where sbbs was running, I also verifyed that I could get to it from a comptuer in the same subnet. There only modification was to the modpots.ini file in c:\sbbs\ctrl. Once I upgrade to v3.18, I now get
I do get the top line (I guess that would be the header ?) but I get this on the page :
!JavaScript c:\sbbs\webv4\lib/pages.js line 189: TypeError: page is undefined
The file lamer.asc is in the folder : C:\SBBS\text\menu\matrix3b\. Do the files for matrix3b need to be located somewhere else ?
Sounds like the script (matrix3b.src) is doing something unexpected. If you don't already have the source, you could use 'unbaja' to recreate it.
I am looking at the decompiled version of the matrix3b.bin
Looks like it doing this :
CLS
CMD_HOME
COMPARE_USER_MISC 2
IF_TRUE
PRINT "\e[H"
ELSE
GOTO label_0c76
END_IF
going to :label_0c76
Which is giving me the scree below.
:label_0c76
CLS
MENU "\\matrix3b\\lamer"
removed the "\\" recompiled with baja, logged on and it showed the default login menu, and had the error :
3/29 03:29:56a Node 1 !ERROR 2 (No such file or directory) (WinError 0) in exec.cpp line 816 (sbbs_t::exec_bin) checking length "c:\sbbs\EXEC\MATRIX3B.BIN" access=0
I think I have narrowed it down, but not sure how to correct the behaviour so that it works like it did in 3.15 to 3.17
There are two menu's matrix3b.ans and lamer.asc.
CMD_HOME
COMPARE_USER_MISC 2 <- this compare ?????
IF_TRUE
PRINT "\e[H" <- prints blank line ? if COMPARE_USER_MISC 2 is true
ELSE
GOTO label_0c76 <- goes to this label and uses MENU "\\matrix3b\\LAMER.ASC"
END_IF
MENU "matrix3b\\matrix3b" <- use this menu after the PRINT
matrix3b\MATRIX3B.ANS <- ANSI Menu ?
matrix3b\LAMER.ASC <- ASCII Menu ?
Does this COMPARE_USER_MISC 2 determine if you can display ANSI / ASCII ? I remember reading somewhere that there is a hierarchy of which to use, is that configurable ?
I recompiled it again, after remove the "\\" and am getting 5KB, same size as the original.
This time the MATRIX3b menu shows up.
As I said, there are two menus, the LAMER.ASC and the MATRIX3B.ANS, with the LAMER.ASC menu, there are Letters next to each function i.e. [L]ogon , while with the MATRIX3B.ANS menu, you can use the arrow keys to get to the functions. Before the update, I was seeing the MATRIX3B menu, and use the keyboard arrow keys to navigate around the menu functions,
Now that its working I am seeing the LAMER.ASC menu, and use keyboard letter L to logon.
How do I change the order to which file type it looks for ? or is that hard coded ?
While I was on v3.17 I enabled the webv4 in sbbs.ini, and was able to verify that it was working by going to localhost on the computer where sbbs was running, I also verifyed that I could get to it from a comptuer in the same subnet. There only modification was to the modpots.ini file in c:\sbbs\ctrl. Once I upgrade to v3.18, I now get
I do get the top line (I guess that would be the header ?) but I get this on the page :
On 3/28/2021 7:28 PM, JohnBWilloughby wrote:I have the webv4 working now. I can login, use dark mode etc. the fix was the guest in the sbbs database was all lower case, when I changed it to Guest, everything started working :)
Try deleting *.xjs.ssjs (these are "built" xjs files, removing them will
be recreated with the updated version.
--
I have been having one problem, thought your fix might work. but so far no joy. As I was saying the new web interface is working, for Guest, sysop, and normal user, with the exception of the "Files" menu, all other Menu Items work, but when you click on the File, you get just a blank page in
Re: Re: 3.17 to 3.18 upgrade
By: JohnBWilloughby to Tracker1 on Tue Apr 06 2021 08:23:00
When you update your BBS, are you updating everything, or cherrypicking certain files? I suspect this might be related to a change that was made to webv4/lib/files.js which depends on a recent copy of exec/load/filebase.js.
When you update your BBS, are you updating everything, or cherrypicking certain files? I suspect this might be related to a >change that was made to webv4/lib/files.js which depends on a recent copy of exec/load/filebase.js.
so if webv4/lib/files.js is newer than exec/load/filease.js that would cause the Files issue ? Could the webv4 files being newer that the others also be related to the Who's online not showing anything ?
There are no customization that I have made to the webv4 directory, so I could remove (i.e. rename) and copy the webv4 from the incremental update to 3.18 and see what that does.
The Who's Online is still not working :(
Yes, and yes. Both of these features rely on things from exec/load/ which may be different or nonexistent on an earlier release.
Basically it's best not to think of webv4 as a separate or self-contained project. At any time, an update to webv4 may rely on recent updates to other parts of the BBS, or a change to some other part of the BBS may necessitate an update to webv4 to avoid problems.
In all likelihood that will work better than using the current state of webv4 with an older Synchronet release.Yes its working much much better.
In what sense?
By default Who's Online won't show up in your sidebar if nobody's online, or if the only people online are in quiet/invisible mode. You can force it to always show up by setting this in ctrl/modopts.ini -> [web]:
active_node_list = false
There's a similar setting for the "System Information" sidebar menu, which will show all of the stats even if some of them are unflattering:
hide_empty_stats = false
Most if not all settings are described here:
http://wiki.synchro.net/config:webv4
active_node_list = false
I had it set to true, changed it to false, still not showing anyone online. I have two test account logged in at the moment, one via telnet,
Re: Re: 3.17 to 3.18 upgrade
By: JohnBWilloughby to echicken on Tue Apr 06 2021 14:11:33
Is it not showing anyone online, but showing a list of nodes, or is Who's Online just not appearing whatsoever?
I can't imagine why it would be broken, but there may be something in your log to indicate an error.
You could also delete any .web files from your data/user/ directory, which would log anyone out of the website who's currently logged in, but *might* help with this (though probably not, it's just a guess).
--- Synchronet 3.19a-Win32 NewsLink 1.113
---
echicken
electronic chicken bbs - bbs.electronicchicken.com
---
â– Synchronet â– electronic chicken bbs - bbs.electronicchicken.com
Good to know, so when you update the webv4, will the update coniside with an update to SBBS ?
When i go to http://tfbbs.d2g.com ( without logging in and a guest), on the sidebar under Who's Online, No users are shown. (Although they are shown under Recent Visitors). When I logon as myself or a test account,
There's something wrong with your webv4/root/api/events.ssjs, but I can't be sure what. I just made a change to that file, but I am not sure that it will help.
There's something wrong with your webv4/root/api/events.ssjs, but I
can't be sure what. I just made a change to that file, but I am not
sure that it will help.
When I am on the computer that SBBS is installed on and open web browser, and go to http://localhost, I see what I expcect to see. I think login, and everything is working, even the blue bubbles under mail, letting me know I have new mail.
The difference between http://localhost and http://tfbbs.d2g.com, well tfbbs.d2g.com is going thru a apache proxy / reverse proxy, the site
Is there any special settings that need to be set if using a proxy ?
Re: Re: 3.17 to 3.18 upgrade
By: JohnBWilloughby to echicken on Thu Apr 08 2021 07:20:29
Just so I know what stage we're at, do you now have the latest version of this file?
How about Who's Online - does that work as well?
If Who's Online works when you view http://localhost, then it indicates that your reverse proxy is interfering with webv4's HTTP EventSource. It's possible that the latest version of events.ssjs will resolve this. It's possible that you need to change a setting in Apache.
Maybe. It'll depend on whether anything's still not working after an update.--- Synchronet 3.19a-Win32 NewsLink 1.113
---
echicken
electronic chicken bbs - bbs.electronicchicken.com
---
â– Synchronet â– electronic chicken bbs - bbs.electronicchicken.com
Re: Re: 3.17 to 3.18 upgrade
By: JohnBWilloughby to echicken on Thu Apr 08 2021 07:20:29
Just so I know what stage we're at, do you now have the latest version of this file?
Re: Re: 3.17 to 3.18 upgrade
By: JohnBWilloughby to echicken on Thu Apr 08 2021 07:20:29
Just so I know what stage we're at, do you now have the latest version of this file?
The file I have is dated 9/7/2020.
Where can I get a recet copy of the events.ssjs ? Can I grab it from GIT ?
The file I have is dated 9/7/2020.
so I am not sure what setting would need to be changed in Apache. Will have to do some research.
Re: Re: 3.17 to 3.18 upgradeWhen I say I went to GIT and replaced the file. What I mean is that I went to GIT, downloaded the new file. Renamed the original file from events.ssjs to events.ssjs.OLD, then copied in the new file from downloads. If the new file downloaded from GIT does not work, then i will delete it and revert the .OLD file back.
By: JohnBWilloughby to echicken on Thu Apr 08 2021 09:02 am
hey. word from the wise here.
always backup before upgrading or making changes.
---
Re: Re: 3.17 to 3.18 upgrade
By: JohnBWilloughby to echicken on Thu Apr 08 2021 09:02:58
Yes, the newest version is in git.
I changed webv4/root/api/events.ssjs yesterday, so your copy is out of date.
If updating events.ssjs doesn't help (it might), you'll need to find out what needs to be done to allow Server-Sent Events through an Apache reverse proxy.
Something about your Apache setup is altering the Content-Type response header when the client requests this file; it's meant to be "text/event-stream" but is instead being sent as "text/html". I have no real experience using Apache as a reverse proxy, so I can't say more than that.hmmm.. I wonder if I need to add a text/event-stream in the Apache config.. I will look around.
Something about your Apache setup is altering the Content-Type response header when the client requests this file; it's meant to be "text/event-stream" but is instead being sent as "text/html". I have no real experience using Apache as a reverse proxy, so I can't say more than that.for the content-type text/event-stream what would be the extension of the file be ? ssjs or xjs or htm or html ?
for the content-type text/event-stream what would be the extension of the file be ? ssjs or xjs or htm or html ?
I can add text/event-stream to Apache mime type and see if that makes a different, but just wondering what the file extension would be
The ideal thing would be to find a way to tell Apache *not* to alter/replace the Content-Type response header that's already been set by the downstream server.
Well I was doing some reading, and something like
ProxyPreserveHost On
might help. I might try to add that one setting in the apache conf file
Re: Re: 3.17 to 3.18 upgrade
By: JohnBWilloughby to echicken on Fri Apr 09 2021 00:04:05
That is unlikely to help. As I understand it, that directive tells Apache to leave the request's Host header unmodified instead of replacing it with whatever the hostname of the server is that it's proxying to. This should have no impact on the Content-Type response header.
Possible solutions I saw in a quick search:
You may need to ensure that you have trailing slashes on the URLs in your ProxyPass and ProxyPassReverse directives.
You could set DefaultType to None somewhere in your Apache config, but it sounds like this no longer works.
You could add these to your config and see if it helps:
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
You could add these to your config and see if it helps:
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
Sysop: | Chris Crash |
---|---|
Location: | Huntington Beach, CA. |
Users: | 578 |
Nodes: | 8 (0 / 8) |
Uptime: | 30:23:57 |
Calls: | 10,736 |
Calls today: | 1 |
Files: | 5 |
Messages: | 443,217 |
Posted today: | 1 |