Jérémie Astori
c605f35335
Merge pull request #2019 from thelounge/yamanickill/save-queries
...
Save query channels in user.json
2018-01-30 19:27:28 -05:00
Al McKinlay
5cf24b80e6
Save query channels in user.json
2018-01-30 17:14:51 +00:00
Jérémie Astori
33d82287be
Do not statically serve the index template prior to rendering it
...
Without this, going to `https://thelounge.example.com/index.html ` would return the raw file. This now excludes it from the `public` folder so it cannot be rendered as is.
Renaming the file is for good measure, to indicate that this HTML file must be templated. Because it is a straight rename with no modification, rebasing PRs on it should not be to painful, as git re-applies changes on renamed files.
2018-01-14 13:02:27 -05:00
Pavel Djundik
6675ced196
Store images with correct file extension
2018-01-03 13:33:52 +02:00
Pavel Djundik
349136f172
Do not match nicknames incorrectly as part of a bigger word
...
Fixes #1776
Fixes #1885
2017-12-27 20:44:59 +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
Jérémie Astori
371c5bcac2
Add a notEqual
block helper for Handlebars
2017-12-21 22:09:08 -05:00
Jérémie Astori
6d053d65e7
Add tests for the Handlebars helper equal
2017-12-21 20:09:12 -05:00
Jérémie Astori
f975426c61
Rename the error handlers file at loading time
2017-12-21 18:23:54 -05:00
Pavel Djundik
e1ae339190
Add test for extended colors
2017-12-12 20:06:37 +02:00
Jérémie Astori
df2787d3e9
Add a --config
/ -c
option to the start
CLI command to arbitrarily override any configuration key
...
The biggest caveat is that JS code (such as functions) will not be interpreted as such, on purpose, for security precautions. If such thing is needed, then a configuration file must be used.
2017-12-11 23:48:52 -05:00
Jérémie Astori
b90c224a99
Define a raw logger to avoid using console.log
, use it in extra help for environment variables, and add a test for this
...
This has multiple benefits:
- Respects the "Do not mock what you do not own" principle, instead we mock `log.raw` when necessary
- Lets us not re-assign `console.log`, which breaks as Mocha uses `console.log` as well
- Save and restore initial `log.raw` in test hooks (before/after), otherwise this would break Mocha/Chai
2017-12-11 23:48:51 -05:00
Pavel Djundik
4e6a29db35
Merge pull request #1797 from grissly-man/master
...
#1793 - implement reverse style
2017-12-10 16:15:40 +02:00
Jérémie Astori
c2243ed7b4
Remove dead code in tests, and fix a link test
...
I used `npm run coverage` while *not* excluding the test folder to detect dead code in our test folder, it is actually pretty useful to do so (as a one-shot, not to do that in our config).
Only remaining unreached path is L40 in `test/plugins/auth/ldap.js`, but it does seem to me that it might be useful in case of failures, so I preferred to leave it there.
2017-12-09 18:56:05 -05:00
Jérémie Astori
844ca1fbe6
Merge pull request #1811 from thelounge/astorije/improve-helper
...
Clean up path helpers, expand defaults location in `thelounge --help`, add tests for `expandHome`
2017-12-08 21:53:14 -05:00
Jérémie Astori
22237658cb
Add some unit tests for Helper.expandHome
2017-12-08 19:50:32 -05:00
Pavel Djundik
b391b87e29
Clean monospace and strikethrough formatters
2017-12-08 21:09:23 +02:00
Logan Griswold
fb94ad4205
implement reverse formatting with tests
...
implement reverse formatting with tests
2017-12-07 18:27:59 +00: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
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
5fc70397a9
Make sure all joins send filtered clone
2017-12-03 16:31:37 +02:00
Pavel Djundik
fe1c7612f5
Add tests for getFilteredClone methods
2017-12-03 16:31:37 +02:00
Pavel Djundik
52b234bdfc
Merge pull request #1770 from thelounge/astorije/client-tests
...
Add a bunch of client tests
2017-12-01 12:51:13 +02:00
Jérémie Astori
f368dcdc69
Add a bunch of client tests
2017-11-30 20:33:23 -05:00
Pavel Djundik
d770028da6
Fix duplicate user names not being found
2017-11-30 14:16:11 +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
Pavel Djundik
53968bf453
Merge pull request #1769 from thelounge/astorije/test-timeout
...
Increase timeout of server tests
2017-11-29 18:45:57 +02:00
Jérémie Astori
7de7292560
Increase timeout of server tests
2017-11-28 19:43:00 -05:00
Pavel Djundik
c9e340e153
Merge pull request #1761 from thelounge/astorije/slow-tests
...
Mark slow tests as such to reduce noise on test report
2017-11-28 11:43:24 +02:00
Jérémie Astori
624b3ebc18
Mark slow tests as such to reduce noise on test report
2017-11-27 18:47:19 -05:00
Jérémie Astori
03d6bf06ee
Avoid escaping quotes whenever possible (again)
...
Oops, I forgot to rebase and fix after merging a previous PR. I wish there was a way to enforce this with ESLint, but did not find any (only allow) :(
2017-11-27 18:40:23 -05:00
Jérémie Astori
b53f1719eb
Merge pull request #1749 from thelounge/astorije/avoid-escape-quotes
...
Avoid escaping quotes whenever possible
2017-11-27 12:57:55 -05:00
Max Leiter
3d31fa4686
Link nicks mentioned in messages
2017-11-27 09:10:56 -08:00
Jérémie Astori
287c3a8223
Avoid escaping quotes whenever possible
...
Our `.eslintrc.yml` configuration file already allows for avoiding escape (see [ESLint doc for `avoidEscape`](https://eslint.org/docs/rules/quotes#avoidescape )) so we might as well use it. We already use this in a few places I believe.
2017-11-26 17:34:28 -05:00
Jérémie Astori
ddc7ace78d
Bring test from ircmessageparser
...
See https://github.com/Bonuspunkt/ircmessageparser/pull/12/files#diff-e6c9a6bca996bc454cc244d17bfeda5c for reference (same test, linted)
2017-11-26 17:02:57 -05:00
Pavel Djundik
28b084af69
Fix #1413 - Handle hex colours when cleaning string
2017-11-22 16:03:59 +02:00
Pavel Djundik
adab03f730
Fix test
2017-11-19 19:43:43 +02:00
Pavel Djundik
0402554563
Move cleanIrcMessage to a separate file
2017-11-19 18:19:52 +02:00
Pavel Djundik
0f75c1a138
Change users array to be a Map
2017-11-19 11:35:15 +02:00
Jérémie Astori
1dc92d8934
Enforce dangling commas with ESLint
...
¯\_(ツ)_/¯
2017-11-15 01:35:15 -05:00
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
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