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
Pavel Djundik
3711aefc2d
Merge pull request #664 from thelounge/xpaw/fix-defaults
...
Fix memory and reference shuffling when creating models
2016-10-15 14:14:53 +03: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
Pavel Djundik
8f3f1ca0b1
Fix memory and reference shuffling when creating models
2016-10-08 21:49:31 +03:00
Pavel Djundik
2e82c6b5c6
Make use of multi-prefix cap and remove NAMES spam on mode changes
2016-10-08 20:30:25 +03:00
Pavel Djundik
e445fd8e25
Store channels in array format
2016-07-03 21:58:31 +03:00
Pavel Djundik
d6f2def825
Do not override HOME env in tests
2016-05-15 17:02:53 -04:00
Pavel Djundik
8a7d1e880b
Add nick highlight tests
2016-05-12 15:55:36 +03:00
Pavel Djundik
9543fe060e
Merge pull request #260 from maxpoulin64/mocha-lint
...
Improve tests execution
2016-05-09 11:29:11 +03:00
Maxime Poulin
164b983f99
Always run all tests and test them each individually on travis
2016-05-08 02:24:10 -04:00
Maxime Poulin
96d282e73c
Add WEBIRC support
...
Fixes #181
2016-05-02 00:45:19 -04:00
Pavel Djundik
e75a8f40a6
Stricter eslint rule for curly brackets
2016-05-01 12:41:17 +03:00
Pavel Djundik
2f1eec32b3
Create real channel object in tests
2016-04-19 13:24:57 +03:00
Pavel Djundik
4a7fc0544e
Fix link test not using network model
2016-04-07 16:07:40 -04:00
Jérémie Astori
40677e3248
Update tests to match the new irc-framework models
2016-04-07 16:06:03 -04:00
Pavel Djundik
db5fe00b60
A couple of fixes after rebasing and updating framework
2016-04-07 16:06:01 -04:00
Pavel Djundik
470b0a2c4f
Fix test
2016-04-07 16:04:40 -04:00
Jérémie Astori
f35b0df7e0
Add a very basic test for Network#export
2016-03-16 08:54:06 -04:00
Jérémie Astori
6495f1769e
Add tests for the sortUsers method
2016-03-16 01:08:39 -04:00
Jérémie Astori
75040e07c6
Rename the fixture folder, forgotten while switching to new project name
2016-02-12 04:52:32 +00:00
William Boman
8fdfd70c7e
Comply with ESLint
2015-10-26 03:01:47 +01:00
William Boman
181b78a02f
test: add fixtures directory
2015-10-02 14:44:39 +02:00
Riku Rouvila
a9026ac8a5
add basic environment for unit testing with mocha
2014-11-17 22:14:28 +02:00