Commit graph

73 commits

Author SHA1 Message Date
Pavel Djundik 3f2a017583 Create public folder with webpack 2017-10-18 21:20:12 +03:00
Jérémie Astori d1d871f351 Merge pull request #1617 from thelounge/greenkeeper/mocha-4.0.1
Update mocha to the latest version 🚀
2017-10-17 02:10:58 -04:00
Pavel Djundik 44acc5cb00 Teardown sockets in tests 2017-10-06 12:53:08 +03:00
Pavel Djundik 586a486418 Add tests for invalid urls 2017-10-06 12:25:26 +03:00
Pavel Djundik 7c9eedb820 Add hardcoded vapid key and a test for it
Hopefully fixes #1569
2017-09-25 11:46:15 +03:00
Jérémie Astori b8399471b3
Enable ESLint no-console rule to avoid future mistakes 2017-09-17 21:50:21 -04:00
Elie Michel 32e1a36980 Generalize auth plugin fallback mechanism
@astorije this is for you ;)
https://github.com/thelounge/lounge/pull/1478#discussion_r136492534
2017-09-03 23:00:25 +02:00
Elie Michel 435e14669b Change string formatting style 2017-09-03 23:00:25 +02:00
Elie Michel 803cff92c8 Set public to true for websocket tests
A side effect of LDAP auth tests was breaking these other tests,
that should have already forced public instance in their pre-condition.
2017-09-03 23:00:24 +02:00
Elie Michel 00e54e49ac Add tests for LDAP auth plugin 2017-09-03 23:00:24 +02: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
Pavel Djundik 70ea6e73a0 Add findEmoji tests 2017-08-24 11:54:28 +03:00
Jérémie Astori cdbefd3905
Make The Lounge private mode by default 2017-08-23 13:21:14 -04:00
Pavel Djundik 45d974a0c3 Ignore vapid.json generated during tests 2017-08-23 12:36:35 +03:00
Pavel Djundik 36f2f644ea Add tests for stripping formatting 2017-08-22 10:54:18 +03:00
Pavel Djundik 66ea26f4bd Resolve relative URIs in link previewer
Also adds support for image_src links
2017-08-13 13:06:01 +03:00
Jérémie Astori 157289258a
Keep track of preview visibility on the server so it persists at page reload 2017-07-26 18:16:50 -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 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
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 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 f6dd616d5e Update to eslint 4 and enforce extra rules 2017-06-19 09:58:29 +03: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 bd9e41f2c1 Fix localtime test to correctly use UTC 2017-06-03 10:29:52 +03:00
Pavel Djundik acf5dd5351 Do not store unnecessary information in user objects 2017-06-01 21:54:46 +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 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
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 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 eb1360c3af Add message parser tests 2017-04-21 20:31:27 +03:00
Pavel Djundik c0e364e1c2 Store channel keys 2017-04-01 15:28:38 -04:00
S 001f96035b Switch to bcryptjs and make password comparison async
- PasswordCompareAsync prevents timeouts on resource constraint devices
- All password.compare calls are now async
- Updated tests to accept async functions
2017-04-01 03:06:09 -04:00
Pavel Djundik 4a68b78fd5 Implement away message restoration on reconnections and auto away 2017-03-29 00:27:58 -04:00
Pavel Djundik 3b2e3fc08c Enforce more space and new line rules 2017-03-18 21:40:39 +02:00
Pavel Djundik f65a5a8c89 Add web server tests 2016-12-28 03:31:33 -05:00
Pavel Djundik fb87bd3a58 Webpack 2016-12-27 19:15:30 +02:00
Jérémie Astori 303fab8519 Merge pull request #749 from thelounge/xpaw/hexip
Add support for hexip ilines and fix storing client ip in config
2016-12-10 19:50:33 -05:00
Pavel Djundik 62d4cd8fe8 Use correct channel when pushing link prefetch messages
Fixes #781
2016-12-09 23:00:33 +02:00
Pavel Djundik 708788338c Add support for hexip ilines 2016-11-19 20:32:47 +02:00
Pavel Djundik c5e0dee3a3 Change bcrypt rounds from 8 to 11 2016-10-22 09:24:27 +03:00
Jérémie Astori 1ff011dfaf Add a simple (first) test for localetime Handlebars helper 2016-10-20 01:49:34 +02:00
Jérémie Astori 04f23704b8 Merge pull request #679 from thelounge/xpaw/fix-mode-command
Fix /mode command to correctly assume target
2016-10-17 15:30:02 -04:00
Jérémie Astori 089c315a8e Use forEach instead of lodash's each, and ES6 fat arrows like it's 2015 2016-10-15 15:58:48 -04:00
Pavel Djundik 93053d497d Add mode command test suite 2016-10-15 14:23:39 +03:00