Commit graph

2137 commits

Author SHA1 Message Date
Tim Miller-Williams cbaf4db339 Replace synchronizeNotifiedState with a getter & watcher 2019-11-25 20:13:05 +02:00
Tim Miller-Williams 16f8304c4e Refactor title to rely on Vuex state reactivity 2019-11-25 20:13:04 +02:00
Tim Miller-Williams 6a15fd95f0 Refactor userList behaviour to not use methods in root Vue instance 2019-11-25 20:13:04 +02:00
Tim Miller-Williams dd9efad23c Refactor sidebar behaviour to no longer use methods in root Vue instance 2019-11-25 20:13:04 +02:00
Tim Miller-Williams 1adbbdda2a Fix bug with joining new channels 2019-11-25 20:13:03 +02:00
Tim Miller-Williams 347802a4b6 Refactor Apple keyboard logic to be more explicit 2019-11-25 20:13:03 +02:00
Richard Lewis 94bdff4fa0 Implement mirroring nick to username field in vue. 2019-11-25 20:13:02 +02:00
Richard Lewis 0c7db6dffe Move url parameter handling to vue 2019-11-25 20:13:02 +02:00
Richard Lewis 897f238c38 Disallow navigating to invalid channels 2019-11-25 20:13:01 +02:00
Richard Lewis 5c0a7722a4 Disallow navigating to non-existing routes 2019-11-25 20:13:01 +02:00
Richard Lewis d232ef1557 Improve vue routing. 2019-11-25 20:13:00 +02:00
Pavel Djundik 916da73108 Remove jquery from input focus event 2019-11-25 20:13:00 +02:00
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