Commit Graph

106 Commits

Author SHA1 Message Date
Pavel Djundik
14e2174d44 Generate correct emoji unicode 2017-10-29 10:41:53 +02:00
Pavel Djundik
ff922d4f92 Regenerate emoji map 2017-10-19 12:46:52 +03:00
Pavel Djundik
9a8c1b2fd0 Wrap withinString in try/catch 2017-10-05 23:50:45 +03:00
Pavel Djundik
53ebee195c Escape channel names in slugify helper correctly
Fixes #1172.
2017-08-29 12:38:29 +03:00
Pavel Djundik
c55c338c72 Merge pull request #1446 from thelounge/parse-emoji
Parse emoji to make them bigger
2017-08-26 20:34:40 +03:00
PolarizedIons
e00b28d201 Fix general spelling errors 2017-08-25 18:02:28 +02:00
Mac Carrithers
f8663ed28b Parse emoji to make them bigger 2017-08-24 11:54:28 +03:00
Pavel Djundik
e4ee3fbb3c Do not throw an exception when URI parsing fails 2017-08-14 15:25:34 +03: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
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
Pavel Djundik
14b2ad7938 Refactor link previews 2017-07-03 00:41:18 +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
Pavel Djundik
f6dd616d5e Update to eslint 4 and enforce extra rules 2017-06-19 09:58:29 +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
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
700d3c1ff2 Use moment to render dates everywhere 2017-05-01 21:31:31 +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
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
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
c583d6edf9 Correctly update user list and search filtering on user updates 2017-04-23 18:18:56 -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
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
Daniel Oaks
5c336d3789 Add slug with command to unhandled messages 2017-04-16 12:31:32 +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
Pavel Djundik
3b2e3fc08c Enforce more space and new line rules 2017-03-18 21:40:39 +02:00
Pavel Djundik
dcefcd19cb Use require() instead of import in client code
Closes #895
2017-03-18 11:21:18 +02:00
Jérémie Astori
280d145502 Merge pull request #836 from thelounge/xpaw/slideout-width
Calculate menu width on touch start
2017-01-04 01:48:38 -05:00
Pavel Djundik
c75771f13d Fix stuff that breaks in jQuery 3 2016-12-29 23:43:10 +02:00
Pavel Djundik
8fd1d161ea Remove vendor client code 2016-12-27 19:15:31 +02:00
Pavel Djundik
fb87bd3a58 Webpack 2016-12-27 19:15:30 +02:00
Pavel Djundik
3017e67f3a Calculate menu width on touch start
Fixes #831
2016-12-21 19:58:36 +02:00
stepie22
93f0f6942e Add a date seperator 2016-11-23 16:35:42 +02:00
Jérémie Astori
d82a894b7b Remove browser notification polyfill and inform user when unsupported 2016-10-22 17:26:34 -04:00
Pavel Djundik
aa02fd5180 Enforce more eslint rules 2016-10-09 17:55:37 -04:00
Jérémie Astori
caa46042bf Enforce strict mode across all JS files with ESLint
Several ES6 additions are only available in strict mode. Example:
> SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode

Strict mode was also enabled in a few of our files already, and it is a good thing to have anyway.
2016-10-09 15:14:02 -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
ad4a79cbca Merge pull request #400 from maxpoulin64/slide
Add touch slideout menu for mobile
2016-09-30 00:03:04 -04:00
Henning Hoefer
08d3633ae2 Prevent Ctrl-Tab from triggering tab completion
Fixes #529

This is probably the simplest workaround for Firefox sending a keydown event when switching browser tabs via Ctrl-Tab
2016-08-04 04:31:19 +02:00
Maxime Poulin
0eef5d9240 Add touch slideout menu for mobile 2016-07-22 21:30:45 -04:00
Maxime Poulin
2d3464aa04
Use a textarea instead of an input for channel messages 2016-07-04 23:49:45 -04:00
Pavel Djundik
8b8050d02a Remove javascript scrollbar library, use hover appearing scrollbar instead 2016-07-02 13:28:22 +03:00
Pavel Djundik
a94b9623f9 Prepend http protocol to www. links in chat
Fixes #406
2016-06-16 17:40:02 +03:00