Commit Graph

658 Commits

Author SHA1 Message Date
Jérémie Astori 900d41bf47
Re-use `.previews` to order incoming previews instead of extra `links` 2017-07-21 01:51:51 -04:00
Jérémie Astori 1c8ea0b75c
Fix preserved whitespace-related issues for previews by separating them from main text 2017-07-21 01:50:09 -04:00
Jérémie Astori a13c08a45b
Enforce correct order for previews on server-side prefectch rather than at client parsing
This has the benefit of not adding `.preview` divs everywhere, anytime we use `parse()`, and also to un-tie the position of the preview blocks from the result of the helper. This means that templates that call `parse` and have some extra markup after that are not constrained anymore.

This is effectively an alternative, better way to fix https://github.com/thelounge/lounge/issues/1343, but the initial fix that was put in place (https://github.com/thelounge/lounge/pull/1347) is still relevant, for example to make sure a preview stays hidden (and does not add extra margin/padding/etc.) if the link does not prefetch.
2017-07-21 01:06:42 -04:00
Jérémie Astori 4e7eed7958 Merge pull request #1334 from MaxLeiter/MaxLeiter/emoji
Emoji fuzzysearching
2017-07-20 01:20:57 -04:00
Max Leiter 4a56870c08 Emoji fuzzysearching 2017-07-19 11:33:16 -07:00
Alistair McKinlay e01e21cdbe Change more to use id rather than count. 2017-07-19 07:37:13 +01:00
Jérémie Astori 5fb34ce93f
Fix previews in actions ("/me") after page reload 2017-07-18 01:27:18 -04:00
Jérémie Astori 511b173b6f
Add an image viewer for thumbnails and image previews 2017-07-16 19:25:48 -04:00
Pavel Djundik 199bc459b4 Merge pull request #1303 from thelounge/astorije/multiple-previews
Support multiple previews per message
2017-07-09 18:29:31 +03:00
Al McKinlay 2d853f20aa Merge pull request #1309 from thelounge/astorije/collapse-previews
Add collapse/expand commands to toggle all previews
2017-07-09 15:20:48 +01:00
Jérémie Astori 28200830ed
Move preview toggle buttons next to their respective URLs and switch from ellipsis to caret 2017-07-08 04:36:26 -04:00
Jérémie Astori 64ebe0f437
Support multiple previews per message
- Load up to 5 previews per message (to avoid abuse)
- Do not load multiple times the same URL
- Prepare preview containers per message instead of appending (to maintain correct order)
- Store an array of previews instead of a single preview in `Msg` objects
- Consolidate preview rendering for new messages and upon refresh/load history (when rendering entire channels)
- Update `parse` tests to reflect previous point
- Add test for multiple URLs
- Switch preview tests from `assert` API to `expect` API
2017-07-08 04:34:12 -04:00
Jérémie Astori b1fa78665c Merge pull request #1294 from awalgarg/autocomplete-optout
Allow opting out of autocomplete
2017-07-08 03:46:35 -04:00
Jérémie Astori e08f18f447
Add collapse/expand commands to toggle all previews 2017-07-07 00:18:37 -04:00
Pavel Djundik 818a21b52e Fix jumps when toggling link preview 2017-07-04 20:51:22 +03:00
Awal Garg 8c8d683348 Allow opting out of autocomplete 2017-07-03 22:37:38 +05:30
Pavel Djundik 14b2ad7938 Refactor link previews 2017-07-03 00:41:18 +03:00
Jérémie Astori 0b85582744 Merge pull request #1175 from thelounge/yamanickill/socket-modules
Add modules for socket events
2017-06-20 23:42:52 -04:00
Pavel Djundik 28528dc865 Correctly finish scroll animation when using page keys
Fixes #1022.
2017-06-20 13:22:58 +03:00
Pavel Djundik 2091a5b41b Merge pull request #1120 from thelounge/xpaw/scroll-perf
Include trickery to reduce paints and improve performance
2017-06-20 13:18:06 +03:00
Alistair McKinlay f90c355c8e Add modules for socket events 2017-06-20 07:22:58 +01:00
Pavel Djundik 32a73d49f1 Merge pull request #1016 from swordbeta/unread_marker_hidden_joins
Unread marker takes hidden messages into account.
2017-06-20 08:15:31 +03:00
Pavel Djundik f6dd616d5e Update to eslint 4 and enforce extra rules 2017-06-19 09:58:29 +03:00
Jérémie Astori 1a6f2fc387 Merge pull request #1150 from bews/bews/dev-9-reload
Add "reload page" button when Lounge fails to start.
2017-06-10 13:25:37 -04:00
Niko Bews cba87582a5 Add "reload page" button when Lounge fails to start. 2017-06-10 20:15:32 +03:00
Pavel Djundik 53ffcb5960 Merge pull request #1141 from bews/bews/dev-6-seconds
Show seconds in timestamp
2017-06-10 16:15:03 +03:00
Niko Bews fd983a7f6b Show seconds in timestamp 2017-06-10 14:53:15 +03:00
Pavel Djundik 7ec0dcfec8
Mark touch events as passive 2017-06-09 23:20:00 -04:00
Pavel Djundik 93bc406c2e Consider click also a read activity 2017-06-09 14:10:55 +03:00
Pavel Djundik ca54c40d0f Merge pull request #1197 from thelounge/xpaw/socketio-transports
Correctly configure client socket transports
2017-06-08 20:19:49 +03:00
Jérémie Astori c88a0875b6 Merge pull request #1205 from thelounge/xpaw/no-hardcoded-title
Keep original <title> name when changing the title
2017-06-08 09:10:11 -04:00
Jérémie Astori 5a5bf823a0 Merge pull request #1195 from thelounge/xpaw/consistent-user-object
Do not store unnecessary information in user objects
2017-06-08 02:46:25 -04:00
Pavel Djundik 571818d4c2 Keep original <title> name when changing the title 2017-06-05 14:40:25 +03:00
Pavel Djundik 22c00aca95 Do not store passwords in settings storage 2017-06-03 21:41:21 +03:00
Pavel Djundik 16fb118d02 Correctly configure client transports
Fixes #848
2017-06-01 22:43:23 +03:00
Pavel Djundik acf5dd5351 Do not store unnecessary information in user objects 2017-06-01 21:54:46 +03:00
swordbeta 24419cb8e8 Assign last visible div to var. 2017-05-17 13:19:18 +02:00
Al McKinlay 07e4f4d1a4 Merge pull request #1157 from thelounge/astorije/motd-default
Display MOTD by default on client
2017-05-10 10:14:22 +01:00
Jérémie Astori 895fcc4066 Display MOTD by default on client 2017-05-09 18:18:32 -04:00
PolarizedIons 54a9637ed4 Fix fixing the date-marker not being removed when it should be.
Accidentally copy-pasted more than I should have when I moved the scrollable height calculation code, and I caused the older
messages to be added before doing checks for the date-markers, which would fail.
2017-05-09 19:23:31 +02:00
Pavel Djundik 691f628e48 Merge pull request #1095 from thelounge/xpaw/fix-nick-autocomplete
Fix nick autocomplete
2017-05-06 13:43:27 +03:00
Pavel Djundik 7ae364e360 Merge pull request #1100 from thelounge/xpaw/0x04
Add support for 0x04 hex colors
2017-05-06 13:43:14 +03:00
Pavel Djundik fe77563cdb Merge pull request #1114 from thelounge/xpaw/moment
Use moment to render dates everywhere
2017-05-06 13:43:02 +03:00
Pavel Djundik 57d7616d1b Merge pull request #1109 from thelounge/astorije/autocomplete-colors
Add autocomplete strategy for foreground and background colors
2017-05-06 13:42:47 +03:00
Pavel Djundik 9766c3e254 Allow autocompleting full emoji short names 2017-05-05 21:08:41 +03:00
PolarizedIons c5e215f439 Fix date-marker not being removed on loading new messages 2017-05-05 14:07:01 +02:00
swordbeta 979d992bd1 Don't show unread marker for date marker. 2017-05-04 21:38:58 +02:00
Pavel Djundik 700d3c1ff2 Use moment to render dates everywhere 2017-05-01 21:31:31 +03:00
Jérémie Astori 0981605fae
Add autocomplete strategy for background colors 2017-05-01 02:49:35 +02:00
Jérémie Astori 6d1eef836a
Add autocomplete strategy for foreground colors 2017-04-30 14:08:12 +02:00
Pavel Djundik f7b7248ff7 Fix nick autocomplete
Fixes #1119.
2017-04-30 15:03:27 +03:00
Pavel Djundik 0b645d54c6 Add support for 0x04 hex colors
Ref: https://modern.ircdocs.horse/formatting.html#hex-color
2017-04-29 09:50:26 +03:00
Max Leiter 70655120cb Add ctcp to constants, adds to auto-complete 2017-04-28 14:45:18 -07:00
PolarizedIons 81a5615c9a Fix nick autocomplete 2017-04-26 19:34:31 +02:00
Jérémie Astori 06af65cf01 Merge pull request #1078 from thelounge/1022-slow-scrolling
Add fix for slow scrolling when holding pg-up/pg-dn
2017-04-26 13:47:40 +02:00
Pavel Djundik 586dde7761 Merge pull request #856 from thelounge/astorije/fuzzy-match-user-list
Implement fuzzy-matching for the user list
2017-04-26 12:57:06 +03:00
Pavel Djundik dd5e50fc68 Merge pull request #1062 from thelounge/remove-cycle-nicks
Remove cycle nicks button
2017-04-26 11:41:51 +03:00
Jérémie Astori e000ba45df
Improve details of emoji/chan/nick/command autocompletion
- Make dropdown items match context menu items
- Disable transparency on dropdown item links
- Clean up help page additions
- Better align help page autocompletion characters
- Use ES6 features (`const`, arrow functions, method definition shorthands)
- Use `Array#filter` instead of `$.map`
- Do not display `@` in nick completion *when* only one `@` is used (to be less confusing and more consistent)
2017-04-26 13:58:43 +05:30
Yash Srivastav 7229e0dda4
Disable history completion during emoji completion 2017-04-26 13:58:43 +05:30
Yash Srivastav 785842cde5
Add emoji/nick/commands/chan autocomplete 2017-04-26 13:58:36 +05:30
Pavel Djundik e3bd30b05f Merge pull request #1077 from thelounge/yamanickill/1073-ban-unban
Add ban/unban command
2017-04-26 11:17:41 +03:00
Alistair McKinlay b03d01b6eb Add ban/unban command
Fixes #1073
2017-04-26 08:54:25 +01:00
Alistair McKinlay d0987719ce Replace the state on init rather than adding a new entry
Fixes #1042
2017-04-26 08:36:26 +01:00
Alistair McKinlay fe07bf6637 Add fix for slow scrolling when holding pg-up/pg-dn
Fixes #1022
2017-04-24 12:01:24 +01:00
Alistair McKinlay 326f1ac476 Create options module 2017-04-24 09:06:01 +01:00
Pavel Djundik c583d6edf9 Correctly update user list and search filtering on user updates 2017-04-23 18:18:56 -04:00
Pavel Djundik b1e9a7ffda Use separate container for search results 2017-04-23 18:18:56 -04:00
Jérémie Astori cfa9da17a7 Rely on fuzzy's case insensitivity, do not trim mode 2017-04-23 18:18:56 -04:00
Jérémie Astori 6a26014b81 Implement fuzzy-matching for the user list 2017-04-23 18:18:56 -04:00
Pavel Djundik 98e3bd0ca2 Merge pull request #1054 from thelounge/astorije/friendly-date-marker
Use moment on the client to display friendly dates
2017-04-23 10:24:21 +03:00
Alistair McKinlay 2e286849fc Move commands into constants module 2017-04-22 20:16:59 +01:00
Pavel Djundik 7522847ecc Enable show more button correctly 2017-04-22 19:04:46 +03:00
Alistair McKinlay 1e504f4383 Add support for banlist messages 2017-04-22 13:51:28 +01:00
Jérémie Astori 5fabf2f61a Make sure friendly date markers are reset at midnight 2017-04-22 00:39:00 -04:00
Jérémie Astori 648cfd12db Use moment on the client to display friendly dates
Also, unread and date markers are now half-transparent based on their colors and not parent opacity. This is necessary to display a non-translucide tooltip.
2017-04-22 00:38:19 -04:00
Jérémie Astori bc5b03d2fc Merge pull request #1060 from thelounge/yamanickill/modularise-socket
Create socket module
2017-04-22 00:36:06 -04:00
Pavel Djundik 999e419636 Remove cycle nicks button
Reverts #708.
Fixes #869.
Fixes #1023.
2017-04-21 21:00:57 +03:00
Jérémie Astori fa1aecdd9e Remove URI.js monkey-patch as fix landed in v1.18.5
See https://github.com/medialize/URI.js/issues/325
2017-04-21 20:31:27 +03:00
Jérémie Astori 03e3444a35 Explain the modules of the message parser and add tests
- Add comments and descriptions to:
  - `findChannels.js`
  - `parseStyle`
  - `findLinks`
  - `fill`
  - `anyIntersection`
  - `merge`
  - `parse`
- Minor optimizations to `parseStyle`
- Add tests for `fill`
2017-04-21 20:31:27 +03:00
Jérémie Astori 90f4a94bb2 Use template literals in parse
Also make it output double quotes for consistency with web stuff.
2017-04-21 20:31:27 +03:00
Jérémie Astori 5b4c00d8ca Extract findLinks into its own file and add tests
Tests were taken from 5a249c30b1/test/findLinks.js.
The underlying code is different but the tests are the same.
2017-04-21 20:31:27 +03:00
Bonuspunkt 0b85ded53f Add bonuspunkt's parser
Fixes #15.
Fixes #199.
Fixes #583.
Fixes #654.
Fixes #928.
Fixes #1001.
2017-04-21 20:29:04 +03:00
Alistair McKinlay 05d363d9a5 Create socket module 2017-04-21 09:54:46 +01:00
Al McKinlay 9072fda146 Merge pull request #1052 from KlipperKyle/KlipperKyle/motd
Issue 1019: Show MOTD by default
2017-04-20 09:07:27 +01:00
Jérémie Astori 4de632ba3c Merge pull request #1018 from swordbeta/sort_channel_list
Improve channels list.
2017-04-20 01:40:14 -04:00
Michael van Tricht 764ac831d4 Improve channels list.
- Set fixed width to channel and users column.
- Sort by number of users in channel.
- Executing /list multiple times wont show multiple tables.
- Channel list is not stickied to the bottom.
- Limit channels to 500. Scrolling through 1k is very slow on my system.
2017-04-19 12:02:15 +02:00
Kyle Terrien a900abc2a4 Issue 1019: Show MOTD by default 2017-04-18 19:48:14 -07:00
Alistair McKinlay 4938878d10 Disable show more button when loading messages 2017-04-17 10:35:27 +01:00
Daniel Oaks 5c336d3789 Add slug with command to unhandled messages 2017-04-16 12:31:32 +03:00
William Boman cc0962ba12 client: implement states using the History Web API 2017-04-15 22:34:14 +02:00
Pavel Djundik d093a7f4c2 Reset notification markers on document focus
Fixes #837
2017-04-15 18:43:34 +03:00
Pavel Djundik fce3d11e74 Stick to bottom when opening user list
Fixes #1031
2017-04-14 21:29:04 +03:00
Michael van Tricht bcbd29cd22 Unread marker takes hidden messages into account. 2017-04-08 15:56:09 +02:00
Pavel Djundik bb24bc645c Merge pull request #1013 from awalgarg/patch-1
fix: count only message items for show-more
2017-04-06 06:43:29 +03:00
Awal Garg c066f25b17 fix: count only message items for show-more
the `messages` div contains a `date-marker` div and an `unread-marker` div. this causes the `count` variable to be 2 more than the expected value, which makes the show-more button skip two messages when loading history. this change filters the counted elements to fix this issue.
2017-04-06 00:45:28 +05:30
Jérémie Astori 09eaf80f8c Fix page scroll glitch 2017-04-02 21:03:01 -04:00
Pavel Djundik 2d9aa35c06 Implement pgup/pgdown keys 2017-04-01 22:35:07 +03:00
Pavel Djundik 110c0f0c87 Correctly append date marker when receiving a message 2017-04-01 11:06:01 +03:00
Pavel Djundik 212703d162 Merge pull request #810 from thelounge/xpaw/color-hotkeys
Implement color hotkeys
2017-03-31 19:17:16 +03:00
Jérémie Astori 4363ef4abe Merge pull request #973 from thelounge/xpaw/use-require
Use require() instead of import in client code
2017-03-31 01:41:29 -04:00