Commit graph

246 commits

Author SHA1 Message Date
Jérémie Astori 522bba694b
Use an ellipsis for change nick and join channel tooltips 2017-12-22 12:18:47 -05:00
Max Leiter 3fde87efbc
Add join channel UI via context menu or plus button next to lobbys 2017-12-22 12:18:46 -05:00
Pavel Djundik aad9033d06
Use notEqual helper for close button 2017-12-22 12:30:23 +02:00
Pavel Djundik 06becc798f
Merge pull request #1874 from thelounge/astorije/handlebars-notEqual
Add a `notEqual` block helper for Handlebars and tests for `equal`
2017-12-22 12:28:15 +02:00
Al McKinlay 8004e051aa
Merge pull request #1833 from Cldfire/master
Remove lobby close button
2017-12-22 10:18:29 +00:00
Jérémie Astori 371c5bcac2
Add a notEqual block helper for Handlebars 2017-12-21 22:09:08 -05:00
Pavel Djundik 2b7657a9e7 Format whois as a definition list 2017-12-18 19:40:01 +02:00
Cldfire daa45c13fd Remove lobby close button
Without cheating and doing `display: none` this time around.
2017-12-17 22:28:56 -05:00
Pavel Djundik b5ad495c6d Insert user-configurable string when autocompleting nicks
Fixes #1176
2017-12-17 21:15:47 +02:00
Al McKinlay b9f1b9fd4d
Merge pull request #1832 from MaxLeiter/media
Rename thumbnail/image option to more general `media`
2017-12-14 09:05:40 +00:00
Max Leiter d4ad60c11d Support video file previews 2017-12-13 17:52:07 -08:00
Max Leiter fdd8ef3e6a
Rename thumbnail/image option to more general 'media' 2017-12-13 20:03:12 -05:00
Pavel Djundik 7dcab09516
Merge pull request #1806 from MaxLeiter/sound
Support audio file previews
2017-12-13 11:03:04 +02:00
Max Leiter ad1114ccfe Support audio file previews 2017-12-12 11:29:13 -08:00
Erik Vosseberg 33d865501d
Add whois and conversation as action to user contextmenu
Add Op specific actions to contextMenu

Show context menu when left clicking user

Switch to using data attributes as selectors

remove ban as possible action

Move `isOpInChannel()` to utils.js

Capitalize strings

use CSS.escape for `ownNick`

use string interpolation

properly point to findCurrentNetworkChan

Move context menu item actions to command pattern

add icons for context menu actions

Make list in context menu always list.

remove empty lines in style.css

use info circle instead of question circle

change context menu labels.

change contextMenuActions.execute to more explicit method.
2017-12-11 23:04:29 -05:00
Pavel Djundik 2d0ddfb2e8
Merge pull request #1778 from thelounge/xpaw/lazy-init
Heavily improve performance of "init" event
2017-12-05 12:03:01 +02:00
Pavel Djundik b5d39b96b9
Handle CHGHOST cap 2017-12-04 23:33:48 -05:00
Jérémie Astori b80710ed82
Merge pull request #1788 from PolarizedIons/PolarizedIons/actualip
Add actualip to the actualhost line in the whois output
2017-12-04 23:30:04 -05:00
Logan Griswold f07c1bef69
#1755 - implement monospace formatting with keybinding, tests, and help section 2017-12-03 15:10:46 -05:00
Logan Griswold 0643d3b4a3
#1754 - implement strikethrough formatting, client keybinding, tests, and help section 2017-12-03 15:10:34 -05:00
Pavel Djundik 41e121d270 Only emit a single message per channel on init 2017-12-03 16:13:18 +02:00
stepie22 c7f6b8409f Change whois's actual host to include the actualip aswell 2017-12-01 15:03:02 +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
Max Leiter 3d31fa4686 Link nicks mentioned in messages 2017-11-27 09:10:56 -08: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
Erik Vosseberg f40edc7dc2
Include all available whois info 2017-11-21 00:27:24 -05:00
Pavel Djundik c30f4aaaeb Move help to view 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 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 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
Pavel Djundik 9ff974b702 Fix missing attributes on unhandled messages 2017-11-10 16:18:44 +02:00
Pavel Djundik 10dab7afac
Parse formatting in real name 2017-11-07 17:38:03 +02:00
Pavel Djundik d7e6db92b5 Implement session list 2017-09-26 10:56:08 +03: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
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
Jérémie Astori d82f4007ec
Fix /expand command also expanding condensed status messages 2017-09-07 19:50:00 -04:00
Pavel Djundik 94d40256d9 Always create condensed wrapper 2017-09-02 18:31:47 +03:00
Pavel Djundik d814abd1cf Implement condensed messages option entirely with CSS
Fixes #1432
2017-08-30 15:43:31 +03:00
Jérémie Astori 51bd46b871
Fix time placeholder showing on mobile format for condensed messages
As an extra, make sure time placeholder cannot be selected anymore, and do not do an extra call to `tz` helper when time is not relevant/displayed.

I tried to entirely remove `time`/`from` blocks, but because of flexbox layout, that broke message alignment...
2017-08-23 02:23:54 -04:00
Jérémie Astori 853e646670
Move condense caret to the right, animate transition, add hover state (with transition), reuse thumbnail toggle style 2017-08-13 16:16:38 -04:00
Alistair McKinlay 499dfdfe92
Condense Joins 2017-08-13 14:30:30 -04:00
Pavel Djundik 6b00cdeba9 Change history button text while loading 2017-08-09 14:18:37 +03:00
Jérémie Astori b9f17b77ab
Add Previous/Next cycling buttons to the image viewer 2017-07-23 13:14:27 -04:00
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 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