Fossil

History of src/chat.c of 6f4fdfcd6ffdbcfc
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History of file src/chat.c at check-in 6f4fdfcd6ffdbcfc

2021-08-25
23:47
More improvements to login redirects. See the discussion on the [forum:/forumpost/f81625500d96cc0f|forum thread f81625500d96cc0f]. ... (file: [75238318fd] check-in: [e5c16594b3] user: drh branch: trunk, size: 30358)
2021-06-14
10:48
Minor /chat-internal doc tweaks. ... (file: [16c8a41531] check-in: [994bec3637] user: stephan branch: trunk, size: 30361)
2021-04-07
10:09
The 'placeholder' attribute of the two /chat text input fields how includes the project name to help avoid confusion about which /chat one is typing into without requiring new screen real estate for a project-name label. ... (file: [30c382eebd] check-in: [69135e4f61] user: stephan branch: trunk, size: 30389)
07:35
/chat-send now uses the user name 'nobody' for guest-user posts. See [forum:/forumpost/e0be0eeb4c | forum post e0be0eeb4c] for details. ... (file: [8ecfc0c70f] check-in: [5312f3738e] user: stephan branch: trunk, size: 30248)
02:35
Resolved /chat-poll crash when xfrom is null, as described in [forum:/forumpost/e0be0eeb4c | forum post e0be0eeb4c]. ... (file: [b26f701127] check-in: [92b5cc21ce] user: stephan branch: trunk, size: 30158)
2021-03-27
16:04
/chat: removed the unused/unnecessary jump-to-top/bottom buttons. ... (file: [702e19436b] check-in: [a044fea785] user: stephan branch: trunk, size: 29940)
2021-03-21
18:25
Ported /chat from window.fetch to fossil.fetch, as FF versions as recently as 2017 fail with window.fetch. Needs more testing before merge but seems to work. ... (file: [556d426545] check-in: [c973643209] user: stephan branch: chat-fetch-port, size: 30079)
2021-02-18
13:54
API doc typo fix. ... (file: [4732b8ac7d] check-in: [9eed26b0a0] user: stephan branch: trunk, size: 30070)
2021-02-13
14:05
Do not omit the [..] around hyperlinks in chat. ... (file: [b1189afa61] check-in: [bd67c3cdf0] user: drh branch: trunk, size: 30068)
2021-02-04
00:57
Split off the automatic background color chooser into a separate source file "color.c". Add a separate routine "user_color()" to choose background colors based on user name. Abandon the "color-hash-seed" setting. Instead, provide the "user-color-map" setting for overriding the automatic color choices for a few users, which color collisions occur between key project members. ... (file: [c46026d239] check-in: [4d0af2a68f] user: drh branch: user-color-revamp, size: 29948)
2021-01-20
02:09
Enable [https://sqlite.org/pragma.html#pragma_secure_delete|secure_delete] when deleting chat messages, so that there are no forensic traces left behind. ... (file: [d74ac16cc9] check-in: [12a120dd37] user: drh branch: trunk, size: 29948)
2021-01-12
13:50
Fix typos in help and other console output. ... (file: [ebdaa5acbc] check-in: [2f78b2cb41] user: danield branch: trunk, size: 29865)
2021-01-06
13:00
chat: home/end navigation buttons now unconditionally start toggled off, as they're rarely useful. ... (file: [897713b827] check-in: [b19081f3a3] user: stephan branch: trunk, size: 29864)
2021-01-05
20:07
Improvements to the way that the chat alert sound is configured. Remove the /chat-alert webpage. Access the sound files directly using /builtin. ... (file: [279cbdbe3c] check-in: [21a870d02d] user: drh branch: trunk, size: 29834)
19:23
Two new alert sounds. ... (file: [1e233296ee] check-in: [35b07813a8] user: drh branch: trunk, size: 30137)
19:05
Provide for two different chat-alert sounds in the /Admin/Chat configuration menu. ... (file: [4bdc631282] check-in: [d8e6994350] user: drh branch: trunk, size: 30090)
14:02
It's 2021 now, not 2020. ... (file: [2b3ec2ccdb] check-in: [d0e81e5941] user: stephan branch: trunk, size: 29855)
14:00
Removed the reference to the unversioned table from the chat alert list generation, since that table is optional and the alerts are currently disabled (problem reported in [https://fossil-scm.org/forum/forumpost/f3a522489b | /forumpost/f3a522489b]. Removed mention of the configurable alerts from chat.md. ... (file: [1a75aea27e] check-in: [381ad0c846] user: stephan branch: trunk, size: 29855)
05:19
Moved chat audio notification files to src/alerts, per chatroom discussion. Chat audio is now configurable using a selection of builtin WAV files and audio files stored in /uv/alert-sounds/*.XYZ (==ogg, wav, mp3). The addition of a selection list means that closing the chat settings popup now requires tapping either a popup entry or the settings button - tapping in the page body won't do it because that handling collides with the selection list event handling. ... (file: [fbffd7ac5b] check-in: [4c34053c58] user: stephan branch: trunk, size: 29650)
02:25
If the "fossil chat send" command fails, show an error message. ... (file: [9c2c5a471f] check-in: [e514bb5b83] user: drh branch: trunk, size: 28622)
02:13
Fix the "fossil chat send" command so that it sends the lmtime query parameter so that the chat display shows an appropriate local time. ... (file: [667b0509ab] check-in: [62d67ed9a5] user: drh branch: trunk, size: 28286)
02:05
In the "fossil chat send" command, detect extra arguments and throw an error if they are seen. ... (file: [5ee4847bdf] check-in: [1814f528de] user: drh branch: trunk, size: 27997)
01:32
Do not allow the "fossil chat send" command to transmit over an unencrypted channel unless the --unsafe option is used on the command-line. ... (file: [ea2cd4f61b] check-in: [6da3a74d5f] user: drh branch: trunk, size: 27906)
01:26
The "fossil chat send" command should throw an error if there are any unrecognized command-line options. ... (file: [f5e7ac117e] check-in: [904a5a5612] user: drh branch: trunk, size: 27659)
01:23
Add the "fossil chat send" command. ... (file: [78836d9219] check-in: [1e81049063] user: drh branch: trunk, size: 27607)
2021-01-03
16:48
Fix the "fossil chat" command so that it works on Windows. ... (file: [e56a23f3d5] check-in: [f572b62f22] user: drh branch: trunk, size: 23646)
16:40
Use the "plunk" sound for audiable alert in chat. Back out the "ping" processing logic. ... (file: [1c8cade382] check-in: [f2fcdbc505] user: drh branch: trunk, size: 23565)
11:08
chat: added preliminary audio notification support (may require toggling that capability on for a given server in the browser). Center-aligned chat error messages and removed the 'fossil' user name from them, for compatibility with upcoming timeline-style notifications. Added wav files to the binary-glob versioned setting. ... (file: [f26b86cd03] check-in: [99caeec643] user: stephan branch: trunk, size: 24749)
2021-01-02
06:05
In chat multi-line mode, the 'placeholder' text now mentions that Ctrl-Enter sends the message. ... (file: [b58db78408] check-in: [16ba05da98] user: stephan branch: trunk, size: 24362)
2020-12-29
16:49
Minor doc typo. ... (file: [1a6673c913] check-in: [47655d3996] user: stephan branch: trunk, size: 24329)
04:18
chat: send and poll can now report if the session is logged out, and client-side poll stops looping if that condition is detected. Both cases emit a message in the message area, from user 'fossil', with the CSS class 'error' and a link to the login page with a redirect back to the chat page. ... (file: [5bd53f0a2b] check-in: [3c0c8954c7] user: stephan branch: trunk, size: 24329)
2020-12-27
21:00
Put the <form> outside of the chat-input-area <div>. Safari requires this. ... (file: [6ab5313628] check-in: [ca60df9238] user: drh branch: trunk, size: 22547)
17:42
Chat: hide message home/end buttons by default in portrait mode and add a menu toggle for them, and swapped the button positions (seems more natural). Minor tweak to the div.content resize algo to make use of CSS calc(). ... (file: [9f239e3df4] check-in: [deb9963ac6] user: stephan branch: trunk, size: 22547)
09:05
chat: ARIA-related attribute changes suggested in the forum. ... (file: [98b70878e6] check-in: [ca7aae80ad] user: stephan branch: trunk, size: 22547)
08:32
chat: added buttons to jump to top/bottom of message list. Added a huge margin under the input area because Safari demands it. Improved the div.content auto-resize calculation to get a more precise fit. ... (file: [20f04b0739] check-in: [2408082760] user: stephan branch: trunk, size: 22488)
03:39
Eliminated top-down chat mode altogether in an attempt to eliminate some complexity and cruft. Re-added the toast-on-new-invisible-message from [0a00a103]. ... (file: [a63d158de0] check-in: [421d657078] user: stephan branch: trunk, size: 22379)
2020-12-26
20:47
Typo fix. Moved chat.file to the end of the schema, per forum suggestion. ... (file: [dbff57888c] check-in: [fd73e79b83] user: stephan branch: trunk, size: 22380)
20:24
Integrated client-local timestamp into chat so that participants can see the local time in their colleagues' time zones. ... (file: [992aacb7e1] check-in: [3c5e2badc8] user: stephan branch: trunk, size: 22379)
17:55
chat app now explicitly sets the body.chat CSS class, to account for skins which include a BODY tag in their header and therefore do not get one injected by the style API. ... (file: [2772faa147] check-in: [feaa3b1640] user: stephan branch: trunk, size: 21826)
16:24
Bottom-up chat mode. ... (file: [20b3cd9631] check-in: [2572872bb0] user: drh branch: trunk, size: 21734)
15:40
Implement bottom-up and top-down chat layouts in chat-only mode and normal mode. There is a minor scroll-on-new-message quirk or two to resolve, but it otherwise seems to work. ... (file: [8fb4678475] check-in: [dfc20f4297] user: stephan branch: chat-mode-bottom-up, size: 20785)
12:33
Make the /chat-poll timeout configurable using the chat-poll-timeout setting. ... (file: [dda93fbc12] check-in: [8363e7b8e6] user: drh branch: trunk, size: 21594)
2020-12-25
20:30
For the chat function, the server-to-client JSON uses strict ISO8601 time strings, including the "T" in the middle and the "Z" at the end. ... (file: [d5e6a43d56] check-in: [13c95f0c75] user: drh branch: trunk, size: 20645)
17:52
chat: added toggles for single/multi-line input (non-persistent) and monospace message font (persistent - affects message bodies and text input fields). ... (file: [ae402097e4] check-in: [9d24a28490] user: stephan branch: trunk, size: 20594)
16:08
chat internal cleanups in prep for upcoming changes. Possibly fixed the cosmetic bug where the titlebar says '(0) ...' after receiving an empty list of messages in response to an auto-reconnect after a timeout. ... (file: [f2d4b46e4e] check-in: [e52d0fd5ce] user: stephan branch: trunk, size: 20431)
14:58
Added chat setting chat-inline-images: specifies whether /chat images default to display inline or as download links. Various code-adjacent tweaks. ... (file: [d09f378cd5] check-in: [9d86a4af61] user: stephan branch: trunk, size: 20418)
12:09
Change /chat-poll so that it times out after 7 minutes. This prevents the server from timing out the request and generating errors in the log. ... (file: [5036fecdb4] check-in: [08533f9095] user: drh branch: trunk, size: 20095)
11:06
Moved chat.c inline CSS style to default.css. Various chat layout tweaks. ... (file: [b5e48d7200] check-in: [467dbc8fd7] user: stephan branch: trunk, size: 19988)
10:04
Added settings popup to chat. Currently only 1 setting - toggling the page header/footer on/off. ... (file: [9bba89ab5c] check-in: [617e23bea3] user: stephan branch: trunk, size: 21276)
2020-12-24
20:18
Initial impl of buttons to load older chat messages. The UI code is a bit more involved than might seem necessary, but is so largely because it needs to avoid UI/ajax race conditions. ... (file: [f3077e254e] check-in: [6d676f6eb5] user: stephan branch: trunk, size: 21206)
19:28
A valid /chat-ping request should set the Access-Control-Allow-Origin in the reply header, to avoid client-side errors. ... (file: [93cb233cc9] check-in: [ffb40fd894] user: drh branch: trunk, size: 20025)
19:15
Automatically purge older chat messages using the chat-keep-count and chat-keep-days settings to determine which messages to delete. ... (file: [6790b7d6b8] check-in: [35fbf4995d] user: drh branch: trunk, size: 19955)
18:46
Fix chat so that it detects hyperlinks at the end of a chat message. ... (file: [41c8f7446d] check-in: [6f4fdfcd6f] user: drh branch: trunk, size: 19057)
17:10
Disable CSP for /chat with a ping= query parameter. This is a drastic measure to get the feature working. We can work on providing a better solution later. ... (file: [ed83ab15e6] check-in: [02961b8078] user: drh branch: trunk, size: 19069)
15:58
Fix a harmless compiler warning. ... (file: [453a5d23df] check-in: [b4862238ec] user: drh branch: trunk, size: 18961)
15:57
Add the "fossil chat" command that attempts to bring up a chat window in the default web browser and provide alerts through the TTY. ... (file: [77e0ce788b] check-in: [f62805ed85] user: drh branch: trunk, size: 18957)
15:10
The ping=TCPPORT query parameter to /chat causes a call to /chat-ping on localhost and the given port whenever new chat content arrives. Can be used for notifications. ... (file: [f288696824] check-in: [ebdd91b92f] user: drh branch: trunk, size: 17622)
13:44
Hyperlink processing for chat messages is now handled on the server side, where we have knowledge of interwiki links, wiki page names, and valid artifact hashes. ... (file: [0d9e47200d] check-in: [822653c269] user: drh branch: trunk, size: 16767)
05:58
Added UI to delete chat posts (tap on the message header). Made a change to the semantics of when fossil.PopupWidget's refresh() callback is triggered to account for the common case of having to show() the popup twice in a row without a hide() in between. ... (file: [5296cf730d] check-in: [b7f106da8a] user: stephan branch: trunk, size: 14225)
03:34
The /chat page now redirects to the login page if needed. ... (file: [e165bbc64a] check-in: [77d3058600] user: drh branch: trunk, size: 14380)
01:04
Bungled merge. Was: The /chat page redirects to the login page if the user does not have appropriate permissions to use chat. ... (file: [fe534379ee] check-in: [fee74ce5e7] user: drh branch: mistake, size: 13896)
2020-12-23
23:27
Several internal cleanups in chat app, e.g. replace document.createXYZ with simpler fossil.dom API. Eliminate assignment to innerHTML, which is widely considered unsafe. ... (file: [a3869f97a7] check-in: [68da24594f] user: stephan branch: trunk, size: 14531)
22:58
chat: minor UI refinements. ... (file: [3360f890c9] check-in: [8eb01c314b] user: stephan branch: trunk, size: 14487)
20:58
Add the /Admin/Chat page. Add settings to configure the initial history load size of /chat, and to configure purging of historical messages. ... (file: [8e3849f711] check-in: [15bc20f29d] user: drh branch: trunk, size: 14047)
19:55
Turn off autocomplete on the chat entry form. ... (file: [8f57adc4d2] check-in: [5715978d9f] user: drh branch: trunk, size: 12934)
18:21
Fix the /chat-poll page so that it works even when called from "fossil ui". ... (file: [6769fab36c] check-in: [6f424a32b5] user: drh branch: chatroom-dev, size: 12915)
16:19
Additional documentation on the /chat-poll page. ... (file: [99f3846686] check-in: [2261b29415] user: drh branch: chatroom-dev, size: 12841)
16:08
Upon initial connect to the chatroom, only load the most recent 50 messages. This magic number "50" ought to be configurable, but is hard-coded for the moment. We also need a way for the user to request more history. ... (file: [90381d6ef5] check-in: [c017a7b4d0] user: drh branch: chatroom-dev, size: 12660)
15:35
Add the /chat-delete page that can be used to by an XHR to delete a particular chat message. ... (file: [9a331ae04f] check-in: [2480ce9465] user: drh branch: chatroom-dev, size: 12279)
15:12
chat: improved visual notification of drag/drop into the file input selector. ... (file: [d760f9100c] check-in: [d521007602] user: stephan branch: chatroom-dev, size: 10335)
15:00
chat: reworked the drag/drop bits to take advantage of Firefox and Chrome already supporting drag/drop onto a file input element. ... (file: [cb58a7a258] check-in: [7e48953c16] user: stephan branch: chatroom-dev, size: 10161)
14:21
Made chat drop zone smaller by replacing its text with a helplet button. Added 'chat' table to the list of those NOT nuked by rebuild. ... (file: [35a7e6aef8] check-in: [85939ffcbe] user: stephan branch: chatroom-dev, size: 10392)
10:28
Chat style tweaks. ... (file: [bb1db9ff9f] check-in: [3e956a2354] user: stephan branch: chatroom-dev, size: 10518)
10:23
chat: added drag/drop support for files. Images get previewed like those pasted from the clipboard. ... (file: [dc4ebf76d9] check-in: [4c0146f180] user: stephan branch: chatroom-dev, size: 10428)
08:21
Fixed incorrect chatMessage.fsize value being served with the message list JSON. ... (file: [6c2df5c20f] check-in: [8f736e8456] user: stephan branch: chatroom-dev, size: 9897)
07:45
Simplified some JSON quoting in chat.c. Bypass the paste-from-clipboard handling if the paste target is the input text field, to avoid a console-level error when the text cannot be parsed as an image. TODO: figure out how to handle the paste-image case properly when the event target is the text input field. ... (file: [b339ca75c5] check-in: [2fe8d7c4b1] user: stephan branch: chatroom-dev, size: 9893)
07:09
Implemented paste image into chat from clipboard. Fixed posted file download link but the files download with the same name as their message ID, which isn't very friendly. Not sure how to resolve that bit. ... (file: [45ed854e18] check-in: [eb7845f339] user: stephan branch: chatroom-dev, size: 9907)
06:26
Chat message precise timestamps are now shown via a tap/click popup, rather than hoverhelp, for mobile compatibility. ... (file: [a0da07d873] check-in: [0101325f9d] user: stephan branch: chatroom-dev, size: 9755)
05:44
Import fossil bootstrapping JS into the chat app, add current login name to window.fossil.user.name, and use that name as the initial 'me' value in chat.js (resolves the FIXME in that latter part). ... (file: [f3466f8bae] check-in: [4e832e9f40] user: stephan branch: chatroom-dev, size: 9482)
01:33
Basic chat functionality seems to be on-line again. ... (file: [e0bcc32d77] check-in: [441ee6af06] user: drh branch: chatroom-dev, size: 9430)
00:58
Get the /chat-send and /chat-poll interfaces working. ... (file: [4aa6ee93b5] check-in: [25828eb581] user: drh branch: chatroom-dev, size: 8952)
2020-12-22
20:11
Begin trying to integrate the chatroom prototype into the Fossil core. New code is in src/chat.c and src/chat.js. Add the new "C" capability to enable access to chat. The new code compiles but is not yet functional. (This is an incremental check-in.) The original tools/chat.tcl Wapp script is still available for reference. ... (file: [f673a7192f] check-in: [217b0d2548] user: drh branch: chatroom-dev, size: 5909)