• last updated 13 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Move chat machinery from xotcl-core to xowiki

Rationale: this feature makes little sense without the front-end xowiki provides and makes chat implementation harder to understand, as components are scattered in different packages.

  1. … 1 more file in changeset.
Chat Redesign:

+ New style classes, opening the door to further graphic redesign.

+ Revamping of the user list.

+ Revamping of the input block.

+ Small changes in the messages block, including floating timestamps to the right.

+ Responsive design: use flexbox for chat layout.

+ Responsive design: make user list horizontally scrollable for 'small' widths.

+ Expose user_id in a hidden div, in the chat adp, so it can be used by the javascript part to check and assign different styles to the chat messages if they belong to the user watching the page.

+ xotcl-core: Pass color and user_id in the message, avoiding the creation of the user link at this level.

+ xotcl-core: Remove user_link proc.

+ xowiki: Avoid autocompletion in input field.

+ xowiki: Adding and relocation of div elements.

+ xowiki: Simple function to transform url-like elements of the messages into links.

+ xowiki: Create user links in chat-common.js.

+ xowiki: Check user_id and assign classes to elements depending on the user watching the page.

  1. … 4 more files in changeset.
reduce verbosity

Quote the backslash as well...

Chat reform:

- rework xotcl-core chat machinery to return its responses through JSON and include information about active users

- depend on xowiki instead of xotcl-core only

- exploit xowiki "Comet" server push implementation when the browser supports it

- reduce code duplication

- drop plain HTML chat

- reduce hardcoded styling

- minor cleanups

  1. … 23 more files in changeset.
Converge render method for chat and xotcl-core package

  1. … 1 more file in changeset.
Fix quoting of single quotes in JSON

Avoid javascript eval idiom as CSP will refuse to execute when unsafe-eval is disabled

This requires moving to a more approprate JSON parser... which is also pickier regarding single quotes, so I had to rework JSON encoding to please it.

  1. … 1 more file in changeset.
Prefer new, properly cached api

  1. … 1 more file in changeset.
fix singular/plural typos

  1. … 6 more files in changeset.
Reduce numbber of "catch" operations

  1. … 8 more files in changeset.
Use consistently xo::library to ensure application specific subclassability

  1. … 13 more files in changeset.
prefer XOTcl2 idioms

  1. … 10 more files in changeset.
Revert changes as this won't work on Aolserver

Remove catches, as -nocomplain behavior was fixed in Naviserver by https://bitbucket.org/naviserver/naviserver/commits/6008e3d0720e12f2237fbc4397daf878efc79b5c

Introduce catches from downstream when cleaning up chat variables

Looks like these variables can have been removed before logging out.

merged changes from the oacs-5-9 branch and resolved conflicts

  1. … 7834 more files in changeset.
Allow messages starting with a dash

Avoid logging every message sent to reduce IO

Chats won't throw an error anymore when people keep looking to a room that has been closed.

Instead, user will be informed that the room is unavailable.

Added missing locale key source of errors in the log.

Fixed wrong stored procedure, stating different arguments than in actual usage.

Cleaned up weird idioms in xql files and chat api, moved many db operations into tcl api.

Exploited cache (ns_cache) to retrieve quickly chat room information.

Improved code quality a bit.

Ported upstream some local modification, like prettifying of flags in chat room management

and fix of double quoting in chat's javascript.

  1. … 11 more files in changeset.
- add nonces to script elements

  1. … 4 more files in changeset.
chat-procs overhaul:

- don't double encode everything

- avoid deprecated js functions escape()/unescape()

xowiki/www/ajax/streaming-chat.js, xowiki/www/ajax/scripted-streaming-chat.js

- scripted-mode: fix incorrect markup

- fix parameter passing to xowiki/www/ajax/chat.tcl to avoid rejects

- fix json_encode: one quote to man in xotcl-core/tcl/chat-procs.tcl

- don't dropt "user has_entered_the_room" in "xo::Chat instproc login",

since xowiki chat has otherwise no idea, who is logged in

  1. … 6 more files in changeset.
Introduced new options to set chat rooms so login and/or logout message are not issued everytime a user enters/exits the chat.

  1. … 15 more files in changeset.
- use explicit create statements

  1. … 9 more files in changeset.
- prefer ns_quotehtml over ad_quotehtml

  1. … 36 more files in changeset.
- improve safety of generated HTML

  1. … 2 more files in changeset.
Merging back to HEAD all changes that happened in branch oacs-5-8 between tags: vg-merge-oacs-5-8-from-20141027 and vg-merge-oacs-5-8-from-20150427

  1. … 520 more files in changeset.
Using prime number for interval of scheduled proc.

Removing trailing pound signs.

Merging back to HEAD branch oacs-5-8 (using tag vg-merge-oacs-5-8-from-20141027).

  1. … 2547 more files in changeset.
- change tabs into spaces

  1. … 22 more files in changeset.