Art Cancro [Thu, 21 Jul 2005 17:20:55 +0000 (17:20 +0000)]
* <.R>ead <U>ser-list now takes advantage of the server-side string match
if available. It still filters on the client side as well, in case the
server is older and sent back the whole list.
Art Cancro [Wed, 20 Jul 2005 04:26:24 +0000 (04:26 +0000)]
* Detect libiconv on the host system and link it in if present.
* If libiconv is present, convert foreign charsets to UTF-8 on the fly
when outputting text/plain messages. (Still need to do text/html.)
Art Cancro [Tue, 19 Jul 2005 17:30:13 +0000 (17:30 +0000)]
* Fixed a bug in the MIME parser that was causing it to prematurely go
out of scope when binary parts are included. (8-bit MIME is not yet
explicitly supported in the Citadel server, but WebCit uses this to
handle data coming in via the POST method.)
Art Cancro [Tue, 19 Jul 2005 17:05:23 +0000 (17:05 +0000)]
* Removed the last couple of places where forms were submitted using
the GET method. POST is just so technologically cleaner that we should
use it all the time.
* Fixed a bug in the MIME parser that was causing it to not be 8-bit
clean.
Art Cancro [Tue, 19 Jul 2005 14:23:04 +0000 (14:23 +0000)]
* mime_parser.c: don't default Content-type: to text/plain, because when
an HTTP POST operation is performed, the content type is expected to
be empty.
Art Cancro [Tue, 19 Jul 2005 14:21:52 +0000 (14:21 +0000)]
* mime_parser.c: don't default to Content-type: text/plain; charset=us-ascii
because there are places where those fields actually need to be empty (in
WebCit, actually, but I don't want to fork the mime parser).
Art Cancro [Wed, 29 Jun 2005 17:55:32 +0000 (17:55 +0000)]
* Any HTTP method other than GET or POST is now routed directly to the
GroupDAV code. This will eventually allow requests such as "PROPFIND /"
to work.
* GroupDAV requests not beginning with "/groupdav" now automatically have
that prefix prepended to them.
Art Cancro [Wed, 29 Jun 2005 15:25:01 +0000 (15:25 +0000)]
* Added an experimental OPTIONS method. This is not required by GroupDAV,
but it is an experiment to see whether we can use the same code framework
to implement other DAV variants in the future.
Art Cancro [Wed, 29 Jun 2005 03:10:10 +0000 (03:10 +0000)]
* PROPFIND on an individual item inside a room now works (it simply
spews the href and etag properties, regardless of what the request
was). This is not valid GroupDAV, but Kontact expects this request to
succeed before an item can be deleted, so we provide a simple response.
Art Cancro [Fri, 24 Jun 2005 19:58:03 +0000 (19:58 +0000)]
* Added a "preferences and settings" screen for each user.
* Removed the javascript date output stuff because it's not granular
or international enough.
* All dates and times can now be 12 or 24 hours.
Art Cancro [Fri, 24 Jun 2005 15:17:49 +0000 (15:17 +0000)]
* The date/time stamp of messages are now output using JavaScript's
toLocaleString() function, observing the browser's locale and timezone
instead of the web server's.
Art Cancro [Tue, 21 Jun 2005 02:27:39 +0000 (02:27 +0000)]
* Moved some JavaScript functions out of head.html and into a new wclib.js
file, which can be included and cached. This will form the basis for a
new WebCit JavaScript function library.
Art Cancro [Mon, 20 Jun 2005 20:38:50 +0000 (20:38 +0000)]
* The main stylesheet is now in a separate file in the static/ directory.
Something we did recently must have fixed the caching problem, because it's
only being fetched once now (or "now once" if you're Pennsylvania Dutch).
Art Cancro [Mon, 20 Jun 2005 03:47:44 +0000 (03:47 +0000)]
* inetconf.c: in save_inetconf(), eliminate sizeof(x) where x is a pointer
to a heap-allocated buffer rather than a char[xxx]. This fixes a problem
reported by at least one site where the Internet configuration screen
was malfunctioning.
Art Cancro [Sat, 18 Jun 2005 22:58:59 +0000 (22:58 +0000)]
* Installed the 16x16 "users" icon as favicon.ico, mainly for performance
reasons -- the browser will cache favicon.ico and won't keep asking for
it over and over again, eliminating a second HTTP transaction every time
the user clicks on something.
Art Cancro [Sat, 18 Jun 2005 22:18:35 +0000 (22:18 +0000)]
* Replaced the most recent batch of icons with a "better" set which was
sent by the design house. I don't know what the difference is, but
I'm going to assume they're better.
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.