Commit Graph

237 Commits

Author SHA1 Message Date
Pavel Djundik
f3cf69796d Don't merge messages on client if server sends over 100 of them 2019-02-13 16:44:15 +02:00
Pavel Djundik
b066dc301e Move custom highlights to the server 2019-02-13 16:44:15 +02:00
Pavel Djundik
987cc6d3b4 Restore custom highlights functionality 2019-02-12 12:49:06 +02:00
Pavel Djundik
c13840e029 Don't sync counters for showInActive messages 2019-02-12 12:49:06 +02:00
Pavel Djundik
4a0f319e91 Ignore server unread sync for active channel 2019-02-12 12:49:05 +02:00
Pavel Djundik
5ba0e33fb9 Skip network status updates for quit networks 2019-02-12 12:49:05 +02:00
Pavel Djundik
7b15c53ed4 Rename some vue variables 2019-02-12 12:49:05 +02:00
Pavel Djundik
b6e07a43f5 Make a consistent single funciton for updating notified/favicon/title 2019-02-12 12:49:05 +02:00
Pavel Djundik
c3a1c77447 Rebase image uploading to Vue 2019-02-12 12:49:05 +02:00
Pavel Djundik
26dc37033c Make connection-error a vue state 2019-02-12 12:49:04 +02:00
Pavel Djundik
7c8441a93b Clear user lists on all channels when disconnected from network 2019-02-12 12:48:45 +02:00
Pavel Djundik
853f67ab40 Synchornize channel state to the client 2019-02-12 12:48:44 +02:00
Pavel Djundik
f2cbd1efed Pass PREFIX and CHANTYPES to parser 2019-02-12 12:48:44 +02:00
Pavel Djundik
cebfa6ac84 A little cleanup 2019-02-12 12:48:44 +02:00
Pavel Djundik
104692007f Use attr() instead of data() 2019-02-12 12:48:44 +02:00
Pavel Djundik
a10ac4e7da Make a single function to initialize channel variables 2019-02-12 12:48:44 +02:00
Pavel Djundik
ad0f638487 Add jump-to-bottom arrow when scrolled up 2019-02-12 12:48:44 +02:00
Pavel Djundik
c70b4d4c80 Fix unread marker being off by one on the server 2019-02-12 12:48:44 +02:00
Pavel Djundik
0e7880a049 Fix autocompleting multiple times not working 2019-02-12 12:48:44 +02:00
Pavel Djundik
1bfaef1985 Keep pendingMessage on reconnect 2019-02-12 12:48:44 +02:00
Pavel Djundik
0ba6200bb7 Keep scrolledToBottom on reconnect 2019-02-12 12:48:44 +02:00
Pavel Djundik
86ddce974d Update lobby name correctly when editing network 2019-02-12 12:48:44 +02:00
Pavel Djundik
c42fc55c6f Fix reconnection state 2019-02-12 12:48:44 +02:00
Pavel Djundik
04d86a3550 Fix channel sort not working 2019-02-12 12:48:44 +02:00
Pavel Djundik
36b6fdcc88 Reference scrolledToBottom variable instead of recalculating on message received 2019-02-12 12:48:44 +02:00
Pavel Djundik
bb0450cb31 Move history logic to MessageList, fix previews not keeping scroll 2019-02-12 12:48:43 +02:00
Pavel Djundik
8e130f0259 Fix incorrectly trimming channel 2019-02-12 12:48:43 +02:00
Pavel Djundik
b88a186d05 Fix history not loading after trimming 2019-02-12 12:48:43 +02:00
Pavel Djundik
6a82114b62 Cleanup msg event 2019-02-12 12:48:43 +02:00
Pavel Djundik
8931570c02 Port join-channel completely to Vue 2019-02-12 12:48:43 +02:00
Pavel Djundik
80a12d98b4 Update topic in channel state 2019-02-12 12:48:43 +02:00
Pavel Djundik
a8c777c797 Remove render.js 2019-02-12 12:48:43 +02:00
Pavel Djundik
499beb0257 Keep scroll position when scrolling up 2019-02-12 12:48:43 +02:00
Pavel Djundik
a5625ba203 Remove scroll code from more event 2019-02-12 12:48:43 +02:00
Pavel Djundik
5792bff49d Display previews as they come in; fix image viewer 2019-02-12 12:48:43 +02:00
Pavel Djundik
c369f0fdb7 Some fixes with unread marker 2019-02-12 12:48:43 +02:00
Pavel Djundik
30bdfe9d3f Hide 'show more history' button if there are no more messages 2019-02-12 12:48:42 +02:00
Pavel Djundik
595915fefd Render link previews in Vue 2019-02-12 12:48:42 +02:00
Pavel Djundik
5f5b5fef3d Enable .js linter 2019-02-12 12:48:42 +02:00
Pavel Djundik
db803a8548 Port channel list to Vue 2019-02-12 12:48:42 +02:00
Pavel Djundik
121dd35c3b Port ban lists to Vue 2019-02-12 12:48:42 +02:00
Pavel Djundik
aa1446c19d Some fixes for unread marker 2019-02-12 12:48:42 +02:00
Pavel Djundik
084e01cf46 Implement message trimming 2019-02-12 12:48:42 +02:00
Pavel Djundik
aea779cfdf Remove some unnecessary code 2019-02-12 12:48:42 +02:00
Pavel Djundik
9ab5b9d791 Implement condensed messages in Vue 2019-02-12 12:48:42 +02:00
Pavel Djundik
dee76adc0c Implement network collapsing in Vue 2019-02-12 12:48:41 +02:00
Pavel Djundik
a229138ca6 Add connected state 2019-02-12 12:48:41 +02:00
Pavel Djundik
3300276c27 Delete some files and undo server change 2019-02-12 12:48:41 +02:00
Pavel Djundik
09fa3e5c86 Fix autocompletion 2019-02-12 12:48:41 +02:00
Pavel Djundik
0e930c9356 Make history loading work 2019-02-12 12:48:41 +02:00
Pavel Djundik
25840dfef4 Single chat container (with buffered input), user list in vue 2019-02-12 12:48:41 +02:00
Pavel Djundik
1d2a11729f Render chat/messages in Vue (mostly broken) 2019-02-12 12:48:41 +02:00
Pavel Djundik
0b269423aa Remove remaining DOM references to badge/highlight 2019-02-12 12:48:41 +02:00
Pavel Djundik
d4a23ffc98 Fix loading disappearing too soon 2019-02-12 12:48:41 +02:00
Pavel Djundik
7e332b817d Channel list rendering with Vue
Co-Authored-By: Tim Miller-Williams <timmw@users.noreply.github.com>
2019-02-12 12:48:41 +02:00
Pavel Djundik
9003768d56 Fix up link insertion after uploads to be saner 2019-01-30 20:00:59 +02:00
William Boman
658dc5a3a2 fix automatically closing sidebar on some mobile viewports
Co-authored-by: Pavel Djundik <github@xpaw.me>

Mobile viewports whose width is equal to the upper boundary
of the mobile viewport breakpoint would not automatically
close the sidebar when selecting an item in it.

Closes #2783.
2018-09-19 09:37:03 +02:00
Pavel Djundik
ce212e001c Add file uploading support
Co-Authored-By: Max Leiter <hello@maxleiter.com>
Co-Authored-By: Jérémie Astori <astorije@users.noreply.github.com>
2018-09-03 10:30:05 +03:00
Max Leiter
50661b5947 Hide Native App settings section when no items are available 2018-08-19 12:24:19 -07:00
Pavel Djundik
b1dcbd3811
Merge pull request #2601 from thelounge/xpaw/fix-2572
Make menu state consistent on desktop and mobile; fix sliding on desktop
2018-08-17 09:25:43 +03:00
Jérémie Astori
13e6f37eda
Make sure the network name cannot be changed through URL override when the network info is not displayed 2018-08-11 18:12:49 -04:00
Jérémie Astori
174c6c744c
Disallow URL override of network-related fields on the client when the network is locked 2018-08-11 18:06:23 -04:00
Jérémie Astori
7b926f7c32
Merge pull request #2515 from thelounge/xpaw/transparent-sw-cache
Network-first service worker caches
2018-07-25 00:57:20 -04:00
realies
8f5182b379 Change alert sound from ogg to wav 2018-07-17 09:14:58 +03:00
Pavel Djundik
0f6fd4dac5 Listen for beforeinstallprompt to trigger 'add to home' 2018-07-06 15:38:57 +03:00
Pavel Djundik
cdebd532ce Make menu state consistent on desktop and mobile; fix sliding on desktop
Fixes #2572
2018-07-06 12:27:26 +03:00
Jérémie Astori
21c4dea8a9
Merge pull request #2599 from thelounge/xpaw/userlist
Make userlist state consistent on mobile and desktop
2018-07-06 01:29:23 -04:00
Pavel Djundik
19ac4f72aa Implement irc:// protocol handler 2018-07-05 13:01:10 +03:00
Pavel Djundik
d63f0ccc50 Make userlist state consistent on mobile and desktop 2018-07-04 10:26:07 +03:00
Pavel Djundik
d00cf72614 Reset highlights on self messages; update title when other client opens a channel 2018-06-21 16:51:07 +03:00
Pavel Djundik
9a808b58e9 Do not remove date marker when loading history if date changes
Fixes #2566
2018-06-17 11:46:31 +03:00
Jay2k1
a0a2e91928 add highlight count to page title 2018-06-13 19:06:32 +02:00
Pavel Djundik
7a3008aec6 Synchronize number of highlighted messages to client
Also fixes #1791
2018-06-11 14:29:57 +03:00
Pavel Djundik
000d56a96d Show connect window when last network is removed 2018-05-29 13:07:18 +03:00
Jérémie Astori
e30984a13d
Merge pull request #2429 from c-ciobanu/c-ciobanu/feature-2360
Add password visibility toggle feature
2018-05-28 19:02:16 -04:00
Jérémie Astori
d185a78af7
Merge pull request #2197 from RockyTV/rockytv
Add support for /ignore, /unignore and /ignorelist commands
2018-05-28 18:33:51 -04:00
Alexandre Oliveira
468427bfdb Add support for /ignore, /unignore and /ignorelist commands 2018-05-28 16:46:12 -03:00
Pavel Djundik
929047b6a5 Replace URIjs with native URLSearchParams 2018-05-28 10:16:00 +03:00
qwe
0294643403 minor fixes 2018-05-10 20:37:10 +02:00
qwe
bdfc367c6c refactor password visibility toggle feature 2018-05-10 01:25:17 +02:00
qwe
2d49e34805 add password toggle to connect and login 2018-05-08 23:40:39 +02:00
qwe
97b178dbdb Add password visibility toggle feature 2018-05-08 01:52:54 +02:00
Pavel Djundik
94f1d8dde0 Override server provided defaults with parameters passed in the URL if they match the data type 2018-05-02 13:08:00 +03:00
Pavel Djundik
ee5e82fe9a Fix connect window opening twice in public mode 2018-05-02 13:08:00 +03:00
Pavel Djundik
b3e57a013f Fix join channel ui moving when sorting channels
Fixes #2218
2018-05-01 11:18:39 +03:00
Jérémie Astori
37a35eeece
Merge pull request #2398 from thelounge/xpaw/data-attr
Use attr() on user-controlled data
2018-04-29 02:13:07 -04:00
Jérémie Astori
1daad45f11
Use the new logo for favicons, notifications badges, and homescreen app icons 2018-04-28 12:14:41 -04:00
Pavel Djundik
14cc8b7827 Use attr() on user-controlled data
See https://www.reddit.com/r/javascript/comments/8f57i1/psa_there_are_over_1000_people_in_the_us_named/dy0rib2/
2018-04-28 11:19:49 +03:00
Pavel Djundik
e136edb6ac Remove network ids and use uuids everywhere 2018-04-26 12:37:28 +03:00
Jérémie Astori
1762db8bd4
Make "Show older messages" style consistent with other buttons
Also store the loading text in a `data` attribute instead of duplicate in template + JS, in order to help with future internationalization
2018-04-18 00:12:24 +02:00
Pavel Djundik
a392a08c7a Remove nick editor 2018-04-15 22:17:30 +03:00
Pavel Djundik
f86d73972d Implement network editing UI and object updating 2018-04-12 10:38:35 +03:00
Jérémie Astori
b08b23d59e
Merge pull request #2328 from thelounge/astorije/local-themes
Local themes
2018-04-12 00:23:11 -04:00
Jérémie Astori
62fb5524ae
Switch client to default theme when it is using a theme that has been removed 2018-04-02 23:51:59 -04:00
creesch
95dc519019 Sync on both load and reconnect. 2018-03-30 09:49:02 +02:00
creesch
e967859d5f Force sync button 2018-03-30 09:32:20 +02:00
Jérémie Astori
d1548572d4
Move the sign out button to the settings and empty local storage on sign out
This change improves privacy/security by ensuring all local storage (which includes settings, etc.) is destroyed on sign out or when revoking a remote session. Because signing out is now more "risky", the button has been moved to the settings along with other existing sessions.

This commit:

- Removes the power/sign-out icon from the sidebar footer (gives additional room for when the admin panel gets added)
- Adds a "Sign out" button next to the current session info in the settings session list
- Renames "Disconnect" buttons into "Revoke" to better clarify the intent (I will admit that I borrowed the wording from Telegram)
- Fixes incorrect `localStorage.remove` method
- Uses Sinon.js to mock wrappers for `window.localStorage` and `window.location` (does not mock those themselves, in the "Do not mock what you do not own" fashion, mock our layer instead). I expect we will be able to test a bit more from the UI with this. A good next candidate will be the `mockLogger` things.
2018-03-20 01:52:22 -04:00
Pavel Djundik
103c3395dd Store visibility status of sidebar menus
Fixes #51
Closes #1606
2018-03-16 09:03:16 +02:00
Pavel Djundik
3de3d05b8a Rework how unread marker is moved when status messages are hidden
Fixes #2214
2018-03-15 17:52:04 +02:00
Jérémie Astori
00bca229f0
Enforce object literal shorthand syntax with ESLint 2018-03-15 00:22:09 -04:00