The project "Citadel server, clients, utilities":
The annotated tag, v1021 has been created
at d7d34a12519b0a82e3a210f3bfc5c00ff950fe33 (tag)
tagging b98e8bddcb86f3d13a2d9e89797f63d0b6903777 (commit)
replaces v1020
tagged by Art Cancro
on Fri Oct 24 18:03:49 2025 -0400
- Log -----------------------------------------------------------------
Version 1021 release
Art Cancro (100):
I wonder if we can use %m safely here?
Removed calls to the expression strerror(errno) and used the printf macro
%m when possible. The former expression makes multithreaded code crash when
running under podman because Red Hat is more interested in social justice than
in actually
producing code that works.
It is regrettable that %m is a glibc extension but I seem to have no
choice.
webcit-ng: conversion of strerror to %m
Saving a wiki page now works
Room list can now show the correct icon for Forums, Wikis, Blogs as
appropriate.
If we can't DRY the entire editor, at least DRY some editing components
make the edit bar a little darker
Changed the 'GhostWhite' color to 'WhiteSmoke' in our color scheme (which
I am now calling the 'Slate color scheme') to provide a little more contrast.
Tuned up the css style on wiki, both view and edit
When converting <blockquote> to text, use colors instead of italics to
identify the quote nesting level.
22m to turn off bold, not 21m
random style cleanup
array.c: add a bunch of checks for bad inputs
textclient: changed more 'Aide' references to 'Admin'
netconfigs.txt: documented the 'lastsent' field with a better description
than "should do stuff".
URL entry box is now a ctdl-formgrid-fieldset
Changes to framing and padding of modal dialogs
editor.js: common editor components.
wtf
nobody cares about this commit
More refactoring to centralize richtext editor components
Quick change to _() to make it more inliney
textclient: changing IPC functions from PascalCase to camel_case
Completed conversion of IPC stuffs from PascalCase to snake_case
war on CamelCase continues
sendcommand.c: include sysdep.h
editor.js: use range API for links.
More changing of PascalCase to snake_case
war on PascalCase
s/CtdlDeleteMessages/delete_messages
war on PascalCase
War on CamelCase
Server config API: convert PascalCase to snake_case
visit api: convert PascalCase to snake_case
The snake uprising continues
URL entry box cleanup
parsedate.c: replaced yacc-generated parser with a pure C implementation.
minor cleanup
QA of datestring()
And here on the JavaScript side, we're going to move AWAY from snake_case
and standardize on camelCase. PascalCase is unwelcome on both sides.
Mail view: put the editor buttons with the other buttons. There's room.
More conversion of snake_case to camelCase (in javascript, not C)
Structura sine duplici nomine est pulchritudo operativa.
Anonymized structs when they are typedef'ed.
Continue anonymizing redundant structure names when typedef'ed
webcit-classic README update
80 columns is so 20 century
Brilliant: use the mailbox view for wiki history.
baby steps
Enhanced version of escapeHTMLURI() that leaves most printable characters
alone.
A snake and a camel walk into a bar...
wiki edit tweaks
css tweaks
fighting with css
Auto-tune parallelism via nproc; inject -j into MAKEFLAGS if unset
webcit-ng: makefile tuning as we did for server in previous commit
view_mail.js: convert Delete button to a template literal
More conversion of strings to template literals.
More conversion...
view_wiki.js: render editor box properly.
DRY refactor: replace repeated JSON 200 response blocks with json200out()
wiki history output
Clicking on any wiki rev in the history renders it in the reading pane.
Test commit
Test commit
Another test commit
webcit-ng: wiki view is functionally complete.
Wiki view tuning: disappear edit button when already editing
more work towards editor convergence
Editor component can now edit raw HTML.
xdifftest: annotate test harness, return error count for CI integration
strfold: remove debug printf from line-break logic
Refactor upload window injection; add fixed positioning for compose view
Purged placeholder spam from URL entry box; wiki now sets its own legend
with actual guidance
Render page title in strong (boldface) font
Display the wiki home button only when not already on the home page
base64: mark alphabet pointer as const for semantic hygiene
Makefile: fail with a pretty banner on non-GNU Make.
random acts of style cleanup
messages.c: if the caller supplied a content-transfer-encoding, pass it
along
Hardened vCard deserializer: normalized line endings, unfolded buffers,
gated ingestion via BEGIN/END, skipped VERSION, patched duplicated TYPE=TYPE=
parameters, and deferred strdup() until ingestion. Realloc guarded. Parser now
crash-resistant, leak-free, and narratable. Ready for UID indexing.
textclient: reworked some empty string tests.
lint: compiler-neutral cleanup across http.c, room_functions.c, upload.c
CC already defaults to cc if not specified, no need to incant it in
Makefile
preliminary citserver changes for clang
vcard_edit.c (webcit-classic) -- cleaning up in prep for changes
Fix crash when Content-Type header is missing in HTTP request with body
Add DAV OPTIONS and PROPFIND handlers for / and /ctdl/
Split room list dispatcher into GET and PROPFIND paths; declare DAV: 1, 3
support
Unify DAV namespace usage and begin PROPFIND support for /ctdl/r/
Remove unused "cs" namespace.
Refactor room-level PROPFIND emitter for reuse across DAV endpoints
Implement CardDAV metadata for address book rooms; wire shared emitter
into room list loop
propfind_collection_metadata() emits <D:getlastmodified> if it has been
supplied with one
Declare CardDAV namespace in room-level PROPFIND responses
Declare CardDAV identity in PROPFIND resourcetype for address book rooms
RFC6764 compliance and RFC3986 URL escaping
Output UPN when logging in
Release version 1021 generated by do-release.sh
Harlow Solutions (2):
Rework sendcommand to support batch file and cleaned up help output
Clean up CtdlFetchMsgList() processing:
-----------------------------------------------------------------------
--
Citadel server, clients, utilities