Synchronet issueshttps://gitlab.synchro.net/main/sbbs/-/issues2023-09-23T21:06:00Zhttps://gitlab.synchro.net/main/sbbs/-/issues/643system.temp_path doesn't return override directory2023-09-23T21:06:00ZNigel Reedsystem.temp_path doesn't return override directoryAccording to the wiki
~~~
TempDirectory
Default: ctrl/../temp
Override the default system “temp” directory (optional). If you do override this, do NOT use the system-wide temp dir (e.g.: /tmp or windows\temp),
~~~
In sbbs.ini I have
...According to the wiki
~~~
TempDirectory
Default: ctrl/../temp
Override the default system “temp” directory (optional). If you do override this, do NOT use the system-wide temp dir (e.g.: /tmp or windows\temp),
~~~
In sbbs.ini I have
~~~
# grep TempDirectory /sbbs/ctrl/sbbs.ini
TempDirectory = /sbbs/tmp/
~~~
However:
~~~
Time Used: 0:14:26 -> Main Menu -> ;
eval system.temp_path
Result (string): /tmp/
~~~
I feel this should return /sbbs/tmp since that is where I want sbbs to write temporary files. There seems no other way to access this TempDirectory assigned path.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/641umonitor for linux uses more than expected CPU2023-09-21T00:23:32ZKeyop Troyumonitor for linux uses more than expected CPUSeeing this in top on Magnum:
1735357 sbbs 20 0 99900 7072 1748 S 13.2 0.1 431:53.04 umonitor
So on my BBS, thats 13.2% of an Intel(R) Xeon(R) D-2141I CPU @ 2.20GHz
And on EOTL:
2303058 bbs 20 0 305076 17228...Seeing this in top on Magnum:
1735357 sbbs 20 0 99900 7072 1748 S 13.2 0.1 431:53.04 umonitor
So on my BBS, thats 13.2% of an Intel(R) Xeon(R) D-2141I CPU @ 2.20GHz
And on EOTL:
2303058 bbs 20 0 305076 17228 4184 S 17.3 0.4 0:04.06 umonitor
Should umonitor be using so much CPU?
Is there an opportunity to optimise umonitor when its just sat in monitor mode (default start up)?Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/639Stop logon programs showing in xtrn menus2023-09-20T19:33:28ZNigel ReedStop logon programs showing in xtrn menusI don't like the fact that programs that run during logon have to be in an xtrn menu, for example, for bullseye to run during logon, it must be in one of the online program menus.
Also, the sysop doesn't seem to have any control over t...I don't like the fact that programs that run during logon have to be in an xtrn menu, for example, for bullseye to run during logon, it must be in one of the online program menus.
Also, the sysop doesn't seem to have any control over the order these programs are executed.
Maybe add a new scfg section for "logon/logoff programs" that are only to be run at those times, allow the user to specify the order in which they run, access levels, and the like, but keep them separate from the xtrn programs.https://gitlab.synchro.net/main/sbbs/-/issues/637uselect in js returns 0 for 1 or cr2024-03-22T07:20:23ZNigel Reeduselect in js returns 0 for 1 or crAs per irc, please change the way uselect returns for numbers vs return.As per irc, please change the way uselect returns for numbers vs return.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/636ddfilearea chooser2023-10-09T19:55:21ZNigel Reedddfilearea chooserWhen I go to "J" to jump to new area
Select Fidonet
/NODELIST
to search for areas containing NODELIST
I get a list of 7 groups, however there is no navigation bar so I cannot select any of them.
This may (or may not) have to do with usi...When I go to "J" to jump to new area
Select Fidonet
/NODELIST
to search for areas containing NODELIST
I get a list of 7 groups, however there is no navigation bar so I cannot select any of them.
This may (or may not) have to do with using a : in the name to create levels.
if I go to CSCN and then do
/NODELIST
is shows my 4 groups whether it contains NODELIST or not.Eric OulashinEric Oulashinhttps://gitlab.synchro.net/main/sbbs/-/issues/635Using ddfilelister.js as loadable module with default.js command shell: When ...2023-09-17T01:39:33ZEric OulashinUsing ddfilelister.js as loadable module with default.js command shell: When quitting out of ddfilelister, the message "Empty directory." is shownIf ddfilelister.js is set up as a loadable module, then when doing a file list, when the user presses Q to quit out of ddfilelister, the message "Empty directory." is displayed. That appears to be one of the strings in text.dat, and ddf...If ddfilelister.js is set up as a loadable module, then when doing a file list, when the user presses Q to quit out of ddfilelister, the message "Empty directory." is displayed. That appears to be one of the strings in text.dat, and ddfilelister does not contain that string, nor does ddfilelister reference that string from text.dat.
This does not happen when using my own custom JS command shell. In my command shell, to list files, I'm calling bbs.list_files();
Output when quitting ddfilelister in this case (pressing Q to quit, or arrowing over to the Quit option and pressing enter):
~~~
░▒▓███████████████▌Info▐▌View▐▌Batch▐▌DL▐▌Move▐▌DEL▐▌?▐▌Quit▐██████████████▓▒░
Empty directory.
[Hit a key]
~~~
ddfilelister can be set up as a loadable module in SCFG:
~~~
Scan Dirs ../xtrn/ddfilelister/ddfilelister.js
List Files ../xtrn/ddfilelister/ddfilelister.js
~~~
I'm not sure I have enough information to know why this is happening. In default.js, line 247 seems to be what evaluates the JS (which in this case initiates the file list), and the "Empty directory" message appears after the command is evaluated:
~~~
if(menu_cmd.eval)
eval(menu_cmd.eval);
~~~
- "Empty Directory." message appears here, after ddfilelister runs and the user quits out of it
The JS comes from the file_menu object, and on line 124, it defines this for L:
~~~
'L': { eval: 'shell.list_files()' },
~~~Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/634Make new @code values available to user.2023-09-15T20:33:08ZNigel ReedMake new @code values available to user.In reference to 629 which created various @-codes, namely:
TERMTYPE
TERMCOLS
TERMROWS
SHELL
EDITOR
PROTNAME
Since the processing for these is already done, it should be easy to expose these to jsexec ? Again, it would mean not having t...In reference to 629 which created various @-codes, namely:
TERMTYPE
TERMCOLS
TERMROWS
SHELL
EDITOR
PROTNAME
Since the processing for these is already done, it should be easy to expose these to jsexec ? Again, it would mean not having to write routines for what already exists.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/633DD: Doesn't seem to be marking read mail as read2023-10-18T01:46:59ZNigel ReedDD: Doesn't seem to be marking read mail as readIn DDMsgReader I select an email and read it. All good.
I quit then go into view Unread messages and the message I read is showing.
I'm using this as my menu option.
~~~
case 'U': // Read your un-read mail
...In DDMsgReader I select an email and read it. All good.
I quit then go into view Unread messages and the message I read is showing.
I'm using this as my menu option.
~~~
case 'U': // Read your un-read mail
bbs.read_mail(MAIL_YOUR, user.number, LM_UNREAD|LM_REVERSE);
~~~
Let me know if I shoudl be calling it with a different set of parameters.Eric OulashinEric Oulashinhttps://gitlab.synchro.net/main/sbbs/-/issues/632DD: search personal email2023-10-18T01:44:40ZNigel ReedDD: search personal emailJust a niggly cosmetic thing.
![image](/uploads/a3b53eff01105509574be1c8c683e146/image.png)
The hit a key should be on the next line after aborted.
Also, when I hit a key, it tells me to hit a key again.
![image](/uploads/ec54409f9ab...Just a niggly cosmetic thing.
![image](/uploads/a3b53eff01105509574be1c8c683e146/image.png)
The hit a key should be on the next line after aborted.
Also, when I hit a key, it tells me to hit a key again.
![image](/uploads/ec54409f9abf74643c704c7461e93273/image.png)Eric OulashinEric Oulashinhttps://gitlab.synchro.net/main/sbbs/-/issues/631CTRL C in bbs.select_editor() returns "None"2024-03-22T07:20:23ZNigel ReedCTRL C in bbs.select_editor() returns "None"select_editor works in direct contast to how select_shell works.
If you're in the editor selector and press CTRL-C to abort, it returns as if you had not selected an edit (I guess returns 0) therefore the editor shows up as "None".
I b...select_editor works in direct contast to how select_shell works.
If you're in the editor selector and press CTRL-C to abort, it returns as if you had not selected an edit (I guess returns 0) therefore the editor shows up as "None".
I believe the correct result would be to return the current shell and only have "None" if the user should select no external editor.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/630core in term2024-03-22T07:20:23ZNigel Reedcore in termUnfortunately, this happened 3 days ago and couldn't tell you what I was trying to do at the time, if anything.
~~~
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1"....Unfortunately, this happened 3 days ago and couldn't tell you what I was trying to do at the time, if anything.
~~~
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
--Type <RET> for more, q to quit, c to continue without paging--c
Core was generated by `/sbbs/exec/sbbs d'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 getnextevent (cfg=0x7f9577b58bc8, event=0x7f94ffbfd3b0) at data.cpp:153
153 if(!cfg->event[i]->node || cfg->event[i]->node>cfg->sys_nodes
[Current thread is 1 (Thread 0x7f94ffbff640 (LWP 1531491))]
(gdb) bt
#0 getnextevent (cfg=0x7f9577b58bc8, event=0x7f94ffbfd3b0) at data.cpp:153
#1 0x00007f958c837076 in sbbs_t::gettimeleft (this=0x7f9577b58800, handle_out_of_time=true) at data.cpp:190
#2 0x00007f958c861e5f in sbbs_t::getkey (this=0x7f9577b58800, mode=1) at getkey.cpp:110
#3 0x00007f958c845fe1 in sbbs_t::exec (this=0x7f9577b58800, csi=0x7f9577b6aad8) at exec.cpp:1855
#4 0x00007f958c96193c in node_thread (arg=0x7f9577b58800) at main.cpp:4305
#5 0x00007f958c4b9b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#6 0x00007f958c54ba00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
~~~Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/629Please add @-codes for the following2024-03-22T07:20:23ZNigel ReedPlease add @-codes for the followingFully formed name of the user's current command shell
Fully formed name of the user's chosen external editor, or None if there is none
The users chosen qwk tmp/archive type
Expert mode on/off (USER_EXPERT)
Screen pause on/off (USER_PAUSE...Fully formed name of the user's current command shell
Fully formed name of the user's chosen external editor, or None if there is none
The users chosen qwk tmp/archive type
Expert mode on/off (USER_EXPERT)
Screen pause on/off (USER_PAUSE)
Hotkeys on/off (USER_COLDKEYS)
Cursor spinning on/off/at pause only (USER_SPIN and USER_NOPAUSESPIN)
Clear screen on/off (USER_CLRSCRN)
New file ask on/off (USER_ASK_NSCAN)
Ask for unread scan on/off (USER_ASK_UNREAD)
Auto new file scan on/off (USER_ANFSCAN)
Remember subboard on/off (USER_CURSUB)
Batch download on/off (USER_BATCHFLAG)
Forward email on/off (USER_NETMAIL)
Quiet mode on/off (USER_QUIET)
Fully formed default download protocol
Auto hangup after transfer on/of (USER_AUTOHANG)
Fully formatted terminal line that includes mouse, color, petscii or and whatever as, as displayed in default_settings. If not, then I can still construct it but I'd need something to indicate if the terminal settings were auto or not and to determine if mouse and color are enabled, I guess.
I think that's all. If there's anything else, feel free to add it.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/627"Possible crash" reported in crash.log after built in Sunday 5am maintenance ...2024-03-01T01:09:51ZKeyop Troy"Possible crash" reported in crash.log after built in Sunday 5am maintenance timed eventI'm seeing this in my data/crash.log on a Sunday after the 5am maint window:
L! 06:36 Sun Sep 10 2023 End of preexisting log entry (possible crash on Sun Sep 10 06:36:47 2023)
I usually leave myself logged in overnight, and every Su...I'm seeing this in my data/crash.log on a Sunday after the 5am maint window:
L! 06:36 Sun Sep 10 2023 End of preexisting log entry (possible crash on Sun Sep 10 06:36:47 2023)
I usually leave myself logged in overnight, and every Sunday afternoon when I check the BBS, I am always logged off - which is the expected behaviour. Question is - why does this result in an entry in crash.log?
Nelgin is also seeing this in his crash.log file about the same time:
L! 06:32 Sun Sep 10 2023 End of preexisting log entry (possible crash on Sun Sep 10 06:32:35 2023)Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/626If someone hasn't logged in yet, bbs.select_editor(); shows "!ERROR writing u...2024-03-22T07:20:15ZEric OulashinIf someone hasn't logged in yet, bbs.select_editor(); shows "!ERROR writing user.tab" (the selected editor is used, however)I'm using Synchronet 3.20 that was built with the latest updates as of yesterday.
In my login matrix, I have an option to allow emailing the sysop before the user has logged in. I tried using bbs.select_editor(); to allow the user to se...I'm using Synchronet 3.20 that was built with the latest updates as of yesterday.
In my login matrix, I have an option to allow emailing the sysop before the user has logged in. I tried using bbs.select_editor(); to allow the user to select a message editor before emailing the sysop. It works in that the selected editor is used, but after the user selects the editor, it shows a message saying there was an error writing user.tab. If a user has not logged in yet, I don't think it needs to update user.tab.
~~~
Select External Editor:
1: SlyEdit (Ice style)
2: SlyEdit (DCT style)
3: SlyEdit (Random style)
4: FSEditor
5: DCT Edit
6: SyncEdit
7: YAREdit
8: Pico (Pine Composer)
Which, Quit or [1]: 1
!ERROR writing user.tab
The sysop has been notified.
~~~Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/625Possibly change behaviour of mqtt topic sbbs/+/host/+/server/+/log/+2023-09-10T23:54:59ZRick ParrishPossibly change behaviour of mqtt topic sbbs/+/host/+/server/+/log/+When the web monitor loads up, the last event of each level for each service gets displayed on the various panels. For the most part that's not a big deal, but a few days ago I had a critical error occur, so seeing that every time I loa...When the web monitor loads up, the last event of each level for each service gets displayed on the various panels. For the most part that's not a big deal, but a few days ago I had a critical error occur, so seeing that every time I load the monitor is a little off-putting, especially since it's shown with the time the message was received (ie right now) instead of the time the error occurred the other day.
I'm wondering if it makes sense to either:
- Don't publish to the log topics with the persist flag, so then when web monitor loads up it'll have a clean slate (like when you load sbbsctrl in NT service mode, and all the panels start blank)
- Include a timestamp when publishing to the log topics, so then web monitor can display the correct time for the old events
If you don't think either option makes sense, or would cause problems for how people are already using mqtt, then I can always make a change on the subscriber side instead of needing one of the above changes on the publisher side (ie ignore the first second's worth of log messages, or don't output a timestamp for the first second's worth of log messages)
Tagging @nelgin too since he's the mqtt guy.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/623sendmsg.js - add local user's account name to sent message2024-03-22T07:20:15ZNigel Reedsendmsg.js - add local user's account name to sent messageWhen using sendmsg from the command line, a username isn't added so it would appear from no user at the given host.
Instant Message from @endofthelinebbs.com:
I'd rather see
Instant Message from **username**@endofthelinebbs.com:
...When using sendmsg from the command line, a username isn't added so it would appear from no user at the given host.
Instant Message from @endofthelinebbs.com:
I'd rather see
Instant Message from **username**@endofthelinebbs.com:
Then I'd know who to respond to rather than it coming in anonymously.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/622xtrn_sec.js could read the current external program configuration (from xtrn....2023-12-29T12:13:39ZRob Swindellxtrn_sec.js could read the current external program configuration (from xtrn.ini) upon invocation<nelgin> I still think it's time sbbs should be able to dynamically pick up new xtrn entries without having to logout and recycle. :smile:<nelgin> I still think it's time sbbs should be able to dynamically pick up new xtrn entries without having to logout and recycle. :smile:Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/issues/621compiler warnings2024-03-22T07:20:15ZNigel Reedcompiler warningsNew compiler warnings gcc version 11.4.0
~~~
Compiling scfgxfr1.c
scfgxfr1.c: In function ‘xfer_opts’:
scfgxfr1.c:412:88: warning: passing argument 1 of ‘new_item’ from incompatible pointer type [-Wincompatible-pointer-types]
412 | ...New compiler warnings gcc version 11.4.0
~~~
Compiling scfgxfr1.c
scfgxfr1.c: In function ‘xfer_opts’:
scfgxfr1.c:412:88: warning: passing argument 1 of ‘new_item’ from incompatible pointer type [-Wincompatible-pointer-types]
412 | if((cfg.fview = (fview_t**)new_item(cfg.fview, sizeof(fview_t), i, &cfg.total_fviews)) == NULL) {
| ~~~^~~~~~
| |
| fview_t **
In file included from scfgxfr1.c:20:
scfg.h:166:23: note: expected ‘void **’ but argument is of type ‘fview_t **’
166 | void** new_item(void* list[], size_t size, int index, int* total);
| ~~~~~~^~~~~~
scfgxfr1.c:544:88: warning: passing argument 1 of ‘new_item’ from incompatible pointer type [-Wincompatible-pointer-types]
544 | if((cfg.ftest = (ftest_t**)new_item(cfg.ftest, sizeof(ftest_t), i, &cfg.total_ftests)) == NULL) {
| ~~~^~~~~~
| |
| ftest_t **
In file included from scfgxfr1.c:20:
scfg.h:166:23: note: expected ‘void **’ but argument is of type ‘ftest_t **’
166 | void** new_item(void* list[], size_t size, int index, int* total);
| ~~~~~~^~~~~~
scfgxfr1.c:698:92: warning: passing argument 1 of ‘new_item’ from incompatible pointer type [-Wincompatible-pointer-types]
698 | if((cfg.dlevent = (dlevent_t**)new_item(cfg.dlevent, sizeof(dlevent_t), i, &cfg.total_dlevents)) == NULL) {
| ~~~^~~~~~~~
| |
| dlevent_t **
In file included from scfgxfr1.c:20:
scfg.h:166:23: note: expected ‘void **’ but argument is of type ‘dlevent_t **’
166 | void** new_item(void* list[], size_t size, int index, int* total);
| ~~~~~~^~~~~~
scfgxfr1.c:844:88: warning: passing argument 1 of ‘new_item’ from incompatible pointer type [-Wincompatible-pointer-types]
844 | if((cfg.fextr = (fextr_t**)new_item(cfg.fextr, sizeof(fextr_t), i, &cfg.total_fextrs)) == NULL) {
| ~~~^~~~~~
| |
| fextr_t **
In file included from scfgxfr1.c:20:
scfg.h:166:23: note: expected ‘void **’ but argument is of type ‘fextr_t **’
166 | void** new_item(void* list[], size_t size, int index, int* total);
| ~~~~~~^~~~~~
scfgxfr1.c:982:88: warning: passing argument 1 of ‘new_item’ from incompatible pointer type [-Wincompatible-pointer-types]
982 | if((cfg.fcomp = (fcomp_t**)new_item(cfg.fcomp, sizeof(fcomp_t), i, &cfg.total_fcomps)) == NULL) {
| ~~~^~~~~~
| |
| fcomp_t **
In file included from scfgxfr1.c:20:
scfg.h:166:23: note: expected ‘void **’ but argument is of type ‘fcomp_t **’
166 | void** new_item(void* list[], size_t size, int index, int* total);
| ~~~~~~^~~~~~
scfgxfr1.c:1124:86: warning: passing argument 1 of ‘new_item’ from incompatible pointer type [-Wincompatible-pointer-types]
1124 | if((cfg.prot = (prot_t**)new_item(cfg.prot, sizeof(prot_t), i, &cfg.total_prots)) == NULL) {
| ~~~^~~~~
| |
| prot_t **
In file included from scfgxfr1.c:20:
scfg.h:166:23: note: expected ‘void **’ but argument is of type ‘prot_t **’
166 | void** new_item(void* list[], size_t size, int index, int* total);
| ~~~~~~^~~~~~
~~~https://gitlab.synchro.net/main/sbbs/-/issues/620Allow sysop to save attachments to local system2023-09-07T00:17:24ZNigel ReedAllow sysop to save attachments to local systemI've just received a rather large attachment via email that needs to be on my BBS. It seems illogical to have to download it to my local PC and then re-upload it to the BBS server.
Please add an option to save attachment(s) to the local...I've just received a rather large attachment via email that needs to be on my BBS. It seems illogical to have to download it to my local PC and then re-upload it to the BBS server.
Please add an option to save attachment(s) to the local server.https://gitlab.synchro.net/main/sbbs/-/issues/617Either commit bc915fee or f9dd5f4f breaks ftelnet2023-09-09T17:32:31ZNigel ReedEither commit bc915fee or f9dd5f4f breaks ftelnetAfter updating I found out that ftelnet was no longer working from my website.
Logs contained
Wed Sep 6 10:13:19 2023 master/540f76d96 endofthelinebbs.com
srvc 0117 WSS SendToWebSocketClientVersion7 only sent undefined of 37 bytes
W...After updating I found out that ftelnet was no longer working from my website.
Logs contained
Wed Sep 6 10:13:19 2023 master/540f76d96 endofthelinebbs.com
srvc 0117 WSS SendToWebSocketClientVersion7 only sent undefined of 37 bytes
Wed Sep 6 10:13:24 2023 master/540f76d96 endofthelinebbs.com
srvc 0117 WSS SendToWebSocketClientVersion7 only sent undefined of 37 bytes
Wed Sep 6 10:14:12 2023 master/540f76d96 endofthelinebbs.com
srvc 0120 WSS SendToWebSocketClientVersion7 only sent undefined of 141 bytes
Wed Sep 6 10:20:25 2023 master/0324ddac5 endofthelinebbs.com
srvc 0100 WSS SendToWebSocketClientVersion7 only sent undefined of 26 bytes
I reverted to change f9dd5f4f and it's now working again.