Commit graph

139 commits

Author SHA1 Message Date
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 f88d1e3bef Merge pull request #1242 from starquake/newlines-fix
Correctly show whitespace and newlines in messages
2017-07-19 02:05:31 -04:00
Jan Visser f0e6e397a4 Correctly handle multiple successive whitespace characters 2017-07-18 16:54:35 +02:00
Pavel Djundik 70d09841d9 Fix incorrect mode on kick target 2017-07-18 17:38:24 +03:00
Pavel Djundik f35a2809a7 Store preview images on disk for privacy, security and caching 2017-07-18 11:37:16 +03:00
Jérémie Astori 511b173b6f
Add an image viewer for thumbnails and image previews 2017-07-16 19:25:48 -04: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 ec5b5ef565
Add title attributes to previews
This is useful on long preview titles/descriptions that truncate. We currently do the same for topics
2017-07-04 12:56:57 -04:00
Pavel Djundik c62bc2fa35 Do not truncate link previews if viewport can fit more text
Fixes #1084
2017-07-04 09:51:35 +03:00
Pavel Djundik 14b2ad7938 Refactor link previews 2017-07-03 00:41:18 +03:00
Niko Bews eb4a4c7dfe Move nickname rendering to a single template
Closes #1241
2017-06-22 13:28:17 +03:00
Pavel Djundik acf5dd5351 Do not store unnecessary information in user objects 2017-06-01 21:54:46 +03:00
Jérémie Astori 3e54569624
Fix user list search not responding to clicks on search results 2017-05-13 18:34:27 -04:00
Pavel Djundik 381ea326f4 Disable tabindex on userlist search input
Fixes #1036.
2017-04-30 15:07:09 +03: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
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 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
Alistair McKinlay adfd99c92c Add fix for undefined name being slugified 2017-04-21 09:32:57 +01:00
Daniel Oaks 5c336d3789 Add slug with command to unhandled messages 2017-04-16 12:31:32 +03:00
Pavel Djundik c0a7ae9d92 Use css tooltips on time elements 2017-04-13 01:55:27 -04:00
Maxime Poulin 6a273d825a Improve inline previews for links and images 2017-04-04 01:40:51 -04: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
William Boman c6ed95e555 views/msg: set data-from attribute to allow styling messages from specific user(s) 2017-03-20 23:08:28 +01:00
Pavel Djundik dcefcd19cb Use require() instead of import in client code
Closes #895
2017-03-18 11:21:18 +02:00
Pavel Djundik fb87bd3a58 Webpack 2016-12-27 19:15:30 +02:00
Jérémie Astori 7ae11babcb Add human-readable idle time in whois info 2016-12-22 00:21:16 -05:00
stepie22 93f0f6942e Add a date seperator 2016-11-23 16:35:42 +02:00
Pavel Djundik a1f56c7395 Improve support for opening multiple clients at once
- Synchornize unread counter with the server
- Fix unread marker on no attached clients
- Increase unread counter for server messages
2016-10-17 01:31:22 -04:00
Jérémie Astori 310ab8f43c Fix nick changes not being properly reported in the logs
Before:

```
[2016-10-10 15:17:47] *  nick
```

After:

```
[2016-10-10 16:32:47] * astorije nick astorije2
```
2016-10-10 13:08:23 -04:00
Jérémie Astori 4e1d89f567 Consolidate locale time helpers
When working on #660, I missed that helper already existed, added in #167.
2016-10-01 15:38:06 -04:00
Jérémie Astori fc03a338fc Display localized timestamp in title of message times 2016-10-01 02:46:19 -04:00
Jérémie Astori 345aac1a27 Merge pull request #258 from maxpoulin64/channel-list
Implement /list
2016-09-29 02:47:34 -04:00
Jérémie Astori 2041c936b2 Add tooltips to user list and submit buttons 2016-08-03 01:10:22 -04:00
Maxime Poulin 1d47290ada Implement /list
Thanks to @xPaw for the base of this code
2016-07-22 21:42:42 -04:00
William Boman c821b30374 views/chat: set title attribute on topic 2016-07-18 21:00:40 +02:00
Maxime Poulin 18c615236d Merge pull request #332 from thelounge/xpaw/unread-marker
A proper unread marker
2016-07-06 04:06:14 +00:00
Jérémie Astori 3cddbbce6e Improve styling of the unread marker 2016-07-05 15:32:41 -04:00
Pavel Djundik d37e94308d Unread marker MVP 2016-07-05 15:32:41 -04:00
Pavel Djundik cada00ab6a Display unhandled numerics on the client 2016-07-03 11:47:53 +03:00
Pavel Djundik 8b8050d02a Remove javascript scrollbar library, use hover appearing scrollbar instead 2016-07-02 13:28:22 +03:00
Pavel Djundik 1438ba6f93 Change nicks from links to spans everywhere
Fixes #338
2016-06-22 22:34:10 +03:00
Jérémie Astori c87d82dc48 Replace color generation with CSS classes
These colors were built using the current generation function to have
similar style.
2016-05-15 15:21:18 -04:00
Jérémie Astori aad757e50a Fix missing colors in action messages 2016-05-10 19:40:09 -04:00
Pavel Djundik ed700ef504 Fix unread counter not being formatted on page load 2016-05-08 22:49:53 +03:00
Jérémie Astori 57d7b0147e Make the sidebar close a button and add aria-label to it 2016-05-08 15:06:36 -04:00
Jérémie Astori 8af36eb0c7 Add an aria-label attribute to the user search field 2016-05-08 15:06:36 -04:00
Jérémie Astori 97c08d409e Add missing aria-label on icon buttons 2016-05-08 15:06:36 -04:00
Jérémie Astori 5fa5140bd8 Use a more explicit wording for the "Show more" button 2016-05-07 20:08:27 -04:00
Pavel Djundik a082039ecb Keep autocompletion sort whenever an user joins 2016-04-28 22:44:27 +03:00
Pavel Djundik d30e4e68ca Parse ctcp replies 2016-04-25 19:24:43 +03:00
Jérémie Astori e799cc493c Move the sidebar serverOptions to the according template 2016-04-10 01:04:39 -04:00
Pavel Djundik 7d24394814 Update irc-framework and fix issue when changing your own nick 2016-04-07 16:08:32 -04:00
Pavel Djundik 16370d8fcc Add /ctcp command and handle ctcp responses 2016-04-07 16:08:31 -04:00
Pavel Djundik 2a7a93d207 Fix incorrect context menu names in nick, whois and topic set by messages 2016-04-07 16:07:40 -04:00
Pavel Djundik 142aa85548 Handle invites
Requires irc-fw update
2016-04-07 16:07:40 -04:00
Pavel Djundik 43f58a8075 Format topic set date 2016-04-07 16:07:40 -04:00
Pavel Djundik a01216fa4c Update irc-framework 2016-04-07 16:04:41 -04:00
Pavel Djundik b6993f6e37 Make whois work 2016-04-07 16:04:41 -04:00
Pavel Djundik 9ab71b2588 Handle nick 2016-04-07 16:04:40 -04:00
Pavel Djundik e380319400 Handle parts, quits, topics and topic set by 2016-04-07 16:04:40 -04:00
Maxime Poulin f1ecae8023 Display whitespace properly
Fixes alignment in many server's motd as well as in-channel ASCII art
2016-04-05 22:36:04 -04:00
Pavel Djundik 5c1a95b22f Do not parse link titles for IRC formatting 2016-04-04 10:43:45 +03:00
Jérémie Astori 4f7f862a55 Add a specific item divider for the context menu, allowing some margin 2016-03-20 17:40:12 -04:00
Maxime Poulin d3a8b2b217 Add a menu where the Leave button was 2016-03-20 22:33:55 +02:00
Pavel Djundik 73930688cc Remove dedicated close button next to user button 2016-03-20 22:33:42 +02:00
Pavel Djundik 96ef274838 Keep track of highlights when user is offline 2016-03-13 18:05:05 +02:00
Pavel Djundik a61973a156 Make whois a client template 2016-03-07 17:10:46 +02:00
Pavel Djundik 84ed021e0e Add context menus 2016-03-01 13:56:36 +02:00
Pavel Djundik f6563d0ea9 Fix #116: Move 'you' handling in invites to the client 2016-02-28 10:21:19 +02:00
Pavel Djundik 357e238a45 Fix how highlights are handled 2016-02-28 01:30:20 +02:00
Pavel Djundik 2c8c84aec5 Move actions to templates 2016-02-23 18:22:41 +02:00
Maxime Poulin 867917ff6e Fade long channel names in sidebar 2016-02-22 01:07:59 -05:00
Max Leiter 20e9e6b611 Update chat template so no user-icon shown when a server or PM is selected. 2016-02-13 16:32:00 -08:00
Alistair McKinlay e5aa02d696 Change user buttons to as. Allows highlighting on firefox. 2016-01-24 16:53:06 +00:00
Pavel Djundik bb98be475a Render user actions separately 2016-01-24 16:59:13 +02:00
Pavel Djundik 7a9bc41b30 Use a single function to process and render messages 2016-01-23 16:59:05 +02:00
Jérémie Astori 37aa9c7eeb Revert "Change user buttons to as. Allows highlighting on firefox." 2016-01-09 14:16:44 -05:00
Alistair McKinlay fe0eff8abd Change user buttons to as. Allows highlighting on firefox. 2016-01-09 15:51:54 +00:00
The Bastard Operator 7ef2da0c83 Fix XSS vulnerability 2015-08-16 03:28:21 +02:00
Mattias Erming ccea9ea43d Close button now correctly says 'Close' for private messages 2014-12-12 00:10:15 +01:00
Mattias Erming eb3bc22d71 Added dynamic title 2014-11-07 20:52:38 +01:00
XeonCore 20d1e1b212 Add thumbnail to toggles when sites have them
Displays a small thumbnail above each toggle that comes from either og:image or twitter:image meta tags.
2014-10-12 12:42:30 +11:00
Mattias Erming f42a6487d6 Emit topic over socket 2014-10-10 22:05:25 +02:00
Mattias Erming eae1e661b7 Split users by mode in the sidebar 2014-10-04 12:47:27 -07:00
Mattias Erming b801689eaa Show user modes in channel 2014-10-04 05:31:45 -07:00