Commit Graph

2325 Commits

Author SHA1 Message Date
Pavel Djundik
80c6cfbd7c Use switchToChannel instead of click 2019-11-25 20:13:00 +02:00
Tim Miller-Williams
25da9dd63e Rework settings such that all behavior for each setting is kept together
Behavior includes: default value, whether setting should be synced, and
an optional 'apply' callback which is called when setting is changed in
Vuex.
2019-11-25 20:12:59 +02:00
Tim Miller-Williams
703848919c Separate connection event handlers from socket.js 2019-11-25 20:12:59 +02:00
Tim Miller-Williams
a2a2aff2bc Remove unnecessary options.initialized switch 2019-11-25 20:12:58 +02:00
Pavel Djundik
a1f183f216 Cleanup auth flow 2019-11-25 20:12:58 +02:00
Pavel Djundik
fc1c9568e2 Rename helpers folder, move some vue filters 2019-11-25 20:12:58 +02:00
Pavel Djundik
b164e95290 Remove DOM access from webpush 2019-11-25 20:12:57 +02:00
Pavel Djundik
8972242863 Remove jquery from msg event 2019-11-25 20:12:57 +02:00
Pavel Djundik
6b8fea8afc Avoid emitting multiple events to the server when collapsing/expanding channel previews
Fixes #1377
2019-11-25 20:12:56 +02:00
Pavel Djundik
c26de4cf6a Move options to vuex
Co-Authored-By: Tim Miller-Williams <timmw@users.noreply.github.com>
2019-11-25 20:12:56 +02:00
Pavel Djundik
743ae987ec Fix up login and initial window 2019-11-25 20:12:55 +02:00
Pavel Djundik
2b5a13a043 Register routes after init 2019-11-25 20:12:55 +02:00
Pavel Djundik
aba2487126 Make findChannel and findNetwork getters 2019-11-25 20:12:54 +02:00
Pavel Djundik
742cd8d4bf Move most things out of utils 2019-11-25 20:12:54 +02:00
Pavel Djundik
2f635069e0 Move vuex state to a separate file and reorganize some code
Co-Authored-By: Tim Miller-Williams <timmw@users.noreply.github.com>
2019-11-25 20:12:54 +02:00
Pavel Djundik
3c43a2bfd3 Delete renderPreview.js 2019-11-25 20:12:53 +02:00
Pavel Djundik
c4d6afe3d6 Fix removing networks 2019-11-25 20:12:53 +02:00
Pavel Djundik
c8b22b2df3 Fix up network editing 2019-11-25 20:12:52 +02:00
Richard Lewis
8fa42c5c48 Fix network editing in vue and use absolute urls in router links. 2019-11-25 20:12:52 +02:00
Richard Lewis
2049a16d64 Implement switchToChannel method. 2019-11-25 20:12:51 +02:00
Pavel Djundik
e845e17a63 Convert some clicks to router push 2019-11-25 20:12:51 +02:00
Richard Lewis
c6dca616e6 Remove jQuery from InlineChannel.vue and JoinChannel.vue. 2019-11-25 20:12:50 +02:00
Richard Lewis
c393dd1a11 Fixes to vue routing and activeWindow. 2019-11-25 20:12:50 +02:00
Pavel Djundik
f76ad57c63 Move confirmExit 2019-11-25 20:12:50 +02:00
Pavel Djundik
431221c21e Add rel=noopener on changelog links 2019-11-25 20:12:49 +02:00
Richard Lewis
737afc759b Implement vue-router. 2019-11-25 20:12:48 +02:00
Pavel Djundik
7355c91839 Move context menu events to factory 2019-11-25 20:12:48 +02:00
Pavel Djundik
af0d48de72 Create InlineChannel component 2019-11-25 20:12:48 +02:00
Pavel Djundik
4f6565c24a Add active class to footer buttons 2019-11-25 20:12:47 +02:00
Pavel Djundik
5c4b402341 Fancy image interactions in the image viewer
Desktop:
- Mousewheel to zoom in/out (hold ctrl to move up/down)
- If zoomed, drag around with mouse to move

Mobile:
- Move around with one finger
- Change zoom with two fingers
2019-11-25 20:12:47 +02:00
Pavel Djundik
af777106bf Remove handlebars and html-minifier 2019-11-25 20:12:46 +02:00
Pavel Djundik
70a795dced Start porting image viewer to Vue 2019-11-25 20:12:33 +02:00
Richard Lewis
2d8417cd8b Patch changelog html in Vue. 2019-11-25 20:12:33 +02:00
Pavel Djundik
cd36555b63 Import socket in changelog 2019-11-25 20:12:32 +02:00
Richard Lewis
ef500f12a1 Implement changelog in Vue. 2019-11-25 20:12:32 +02:00
Richard Lewis
055ba5caff Remove sidebar wrapper div. 2019-11-25 20:12:31 +02:00
Richard Lewis
b95f89c4c2 Implement version checker in Vue. 2019-11-25 20:12:31 +02:00
Richard Lewis
2b602ca333 Move slideout menu logic to Vue. 2019-11-25 20:12:31 +02:00
Richard Lewis
ee92de0ff7 Fix changing theme color and properly sync settings. 2019-11-25 20:12:30 +02:00
Richard Lewis
b5f2e7f0cc Fix lint and format with prettier. 2019-11-25 20:12:30 +02:00
Richard Lewis
e0ec340de8 Fix oversights during rebase. 2019-11-25 20:12:29 +02:00
Richard Lewis
b994ecd1f1 Fix hash navigation for sidebar footer buttons. 2019-11-25 20:12:29 +02:00
Richard Lewis
addd4124bf Close sidebar when opening settings, help etc. 2019-11-25 20:12:29 +02:00
Richard Lewis
7fd48d8155 Fix enabling and disabling push notifications. 2019-11-25 20:12:28 +02:00
Richard Lewis
467ebab31f Move most side bar and user list interactions to vue. 2019-11-25 20:12:28 +02:00
Richard Lewis
e73bf1e9a7 Move closeChan functionality to vue. 2019-11-25 20:12:27 +02:00
Richard Lewis
5b17a2fbe4 Port session list to vue. 2019-11-25 20:12:27 +02:00
Richard Lewis
111beb5f12 Run updateSetting from Settings component and get rid of unused code. 2019-11-25 20:12:26 +02:00
Richard Lewis
6c10a2a6cf Port part of the settings functionality to vue. 2019-11-25 20:12:26 +02:00
Richard Lewis
08635beb61 Fix lint 2019-11-25 20:12:25 +02:00
Richard Lewis
5a3ad194e8 Move connect and network edit views to vue. 2019-11-25 20:12:25 +02:00
Richard Lewis
c4a3108dc0 Move activeWindow to vuex. 2019-11-25 20:12:24 +02:00
Richard Lewis
0da059118d Move isNotified to vuex. 2019-11-25 20:12:24 +02:00
Richard Lewis
69cb891b1a Add vuex and move isConnected to vuex state. 2019-11-25 20:12:23 +02:00
Richard Lewis
e71360ad39 Move sidebar to its own component. 2019-11-25 20:12:23 +02:00
Pavel Djundik
3f7889e534 Move changelog window to Vue 2019-11-25 20:12:22 +02:00
Pavel Djundik
70d9d8d226 Move help window to Vue 2019-11-25 20:12:22 +02:00
Pavel Djundik
71f54f6a5d Move some settings to Vue 2019-11-25 20:12:22 +02:00
Pavel Djundik
09e12affe8 Begin moving windows to Vue 2019-11-25 20:12:21 +02:00
Pavel Djundik
74fd296d61
Merge pull request #3490 from thelounge/xpaw/showinactive-fix
Fix potential issue of history not loading when `showInActive` is the first message
2019-11-11 12:01:41 +02:00
Pavel Djundik
a13bcb8e93 Format prettier after update 2019-11-09 10:55:50 +02:00
Raqbit
95cc9a47fb Add file size to link preview 2019-11-07 16:58:28 +01:00
Pavel Djundik
901d96c8cc
Merge pull request #3494 from thelounge/xpaw/remove-away-chan
Remove away messages from channels
2019-11-05 12:43:43 +02:00
Pavel Djundik
3ed54a3e11 Remove away/back condense as it won't be in channels 2019-11-05 12:37:55 +02:00
Pavel Djundik
48713428b7 Import primer-tooltips css 2019-11-02 12:45:41 +02:00
Pavel Djundik
75eb812f05 Fix potential issue of history not loading when showInActive is set 2019-11-01 16:43:55 +02:00
Pavel Djundik
959ec5b598
Merge pull request #3471 from MiniDigger/feature/plugin-messages
Add message type for plugins
2019-11-01 16:41:41 +02:00
Pavel Djundik
5b3399f95a Use postcss to optimize css 2019-11-01 13:47:18 +02:00
Pavel Djundik
1f2ca91d89
Merge pull request #3486 from thelounge/xpaw/firefox-copy-hack
Disable copy hack in Firefox
2019-11-01 13:15:23 +02:00
Pavel Djundik
97cfd1a2bc Disable copy hack in Firefox 2019-10-31 16:49:09 +02:00
Jay2k1
c89aea3c1e add bidi support to messages, actions, previews etc 2019-10-24 16:53:29 +02:00
MiniDigger
8f7bee8dd3 Add icon to message 2019-10-22 19:38:13 +02:00
MiniDigger
19d69ba4c3 Add message type for plugins 2019-10-22 18:44:05 +02:00
Pavel Djundik
63c638e9ad Fix uploader being initialized more than once 2019-10-21 18:57:01 +03:00
Pavel Djundik
d4198e4360
Merge pull request #3461 from thelounge/xpaw/reconnect-unread
Synchronize open channel on client on reconnection
2019-10-21 17:59:34 +03:00
Pavel Djundik
2273c913ac
Merge pull request #3451 from thelounge/xpaw/heading-contrast
Increase contrast of headers in windows
2019-10-21 11:01:47 +03:00
Pavel Djundik
00e59000fd
Merge pull request #3460 from thelounge/xpaw/history-reconnect
Fix history not loading in certain cases after reconnect
2019-10-21 11:01:41 +03:00
Pavel Djundik
ee91217d98
Merge pull request #3453 from thelounge/xpaw/sync-users-reconnect
Synchronize user list correctly on reconnection
2019-10-21 11:01:33 +03:00
Pavel Djundik
4e17067a07 Update context and auto complete menu styles 2019-10-20 00:36:40 +03:00
Pavel Djundik
1ca16816c2 Synchronize open channel on client on reconnection 2019-10-17 13:54:30 +03:00
Pavel Djundik
ebfecc3e9d Fix client not loading messages after reconnect in channels with less than 100 total messages 2019-10-17 13:27:15 +03:00
Pavel Djundik
51147f35b2 Do not try loading history while disconnected 2019-10-17 12:38:46 +03:00
Pavel Djundik
7687c90edc Synchronize user list correctly on reconnection 2019-10-15 20:33:03 +03:00
Pavel Djundik
ba517bbac9 Increase contrast of headers in windows 2019-10-14 17:30:35 +03:00
Jordan Day
493f9b1b6c Prefix channel before join 2019-10-05 14:12:22 -05:00
Jordan Day
037fa6d114 Allow tab completion in middle of input 2019-10-04 10:34:07 -05:00
Jordan Day
deb5d2d090 Key condensed messages by first message in array 2019-10-04 08:37:12 -05:00
Pavel Djundik
d09a35b129 Use default cursor for active channels 2019-09-16 11:30:30 +03:00
Pavel Djundik
5ccd6b76c0
Merge pull request #3382 from thelounge/xpaw/upload-fixes
Some fixes in file uploading
2019-08-27 12:21:03 +03:00
Pavel Djundik
554c602230 Do not request upload token if there's an upload in process 2019-08-25 20:23:32 +03:00
Pavel Djundik
04e1e004da Reset upload input so the same file can be selected again 2019-08-25 20:14:46 +03:00
Gunnvaldr Pope
2b91bf0374
Adds data-current-channel to #chat-container
Allows for broader customization of CSS per channel(s).
2019-08-13 16:24:34 -05:00
ollipa
e69e448396 add save button to edit topic input field 2019-08-11 17:34:01 +03:00
ollipa
49652fc40a make channel topic editable from user interface 2019-08-11 15:29:08 +03:00
Paul Lettington
c6b19d5144 Add keybind for cycling to the next unread window 2019-08-09 15:16:44 +01:00
Pavel Djundik
96efaed07a Open list channel on data updates 2019-08-04 14:03:04 +03:00
Pavel Djundik
72bebd8681
Merge pull request #3326 from thelounge/xpaw/theme-color
Allow themes to change theme-color
2019-08-03 22:28:20 +03:00
Pavel Djundik
85025a6840
Merge pull request #3329 from thelounge/xpaw/sw-error
Send service worker fetch errors to client
2019-08-03 22:27:53 +03:00
Pavel Djundik
ecb4dd9675
Merge pull request #3335 from thelounge/xpaw/upload-sanity
Handle upload token requesting in a better way
2019-08-03 22:23:20 +03:00
Pavel Djundik
c8819e9a13 Fix formatting hotkeys on non english locales 2019-08-03 14:16:13 +03:00
Pavel Djundik
932d9c809b Handle upload token requesting in a better way 2019-07-29 11:04:33 +03:00
Pavel Djundik
5041e82980 Send service worker fetch errors to client 2019-07-23 15:31:26 +03:00
Pavel Djundik
efa0aeb2c6 Allow themes to change theme-color 2019-07-22 19:50:04 +03:00
Pavel Djundik
2500602d3b
Merge pull request #3320 from thelounge/xpaw/fix-3309
Fix channel list not working on some touch devices
2019-07-19 22:42:41 +03:00
Pavel Djundik
ba356ae34c
Merge pull request #1873 from thelounge/astorije/outlines
Add custom focus outlines for inputs and green buttons
2019-07-19 16:45:15 +03:00
Jérémie Astori
e246c06c32 Do not silence outline of all elements, and add custom outline where possible
- Tweak outlines
- Consolidate focus shadows between inputs and buttons, apply custom focus to whole page (i.e. on "Join a channel" form), cleanup
- Do not add custom outlines on checkboxes/radios as browsers are not doing this too well
- Apply hover effect on all inputs, not just in `#windows`
2019-07-19 16:12:15 +03:00
Alistair McKinlay
20816d509d Add check for outdated packages, and show on the help screen. 2019-07-19 13:33:09 +01:00
Pavel Djundik
a7bdc99d47 Fix channel list not working on some touch devices
Fixes #3309
2019-07-19 14:27:59 +03:00
Alistair McKinlay
cc7b4e4817 Fix prettier breaking eslint-disable for confirm 2019-07-19 11:27:40 +01:00
Jérémie Astori
2fbdbead55 WIP Improve Prettified Vue code 2019-07-19 11:27:40 +01:00
Alistair McKinlay
133e7bf710 Format js/vue with prettier 2019-07-19 11:27:40 +01:00
Pavel Djundik
0ff5a7df67
Merge pull request #3305 from thelounge/xpaw/init-reconnect-state
Merge network/channel objects when reconnecting to keep object references
2019-07-18 12:40:44 +03:00
Pavel Djundik
03233c3f4d
Merge pull request #3310 from thelounge/xpaw/improve-raw
Improve raw messages
2019-07-18 11:58:46 +03:00
Alistair McKinlay
ab8d819193 Set up Prettier on md, html, json, and yaml 2019-07-17 10:22:30 +01:00
Pavel Djundik
2b1197880d Merge network/channel objects when reconnecting 2019-07-17 12:07:49 +03:00
Pavel Djundik
e04bfe39bf Improve raw messages 2019-07-17 10:34:23 +03:00
Pavel Djundik
01347787b7
Merge pull request #3297 from thelounge/xpaw/better-disable-touch
A better way of disabling sorting on touch devices
2019-07-15 12:46:10 +03:00
Pavel Djundik
bf2c6a6bcf Fix channel sorting to work across clients on Vue 2019-07-12 19:47:29 +03:00
Pavel Djundik
b2e5be33d6 A better way of disabling sorting on touch devices 2019-07-12 13:43:47 +03:00
Alistair McKinlay
4cbe72f635 Add support for command plugins 2019-07-02 17:02:05 +01:00
Pavel Djundik
1425130436 Update eslint and eslint-plugin-vue, fix rules 2019-06-25 11:51:47 +03:00
Emerson Veenstra
ef6684b77b Only prepend text with 'Notice: ' if it's the nick it's from 2019-06-14 13:51:42 -04:00
Pavel Djundik
7886e831bb Fix file uploading when lounge is proxied in a subfolder 2019-06-14 00:58:19 +03:00
Pavel Djundik
b95c8236bd Use @github's emoji data 2019-06-10 22:17:00 +03:00
Pavel Djundik
702aa6fdfa Change upload abort error message 2019-05-24 16:43:27 +03:00
SwayUser
4555cf7dcf Add paste file functionality 2019-05-20 10:34:56 +02:00
Pavel Djundik
721c0d4374
Disable touch tooltip on "jump to recent messages" button
Fixes #3089
2019-05-13 14:58:57 +03:00
Pavel Djundik
830fdda91a Implement invite list 2019-04-15 14:38:11 +03:00
Pavel Djundik
dde3465cfa
Merge pull request #3114 from thelounge/xpaw/sortable-fixes
Change styling when dragging channels.
2019-03-27 12:42:48 +02:00
Pavel Djundik
f9459ee1c3 Fix up sorting channel styling 2019-03-27 12:23:50 +02:00
Pavel Djundik
3153830005 Change condensed summary hover to an underline 2019-03-25 17:08:22 +02:00
Pavel Djundik
2c85f61e62 Handle redirected requests correctly in service worker 2019-03-21 11:22:01 +02:00
Pavel Djundik
92098286e7
Merge pull request #3037 from thelounge/xpaw-richrd/file-uploads
Re-implement file uploading with old school multipart forms

Co-authored-by: Jérémie Astori <jeremie@astori.fr>
2019-03-19 15:09:33 +02:00
Pavel Djundik
50fbf93d64 Move favicon.ico to the root folder 2019-03-18 12:56:52 +02:00
Pavel Djundik
b0571c5a36
Merge pull request #3111 from thelounge/xpaw/sw-async
Use async/await in service worker, do not wait for cache for successful requests
2019-03-18 12:46:44 +02:00
Jérémie Astori
7e7ac8229b Style the upload progress bar 2019-03-18 10:28:18 +02:00
Pavel Djundik
12cf5ed070 Abort file upload if ChatInput component is destroyed 2019-03-18 10:28:18 +02:00
Pavel Djundik
f84e4199e9 Re-implement file uploads with old-school forms
Co-Authored-By: Richard Lewis <richrd@users.noreply.github.com>
2019-03-18 10:28:18 +02:00
Jérémie Astori
f7ebff0b67
Merge pull request #3109 from thelounge/xpaw/chan-mode-is
Display current channel mode on /mode command
2019-03-16 21:48:22 -04:00
Pavel Djundik
7df26dc373 Add aria-label on link preview toggle button 2019-03-13 19:08:32 +02:00
Pavel Djundik
de9459dd83 Implement cache busting based on version hash 2019-03-08 12:29:49 +02:00
Pavel Djundik
bb28ecaff7 Use async/await in service worker, do not wait for cache open/put for successful requests 2019-03-07 21:35:41 +02:00
Pavel Djundik
71332f59d9 Display current channel mode on /mode command
Fixes #885
2019-03-07 12:57:31 +02:00
Pavel Djundik
212f4be3c3
Fix (dis)connect icons in context menu being reverse of what they should be 2019-03-01 14:23:58 +02:00
Jérémie Astori
f84d764822
Fix linting on a violation shipped previously... 2019-02-27 02:28:52 -05:00
Jérémie Astori
f8b5983f2c
Use Vue to show/hide insecure/disconnected icons instead of CSS 2019-02-27 02:25:44 -05:00
Jérémie Astori
848186d14b
Merge pull request #3083 from thelounge/astorije/eslint-vue-closing-bracket-newline
Move closing brackets on a new line in Vue files
2019-02-27 02:07:28 -05:00
Pavel Djundik
6f70ce9e15
Merge pull request #3082 from thelounge/astorije/parted-channel
Display a broken link icon and red text color when not joined on a channel
2019-02-26 19:18:54 +02:00
Jérémie Astori
e173b84fdb
Show/Hide parted channel icon/styling using v-if instead of CSS display property 2019-02-26 01:26:45 -05:00
Jérémie Astori
0812ffc2e7
Run ESLint autofix after requiring new line on closing brackets 2019-02-25 00:57:48 -05:00
Jérémie Astori
f8a39a0ea8
Display a broken link icon and red text color when not joined on a channel 2019-02-25 00:21:40 -05:00
Pavel Djundik
a9eced888f Set scrollbar properties for Firefox 64+
Refs:
https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-color
https://drafts.csswg.org/css-scrollbars-1/
2019-02-23 11:41:39 +02:00
Jos Ahrens
94f89dc89f
help.tpl: Fix typo (ommitted -> omitted) 2019-02-20 15:50:05 +01:00
Jérémie Astori
0c4e35b309
Merge pull request #3063 from thelounge/astorije/scroll-down-btn-ui
Improve scroll-down button UI
2019-02-18 14:12:46 -05:00
Jérémie Astori
8dee92bd04
Reduce shadow on scroll-down button 2019-02-18 13:54:25 -05:00
Jérémie Astori
404de0ff5b
Use CSS variable for button color 2019-02-18 13:32:41 -05:00
Pavel Djundik
c9c9748959
Merge pull request #3062 from thelounge/astorije/fix-title
Remove network name from window title
2019-02-18 11:18:09 +02:00
Jérémie Astori
dadccb7665
Fix casing of "Upload file" tooltip 2019-02-18 02:19:44 -05:00
Jérémie Astori
8b98c2c93c
Add a tooltip on scroll-down button hover 2019-02-18 01:29:08 -05:00
Jérémie Astori
d8d1d3aee0
Improve scroll-down button UI 2019-02-18 01:13:32 -05:00
Jérémie Astori
4faf7bfd3c
Remove network name from window title
It can be redundant on network tab.
2019-02-18 00:35:04 -05:00
Jérémie Astori
2657332919
Fix loading page styling 2019-02-15 01:40:42 -05:00
Pavel Djundik
c8568b5429 Redirect pageup/pagedown without manually animating the scroll 2019-02-13 16:44:15 +02:00
Pavel Djundik
3f3a22aa1e Disable clicking on the currently active channel
channel.id does not change, which causes some wonky behaviour when the channel gets trimmed
2019-02-13 16:44:15 +02:00
Pavel Djundik
a26fcb45b4 Change (parted) to a class name 2019-02-13 16:44:15 +02:00
Pavel Djundik
199df6b729 Fix hasRoleInChannel 2019-02-13 16:44:15 +02:00
Pavel Djundik
32f17d50b4 Use inverted logo in morning theme 2019-02-13 16:44:15 +02:00
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
40bf9ee8ba Reset active user when leaving user list with mouse 2019-02-13 16:44:15 +02:00
Pavel Djundik
b02c3b6c17 Fix channel names in context menus 2019-02-13 16:44:15 +02:00
Pavel Djundik
19693bc9b7 Update Vue packages 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
2b653a30d6 Tweak connection error spacing 2019-02-12 12:49:06 +02:00
Pavel Djundik
71b3acb152 Rename hotkeys array 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
c33326e25e Update client/components/MessageTypes/whois.vue 2019-02-12 12:49:06 +02:00
Pavel Djundik
89355e50c3 Put unreads and highlights in aria-label/title in the channel list 2019-02-12 12:49:06 +02:00
Pavel Djundik
759e69ed07 Handle default preview state after loading 2019-02-12 12:49:06 +02:00
Pavel Djundik
42717e3dec Enable preserveWhitespace: false, add spaces where needed, fix whitespace when copying text 2019-02-12 12:49:06 +02:00
Pavel Djundik
5f0f745d10 Only send /join for current channel if there are no arguments 2019-02-12 12:49:06 +02:00
Pavel Djundik
7ba14fe4e3 Explicitly place * on actions in DOM 2019-02-12 12:49:06 +02:00
Pavel Djundik
99cda335ab Fix next/prev buttons in media viewer 2019-02-12 12:49:06 +02:00
Pavel Djundik
00b84d31f5 Fix whitespace in previews 2019-02-12 12:49:06 +02:00
Pavel Djundik
6d1d2e006a Remove extra .text span as its no longer needed 2019-02-12 12:49:06 +02:00
Pavel Djundik
4d400b6ace Hide scroll down button entirely with css to fix some issues 2019-02-12 12:49:06 +02:00
Pavel Djundik
e5b3c518e2 Do not show toggle arrow if link data is still loading 2019-02-12 12:49:06 +02:00
Pavel Djundik
05303e4cf1 Fix link expand buttons not showing if auto-expand option is off 2019-02-12 12:49:05 +02:00
Pavel Djundik
7d7005c8af Fix keepScrollPosition on condensed messages 2019-02-12 12:49:05 +02:00
Pavel Djundik
893d59e7c4 Skip scroll event which is called after setting scrollTop 2019-02-12 12:49:05 +02:00
Pavel Djundik
4a0f319e91 Ignore server unread sync for active channel 2019-02-12 12:49:05 +02:00
Pavel Djundik
3c4a9efe7e Fix lodash not being tree shaked properly 2019-02-12 12:49:05 +02:00
Pavel Djundik
def494533b Use native date constructor to calculate timeout until midnight 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
f1994352bd Fix scroll button on iOS 2019-02-12 12:49:05 +02:00
Richard Lewis
caf728a2a7 Instrument tests with nyc instead of istanbul-instrumenter-loader. 2019-02-12 12:49:05 +02:00
Pavel Djundik
446ad6a5f4 Allow Vue devtools in production 2019-02-12 12:49:05 +02:00
Pavel Djundik
7b3f7d1c59 Fix clicking red banner not hiding the error 2019-02-12 12:49:05 +02:00
Pavel Djundik
b3e86dbab4 Fix unread markers not rendering with hidden status messages
Co-Authored-By: Richard Lewis <richrd@users.noreply.github.com>
2019-02-12 12:49:05 +02:00
Pavel Djundik
395be41728 Move message time formatting to Vue as computed 2019-02-12 12:49:05 +02:00
Richard Lewis
74edfcaa04 Limit input history to a 100 entries. 2019-02-12 12:49:05 +02:00
Pavel Djundik
d1185da9eb Fade buttons when disabled 2019-02-12 12:49:05 +02:00
Richard Lewis
cd76512619 Disable upload button instead of removing it from dom. 2019-02-12 12:49:05 +02:00
Pavel Djundik
dd686b563d Remove tests, fix lint, update packages 2019-02-12 12:49:05 +02:00
Richard Lewis
cc895e67ee Move date formatting to DateMarker and stop listening to daychange when no longer necessary. 2019-02-12 12:49:05 +02:00
Richard Lewis
7394e6b9f1 Update date markers vith vue instead of jQuery. 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
f526aa8b8b Do not navigate history when autocompleting 2019-02-12 12:49:05 +02:00
Pavel Djundik
4c103b467b Implement input history per channel 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
4f3dbc4b8f Fix up how span elements are generated in message parser 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
5c69fe104d Keep scroll to bottom and check 'more' button previews when toggling sidebars 2019-02-12 12:49:05 +02:00
Pavel Djundik
f45f9a83ee Remove unnecessary resize handler 2019-02-12 12:49:05 +02:00
Richard Lewis
32776f0642 Improve more button implementation and fix lint. 2019-02-12 12:49:04 +02:00
Richard Lewis
8dff4a9478 Only show more button on link previews when needed. 2019-02-12 12:49:04 +02:00
Pavel Djundik
26dc37033c Make connection-error a vue state 2019-02-12 12:49:04 +02:00
Pavel Djundik
e2c65fd0de Fix titles on emojis 2019-02-12 12:49:04 +02:00
Pavel Djundik
5d4400ef90 Revert "Remove draggable for now"
This reverts commit f4c0a68fde99471bd546902ec2b9301ff6cec73a.
2019-02-12 12:49:04 +02:00
Pavel Djundik
a8cad55fda Fix input to behave better on Android 2019-02-12 12:48:45 +02:00
Pavel Djundik
140c14959c Fix user search not updating instantly on Android 2019-02-12 12:48:45 +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
839b07fdc2 Do not disable input when disconnected 2019-02-12 12:48:45 +02:00
Pavel Djundik
1d4ab8fff1 Fix autocompletion menu not closing on send 2019-02-12 12:48:45 +02:00
Pavel Djundik
6877199515 Update eslint-plugin-vue 2019-02-12 12:48:45 +02:00
Pavel Djundik
bd57c6d620 Fix history not loading on channel switch 2019-02-12 12:48:45 +02:00
Pavel Djundik
fea6fff13a Keep scroll position on preview toggle 2019-02-12 12:48:45 +02:00
Pavel Djundik
e91f2aa024 Fix unread markers in condensed messages 2019-02-12 12:48:45 +02:00
Pavel Djundik
2c5549a567 Find channel in joinchannel correctly 2019-02-12 12:48:45 +02:00
Pavel Djundik
a21e0e34cd Fix unread marker not showing after condensed messages 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
ae56191b9f Fix scroll-down button position in non channels 2019-02-12 12:48:44 +02:00
Pavel Djundik
d55eb28aea Make special channel behaviour the same
Fixes scrolling and overflowing
2019-02-12 12:48:44 +02:00
Pavel Djundik
5452d26c17 Don't bother trying to count unreads 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
bc69ef5f0b Actually change message output based on statusMessage setting 2019-02-12 12:48:44 +02:00
Pavel Djundik
c168e15db8 Don't use trimEnd 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
987f48ae13 Fix MOTD trimming 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
2303a02839 Reduce throttle delay 2019-02-12 12:48:44 +02:00
Pavel Djundik
d00c70f804 Fix some input issues on mobile 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
8580592a91 Cleaner MOTD text
Co-Authored-By: Jérémie Astori <astorije@users.noreply.github.com>
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
a899b1b46d Throttle scroll event instead of debouncing 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
efdf11dcae Reset scrolledToBottom when channel changes 2019-02-12 12:48:44 +02:00
Pavel Djundik
7e5e031ea8 Reset canDisplay on previews on destroy 2019-02-12 12:48:44 +02:00
Pavel Djundik
4b5252d285 Some scroll fixes 2019-02-12 12:48:44 +02:00
Richard Lewis
f4b4cfdee2 Make event listneres passive. 2019-02-12 12:48:44 +02:00
Richard Lewis
c9f5e06ee4 Keep scroll to bottom when resizing window. 2019-02-12 12:48:44 +02:00
Pavel Djundik
a15b10ca45 Revert slideout.js changes 2019-02-12 12:48:44 +02:00
Pavel Djundik
5d8a581201 Fix input not resizing back after sending a message 2019-02-12 12:48:44 +02:00
Pavel Djundik
8133805dec Allow shift+enter to insert new lines 2019-02-12 12:48:43 +02:00
Pavel Djundik
a0f42af0d8 Fix missed else-if 2019-02-12 12:48:43 +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
9926157683 Resize input when typing 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
9249464445 Fix condensed line being clickable 2019-02-12 12:48:43 +02:00
Pavel Djundik
797731262a Fix menu swiping 2019-02-12 12:48:43 +02:00
Pavel Djundik
d9206c1087 Check if element exists before trying to change message 2019-02-12 12:48:43 +02:00
Pavel Djundik
77947b46c8 Import ParsedMessage in back msg 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
3d43b96d5a Make network lobby a separate component 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
e92f5d573b Remove extra invalid class on links in chat 2019-02-12 12:48:43 +02:00
Pavel Djundik
a8c777c797 Remove render.js 2019-02-12 12:48:43 +02:00
Pavel Djundik
825e3beba6 Show previews in actions 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
dbe95fcc13 Don't render preview until image is loaded 2019-02-12 12:48:43 +02:00
Pavel Djundik
b982623aaa Deduplicate and optimize 'keep to bottom' 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
a138237155 Remove expensive and unnecessary button check on channel switch 2019-02-12 12:48:43 +02:00
Pavel Djundik
ae692b1f2f Fix parsed message in actions 2019-02-12 12:48:43 +02:00
Pavel Djundik
e3ff385ae0 Remove HTML version of parse() 2019-02-12 12:48:43 +02:00
Pavel Djundik
d83dcc35e2 Port 'more' button in previews to Vue 2019-02-12 12:48:43 +02:00
Pavel Djundik
1cd28a5ccf Fix sending msg:preview:toggle to server 2019-02-12 12:48:43 +02:00
Pavel Djundik
2bb8287519 Render preview toggle in Vue 2019-02-12 12:48:43 +02:00
Pavel Djundik
ebfc6fa724 Create elements instead of using raw HTML 2019-02-12 12:48:43 +02:00
Pavel Djundik
ebda927bb1 Render toggle button after links 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
c6262a36e6 Fix tab completion not updating model 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
c84eee22f2 Fix duplicate messages on channel join 2019-02-12 12:48:43 +02:00
Pavel Djundik
771739cf94 Port ignore list to Vue 2019-02-12 12:48:42 +02:00
Pavel Djundik
739d44b561 Trim channel when switching away from it 2019-02-12 12:48:42 +02:00
Pavel Djundik
b963fe3cf0 Use vue's conditional classes 2019-02-12 12:48:42 +02:00
Pavel Djundik
d97356e65a Only bind mouseover on username if necessary 2019-02-12 12:48:42 +02:00
Pavel Djundik
48187a0260 Delete userlist.js 2019-02-12 12:48:42 +02:00
Richard Lewis
c431ac6306 Add hover selection to user list. 2019-02-12 12:48:42 +02:00
Richard Lewis
060097c118 Implement keyboard navigation in user list. 2019-02-12 12:48:42 +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
0654a4373f Minor fix for previews 2019-02-12 12:48:42 +02:00
Pavel Djundik
2ab3518c52 Fix history not loading on channel switch 2019-02-12 12:48:42 +02:00
Pavel Djundik
207ab28b92 Some fixes with IntersectionObserver 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
96569e71a3 Some fixes 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
ee0413de4b Remove invalid v-elseif 2019-02-12 12:48:42 +02:00
Pavel Djundik
2d2c836a34 Remove user_name template 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
f9967a92c7 Remove console.log 2019-02-12 12:48:42 +02:00
Pavel Djundik
a54a726e93 Refactor client side commands
Co-Authored-By: Max Leiter <hello@maxleiter.com>
2019-02-12 12:48:42 +02:00
Pavel Djundik
0a774758b9 Fix double input submit 2019-02-12 12:48:42 +02:00
Pavel Djundik
084e01cf46 Implement message trimming 2019-02-12 12:48:42 +02:00
Pavel Djundik
f9d255b678 Passthrough input ref 2019-02-12 12:48:42 +02:00
Pavel Djundik
2e3b95b9ed Fix input keybinds 2019-02-12 12:48:42 +02:00
Pavel Djundik
dbe6df1ab6 Fix clipboard "fixes" 2019-02-12 12:48:42 +02:00
Pavel Djundik
1831e2e63e Fix inline channel links 2019-02-12 12:48:42 +02:00
Pavel Djundik
f0390dae63 Scroll to bottom 2019-02-12 12:48:42 +02:00
Pavel Djundik
eff6dcb514 Fix context menu opening wrong thing 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
8e64670b4e Keep condensed open when new messages arrive 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
6116edaa06 Remove msg_action.tpl 2019-02-12 12:48:41 +02:00
Pavel Djundik
0730825185 Convert message actions to Vue 2019-02-12 12:48:41 +02:00
Pavel Djundik
dee76adc0c Implement network collapsing in Vue 2019-02-12 12:48:41 +02:00
Pavel Djundik
e0e48925b5 Remove input history 2019-02-12 12:48:41 +02:00
Pavel Djundik
1e09ccdb90 Implement user search in vue 2019-02-12 12:48:41 +02:00
Pavel Djundik
c20af6329b Use input model 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
7b209e5d31 Missed a setting 2019-02-12 12:48:41 +02:00
Pavel Djundik
e28e13bd10 Make class settings work (colored nicks, etc) 2019-02-12 12:48:41 +02:00
Pavel Djundik
9290264fa5 Make user list and message list components 2019-02-12 12:48:41 +02:00
Pavel Djundik
ebb63f2742 Fix sending messages 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
631fd6138c Hide collapse button if there are no channels 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
77dc3086a0 Fix copying text in Firefox
Fixes #3035
2019-02-12 10:52:07 +02:00
Pavel Djundik
d33021773c Fix up textarea growing to avoid rounding issues in Chrome 2019-02-05 23:24:30 +02:00
Pavel Djundik
9003768d56 Fix up link insertion after uploads to be saner 2019-01-30 20:00:59 +02:00
Pavel Djundik
d260ee05da Fix line-height to match height in input 2019-01-26 10:34:12 +02:00