Rixstep
 About | ACP | Buy | Industry Watch | Learning Curve | News | Products | Search | Substack
Home » Learning Curve » Hotspots

Errata

And a few updates.


Get It

Try It

Mail's composition window. Yes it can be resized persistently but for some as yet unknown reason fails at times to do so. A workaround is to backup the preferences file and copy it back in after every completed session.

'launchctl singleuser'. It's been described as not being a security issue but merely 'something very annoying'. The latter part is an understatement; and the adjective 'embarrassing' should of course be added. As for its not being a security issue: it's only not a security issue because no one's researched it yet.

As for it not being that dangerous because it requires access to a user shell - we'll leave that naive claim to you.

'You have not specified any recipients.' This proves difficult to reproduce but it does occur. And when it occurs it really likes to occur. Which segues all by itself into the next two snags.

1. A bug that occurs consistently is 'relatively' innocuous; a bug that occurs only some of the time is insidious. A bug that occurs only some of the time usually points to a deeper darker cause. Not nice.

2. The logic is still in there. See this dump and scroll to the red text.

00000000002521e9 ThingsToCheck
00000000002521f7 parentalApproval
0000000000252208 ParentalControlDebug
0000000000252220 updating approval status for drafts
0000000000252244 Handling recipient approval reponse
0000000000252268 x-apple-recipients-approved
0000000000252284 +[DocumentEditor _emailAddresses:approvedOrRejected:] - failed to create new message
00000000002522dc +[DocumentEditor _emailAddresses:approvedOrRejected:] - failed to append new message
0000000000252331 malformedAddress
0000000000252342 noRecipients
000000000025234f emptyMessage
000000000025235c spelling
0000000000252368 This message has no subject. Are you sure you want to send it?
00000000002523a7 EMPTY_SUBJECT_WARNING_MESSAGE
00000000002523c8 This message has no subject or contents. Are you sure you want to send it?
0000000000252413 EMPTY_MESSAGE_WARNING_MESSAGE
0000000000252432 Send Anyway
000000000025243e SEND_ANYWAY_BUTTON
0000000000252451 Warning
0000000000252459 WARNING_TITLE
0000000000252468 You have not specified any recipients.
000000000025248f NO_RECIPIENTS_ERROR_MESSAGE
00000000002524ab Edit Message
00000000002524b8 EDIT_MESSAGE_BUTTON
00000000002524cc "%@" does not appear to be a valid email address. Please check the address and try again.
0000000000252528 MALFORMED_RECIPIENT_ADDRESS_FORMAT
000000000025254c Click Ask Permission to request permission to send this email. The email will be saved in the Drafts folder. A banner in the ema
00000000002525cc il tells you if you've been given permission to send it.
0000000000252605 UNAPPROVED_RECIPIENTS_MESSAGE
0000000000252623 Ask Permission
0000000000252632 ASK_APPROVAL_BUTTON
0000000000252648 You do not have permission to send email to %@.
0000000000252678 NEED_APPROVAL_ALERT_TITLE
0000000000252694 This message cannot be sent because it uses stationery and contains attachments that are not images.
00000000002526f9 SEND_WITH_ATTACHMENTS_TITLE
0000000000252718 Messages with stationery cannot contain attachments that aren't images. You can cancel and return to editing the message or remo
0000000000252798 ve the stationery in order to send.
00000000002527bc CANNOT_SEND_WITH_ATTACHMENTS_MESSAGE
00000000002527e4 The message could not be appended to the Outbox.
0000000000252818 APPEND_TO_OUTBOX_FAILED_MESSAGE
0000000000252838 Encryption
0000000000252844 This message cannot be encrypted because you do not have the public key for %@. Do you want to send the message without encrypti
00000000002528c8 ONE_RECIPIENT_MISSING_CERT_MESSAGE_UPON_DELIVERY
00000000002528fc This message cannot be encrypted because you do not have the public key for %@.
000000000025294c ONE_RECIPIENT_MISSING_CERT_MESSAGE
0000000000252970 This message cannot be encrypted because you do not have the public keys for %@. Do you want to send the message without encrypt
00000000002529f0 ion?
00000000002529f8 NAMED_RECIPIENTS_MISSING_CERT_MESSAGE_UPON_DELIVERY
0000000000252a2c This message cannot be encrypted because you do not have the public keys for %@.
0000000000252a80 NAMED_RECIPIENTS_MISSING_CERT_MESSAGE
0000000000252aa8 This message cannot be encrypted because you do not have the public keys for %d recipients. Do you want to send the message with
0000000000252b28 out encryption?
0000000000252b38 MANY_RECIPIENTS_MISSING_CERT_MESSAGE_UPON_DELIVERY
0000000000252b6c This message cannot be encrypted because you do not have the public keys for %d recipients.
0000000000252bc8 MANY_RECIPIENTS_MISSING_CERT_MESSAGE
0000000000252bed %@ (maximum %@)
0000000000252c00 MESSAGE_SIZE_EXCEEDS_LIMIT_FORMAT
0000000000252c22 small
0000000000252c28 mediumn
0000000000252c30 large
0000000000252c36 Resizing %@
0000000000252c42 IMAGE_RESIZING_STATUS_FORMAT
0000000000252c62 MaxImageSize
0000000000252c70 Append Messages
0000000000252c80 APPEND_MULTIPLE_MESSAGES
0000000000252c99 Append Message
0000000000252ca8 APPEND_ONE_MESSAGE
0000000000252cbe StationerySplitter

So here's the question. Toolbar buttons and menu items are set up in such a way with Objective-C/Cocoa so that no invalid options are ever enabled. The application logic not only controls the status of the toolbar - it's queried by the system about its menu items each time before the menu opens.

-(BOOL)validateMenuItem:(id <NSMenuItem>)item;

With programs of this sort it's common to keep both the toolbar button and the menu item for sending a message disabled until some semblance of an address is present in the form. Open up Mail and start a new message and type a single character into the 'To' field. The 'send message' button will light up. Remove that character and the toolbar button will go dim again.

Try the menu too: check 'Message - Send' before you type anything in; type in a character and check again; remove the character and check again.

Finally try the keyboard shortcut ⇧⌘D - and turn up your speaker volume so you can hear the beep. The logic's all there.

But the fact the program has a contingency plan to stop you invoking the 'send message' function without a semblance of address present indicates someone somewhere suspects something's not right with it - otherwise (if the program functions according to spec) that scenario is simply impossible as it is in all correctly written software.

There's no way a user can click the toolbar button or invoke the menu item or use the keyboard shortcut for 'send message' and have no recipients specified unless there's a bug. And as in this case there is no way the program can insist there are no recipients when in fact there are unless there's a bug.

That '5 + 95' never gets down to '95 + 5'. It just keeps on growing.

See Also
Developers Workshop: Designers Gone Wild

About | ACP | Buy | Industry Watch | Learning Curve | News | Products | Search | Substack
Copyright © Rixstep. All rights reserved.