- 22 Nov, 2016 1 commit
-
-
rswindell authored
"name" argument to a char* correctly.
-
- 21 Nov, 2016 4 commits
-
-
rswindell authored
New MsgBase header propeties: - total_votes (total number of votes this msg or poll has received) - tally[], an array of 16 numbers indicating the total votes for each poll answer in the case of a normal message, tally[0] is the same as upvotes and tally[1] is the same as downvotes. This should complete what echicken needs to display polls and voting results in his web UI.
-
rswindell authored
get_all_msg_headers). Added new method: get_user_votes(msg number, user name or alias) The user name or alias must match the posting configuration on the local system (i.e. if set for real names, pass the user's real name instead of alias). This function returns 0 for no votes on the reference message, 1 for an up-vote, 2 for a down-vote or in the case of a poll-response, a bit-field of votes.
-
rswindell authored
On polls, this is the maximum number of votes per ballot in response to this poll (0 is the same as 1). On ballots, this is the bit-field of votes submitted by the user (e.g. bit 0 set is a vote for answer 1, bit 1 for answer 2, etc.). For normal messages, this field has no current use.
-
rswindell authored
-
- 19 Nov, 2016 1 commit
-
-
rswindell authored
-
- 16 Nov, 2016 1 commit
-
-
rswindell authored
add_poll() method now sets the when_written/imported time stamps and zones as needed and configured.
-
- 15 Nov, 2016 1 commit
-
-
rswindell authored
-
- 13 Nov, 2016 2 commits
-
-
rswindell authored
(new header properties: upvotes and downvotes), regardless of the "include_votes" argument value (default: false). get_all_msg_headers() reads the entire index already, so there's really no performance penalty unless there are actual votes (and even then, very low). The MsgBase.get_msg_header() function will *not* return these vote totals since that would incur a pretty substatial performance hit on that function.
-
rswindell authored
(like save_msg), except you only need a few properties, in order of importarnce: attr: you need to have this set to MSG_UPVOTE, MSG_DOWNVOTE, or MSG_VOTE thread_back or reply_id: either of these must be set to indicate msg to vote on from: name of voter from_net_type and from_net_addr: if applicable
-
- 12 Nov, 2016 1 commit
-
-
rswindell authored
- get_msg_index() - get_msg_header() - get_all_msg_headers() these functions all accept a new (optonal, last) bool argument "include_votes" which defaults to false. So if for some reason, you want to load votes, just pass an additional 'true' argument. ToDo: polls and vote tallying. At least for now, existing JS stuff that uses the MsgBase object won't get messed up by the new voting messages.
-
- 03 Dec, 2015 1 commit
-
-
rswindell authored
MsgBase.save_msg() method. The bug was that it was forcing the idx.to value to 0 which would only work (in theory) for mail going to a QWKnet hub. Now, save_msg() will check the 'to_net_addr' property of the header object (or recipient objects) and actually verify that it/they are routeable QWKnet address(es) and throw an exception if not. If the first hop is a QWKnet node, sets the to_ext (and thus, idx.to value) to the account number of the node. This also looks up full-routes via the route.dat and replaces the to_net_addr value with the full route if necessary. I guess nobody (including me) tried sending QWKnet netmail via JS before.
-
- 26 Nov, 2015 1 commit
-
-
rswindell authored
MsgBase.get_msg_body() method: added an additional boolean argument (following the 'include_tails' argument), which defaults to false (disabled). Pass true for this argument to enable this feature. Yes, JS-authors could do this parsing easily via JS, but I figure so long as this feature is in the SMBLIB, might as well expose it to JS for consistency (e.g. in 3rd party message reader mods).
-
- 23 Nov, 2015 2 commits
- 28 Oct, 2015 1 commit
-
-
rswindell authored
-
- 29 Jul, 2015 1 commit
-
-
deuce authored
if one isn't specified. For backward compatability with versions before 3.16c, this argument should still be provided.
-
- 08 Nov, 2014 1 commit
-
-
deuce authored
The get of thread_orig would succeed, leaving val as undefined so the get of thread_back would never occur. Testing *after* this for null or undefined would result in thread_back never being set in the parsed header.
-
- 06 Apr, 2014 1 commit
-
-
rswindell authored
variable (with various race conditions). This resolves a long LONG standing bug that caused crashes when shutting down or recycling servers/services while one or more servers/services were in use. This change requires every thread which calls into libjs to have its own JS runtime.
-
- 05 Oct, 2013 1 commit
-
-
deuce authored
-
- 01 Oct, 2013 2 commits
- 30 Sep, 2013 1 commit
-
-
deuce authored
-
- 08 Feb, 2013 3 commits
- 07 Mar, 2012 1 commit
-
-
rswindell authored
of the first message in the thread, or 0 if unknown (e.g. legacy message). When a new message is created, the thread_id value of the message being replied-to will be used, else if the new msg is not a reply, then the new message's number will be the value used for the thread_id. This "thread-id" feature (Deuce's idea) allows threads with a common parent to remain logically grouped after the original messages in the thread have been purged (though the original hiearchy will start to be lost).
-
- 12 Nov, 2011 1 commit
-
-
deuce authored
NULL because the get function is called on the prototype which isn't constructed (via the constructor).
-
- 09 Nov, 2011 4 commits
-
-
deuce authored
-
rswindell authored
-
deuce authored
client can read the associated message. Should make moderation/view own deleted/etc handing way easier for JS developers.
-
deuce authored
MsgBase.get_msg_tail() which will optimize the get to avoid re-reading the headers. When this is specified, the message number or id is not required (but specifying it won't hurt anything and will allow backward compatibility). I'm not sure I need to lock the header here, but I think I might (if nothing else, to ensure the message still exists).
-
- 02 Nov, 2011 1 commit
-
-
rswindell authored
to expose via JS: sender_userid, sender_server, and sender_time.
-
- 29 Oct, 2011 1 commit
-
-
deuce authored
resolve callbacks.
-
- 27 Oct, 2011 2 commits
- 26 Oct, 2011 2 commits
-
-
deuce authored
functions when an excpetion is pending. Some work still needs to be done on js_msgbase.c, js_user.c, and mailsrvr.c
-
deuce authored
Perviously, if the argument to a number of bbs.* functions was not a valid number, Synchronet would silently ignore the parameter and treat it as though it was not specified. The new behaviour was to use the value as a number. However, the old code caused the exception triggered by an inability to convert the number to be pending until after the return (the JS_Native didn't return JS_FALSE) so a try/catch block aorund it would not catch the exception. The new new behaviour is to throw the exception immediately so it can be caught and handled correctly.
-
- 19 Oct, 2011 1 commit
-
-
deuce authored
-
- 16 Oct, 2011 1 commit
-
-
rswindell authored
-