Commit Graph

32 Commits

Author SHA1 Message Date
Micah Lee
dc15883080
Remove new message and change username buttons (user just presses enter instead) and update a bunch of css 2020-08-19 20:22:15 -04:00
Micah Lee
9482461a00
Split chat messages into username and message, and change UI for displaying messages 2020-08-19 19:40:00 -04:00
Saptak S
992ced72f6
Adds noscript HTML 2020-07-04 19:25:38 +05:30
Saptak S
41681f82ec
Merge branch 'develop' of github.com:micahflee/onionshare into chat 2020-07-04 13:42:20 +05:30
Miguel Jacq
21480a5117
Use a more efficient way of parsing the path to /img on the static URL in order to load ajax.gif via receive.js 2020-06-08 09:57:55 +10:00
Miguel Jacq
ce73138890
#1123 Load the ajax.gif in receive.js via relative directory, now that static path is not... static 2020-06-08 09:57:30 +10:00
Saptak S
08f891f4f6
Show in UX that there's a disconnect 2020-06-07 15:56:05 +05:30
Miguel Jacq
554012b8f4
#1121 upgrade to jQuery 3.5.1 2020-05-28 15:19:54 +10:00
Saptak S
afc6a2f4ce
Update username via both socket and ajax
- socket takes care of modifying the username in the forked socket
session and sending a status message to chat window
- ajax request takes care of updating the flask session so that on
refresh or re-opening of the URL in same browser, the username remains
same
2020-05-11 12:51:46 +05:30
Saptak S
409f3f7fbe
Keep save button disabled if changed username invalid
- Disabled till username not changed
- On change, if username is empty, then disabled
- On change, if username is changed back to previous, then disabled
- Else allow saving
2020-05-10 01:55:31 +05:30
Saptak S
89b112ea95
Refactors logic for chat user list and scroll
- Refactors server side code to use instance variable instead of
background thread to generate a list of connected users
- Send this user list anytime any change is made to the list. It can
be: join, update username, disconnect
- In js, render the entire user list everytime it is received.
- Scroll to the bottom of the chat, everytime the current user
sends a message
- Else, if already at the bottom of the chat, scroll to the bottom
after appending incoming status or chat message. But if the user
is scrolled up in the chat window, then do not scroll to the bottom
- When refreshed or close tab is clicked, default browser warning is
shown.
- On receiving disconnect, the browser removes user from room.
- If refreshed, it is shown as if the user left and joined again.
2020-05-04 03:47:13 +05:30
Saptak S
c63a7605ee
Adds list of active users in the chat and allows username change
- allows users to update their username and save the new username
- runs a background thread for every user session which emits a
broadcast with the username so every user can build their list of
active users in the frontend via the socket information
- on updating username, stop the old thread and start a new thread
with the new username being emitted. The username is updated in
everyone's list along with a status message for the same.
2020-03-12 14:54:48 +05:30
Saptak S
7eaefd5299
Sanitize message before appending them to the HTML 2020-03-11 18:10:08 +05:30
Saptak S
819e406d46
Create GUI for onionshare chat mode with the tab workflow 2020-03-09 17:44:00 +05:30
Saptak S
2c938fd777
Create web UI and socket code for the chat interface 2020-03-08 14:51:43 +05:30
Micah Lee
c3ba542ecb
Strip NoScript XSS warning, because the Tor Browser bug it addressed has been fixed 2019-05-29 19:27:21 -07:00
Micah Lee
63ced56250
Update ReceiveMode to no longer rely on slugs 2019-05-21 10:18:40 -07:00
Illia Volochii
32e6422412
Upgrade jQuery to 3.4.0 2019-04-19 18:20:58 +03:00
Micah Lee
3e2901ad8c
Fix minor bugs: When making the ajax POST request, strip the trailing slash from window.location.pathname so the URL works in public mode; and add a newline before printing message when receiving file 2019-02-18 10:57:20 -08:00
Micah Lee
57522c58b6
Remove console.log() debug statements 2019-02-17 21:19:01 -08:00
Micah Lee
422179a6b5
On error, remove the upload div 2019-02-17 09:58:57 -08:00
Micah Lee
77aa909e35
Don't use jQuery for the ajax request, instead manually use an XMLHttpRequest in order to more easily support multiple upload divs 2019-02-17 09:51:19 -08:00
Micah Lee
2d78b545a5
Refactor file upload interface to use jQuery, and to have separate upload progress bars. The progess bars make clear when the data has been sent to the first Tor node, and when its waiting on the rest of the Tor network. It also allows the sender to cancel uploads 2019-02-15 18:52:28 -08:00
Micah Lee
7e709bb234
Added jQuery, and jQuery license 2019-02-15 15:33:54 -08:00
Micah Lee
e2c4ec1f6f
Make uploading over ajax, and ajax flash messages, work 2019-02-15 14:52:00 -08:00
Micah Lee
38c39918d4
Display upload progress percent in submit button 2019-02-14 09:45:41 -08:00
Micah Lee
1c16b092a3
Use a div that gets hidden, instead of a <noscript> tag, because the <noscript> tag doesn't when the security slider is on Safer 2019-02-13 17:40:33 -08:00
Micah Lee
5755cd625b
Starting to implement upload progress 2019-02-13 09:56:36 -08:00
Miguel Jacq
54e0b6ffda
remove code that doesn't work anyway 2019-02-13 14:10:27 +11:00
Miguel Jacq
044c4d0e6e
fix missing bracket 2019-02-13 13:53:03 +11:00
Miguel Jacq
6c36fcb953
Use Ajax to send files in receive mode to workaround browser bug with large files 2019-02-13 12:49:42 +11:00
Micah Lee
649afa2fad
Move (optional) javascript into file, and use CSP to ban inline js 2018-03-06 03:17:54 -08:00