User:Jminta: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Good first Lighting/Calendar bugs)
 
(27 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Good First Bugs ==
'jminta' is Joey Minta.
So, you think Lightning is the next big thing?  Or maybe you're tired of waiting around for Sunbird 0.3 to come out?  Want to help move things along?  I've tried to put together a list of good bugs for people to get their feet wet with.
irc: jminta
mail: add @gmail.com


However, these are just bugs that looked reasonably easy at first glance.  They may or may not be that way in reality.  If, in investigating one of these bugs, you find it's not that simple, let me know.  Alternatively, if you find a bug you think should be on this list, let me know as well.
=== Random notes ===
*[[User:Jminta/Steel | Steel]]
*[[User:Jminta/Private_Browsing | Private Browsing]]
*[[User:Jminta:QA_Scratchpad | Bug 358985]]
*[[User:Jminta/Mail_XPCOMUtils | Writing XPCOMUtils patches for mail]]
*[[User:Jminta/Account_Manager_Notes | Random musings on improving TB's acct mgr]]
*[[User:Jminta/Feeds | Feed architecture]]
*[[User:Jminta/MozMill_in_TB | MozMill in TB]]


Note: This is '''not''' a comprehensive list.  To quote [http://www.babylonsounds.com/2005/05/finally-lightning-lead-developer-mike.html#project Mike Shaver], "The best "first bug" to work on is one that you want to see fixed." So, if you have a bug you want to work on that isn't on this list, that should never stop youTake it on.
=== Scratchpad ===
SearchDialog.js has a dependency map that looks something like:
(as of 6/20/2008)
<pre>
*  commandglue.js
*    isNewsUri
*    MSG_FOLDER_FLAG_VIRTUAL
*  mailWindowOverlay.js
*    MsgOpenSelectedMessages
*      -GetDBView (SearchDialog.js)
*      -GetSelectedIndices (msgMail3PaneWindow.js)
*      -gPrefBranch (mailWindowOverlay.js)
*      -MsgOpenSelectedMessageInExistingWindow (mailWindowOverlay.js)
*        -GetWindowByWindowType (mailWindowOverlay.js)
*      -gMessengerBundle (SearchDialog.js)
*      -MsgOpenNewWindowForMessage (mailWindowOverlay.js)
*        -(none if passed a message-uri and folder-uri)
*    MsgOpenNewWindowForMsgHdr
*      -MsgOpenNewWindowForFolder (mailWindowOverlay.js)
  *        -(none if passed a uri)
*  threadPane.js
*    GetThreadTree
*    EnsureRowInThreadTreeIsVisible
*      -GetThreadTree (threadPane.js)
*  searchTermOverlay.js
*    initializeSearchWidgets
*    onMore
*      -getSearchRowIndexForElement (searchTermOverlay.js)
*        -gSearchTermList (searchTermOverlay.js)
*      -createSearchRow (searchTermOverlay.js)
*      -gTotalSearchTerms (searchTermOverlay.js)
*      -updateRemoveRowButton (searchTermOverlay.js)
*    hideMatchAllItem
*    onReset
*      -onMore (searchTermOverlay.js)
*        -(see above)
*      -removeSearchRow (searchTermOverlay.js)
*      -gSearchTermList (searchTermOverlay.js)
*    setSearchScope
*      -gSearchScope (searchTermOverlay.js)
*      -gSearchTerms (searchTermOverlay.js)
*    updateSearchAttributes
*      -gSearchTerms (searchTermOverlay.js)
*  mailWindow.js
*    CreateMessenger
*    messenger
*    nsStatusFeedback
*  msgFolderPickerOverlay.js
*    SetFolderPicker
*      -SetFolderPickerElement (msgFolderPickerOverlay.js)
*        -GetMsgFolderFromURI (widgetglue.js)
*        -gMessengerBundle (SearchDialog.js)
  *  mailCommands.js
*    mailSessionContractID
</pre>


=== How to get started ===
calls from SearchDialog.xul expands this by
If you've made it this far, you probably already know most of what I'm going to tell youRead the [http://www.mozilla.org/projects/calendar/dev_guide.html Developer Guide] and [http://www.mozilla.org/projects/calendar/help.html How to help] pages on the project websiteAfter that, find a bug you like, and either assign it to yourself (if you can) or just post a comment on the bug saying your working on itThis prevents two people from working on the same bugAfter that, make your changes, test your patch, and then ask for a reviewHappy Hacking!
<pre>
*  globalOverlay.js
*    goDoCommand
*  threadPane.js
*    ThreadPaneKeyPress
*      -ThreadPaneDoubleClick (threadpane.js)
*        -IsSpecialFolderSelected (threadpane.js)
*          -GetThreadPaneFolder (threadpane.js)
  *        -MSG_FOLDER_FLAG_DRAFTS (commandglue.js)
*        -MsgComposeDraftMessage (threadpane.js)
*        -MSG_FOLDER_FLAG_TEMPLATES (commandglue.js)
*        -GetLoadedMsgFolder (msgMail3PaneWindow.js)
*        -GetSelectedMessages (msgMail3PaneWindow.js)
*        -ComposeMessage (mailCommands.js)
*          -getIdentityForServer (mailCommmands.js)
  *          -msgComposeService (mailWindow.js)
*          -accountManager (mailWindow.js)
  *        -MsgOpenSelectedMessages (mailWindowOverlay.js)
  *          -(see above)
*    ThreadPaneSelectionChanged
*      -gMsgFolderSelected (commandglue.js)
  *      -UpdateStatusMessageCounts (commandglue.js)
</pre>


=== Bug List ===
SearchDialog.xul also imports 2 overlays, searchTermOverlay.xul, which adds the following dependecies
*[https://bugzilla.mozilla.org/show_bug.cgi?id=257408 Bug 257408] Titles of events shouldn't change to ellipses so soon
<pre>
*[https://bugzilla.mozilla.org/show_bug.cgi?id=270212 Bug 270212] Use stringbundles in delete event dialog
* searchTermOverlay.js
*[https://bugzilla.mozilla.org/show_bug.cgi?id=256129 Bug 256129] Preferences menu icons keep mouseover effect
*  booleanChanged
*[https://bugzilla.mozilla.org/show_bug.cgi?id=229708 Bug 229708] Editting priority/ completion of multiple tasks at once doesn't work
*    -setSearchScope (searchTermOverlay.js)
*[https://bugzilla.mozilla.org/show_bug.cgi?id=289439 Bug 289439] Double clicking on task checkbox should check/uncheck, not open edit dialog
*      -(see above)
 
*    -GetScopeForDirectoryURI (searchTermOverlay.js)
==== Unconfirmed Bugs ====
*    -onMore
These bugs seemed reasonable candidates, but haven't been confirmed for one reason or another. If you think they're legitimate and should be fixed, writing a patch is the quickest way to make this happen.
*      -(see above)
*[https://bugzilla.mozilla.org/show_bug.cgi?id=255906 Bug 255906] Cross out past events
*     -updateSearchTermsListbox (searchTermOverlay.js)
*[https://bugzilla.mozilla.org/show_bug.cgi?id=277958 Bug 277958] Very short events are only seen as a line
</pre>
*[https://bugzilla.mozilla.org/show_bug.cgi?id=284791 Bug 284791] Multiple email addresses in an event are not possible
and utilityOverlay.xul, which adds the following dependencies
<pre>
* utilityOverlay.js
*  goToggleToolbar
*  goUpdateGlobalEditMenuItems
*  goUpdateSelectEditMenuItem
*  goUpdateUndoEditMenuItems
*  goUpdatePasteMenuItems
* globalOverlay.js
*   goQuitApplication
*  goDoCommand
</pre>
Additionally, the dialog uses widgets defined in searchWidgets.xml, which have the following additional dependencies
<pre>
* FilterEditor.js
*  getScopeFromFilterList
*  gFilterActionStrings
*  gPromptService
*  gFilter
*  GetFilterEditorMsgWindow
* msgFolderPickeryOverlay.js
*  SetFolderPickerElement
* widgetglue.js
*   GetMsgFolderFromUri
</pre>

Latest revision as of 22:39, 15 November 2008

'jminta' is Joey Minta. irc: jminta mail: add @gmail.com

Random notes

Scratchpad

SearchDialog.js has a dependency map that looks something like: (as of 6/20/2008)

 *  commandglue.js
 *    isNewsUri
 *    MSG_FOLDER_FLAG_VIRTUAL
 *  mailWindowOverlay.js
 *    MsgOpenSelectedMessages
 *      -GetDBView (SearchDialog.js)
 *      -GetSelectedIndices (msgMail3PaneWindow.js)
 *      -gPrefBranch (mailWindowOverlay.js)
 *      -MsgOpenSelectedMessageInExistingWindow (mailWindowOverlay.js)
 *        -GetWindowByWindowType (mailWindowOverlay.js)
 *      -gMessengerBundle (SearchDialog.js)
 *      -MsgOpenNewWindowForMessage (mailWindowOverlay.js)
 *        -(none if passed a message-uri and folder-uri)
 *    MsgOpenNewWindowForMsgHdr
 *      -MsgOpenNewWindowForFolder (mailWindowOverlay.js)
 *        -(none if passed a uri)
 *  threadPane.js
 *    GetThreadTree
 *    EnsureRowInThreadTreeIsVisible
 *      -GetThreadTree (threadPane.js)
 *  searchTermOverlay.js
 *    initializeSearchWidgets
 *    onMore
 *      -getSearchRowIndexForElement (searchTermOverlay.js)
 *        -gSearchTermList (searchTermOverlay.js)
 *      -createSearchRow (searchTermOverlay.js)
 *      -gTotalSearchTerms (searchTermOverlay.js)
 *      -updateRemoveRowButton (searchTermOverlay.js)
 *    hideMatchAllItem
 *    onReset
 *      -onMore (searchTermOverlay.js)
 *        -(see above)
 *      -removeSearchRow (searchTermOverlay.js)
 *      -gSearchTermList (searchTermOverlay.js)
 *    setSearchScope
 *      -gSearchScope (searchTermOverlay.js)
 *      -gSearchTerms (searchTermOverlay.js)
 *    updateSearchAttributes
 *      -gSearchTerms (searchTermOverlay.js)
 *  mailWindow.js
 *    CreateMessenger
 *    messenger
 *    nsStatusFeedback
 *  msgFolderPickerOverlay.js
 *    SetFolderPicker
 *      -SetFolderPickerElement (msgFolderPickerOverlay.js)
 *        -GetMsgFolderFromURI (widgetglue.js)
 *        -gMessengerBundle (SearchDialog.js)
 *  mailCommands.js
 *    mailSessionContractID

calls from SearchDialog.xul expands this by

 *  globalOverlay.js
 *    goDoCommand
 *  threadPane.js
 *    ThreadPaneKeyPress
 *      -ThreadPaneDoubleClick (threadpane.js)
 *        -IsSpecialFolderSelected (threadpane.js)
 *          -GetThreadPaneFolder (threadpane.js)
 *        -MSG_FOLDER_FLAG_DRAFTS (commandglue.js)
 *        -MsgComposeDraftMessage (threadpane.js)
 *        -MSG_FOLDER_FLAG_TEMPLATES (commandglue.js)
 *        -GetLoadedMsgFolder (msgMail3PaneWindow.js)
 *        -GetSelectedMessages (msgMail3PaneWindow.js)
 *        -ComposeMessage (mailCommands.js)
 *          -getIdentityForServer (mailCommmands.js)
 *          -msgComposeService (mailWindow.js)
 *          -accountManager (mailWindow.js)
 *        -MsgOpenSelectedMessages (mailWindowOverlay.js)
 *          -(see above)
 *    ThreadPaneSelectionChanged
 *      -gMsgFolderSelected (commandglue.js)
 *      -UpdateStatusMessageCounts (commandglue.js)

SearchDialog.xul also imports 2 overlays, searchTermOverlay.xul, which adds the following dependecies

 * searchTermOverlay.js
 *   booleanChanged
 *     -setSearchScope (searchTermOverlay.js)
 *       -(see above)
 *     -GetScopeForDirectoryURI (searchTermOverlay.js)
 *     -onMore
 *       -(see above)
 *     -updateSearchTermsListbox (searchTermOverlay.js)

and utilityOverlay.xul, which adds the following dependencies

 * utilityOverlay.js
 *   goToggleToolbar
 *   goUpdateGlobalEditMenuItems
 *   goUpdateSelectEditMenuItem
 *   goUpdateUndoEditMenuItems
 *   goUpdatePasteMenuItems
 * globalOverlay.js
 *   goQuitApplication
 *   goDoCommand

Additionally, the dialog uses widgets defined in searchWidgets.xml, which have the following additional dependencies

 * FilterEditor.js
 *   getScopeFromFilterList
 *   gFilterActionStrings
 *   gPromptService
 *   gFilter
 *   GetFilterEditorMsgWindow
 * msgFolderPickeryOverlay.js
 *   SetFolderPickerElement
 * widgetglue.js
 *   GetMsgFolderFromUri