Ticket #211 (closed Tasks: fixed)

Opened 7 years ago

Last modified 7 years ago

Implement incremental loading of messages

Reported by: octo Owned by: octo
Priority: normal Milestone: 2.0
Component: LogicMail Version:
Keywords: Cc:
Blocked By: Blocking:

Description

The current approach places a user-configured "messages to load" cap on any given folder. While this works for a deliberate "what's new" use case, it is cumbersome for most other purposes. The reason is that a small limit is idea for performance, but not necessarily for usability.

At the user-level, several things are needed:

  • Multiple message-count options
    • Max to load automatically (current value)
    • Max to retain once loaded
    • Max to load on trigger (i.e. a button to "load next XX")
    • Make theses account-level, consider folder-level overrides for IMAP
  • Clickable MailboxScreen field for "Load next XX" messages
  • Variation of that special field to handle mid-list gaps

At the protocol level, some improvements to range-based "get folder messages" code may be necessary, or may already be sufficient.

At the data model level, placeholder message nodes will be necessary in one of the two forms:

  • Empty node for each potentially loadable message entry
    • Would be based on immediately available actions shown in the UI
    • New ones would be created after each selective load operation
    • More challenging to collapse at the UI level
    • May be easiest to support with the current data model, but potentially the least efficient
  • Node signifying a range of possibly loadable message entries
    • Would correspond directly to available special UI fields
    • Would have a greater data model impact, especially for cache purposes
    • Would be more memory efficient

Change History

comment:1 Changed 7 years ago by octo

  • Status changed from new to closed
  • Resolution set to fixed

Implemented

Note: See TracTickets for help on using tickets.