Commit Graph

1387 Commits

Author SHA1 Message Date
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
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
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
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
af777106bf Remove handlebars and html-minifier 2019-11-25 20:12:46 +02:00
Richard Lewis
2d8417cd8b Patch changelog html in Vue. 2019-11-25 20:12:33 +02:00
Richard Lewis
ef500f12a1 Implement changelog in Vue. 2019-11-25 20:12:32 +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
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
Pavel Djundik
3f7889e534 Move changelog 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
3ed54a3e11 Remove away/back condense as it won't be in channels 2019-11-05 12:37:55 +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
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
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
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
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
7687c90edc Synchronize user list correctly on reconnection 2019-10-15 20:33:03 +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
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
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
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
Alistair McKinlay
20816d509d Add check for outdated packages, and show on the help screen. 2019-07-19 13:33:09 +01:00
Alistair McKinlay
cc7b4e4817 Fix prettier breaking eslint-disable for confirm 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
2b1197880d Merge network/channel objects when reconnecting 2019-07-17 12:07:49 +03:00
Pavel Djundik
bf2c6a6bcf Fix channel sorting to work across clients on Vue 2019-07-12 19:47:29 +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
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
830fdda91a Implement invite list 2019-04-15 14:38:11 +03: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
4faf7bfd3c
Remove network name from window title
It can be redundant on network tab.
2019-02-18 00:35:04 -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
199df6b729 Fix hasRoleInChannel 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
b02c3b6c17 Fix channel names in context menus 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
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
05303e4cf1 Fix link expand buttons not showing if auto-expand option is off 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
5ba0e33fb9 Skip network status updates for quit networks 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
395be41728 Move message time formatting to Vue as computed 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
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
7c8441a93b Clear user lists on all channels when disconnected from network 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
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
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
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
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
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
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
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
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
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
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
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
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
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
9ab5b9d791 Implement condensed messages in Vue 2019-02-12 12:48:42 +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
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
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
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
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
bb6a9657a0 Fix touch position being null when touching with multiple fingers 2018-10-15 14:54:33 +03: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
Alistair McKinlay
35c328b557 Add 3 commands that were missing on client autocomplete 2018-09-06 09:00:39 +01: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
Pavel Djundik
b3c282f663
Merge pull request #2701 from adamus1red/adamus1red/iframe-localstorage
Add `try`/`catch` to `localStorage` methods
2018-09-01 11:18:55 +03:00
Pavel Djundik
81913bca66 Update emoji data for Emoji v11 2018-08-31 22:41:41 +03:00
Adam
e14d911195 Add try/catch to all localStorage methods
Return null when attempting to get an item from localStorage

REF: #2699
2018-08-30 17:49:15 +01:00
christer88
d3725937ef
Fix confirmation box text for network removal in client
This PR will make the text inside confirmation box for network removal in client more correct. Earlier it said "Disconnect from", but in reality it disconnects and remove the network entierly.

The js code may be utterly wrong. If so, please help.
2018-08-24 12:32:25 +02: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