Commit Graph

8004 Commits (rhansen-chat)

Author SHA1 Message Date
Richard Hansen dda284cbe9 chat: New option to completely disable chat 2022-05-06 20:44:00 -04:00
Richard Hansen 310a371234 chat: Move `.etherpad` import/export handling to `chat.js` 2022-05-06 20:44:00 -04:00
Richard Hansen bc06ef87bb chat: Move HTTP API handlers to `chat.js` 2022-05-06 20:44:00 -04:00
Richard Hansen b6bcc092ed chat: Move message deletion to `padRemove` hook 2022-05-06 20:44:00 -04:00
Richard Hansen bd621043ff chat: Move message copy to `padCopy` hook 2022-05-06 20:44:00 -04:00
Richard Hansen 01f1a8b75e chat: Move `chatHead` initialization to `padLoad` hook 2022-05-06 20:44:00 -04:00
Richard Hansen 42c22ce28d chat: Move message checking to `padCheck` hook 2022-05-06 20:44:00 -04:00
Richard Hansen cdea600acc chat: Move Pad chat methods to `chat.js` 2022-05-06 20:44:00 -04:00
Richard Hansen 2d3418caf7 chat: Deprecate the `chat` export from the client-side chat module 2022-05-06 20:43:55 -04:00
Richard Hansen 2e684476cb chat: Move `chatHead` client var to `clientVars` hook 2022-05-06 20:43:09 -04:00
Richard Hansen 8d5fdd7dc9 chat: Move chat message handling to `handleMessage` hook 2022-05-06 20:42:18 -04:00
Richard Hansen a177a622c4 chat: Move chat-specific pad HTML to `eejsBlock_*` hook functions 2022-05-06 20:41:23 -04:00
Richard Hansen e0f28cfe86 chat: Move cookie pref handling to chat init in `chat.js`
It's unclear why this logic was previously triggered by connection
state changes, but it doesn't make sense for it to be there.
2022-05-06 20:41:13 -04:00
Richard Hansen a5c729af32 chat: Move chat init to `chat.js` 2022-05-06 02:54:34 -04:00
Richard Hansen 8d3a6e5ef9 chat: Move chat message handling to `chat.js` 2022-05-06 02:54:34 -04:00
Richard Hansen 870191f622 chat: Move Alt-C handling to `chat.js` 2022-05-06 02:54:34 -04:00
Richard Hansen 92cd1feb8a chat: Fix blur and focus in Alt-C shortcut handler 2022-05-06 02:54:34 -04:00
Richard Hansen 59848efc9b chat: Delete non-functional Alt-C shortcut handler 2022-05-06 02:54:34 -04:00
Richard Hansen a1388b7876 chat: Move chat-specific option processing to `chat.js` 2022-05-06 02:54:34 -04:00
Richard Hansen 1cbba4ea3a chat: New `hide` method to completely hide chat 2022-05-06 02:54:34 -04:00
Richard Hansen 8ae5f25075 chat: Make sure the icon is visible when minimizing 2022-05-06 02:54:34 -04:00
Richard Hansen b830ed9744 chat: Rename `hide` method to `reduce`
It doesn't hide: If sticky, it unsticks. Otherwise, it minimizes.
2022-05-06 02:54:34 -04:00
Richard Hansen f7d7d89874 chat: Move click handlers to `chat.js` 2022-05-06 02:54:34 -04:00
Richard Hansen 7b7b085a1c tests: chat API: Move test setup to `before()` 2022-05-06 02:54:34 -04:00
Richard Hansen 92d70e5ead tests: chat API: Delete unnecessary `describe()` calls 2022-05-06 02:54:34 -04:00
Richard Hansen cb02253e62 tests: chat API: Reorder assertions
* There's no point in asserting that the Content-Type type is JSON
    if it didn't return 200.
  * There's no point in asserting JSON body properties if the
    Content-Type isn't JSON.
  * There's no point in asserting data properties if it returned an
    error code.
2022-05-06 02:54:34 -04:00
Richard Hansen 3146d6758b tests: chat API: Use `assert` library 2022-05-06 02:54:34 -04:00
Richard Hansen 5603e6b94e tests: chat API: Promisify 2022-05-06 02:54:34 -04:00
Richard Hansen 33c46cb002 tests: chat: Wait for message ack 2022-05-06 02:54:34 -04:00
Richard Hansen 8d062b254e tests: chat: Consolidate all frontend chat tests 2022-05-06 02:54:34 -04:00
Richard Hansen 16f84ba3d3 plugins: Move plugin logging to `plugins.update()` 2022-05-06 02:54:34 -04:00
Richard Hansen 595697bc8a plugins: Don't tell clients about server-side hooks 2022-05-06 02:54:34 -04:00
Richard Hansen 5fe5a87c85 collab_client: Pass raw message to `handleClientMessage_*` hooks 2022-05-06 02:54:34 -04:00
Richard Hansen 9b7108d730 PadMessageHandler: Delete unnecessary variables
to improve readability.
2022-05-06 02:54:34 -04:00
Richard Hansen fec1bc0d4a css: Fix class name typo 2022-05-06 02:54:34 -04:00
Richard Hansen cae949afc6 lint: Fix indentation and formatting in `pad.html` 2022-05-06 02:54:34 -04:00
Richard Hansen 7e2472cef7 Move `tar.json` into JavaScript
This makes it possible to add comments and conditional logic.
2022-05-06 02:54:34 -04:00
Richard Hansen f812e53dc9 API: Add missing `await`
This isn't strictly necessary, but it improves readability.
2022-05-06 02:54:34 -04:00
Richard Hansen 2facf3a0c5 ExportEtherpad: New `importEtherpad`, `exportEtherpad` hooks 2022-05-06 02:54:34 -04:00
Richard Hansen 44fd70491d ImportEtherpad: Batch database writes 2022-05-05 20:49:52 -04:00
Richard Hansen c1652fd695 ImportEtherpad: Process records in batches
This enables ueberdb to combine multiple queries into a single message
to the database backend.
2022-05-05 20:49:52 -04:00
Richard Hansen 10117bc988 ImportEtherpad: Use a real ueberdb object for the temp Pad
Now plugin authors have access to the full set of DB operations.
2022-05-05 20:49:52 -04:00
Richard Hansen 6a183db850 ExportEtherpad: Parallelize record reads 2022-05-05 19:33:21 -04:00
Richard Hansen 88c0ab8255 ExportEtherpad: Support custom subkeys 2022-05-05 19:33:21 -04:00
Richard Hansen 4b2e2dd9f2 tests: Add tests for `exportEtherpadAdditionalContent` hook 2022-05-05 19:33:21 -04:00
Richard Hansen 78b44daaa8 ExportEtherpad: Fix `exportEtherpadAdditionalContent` hook docs
When exporting, only records like `comments:padId` are supported, not
records like `comments:padId:foo`.
2022-05-05 19:33:21 -04:00
Richard Hansen 936185e3b6 ExportEtherpad: Use Pad API to collect data 2022-05-05 19:33:21 -04:00
Richard Hansen 4a6e77839e ExportEtherpad: Process pad record separately
to improve readability.
2022-05-05 19:33:21 -04:00
Richard Hansen 56a60a34fb ExportEtherpad: Simplify attribute pool iteration 2022-05-05 19:33:21 -04:00
Richard Hansen 3004bc1583 ExportEtherpad: Invert conditions to improve readability
Also delete unnecessary comments.
2022-05-05 19:33:21 -04:00