Commit graph

1271 commits

Author SHA1 Message Date
stepie22 c7f6b8409f Change whois's actual host to include the actualip aswell 2017-12-01 15:03:02 +02:00
Pavel Djundik 52b234bdfc
Merge pull request #1770 from thelounge/astorije/client-tests
Add a bunch of client tests
2017-12-01 12:51:13 +02:00
Pavel Djundik 11568d7405 Align message container to the bottom 2017-12-01 12:41:26 +02:00
Jérémie Astori f368dcdc69
Add a bunch of client tests 2017-11-30 20:33:23 -05:00
Pavel Djundik d770028da6 Fix duplicate user names not being found 2017-11-30 14:16:11 +02:00
Pavel Djundik a7bd40a5b1 Fix users not being linked in /me actions 2017-11-30 14:13:11 +02:00
Pavel Djundik 104e270882
Merge pull request #1771 from thelounge/astorije/fix-user-in-msg
Clone instances of `User` in `Msg` to avoid unintentional mutations
2017-11-30 11:29:23 +02:00
Pavel Djundik f89054784f
Merge pull request #1764 from thelounge/xpaw/fix-data-from
Fix data-from on messages
2017-11-30 11:28:00 +02:00
Jérémie Astori 4ec10b922a
Clone instances of User in Msg to avoid unintentional mutations 2017-11-30 00:41:19 -05:00
Jérémie Astori c0d348a678
Fix default value given to Msg.from
- `{}` is not falsey so Handlebars would try to render the block (see http://handlebarsjs.com/builtin_helpers.html#conditionals), therefore with a `nick` of `undefined`, which breaks `colorClass` (doing `undefined.length)
- There does not seem to be a way to check for empty objects in Handlebars (sigh) so checking `from.nick` seems like the most reliable way to check for a non-empty value. Alternatively, we could use a helper to check `{}` but meh.
2017-11-29 18:37:17 -05:00
Pavel Djundik 68753ae3e8 Fix data-from on messages 2017-11-29 20:45:19 +02:00
Jérémie Astori c9da29f2fc
Merge pull request #1757 from thelounge/xpaw/detached-sign-in
Do not keep sign-in and loader references in memory
2017-11-27 18:32:20 -05:00
Jérémie Astori b53f1719eb
Merge pull request #1749 from thelounge/astorije/avoid-escape-quotes
Avoid escaping quotes whenever possible
2017-11-27 12:57:55 -05:00
Pavel Djundik 5855099d5b Do not keep sign-in and loader references in memory 2017-11-27 19:39:16 +02:00
Max Leiter 3d31fa4686 Link nicks mentioned in messages 2017-11-27 09:10:56 -08:00
Pavel Djundik 6fc812d272
Merge pull request #1748 from MaxLeiter/highlights
Fix text highlighting when clicking on condensed message toggles
2017-11-27 11:48:03 +02:00
Jérémie Astori 287c3a8223
Avoid escaping quotes whenever possible
Our `.eslintrc.yml` configuration file already allows for avoiding escape (see [ESLint doc for `avoidEscape`](https://eslint.org/docs/rules/quotes#avoidescape)) so we might as well use it. We already use this in a few places I believe.
2017-11-26 17:34:28 -05:00
Max Leiter d9d4672d75 Fix text highlighting when clicking on condensed message toggles 2017-11-26 14:05:23 -08:00
Bonuspunkt 0e52b133af Sending channel and link together generates duplicate text 2017-11-26 21:33:27 +02:00
Jérémie Astori d9efaef369
Merge pull request #1746 from thelounge/xpaw/fix-preview-keep-to-bottom
Trigger keep to bottom for previews correctly
2017-11-26 12:35:08 -05:00
Pavel Djundik 6862c2e6b0 Trigger keep to bottom for previews correctly 2017-11-26 15:49:31 +02:00
Pavel Djundik e3515d2ea1 Update stylelint rules 2017-11-26 14:28:33 +02:00
Pavel Djundik 5ffeb04343
Merge pull request #1739 from thelounge/xpaw/inactive-scroll
Do not keep scroll to bottom in inactive channels
2017-11-26 11:40:50 +02:00
Pavel Djundik eaeb3375db
Merge pull request #1738 from thelounge/xpaw/extra-msg-trims
Trim channel messages in active channel and when switching channels
2017-11-26 11:40:31 +02:00
Max Leiter 9eb79d675c
Fix whois template parsing real name field
Links and etc will now render correctly
2017-11-25 12:23:03 -08:00
Pavel Djundik 2f84b01427 Do not keep scroll to bottom in inactive channels 2017-11-23 19:33:19 +02:00
Pavel Djundik 15a52ccec3 Trim channel messages in active channel and when switching channels
Fixes #1461
2017-11-23 16:23:32 +02:00
Pavel Djundik c053011611 Make regex in cleanIrcMessage const 2017-11-22 16:06:32 +02:00
Pavel Djundik 28b084af69 Fix #1413 - Handle hex colours when cleaning string 2017-11-22 16:03:59 +02:00
Pavel Djundik ca389c914f
Merge pull request #1491 from realies/master
Focus a channel by joining it, refactor user commands #1189
2017-11-22 15:42:32 +02:00
Jérémie Astori a10f147c36
Merge pull request #1720 from thelounge/xpaw/fix-new-user-obj
Access new nick attribute in user object
2017-11-21 19:28:37 -05:00
Pavel Djundik c268d91b4e Access new nick attribute in user object
This was broken in #1698
2017-11-21 13:54:12 +02:00
Erik Vosseberg f40edc7dc2
Include all available whois info 2017-11-21 00:27:24 -05:00
Pavel Djundik e86a155ec2 Remove express-handlebars, read manifest.json to get theme-color 2017-11-19 19:43:43 +02:00
Pavel Djundik c30f4aaaeb Move help to view 2017-11-19 19:43:43 +02:00
Pavel Djundik dbc6b099fe unused var 2017-11-19 19:43:43 +02:00
Pavel Djundik 90861effb4 Fix sign in 2017-11-19 19:43:43 +02:00
Pavel Djundik 8d88779918 Fix options 2017-11-19 19:43:42 +02:00
Pavel Djundik e85e00ebed Remove unused 2017-11-19 19:43:42 +02:00
Pavel Djundik 711b5e1d91 Make settings/options mostly work
Fixes #1672
2017-11-19 19:43:42 +02:00
Pavel Djundik 55d1625ab2 Split connect and settings into templates 2017-11-19 19:43:42 +02:00
Pavel Djundik 2a6b255aee Make sign in work 2017-11-19 19:43:42 +02:00
Pavel Djundik 303dddb12e wip 2017-11-19 19:43:42 +02:00
Jérémie Astori 0e55dafd8a WIP 2017-11-19 19:43:42 +02:00
Pavel Djundik 0402554563 Move cleanIrcMessage to a separate file 2017-11-19 18:19:52 +02:00
Pavel Djundik 8791a17fc4 Use service worker to display notifications if available 2017-11-19 18:18:55 +02:00
Pavel Djundik 74dcc52657
Refactor how user object is sent to the client 2017-11-19 02:46:45 -05:00
Jérémie Astori 36ab3ffc8d
Merge pull request #1689 from thelounge/xpaw/parse-real-name
Parse formatting in real name
2017-11-19 00:07:23 -05:00
Jérémie Astori 1dc92d8934
Enforce dangling commas with ESLint
¯\_(ツ)_/¯
2017-11-15 01:35:15 -05:00
Jérémie Astori 21badddc38
Merge pull request #1609 from dgw/restore-autocomplete-help
Restore autocompletion help
2017-11-11 20:16:09 -05:00
Pavel Djundik 9ff974b702 Fix missing attributes on unhandled messages 2017-11-10 16:18:44 +02:00
realies 5c4e1e55a6
fix gap between #sidebar and #footer 2017-11-08 18:01:35 +02:00
Pavel Djundik 10dab7afac
Parse formatting in real name 2017-11-07 17:38:03 +02:00
Pavel Djundik 8062609c86
Merge pull request #1602 from thelounge/xpaw/remove-inconsolata
Remove Inconsolata
2017-11-06 22:15:19 +02:00
dgw 3677cb4c8b Restore autocompletion help
Cleaned up and updated the section for the current version of The Lounge.
Resolves #1147.
2017-11-05 05:57:34 -06:00
Amos Ng e83ba807f4
Fix hyphenated names overflowing (#1667) 2017-10-31 00:01:35 +08:00
Pavel Djundik 14e2174d44 Generate correct emoji unicode 2017-10-29 10:41:53 +02:00
Pavel Djundik a60d7e31d9
Merge pull request #1651 from thelounge/xpaw/new-emoji
Generate emoji map from EmojiOne data
2017-10-29 10:25:14 +02:00
Jérémie Astori 40722601a2 Merge pull request #1637 from Swapnull/swapnull/page-title-padding
Reduced padding around page titles
2017-10-24 13:16:14 -04:00
Max Leiter e6979fb5fd Fix url query parameters in public mode 2017-10-23 19:31:23 -07:00
Al McKinlay 4317d4014e Merge pull request #1650 from dgw/1647-textcomplete
Fix loading app with autocomplete disabled
2017-10-19 11:14:10 +01:00
Pavel Djundik ff922d4f92 Regenerate emoji map 2017-10-19 12:46:52 +03:00
dgw 72e5844b8b Fix loading app with autocomplete disabled
Adds a client-side require() that was missing from 1e2d35f. Fixes #1647.
2017-10-19 00:37:33 -05:00
Swapnull 449976b0f9 reduce padding around titles 2017-10-18 21:00:18 +01:00
Pavel Djundik 554c89f9a5 Merge pull request #1627 from dgw/autocomplete-service-shortcuts
Add service aliases to command list for completion
2017-10-18 21:22:09 +03:00
Pavel Djundik ded79a184d Merge pull request #1598 from thelounge/xpaw/fix-863
Synchronize unread marker when other client opens a channel
2017-10-18 21:21:50 +03:00
Pavel Djundik f542e69b99 Merge pull request #1600 from thelounge/xpaw/fix-1571
Synchronize unread marker when client reconnects
2017-10-18 21:21:31 +03:00
Pavel Djundik 4535636855 Merge pull request #1599 from RJacksonm1/fill-mobile-screen-betterer
Remove content borders on mobile to maximise use of space
2017-10-18 21:21:22 +03:00
dgw d675297405 Mark channels as read when receiving self-messages
Resets highlight counter and last unread message ID on server, and
clears the badge on the active client when the message is rendered.

Resolves #911
2017-10-17 08:05:35 -05:00
Pavel Djundik afc594a655 Merge pull request #1607 from PolarizedIons/PolarizedIons/rm-channels-dom
Remove channel containers from DOM after quitting network
2017-10-17 11:31:17 +03:00
dgw 59ad0ba863 Add service aliases to command list for completion
Includes known aliases for AdminServ (/as), BotServ (/bs), ChanServ
(/cs), HelpServ (/hs), HostServ (/hs; /ho on some IRCds), MemoServ
(/ms), NickServ (/ns), OperServ (/os), and RootServ (/rs).

Not all IRCds will have all of these services available, but it's not
trivial to filter out the ones that don't exist on a particular network.
2017-10-11 19:50:06 -05:00
Jérémie Astori 75bc45f354
Make sure channel list close button is really absent when channel is not selected 2017-10-10 02:05:54 -04:00
Pavel Djundik 9a8c1b2fd0 Wrap withinString in try/catch 2017-10-05 23:50:45 +03:00
realies 9a348e3eeb indexOf to charAt 2017-10-05 20:12:26 +03:00
realies 960a6d42e1 Combine if statements to reduce nesting 2017-10-04 13:53:22 +03:00
realies 3244ec91e8 Remove unused var, satisfy linter rules, simplify calls 2017-10-04 00:56:14 +03:00
realies 3890aaad6b Use jQuery for parsing, isolate user commands, remove /clear 2017-10-03 23:29:19 +03:00
Jérémie Astori 54cffb4712
Fix some missing parts from recent font changes/resizing
- Separate messages by one more pixel: the recent font changes make multiline messages rather hard to differentite from one another. I believe adding 2px looked better, but I knew that would cause riots so I went for a middle ground 😅
- Make previews the same size than messages themselves, and adapt the thumbnail height accordingly
- Make the message input font size same as message size
2017-10-03 01:09:02 -04:00
PolarizedIons 99c8e1c04a
Remove channel containers from DOM after quitting network 2017-10-02 13:55:23 +02:00
Rob Jackson d5d3cb0851 Remove content borders on mobile to maximise use of space 2017-10-01 22:02:22 +01:00
Pavel Djundik 737c75638e Remove Inconsolata 2017-10-01 12:22:04 +03:00
Pavel Djundik 38584e2f8e Synchronize unread marker when client reconnects
Fixes #1571
2017-10-01 12:00:59 +03:00
Pavel Djundik 08ee28e99b Synchornize unread marker when other client opens a channel
Fixes #863
2017-10-01 11:52:34 +03:00
Jérémie Astori a93adcbdfa
Give chat timestamp a fix width to fix message alignment issues 2017-10-01 01:12:08 -04:00
Pavel Djundik 0b16026fe2 Merge pull request #1568 from Gilles123/patch-1
Fix nick change on Safari for Mac and iOS
2017-09-27 10:27:18 +03:00
Gilles123 04d9b52113
Fix nick change on Safari for Mac and iOS
It is currently impossible to edit the nick text after pressing the edit button on Safari for iOS and Mac because user-select is set to None on Safari by default. This fixes that issue. Tested that it is not editable when it shouldn't be and that it doesn't break anything on Chrome or Firefox.
2017-09-26 18:44:23 -04:00
Jérémie Astori 5728424c75
Use monospace font in custom CSS textarea 2017-09-26 11:21:42 -04:00
Pavel Djundik d7e6db92b5 Implement session list 2017-09-26 10:56:08 +03:00
Jérémie Astori 46e8ec9ca9
Fix flickering on link hovering, and inconsistencies between chat links and UI links 2017-09-25 18:06:55 -04:00
realies f1c40aa8de Simplify initial commit and remove unnecessary refactor 2017-09-25 07:18:31 +03:00
Jérémie Astori 2c0fc67ab9
Use Mousetrap for image viewer shortcuts 2017-09-23 22:02:13 -04:00
Jérémie Astori 5e4a4d1d0b
Fix wrongly positioned menu when opening it and switching to landscape
This could be reproduced on tablet or large phone (as long as portrait mode shows a collapsible menu and landscape mode shows normal menu) or when resizing the browser on desktop.
2017-09-23 12:21:31 -04:00
Jérémie Astori 4dc3769b18
Make channel list links clickable on full width, simplify code
- Close button and badge are now positioned using the same method. Previously one was float and the other was absolutely positioned.
- Increase the close button size to match 2.4.0, as it was made smaller when moving to the native font stack.
- Removed link margins on left/right of the channel links, and the `1px` gap between links.
- Removed hack/fix for drag-and-drop now made unnecessary
2017-09-22 23:42:16 -04:00
Jérémie Astori 713d2c14e5
Reduce message size on mobile and increase a bit UI text 2017-09-22 21:59:45 -04:00
Pavel Djundik f85686bcb2 Merge pull request #1468 from thelounge/xpaw/combine-notifications
Combine unread notifications into a single one
2017-09-22 21:04:04 +03:00
Pavel Djundik b456ab997c Merge pull request #1503 from thelounge/astorije/image-preview-history
Handle browser history when opening/closing image preview
2017-09-22 21:03:50 +03:00
Jérémie Astori 3eaf12cc36
Increase font size on desktops and mobiles 2017-09-21 03:26:30 -04:00
Pavel Djundik 649e9c3192 Fix opening first channel on server start
Fixes #1547
2017-09-20 16:17:38 +03:00
Pavel Djundik 1c065ad1b6 Remove duplicate keybindings help 2017-09-20 10:57:43 +03:00
Jérémie Astori 637949ea55 Merge pull request #1471 from thelounge/xpaw/client-reconnection
Automatic client reconnection
2017-09-20 00:05:37 -04:00
Jérémie Astori d97b844e29 Merge pull request #1520 from iamstratos/master
Add touch-action to Messages, Sidebar and User list
2017-09-19 23:53:27 -04:00
Pavel Djundik 6041e492ee Fix history not loading if first message is condensed 2017-09-19 18:01:02 +03:00
Pavel Djundik 6cfe60e4d9 Group push notifications per target 2017-09-19 12:01:50 +03:00
Pavel Djundik 935c5b309a Force reconnect on server shutdown 2017-09-19 11:59:56 +03:00
Pavel Djundik 532f55cb86 Redraw channels 2017-09-19 11:59:56 +03:00
Pavel Djundik 05fc00d9be Display all the status changes in UI 2017-09-19 11:45:22 +03:00
Pavel Djundik 0c0df1efc9 Force reload the page if socket reconnects and server restarted 2017-09-19 11:45:22 +03:00
Jérémie Astori 26eba56ab8 Merge pull request #1540 from thelounge/xpaw/native-fonts
Use native font stack
2017-09-19 00:29:32 -04:00
Jérémie Astori b844b0a782 Merge pull request #1283 from MaxLeiter/MaxLeiter/window-save
Add anchor tag to URL to signify open page for reloading
2017-09-18 19:01:23 -04:00
Pavel Djundik 4e776f7a5f Remove Lato 2017-09-18 13:33:04 +03:00
Pavel Djundik 3ac15f97f1 Use native font stack 2017-09-18 13:32:52 +03:00
Jérémie Astori 64cc4927b3
Make sure we never ship with JS alerts by accident 2017-09-17 21:50:41 -04:00
Jérémie Astori b8399471b3
Enable ESLint no-console rule to avoid future mistakes 2017-09-17 21:50:21 -04:00
Alistair McKinlay 59d2f93f61
Allow themes from npm 2017-09-17 19:47:29 -04:00
Jérémie Astori 90cb79ac91 Merge pull request #845 from MaxLeiter/MaxLeiter/away-notify
Use away-notify to show updates on users away state
2017-09-17 14:45:27 -04:00
Max Leiter 163cfaba3c Use away-notify to show user away status change 2017-09-17 11:16:48 -07:00
Al McKinlay 948f304bb9 Merge pull request #1511 from thelounge/xpaw/checkered-background
Checkered background for transparent images in image viewer
2017-09-16 20:53:13 +01:00
Al McKinlay ec6307d55f Merge pull request #1517 from thelounge/xpaw/move-unread-in-history
Move unread marker when loading more history
2017-09-16 20:51:55 +01:00
Max Leiter c4ebd141c5 Add anchor tag to URL to signify open page for reloading 2017-09-14 13:25:20 -07:00
Pavel Djundik 9e008a76b7 Merge pull request #1527 from dgw/kick-modes
Display correct kick modes
2017-09-14 10:46:35 +03:00
dgw e4c6d78762 Display correct kick modes
Defining both the kicker and the target before any code touches the
channel user list ensures that everything is passed to the template.
2017-09-14 02:39:00 -05:00
Al McKinlay 676cc01203 Merge pull request #1518 from thelounge/xpaw/cleanup-jquery
Remove unnecessary end() calls
2017-09-14 07:25:55 +01:00
Al McKinlay 171449c81e Merge pull request #1519 from thelounge/xpaw/fix-show-more-when-empty
Fix requesting last messages when no message id is known
2017-09-14 07:25:17 +01:00
Al McKinlay f2fb05e7c9 Merge pull request #1526 from thelounge/astorije/rm-clear
Get rid of `/clear` command and keybind
2017-09-14 07:23:36 +01:00
Élie Michel f26c2dad0f
Take an optional argument in /part
Fix #1430
2017-09-13 20:24:45 -04:00
Jérémie Astori 92f8c2bfef
Get rid of /clear command and keybind
Since the introduction of infinite scrolling, `/clear` is now broken. As far as I can tell, there is no way to reproduce something decent (and working!) without drastically changing its behavior from "hide the messages in current channel" to "permanently destroy all messages in memory in the current channel", which is not a great change to introduce sneakily 😂.

The code for this was very trivial, so removing it now until there is a better way to do so, if this is ever possible.

Also, `/clear` was not even autocompleted, sooo...
2017-09-13 20:06:03 -04:00
ssstratos 6708261368 Add touch-action to more elements
- Add touch-action: pan-y to .container, .networks, .sidebar, #form
#input
- Add touch-action: none to body
2017-09-14 01:04:03 +03:00
Jérémie Astori 6d08b8d087
Fix hovering condensed messages 2017-09-13 01:36:11 -04:00
ssstratos 32da456c84 Add touch-action to Messages, Sidebar and User list
This commit fixes #1035
2017-09-12 23:50:31 +03:00
Pavel Djundik 14cac93e10 Fix requesting last messages when no message id is known
Fixes #1460
2017-09-12 16:05:40 +03:00
Pavel Djundik 712bdafd9e Remove unnecessary end() calls 2017-09-12 15:52:16 +03:00
Pavel Djundik 706943af26 Move unread marker when loading more history
Fixes #835
2017-09-12 15:40:26 +03:00
Pavel Djundik 17127e9fc2 Move keybinds to another file 2017-09-11 20:48:35 +03:00
Pavel Djundik 41b9ffb5e7 Move 'show more' to same event file 2017-09-11 20:48:35 +03:00
Pavel Djundik 17af195994 Move message notification code to msg file 2017-09-11 20:48:35 +03:00
Jérémie Astori a921d7bf04
[Squash me] Fix bug refusing to switch channel when clicking back after closing image viewer 2017-09-10 15:00:27 -04:00
Jérémie Astori b33ea0f567
Squash me when ready 2017-09-10 14:28:00 -04:00
Jérémie Astori bb432497be
Handle browser history when opening/closing image preview 2017-09-09 16:40:34 -04:00
Jérémie Astori a44eea61a1 Merge pull request #1512 from thelounge/xpaw/fix-black-previews
Fix image viewer turning black sometimes
2017-09-09 12:45:08 -04:00
Pavel Djundik 67da82c151 Fix image viewer turning black sometimes 2017-09-09 18:46:49 +03:00
Pavel Djundik f2bc5adf7b Checkered background for transparent images in image viewer 2017-09-09 14:09:23 +03:00
Jérémie Astori d82f4007ec
Fix /expand command also expanding condensed status messages 2017-09-07 19:50:00 -04:00
Pavel Djundik c81a74a20c Render link previews in browser idle event
Fixes #1504
2017-09-06 22:03:56 +03:00
Pavel Djundik e2a122c3ca Only change nick autocompletion when receiving a message
And other minor optimizations and fixes
2017-09-05 18:28:01 +03:00
Max Leiter d80efdfe23 Add /list to autocomplete 2017-09-04 15:33:33 -07:00
Pavel Djundik 7ee808169d Format messages on copy
Fixes #1146
2017-09-03 11:27:53 +03:00
realies bb1e3ee917 Focus a channel by joining it, refactor user commands #1189 2017-09-02 19:28:36 +03:00
Pavel Djundik 94d40256d9 Always create condensed wrapper 2017-09-02 18:31:47 +03:00
Pavel Djundik e2db8b23a4
Add IntersectionObserver polyfill 2017-09-01 19:38:15 -04:00
Pavel Djundik 838eca8fe5
Fix scrolling issue 2017-09-01 19:33:55 -04:00