5.3.0-git
2014-10-31

[#10719] Select All in search mailbox in dynamic view doesn't work
Summary Select All in search mailbox in dynamic view doesn't work
Queue IMP
Queue Version Git master
Type Bug
State Resolved
Priority 2. Medium
Owners slusarz (at) horde (dot) org
Requester slusarz (at) horde (dot) org
Created 2011-11-07 (1089 days ago)
Due
Updated 2013-04-08 (571 days ago)
Assigned
Resolved 2013-01-15 (654 days ago)
Milestone
Patch No

History
2013-04-08 10:05:24 Git Commit Comment #5 Reply to this comment
Changes have been made in Git (master):

commit aa8658001921287e9c77c7647329f5adf1866795
Author: Michael M Slusarz <slusarz@horde.org>
Date:   Mon Jan 14 20:44:07 2013 -0700

     [mms] Abstract all UIDs used for mailbox/message navigation on 
the browser to BUIDs (browser UIDs) (Bug #10719).

     Separates backend message manipulation from UI presentation.

     Allows for easier/cleaner manipulation on the browser side:

       * No need to keep track of the both the current display mailbox AND the
         message mailbox - makes javascript much cleaner
       * Browser UIDs are always integers so large ranges can be efficiently
         packed using message sequence strings
       * All message manipulation is now abstracted and looks the same in
         every mailbox - no need to change method of sending UIDs based on
         the current mailbox type ("real" mailbox vs. virtual)

  imp/bin/imp-mailbox-decode                        |   14 +--
  imp/compose.php                                   |   21 +-
  imp/docs/CHANGES                                  |    2 +
  imp/js/compose.js                                 |    1 +
  imp/js/dimpbase.js                                |  212 +++++++++----------
  imp/js/dimpcore.js                                |   75 +------
  imp/js/flagprefs.js                               |    1 +
  imp/js/imp.js                                     |    3 +-
  imp/js/indices.js                                 |  121 -----------
  imp/js/message-dimp.js                            |   63 +++---
  imp/js/smartmobile.js                             |  235 
+++++++++++----------
  imp/js/viewport.js                                |   30 +--
  imp/js/viewport_utils.js                          |   72 +++++++
  imp/lib/Ajax/Application.php                      |   60 ++----
  imp/lib/Ajax/Application/Handler/Common.php       |  124 ++++-------
  imp/lib/Ajax/Application/Handler/Dynamic.php      |   90 ++++-----
  imp/lib/Ajax/Application/Handler/ImageUnblock.php |    6 +-
  imp/lib/Ajax/Application/Handler/Smartmobile.php  |   19 --
  imp/lib/Ajax/Application/ListMessages.php         |   68 ++-----
  imp/lib/Ajax/Application/ShowMessage.php          |   54 ++---
  imp/lib/Ajax/Imple/ImportEncryptKey.php           |   13 +-
  imp/lib/Ajax/Imple/ItipRequest.php                |   11 +-
  imp/lib/Ajax/Queue.php                            |   80 +++++---
  imp/lib/Application.php                           |    9 +-
  imp/lib/Auth.php                                  |    8 +-
  imp/lib/Basic/Compose.php                         |   58 +++++
  imp/lib/Compose.php                               |   20 +-
  imp/lib/Contents.php                              |   86 ++++----
  imp/lib/Contents/View.php                         |   10 +-
  imp/lib/Dynamic/Base.php                          |    9 +-
  imp/lib/Dynamic/Compose.php                       |   52 +++--
  imp/lib/Dynamic/Message.php                       |   19 +-
  imp/lib/Factory/MailboxList.php                   |   27 +--
  imp/lib/Factory/Quota.php                         |    3 -
  imp/lib/IMP.php                                   |   93 --------
  imp/lib/Indices.php                               |   22 +-
  imp/lib/Indices/Form.php                          |   50 -----
  imp/lib/Indices/Mailbox.php                       |   90 ++++++++
  imp/lib/Mailbox.php                               |   98 ++++++---
  imp/lib/Mailbox/List.php                          |  112 ++++++++--
  imp/lib/Mailbox/List/Pop3.php                     |   74 +++++++
  imp/lib/Mailbox/List/Virtual.php                  |   46 ++++-
  imp/lib/Message.php                               |    2 +-
  imp/lib/Mime/Viewer/Html.php                      |    3 +-
  imp/lib/Mime/Viewer/Itip.php                      |    3 +-
  imp/lib/Mime/Viewer/Pgp.php                       |    5 +-
  imp/lib/Mime/Viewer/Smime.php                     |    5 +-
  imp/lib/Minimal/Base.php                          |    9 +-
  imp/lib/Minimal/Compose.php                       |   44 +++--
  imp/lib/Minimal/Mailbox.php                       |   67 +++---
  imp/lib/Minimal/Message.php                       |   78 ++++---
  imp/lib/Minimal/Messagepart.php                   |   24 +--
  imp/lib/Minimal/Search.php                        |   14 +-
  imp/lib/Quota.php                                 |    4 +-
  imp/lib/Quota/Command.php                         |    8 +-
  imp/lib/Quota/Hook.php                            |    8 +-
  imp/lib/Quota/Imap.php                            |   21 +--
  imp/lib/Quota/Maildir.php                         |    8 +-
  imp/lib/Quota/Mdaemon.php                         |    8 +-
  imp/lib/Quota/Mercury32.php                       |   12 +-
  imp/lib/Quota/Null.php                            |    8 +-
  imp/lib/Quota/Sql.php                             |   12 +-
  imp/lib/Search.php                                |    1 +
  imp/lib/Smartmobile.php                           |    2 -
  imp/lib/Ui/Compose.php                            |   51 -----
  imp/lib/Ui/Message.php                            |    6 +-
  imp/lib/Ui/Quota.php                              |    6 +-
  imp/lib/View/Subinfo.php                          |   40 +++--
  imp/mailbox.php                                   |  137 ++++++------
  imp/message.php                                   |   94 ++++-----
  imp/package.xml                                   |   20 ++-
  imp/rss.php                                       |    4 +-
  imp/saveimage.php                                 |    9 +-
  imp/search-basic.php                              |   11 +-
  imp/search.php                                    |   11 +-
  imp/templates/basic/mailbox/mailbox.html.php      |    4 +-
  imp/templates/basic/message/navbar_top.html.php   |    2 +-
  imp/templates/minimal/mailbox.html.php            |    2 +-
  imp/templates/saveimage/saveimage.html.php        |    3 +-
  imp/templates/smartmobile/copymove.html.php       |    2 +-
  imp/thread.php                                    |   30 +--
  imp/view.php                                      |    8 +-
  82 files changed, 1484 insertions(+), 1563 deletions(-)

http://git.horde.org/horde-git/-/commit/aa8658001921287e9c77c7647329f5adf1866795
2013-01-15 04:55:26 Michael Slusarz Comment #4
Milestone ⇒
State ⇒ Resolved
Reply to this comment
2011-11-08 06:42:18 Michael Slusarz Comment #3
Milestone ⇒ 5.1
Reply to this comment
This needs to be properly fixed by abstracting UID generation for 
messages.  For search mailboxes (and POP3), we need to create "fake" 
integer UIDs that map to the actual messages on the server.  This will 
allow us to eliminate the 3 different types of UID strings now in use, 
and allows search mailboxes and POP3 to take advantage of IMAP UID 
string compression.
2011-11-07 20:52:37 Git Commit Comment #2 Reply to this comment
Changes have been made in Git for this ticket:

Implement ArrayAccess and Iterator for IMP_Mailbox_List
Makes DIMP mailbox code much easier to read.
Also, use getArrayIndex() to do mailbox message searches - that's what
it is there for.

Changes needed to (eventually) fix Bug #10719

  2 files changed, 97 insertions(+), 40 deletions(-)
http://git.horde.org/horde-git/-/commit/6a3056bfb233ea1216fb5c36e0d67f014e1d0131
2011-11-07 20:52:14 Michael Slusarz Comment #1
State ⇒ Assigned
Patch ⇒ No
Milestone ⇒
Assigned to Michael Slusarz
Queue ⇒ IMP
Summary ⇒ Select All in search mailbox in dynamic view doesn't work
Type ⇒ Bug
Priority ⇒ 2. Medium
Reply to this comment
For mailboxes that do not contain the full contents in the viewport 
buffer, select all does not work.