MacZephyr 1.3.3 * By default, "Notify Eudora about e-mail" is now triggered by triplets, that is, class MAIL, any instance, and your username. In previous versions the trigger was . (You still need to subscribe to the mail triplet.) * You can edit the triplet "Notify Eudora about e-mail" uses by editing 'STR ' resources 1300, 1301, 1302 in the MacZephyr application file. * Limited support for random signatures. You need to have a file named "Random Signatures" in the same folder as MacZephyr. The file must contain a 'STR#' resource ID #128, a list of strings, one random signature per string. This file is only loaded when MacZephyr starts up, so you must quit and relaunch MacZephyr to enable it. If you have many signatures, you may need to increase MacZephyr's memory allocation. * If a Random Signatures file is present, there is a new checkbox in the Preferences dialog to enable/disable the use of random signatures. This takes effect immediately. This checkbox isn't shown if there is no Random Signatures file. * Macintosh carriage returns in signatures are now properly converted to Unix carriage returns when messages are sent. * Outgoing zephyr log properly displays carriage returns in signatures and strips formatting commands from signatures. * You can now send zephyrs to classes with spaces in their names. * Timeout when sending a zephyr has been reduced from 10 seconds to 4 seconds. MacZephyr tries to send a message 3 times, so this is now 3 x 4 seconds instead of 3 x 10 seconds. This should improve MacZephyr's responsiveness to command-period as well. You can change this value by editing the 'HMTO' resource in the MacZephyr application. * MacZephyr no longer calls the TestTrack library on startup. * MacZephyr verified to be Y2K Compliant. MacZephyr 1.3.2 * Fixed a bug (introduced in 1.3.1) that caused MacZephyr to crash on MacTCP-using systems. MacZephyr 1.3.1 * Fixed possible memory mangling bug when you have "Display Pings" option on. * Fixed crash if you switch to TTY Window in the preferences, and a zephyr came in before you closed the Preferences dialog. * Escape key no longer acts as a Clear/Delete key in the List Window. * Added 'aete' resource for required suite of AppleEvents. * Minor tweaks to some button and window sizes for Mac OS 8.5 compatibility. * Removed a few outdated resources (including "bullet font" which could cause conflicts under Mac OS 8.5). * Source updated to use CodeWarrior Pro 2, Universal Headers 3.0.1, and latest revisions of MIT libraries. MacZephyr 1.3 NEW FEATURES IN VERSION 1.3 --------------------------- ** Outgoing Zephyr Log -- MacZephyr now keeps a log of all the messages you've sent to others in a TTY-like window. Choose "Show Outgoing Zephyr Log" from the "Window" menu (or press COMMAND-G). ** Next/Previous Message -- When a Received Message (ZWGC) window is frontmost, you can show the next message or the previous message without closing the message window and selecting the new one in the list window. This is convenient if you have a lot of zephyrs you want to catch up on. The "next" message is usually the one that arrived just after the one you are viewing, technically, the one listed below it in the List Window. the "previous" message is usually the one that arrived just before the one you are viewing, technically, the one listed above it in the List Window. You can view the Next Message by using the arrow button (">") on the top right of the Message window, by pressing the SPACE bar, or using the key combination COMMAND-RIGHT-ARROW. Any of these will close the current message window, and open the next one. Similarly, you can view the Previous Message by using the arrow button ("<") on the top left of the Message window, or by pressing the key combinations SHIFT-SPACE or COMMAND-LEFT-ARROW. If you are at the first or last message in the List Window, or looking at a message window with no corresponding entry in the List Window (either it scrolled off or you opened this one from a file) it will beep at you. The List Window will scroll as you advance through it. ** Easier Filtering -- New "Filter" menu item (COMMAND-J) in the "Message" menu. This command brings up a filter dialog for the triplet of the currently selected list entry, or the topmost Received Message (ZWGC) window. Saves a trip to the Filter List (and having to re-type the triplet from memory). ** Reply via Personal -- Holding down the OPTION key when doing a reply - either by option-clicking on a "reply" button, COMMAND-OPTION-R, or holding down option when choosing the "Reply" menu item - will do a "Reply via Personal" instead. That is: When replying to a zephyr from MESSAGE:help:* (jdoe) Regular reply creates a new message to MESSAGE:help:* Reply via Personal create a new message to MESSAGE:personal:jdoe ** Forget Stored Locates -- You can now make MacZephyr forget the users you've done with the Locate command (it remembers the last 10 and updates them when you do a new Znol). Either use the new menu command, "Forget Stored Locates" in the "Control" menu, or hold down the OPTION key when doing a znol (which forgets and performs a znol immediately). * MacZephyr Shortcuts -- Choose "MacZephyr Shortcuts" under Help menu for a display of some of the more hidden features of MacZephyr (the ones that don't have equivalent menu items or buttons). ** All MacZephyr menu items now have help balloons. ** "Show List Window" menu item now has keyboard equivalent COMMAND-M. ** "Show TTY Window" menu item now has keyboard equivalent COMMAND-Y. ** You can now save the TTY Window and Outgoing Zephyr Log window to text files (both "Save" and "Save As Text" save them to text files). ** HOME and END keys now supported in all text windows. * The key combination COMMAND-DOWN-ARROW will select the last item in the List Window or in the Locate/Znol Results Window, or move the insertion point to the end of the text in any text window. * The key combination COMMAND-UP-ARROW will select the first item in the List Window or in the Locate/Znol Results Window, or move the insertion point to the beginning of the text in any text window. * If no messages are selected in the List Window, hitting the UP-ARROW or DOWN-ARROW key will select the top or bottom message, respectively. * You can use the key combinations SPACE, COMMAND-RIGHT-ARROW, or COMMAND-LEFT-ARROW in the List Window to open the selected message(s) (in addition to RETURN or ENTER). These are handy matches for the Next/Previous Message feature. * You can now use SHIFT-TAB to move up the fields in New Message (Zwrite) windows (in addition to the Up-Arrow key). * You can now send zephyr messages by pressing the ENTER key when a New Message (zwrite) window is frontmost, that is, when you are done typing the message. * "Clear" menu item and CLEAR key now can be used in the List Window to delete messages. * You can now use the "Reply" command (command-R) to create a new message to the selected person in the Znol Results window. CHANGES IN VERSION 1.3 ---------------------- ** The "Preferences..." menu item has moved from the "File" menu to bottom of "Edit" menu, in accordance with latest Apple guidelines. ** Tweaked time allowed to background applications for better responsiveness. ** Increased MacZephyr's default memory allocation to 750 and the minimum to 600 (it was actually running pretty tight at 512K if the list window was full, you had some other windows open, etc.). ** Increased maximum number of messages retained in the List Window from 150 to 225. ** In List Window entries, the sender of a message is now displayed in parentheses for improved readability. ** In List Window entries, now put a "..." at the end if the entire text of a message is longer than can be displayed, to indicate there's more. ** When you resize the List Window, it will now snap to a size that is an exact number of list entries high. * Increased the default size of the List Window so that it should almost never display squashed text (but it won't fit on Mac Plus-sized screens any more). * Adjusted default positions of windows so that they are completely on-screen in MacOS 8. * The "Delete All" menu command will no longer delete any messages that arrive while the "Are you sure you want to delete all?" dialog box is on the screen. * In the Subscribe/Filter dialogs, COMMAND-8 is now the only accepted key equivalent for "* (wildcard)" button (since the * key is shift-8). * The text of Received Message (zwgc) and TTY windows can no longer be modified; you can select and copy text from them, but not enter new or delete text. * Spaces are no longer stripped from instance names (but all other types of white space still are). * When you do a Locate User, the Locate/Znol Results window will now scroll to display the results if necessary. The result is also selected. * Tweaked the header format of the Received Message (ZWGC) windows so that it's a little more readable. * In Received Message (ZWGC) windows, ones with instance now have the word "personal" marked by bullets in the headers. This makes noticing personal zephyrs easier when you're paging through them with the Next Message feature. * When you open the List window, if there's entries already in it, it will now open scrolled the bottom of the list, with the bottom message selected. * When you open the TTY window, if there's stored text in it, it will now open scrolled to the bottom of the text, and put the insertion point at the end. * Rearranged the "display" options in Preferences dialog. "As entries in a list" is now first, "In a TTY-like window" second, "In individual windows" third. It was silly to have the least-used option at the top of the list. * Renamed "Receive pings" preference in the Preferences dialog to "Display pings" (a more accurate description). * The Auto-Reply dialog box now has a checkbox for turning auto-reply on and off, instead of radio buttons. * When you choose the menu command "Unsubscribe", and the Subscription List window is topmost, and an entry is selected, the dialog that appears will now have the info from that entry filled out in it. (Clicking on the Unsubscribe button of the Subscription List window unsubscribes that entry immediately without a dialog; but when you do COMMAND-U or choose the menu command, it's ambigious if you want to unsubscribe permanently or temporarily.) * When you open the Subscription List and Filter List windows, the first entry will now be selected. When you delete an entry (by unsubscribing or removing the filter), a new selection will be made. * The Subscribe, Unsubscribe, and Filter dialogs now select the text of the first text item. * When you open the TTY (or List) Window, but you haven't changed your preferences to TTY (or List) mode, a warning message saying you won't get new messages in that window until you do change the preferences is displayed. BUG FIXED IN VERSION 1.3 ------------------------ ** The TTY Window will no longer lose messages if you open and close it repeatedly. ** Fixed problems where zephyrs sent and received after you renewed your tickets would be marked as unauthentic. MacZephyr will now detect that you have renewed your tickets, get a new service ticket, and notify the zephyr server that your session key has changed by reloading your subscriptions. ** MacZephyr will now report zephyrs that appear to be authentic but where its and the server's session keys do not match as AUTH ERROR instead of UNAUTHENTIC. (You'll mostly see this if your tickets have expired.) ** Fixed bug where messages received from emacs-zwgc users and MacZephyr auto-replies (among others) would be missing the last character. ** In Received Message (ZWGC) windows, zephyr formatting commands are now stripped from the sigs as well as the main text of the message. ** Fixed bug where time stamps were reported incorrectly for messages that were 50-70 minutes older than the current time. Now all time stamps are reported correctly for the time zone that the Mac is set on when MZ is started up, and MZ will make an educated guess whether it's DST or not (if the box isn't checked in the Date&Time control panel). However, if you change the time zone or DST setting again, you need to quit and rerun MZ to get it to use the new information. * Fixed occasional deletion of the wrong entry from the List Window when you deleted a Received Message (ZWGC) window. Now all messages have a guaranteed unique ID, so this won't happen. * Make sure there will be a selection in the List Window when you delete a Received Message (ZWGC) window. * Fixed problems where Znol would forget the name of the anyone file if it wasn't one of the two default names, and tell you to move it into the same folder as the MZ app even if it was already there (these appeared to happen when MacZephyr wasn't on the boot volume). * MacZephyr will now hilite the default and cancel buttons in dialogs when you hit the keys corresponding to them. * Setting your exposure to NONE several times in a row will no longer set your exposure back to NET-ANNOUNCED unexpectedly, or give a not-very-helpful error message. * When you save a file by replacing an existing one with the same name, MacZephyr will now properly delete the old file before writing the new one. (Previously it just overwrote the old one, which would leave junk at the end of the new file if the old one was longer.) * "Delete All Messages" will now work when a window other than the List Window is frontmost. * When you use TAB (or Up/Down-Arrow keys) to move between the Class/Instance/Recipient fields in New Message (zwrite) windows, the entire text of the fields is selected (previously it just put the cursor at the end of the text). * Fixed some cases where the Cut, Paste, Clear, and Select All menu items were available inappropriately (such as when the Filter window was frontmost). * Command-dragging of non-frontmost windows will no longer activate the windows (in other words, works like it should). * MacZephyr now remembers changed window positions when it is quit by an AppleEvent. * MacZephyr now checks to make sure it supports the type of file it's been asked to open by an Open AppleEvent, and doesn't open it if it's not supported. It was possible to confuse MZ here and get a bogus "out of memory" error before. * MacZephyr will no longer crash if you try to paste a large chunk of text into a Zwrite window when there isn't enough memory. * TTY Window will now let you choose between closing it w/out saving contents, or not closing it, when you try to close it in low-memory situations. * Fixed bug where messages with opcode "ping" (all lower-case) wouldn't be treated as PING messages. * Fixed bug where formatting commands @FONT() and @COLOR() (all uppercase) wouldn't be stripped correctly. * Fixed bug where large (more than 900 characters) signatures would cause MacZephyr to crash when you opened the message into its own ZWGC window. Now MacZephyr will display signatures up to about 1900 characters in full, and then truncate them if they're longer; shouldn't crash anymore. Similar problems when in TTY mode also fixed. MacZephyr 1.3b8 NEW FEATURES IN VERSION 1.3b8 ----------------------------- * zephyrs are now marked with a bullet (¥) in the list window for easy identification. * Added "Save As Text" (command-T) menu item that allows you to save message windows as SimpleText files. * Added capability to toggle radio buttons with keyboard in the subscribe/unsubscribe/filter dialogs. * "Page Up" and "Page Down" keys now supported in all windows. * You should now be able to manipulate the List window using just the keyboard. The List window now hilites a new message if no message is already hilited; also, hilites correctly when a message is opened or deleted. The top message will be hilited when you close and reopen the list window. BUGS FIXED IN VERSION 1.3b8 --------------------------- * Fixed a bug that could cause a crash when the maximum number of list entries (150) was exceeded. * When you delete a list entry, if the corresponding message ("zwgc") window will be closed and deleted if it is open. * Eliminated crashes when deleting message ("zwgc") windows in while in window mode. * MacZephyr should give more time to background processes when it's in the foreground and generally be better about sharing time (switched to use WaitNextEvent() instead of the outdated GetNextEvent() in main event loop). * Fixed numerous problems with the way MacZephyr stripped zephyr formatting commands [such as @bold()], which previously resulted in mangled messages or extra junk in the messages. * Fixed an error where filtering a subscription could cause you to become unsubscribed to it. * Buttons now unhilite properly in all windows when windows become inactive. * Fixed a variety of opportunities for memory corruption, fragmentation, and leaks to occur. * Eliminated attempts to allocate 0 bytes of memory, which would result in an out of memory error. * Fixed spurious out-of-memory errors that could occur when the "Receive Pings" option was on. * Fixed a problem where the znol command could potentially leave files open after using them. * Fixed some keyboard selection problems in the Subscription window. * Fixed some keyboard selection problems in the Filter Window. * Eliminated extra "too many windows open" error message. * Notification should now be removed properly in most cases. * Now correctly handles usernames of the form "username.instance@realm" or "username@realm" again. * Now uses KClient to determine the current kerberos realm, so less reconfiguration of its resources is necessary outside of MIT. * Some small fixes to improve compatibility with Stanford's MacLeland. * Recompiled under CodeWarrior 9. MacZephyr 1.2b7 NEW FEATURES IN VERSION 1.2b7 ----------------------------- * Implemented more recent zephyr client code for better authentication and security. * MacZephyr now uses the KClient extension for authentication, using a shared kerberos ticket. This is used by several other network applications (such as Eudora, MacDiscuss, and the kerberized NCSA Telnet client). "Shared kerberos tickets" means that if you enter your password for authentication in one application using KClient, the others won't have to ask you to authenticate again. The first time you run an application that uses KClient (such as MacZephyr) a dialog appears prompting you to "Enter your Network ID and password." (Network ID is the same as your username; it will remembered hereafter.) This grants you your kerberos tickets. Any additional times you run this application or another that uses KClient, you will not be asked again to authenticate again, as long as your tickets are not destroyed. Things that destroy your tickets are: rebooting your Macintosh; the tickets expiring after 8 hours; or you destroy them deliberately (by using KConfig, the KClient control panel, or the preference detailed below). If your tickets are destroyed, KClient will automatically ask you to re-authenticate (give your password) again. * MacZephyr will no longer give the "Your tickets will expire in 5 minutes" or "Your tickets have expired" messages since KClient handles expired tickets internally - you will simply be prompted to reauthenticate when necessary. * Added a "Destroy tickets on exit" preference (default is OFF). When you quit MacZephyr, the tickets you obtained with it are not destroyed. While this means you may not be asked for your password again the next time you start MacZephyr (if nothing happens to destroy the tickets in the meantime), it also means that anybody else could start up MacZephyr and use it claiming to be you. (It's like leaving yourself logged in to Athena.) Checking the "Destroy tickets on exit" preference will destroy all your tickets when you quit MacZephyr. This is safer, but it also means that any other program that uses KClient shared tickets will have its tickets destroyed too, so you'll need to reauthenticate it. (There is no option to destroy just one program's tickets since they are all shared.) * Renamed "Authentication..." menu item to "Reauthenticate...", a more accurate representation of its function. This menu item is not really necessary anymore with KClient (since it prompts for reauthentication when necessary), and in fact can be somewhat dangerous if you use it change the username while other KClient-using applications are open as well (they may not realize that the username has changed, and bad things will ensue). Hence, MacZephyr puts up a warning reminding you of this when you choose it. * Added a new preference called "Notify Eudora about e-mail", which asks the Eudora e-mail client to check for e-mail whenever you receive a triplet (in other words, when you get new mail). The default is OFF. The subscription is one you can set up (it is not enabled by default) in which the mail servers tell the zephyr servers to tell you that you have new e-mail whenever a new message arrives. This appears as a one line message saying "You have new mail." This preference takes this one step further by communicating via AppleEvent with Eudora (Techmail doesn't support AppleEvents) and telling Eudora to get that new mail. Thus, every time a new message comes in, you get it instantly. Usually, if Eudora is in the background, it will get the new mail immediately. If you are using or have just used Eudora, there may be a 30-60 second delay until Eudora is "idle" before it gets the mail. If Eudora is not running while this preference is checked, nothing happens (MacZephyr doesn't offer to start Eudora). * Made the login/logout subscriptions generated by Znol optional. You can do so by unchecking the "Make login/out subs with Znol" preference (default is ON, e.g. Znol behaves as in version 1.1). * If you have Notify by Alert option turned on, now instead of just saying "You have a new zephyr" in the dialog, MacZephyr puts as much of the text of the zephyr as will fit. * If you try to send a message and auto-reply is still on, MacZephyr now presents a dialog warning you that it's still on (because most likely people will reply to you and get the auto-reply message), and offers to turn it off (since you are sending a message, you are obviously back). * Added help button to the "locate a file for znol to use" prompt, which brings up a brief help message describing what znol is looking for. * You can now open a new zephyr window to the selected user in the Znol Window by hitting the return or enter keys as well as by double-clicking on a user. BUGS FIXED IN VERSION 1.2b7 --------------------------- * Ported and compiled all of the libraries and the MacZephyr application code under CodeWarrior 6. This removed numerous small bugs and errors, and should result in better stability. * Fixed numerous bugs that caused "flashing" dialogs or dialogs that disappeared as soon as they appeared (especially the flashing Authentication and vanishing "do you want to save changes?" dialog problems). * When a non-message class zephyr is sent by MacZephyr, Athena users will now see who the message is from (changed the default format of the zephyrgrams to match the one used by Athena zwrite). Users can edit the default format string used by non-message class zephyrs as a resource; it's 'STR ' ID# 1200. * MacZephyr no longer reports an out-of-memory error in "auto_reply_it" on longer auto-reply strings. * Fixed a bug where an extra null character was placed at the end of each ZWGC window. This also fixes the problem of new text typed after text pasted in from a ZWGC window disappearing. * New code to fix problems where list window would leave a message on in the list, even though it had been deleted, and generally screwing up the list window's correlation between the lines displayed and what you'd get when you opened them. * Fixed bug where scroll bar in list window sometimes wouldn't update correctly after deleting messages. * Fixed bug where incoming zephyrs that were not terminated by a newline had their last character truncated (this showed up mostly when people received messages from emacs-zwgc users). * Removed extraneous error message that appeared when you quit MacZephyr if not connected to the network. * Expanded some error messages to be more informative (hopefully), including a more informative "can't find hostname" error, including an error number for tracking this bug. * Fixed bug where znol would go ahead and attempt to locate some users even after you declined to find a znol names files. * Space bar now masked properly in password dialog (thanks to kClient).