Art Cancro [Tue, 14 Jun 2005 03:21:57 +0000 (03:21 +0000)]
* When no icon is present on the server for a room, display the default
icon for that room's current view.
* Replace "graphic" with "icon" throughout the system messages.
Art Cancro [Sun, 12 Jun 2005 22:02:46 +0000 (22:02 +0000)]
* Began replacing the old, sux0r-prone tree view with NanoTree.
WARNING: This isn't finished, but I'm committing it anyway because I have
to move to a different computer. DON'T RUN THIS.
Art Cancro [Sun, 12 Jun 2005 17:01:01 +0000 (17:01 +0000)]
* Increase maximum viewable message count from 4096 to 10000
* Summary view now truncates subject to 75 characters, and sender
to 25 characters (adding an ellipsis...) to keep the display neat & tidy
Art Cancro [Sun, 12 Jun 2005 16:03:11 +0000 (16:03 +0000)]
* When viewing a mailbox (view == VIEW_MAILBOX), messages are marked as
seen when they are viewed, and Goto does not automatically mark the
remaining messages as seen.
Art Cancro [Sun, 12 Jun 2005 03:24:16 +0000 (03:24 +0000)]
* When delivering list digests, put the name of the room in [brackets]
in the subject line. This makes lots of other software happy. (We
need to do this for non-digest list subscribers too.)
Art Cancro [Wed, 1 Jun 2005 22:32:58 +0000 (22:32 +0000)]
* Implemented a workaround for the IMAP "expungebob bug." Specifically, since
we don't store the \Deleted flag persistently (and instead auto-expunge
folders when they are de-selected) we were not advertising \Deleted as
a PERMANENTFLAGS flag. This was causing some clients (particularly
Thunderbird) to misbehave -- they were simply electing not to transmit the
flag at all. As a workaround, \Deleted is now advertised as a
PERMANENTFLAGS flag, even though it technically isn't.
Art Cancro [Wed, 1 Jun 2005 05:23:26 +0000 (05:23 +0000)]
* The full text indexer now runs in its own dedicated thread instead of
in the housekeeping thread. The main indexer loop now also has the ability
to save its place and bail out early when it discovers that the server is
trying to shut down. The main server loop will pthread_join() the indexer
thread and patiently wait for it to complete before exiting. These changes
all put together mean that citserver will not hang when it is terminated
during an indexing operation.
Art Cancro [Thu, 26 May 2005 04:28:27 +0000 (04:28 +0000)]
* Applied GroupDAV patches sent in by Johannes Schneider which improve the
protocol accuracy of xmlns and etag responses.
* Fixed a MIME Content-Type bug which I had inadvertently introduced while
removing a temporary hack that was put in during KDE 3.4 beta
Art Cancro [Thu, 26 May 2005 04:25:29 +0000 (04:25 +0000)]
* Applied xmlns and etag patches sent in by Johannes Schneider that improve
GroupDAV support.
* Located and fixed a MIME Content-type bug that I accidentally created
while removing a temporary hack that was in place during the last KDE beta.
Art Cancro [Mon, 23 May 2005 19:33:57 +0000 (19:33 +0000)]
* database_sleepycat.c: cdb_truncate() no longer encapsulated in a
transaction. Truncating a database in Citadel is always synchronous,
and with big tables (such as when the full text indexer is switched off
or reinitialized) it was running out of memory.
Art Cancro [Mon, 23 May 2005 19:26:04 +0000 (19:26 +0000)]
* Move the location of the "enable full text index" configuration item to
a new location. Reusing an old location was a stupid idea because old
clients can inadvertently switch it on.
Art Cancro [Fri, 20 May 2005 20:02:51 +0000 (20:02 +0000)]
* The IGnet map is now rewritten to disk only when it changes.
* When processing inbound network spool, ignore "." and ".." instead of
failing on them.
Art Cancro [Fri, 20 May 2005 16:14:44 +0000 (16:14 +0000)]
* Dramatically improved the time it takes to goto (or select) a room which
contains a very long and complex seen/unseen list. Our test folder,
containing 359 new of 3162 messages, formerly took 22 seconds to select;
now it takes 1 to 2 seconds.
Art Cancro [Fri, 20 May 2005 01:20:25 +0000 (01:20 +0000)]
* Cull logs immediately after a successful db checkpoint instead of only
once every 24 hours. During big db write operations (such as building
the full text index) they were just piling up too much.
Art Cancro [Thu, 19 May 2005 21:10:04 +0000 (21:10 +0000)]
* Altered the full text indexer to output messages as text before running
through the wordbreaker. This prevents the inclusion of encoded base64
strings in the index, and also allows legitimate text encoded inside
base64 to be decoded and then indexed.
Art Cancro [Wed, 18 May 2005 22:09:01 +0000 (22:09 +0000)]
* Finished the indexer *and* deindexer! The search API is now working
flawlessly too. Now all we have to do is glue it to IMAP and other
user-facing functionality. (The SRCH command is for testing only.)
Art Cancro [Wed, 18 May 2005 04:02:54 +0000 (04:02 +0000)]
* Completed the "search for all of these words" functionality. All we need
to do now is genericize its calling syntax so it can be called from the
IMAP service.
Art Cancro [Mon, 16 May 2005 18:48:45 +0000 (18:48 +0000)]
* Don't prompt the user for screen dimensions anymore. Nobody is using
dialup terminals with arbitrary screen sizes anymore; nearly everyone (or
more likely, *absolutely* everyone) is now using networked displays which
can be automatically queried for their screen dimensions. For now, we'll
keep the screen size properties in the database and in the protocol, but
the prompts have been commented out.
Art Cancro [Mon, 16 May 2005 16:59:39 +0000 (16:59 +0000)]
* Default expire policy is now 'manual' (no automatic expiry of messages
under any circumstances). Implemented as per David Given's suggestion
that we should operate using the element of least surprise.
Art Cancro [Wed, 11 May 2005 03:00:03 +0000 (03:00 +0000)]
* webcit.c: fixed a string bug that caused the whole system to not work
* messages.c: fullname only and brief date in summary view, so that it
doesn't wrap onto two lines quite as often
Art Cancro [Mon, 9 May 2005 22:17:30 +0000 (22:17 +0000)]
* Interactive room deletions are now deferred. The server reconfigures the
room to be a mailbox owned by a nonexistent user and immediately returns
control back to the client. Later, THE DREADED AUTO-PURGER will see the
dangling room and erase its contents.
Art Cancro [Mon, 2 May 2005 20:52:42 +0000 (20:52 +0000)]
* More IMAP optimizations, including the application of our latest "don't
fetch the message body" trick to ENVELOPE and INTERNALDATE fetches, to
make MS-Outbreak spread email viruses faster.