Pavel Djundik
a0c2495c42
Improvements to network connections on startup
2019-10-31 11:31:37 +02:00
Pavel Djundik
fe4e0343a4
Load existing users on startup when LDAP is enabled
...
Fixes #3219
2019-10-31 11:01:44 +02:00
Jay2k1
c89aea3c1e
add bidi support to messages, actions, previews etc
2019-10-24 16:53:29 +02:00
Pavel Djundik
49fb6cc049
Hide user loaded message in tests
2019-10-23 12:42:01 +03:00
Pavel Djundik
ebfecc3e9d
Fix client not loading messages after reconnect in channels with less than 100 total messages
2019-10-17 13:27:15 +03:00
Pavel Djundik
390a0b8e83
Let OS generate a port in link prefetch tests
2019-10-04 14:19:04 +03:00
Pavel Djundik
cee3a50ddc
Move back to ldapjs dependency
...
Fixes #3381
2019-09-15 22:42:27 +03:00
Pavel Djundik
9eff3b51d7
Allow extra slash on Windows in expandHome tests
...
Github CI on Windows ends up formatting it as 'd:\\tmp', this causes no issues besides the failing test
2019-09-04 22:51:58 +03:00
Alistair McKinlay
133e7bf710
Format js/vue with prettier
2019-07-19 11:27:40 +01:00
Pavel Djundik
7e5c2672b2
Merge pull request #3307 from thelounge/xpaw/browser-object
...
Store ip and language in a separate object in user file
2019-07-19 13:11:20 +03:00
Alistair McKinlay
ab8d819193
Set up Prettier on md, html, json, and yaml
2019-07-17 10:22:30 +01:00
Pavel Djundik
54a4085b68
Store ip and language in a separate object in user file
2019-07-16 13:00:29 +03:00
Pavel Djundik
295b3a4251
Correctly parse numbers when passed in CLI
...
Fixes #3295
2019-07-12 10:56:19 +03:00
Pavel Djundik
48ae5a4cdd
Only warn for top-level unknown config keys
2019-07-08 14:12:31 +03:00
Pavel Djundik
95a3ec42c2
Add a message about experimental API
2019-07-05 10:26:22 +03:00
Alistair McKinlay
4cbe72f635
Add support for command plugins
2019-07-02 17:02:05 +01:00
Pavel Djundik
b95c8236bd
Use @github's emoji data
2019-06-10 22:17:00 +03:00
Pavel Djundik
fe68f2a1ee
Replace request
with got
2019-05-13 10:30:43 +03:00
Pavel Djundik
5723be00c7
Merge pull request #3150 from thelounge/astorije/test-stuff
...
Replace mocha-webpack with mochapack, and remove browser test setup that we never used
2019-03-27 10:13:59 +02:00
Jérémie Astori
c574234b99
Merge pull request #3073 from Jay2k1/patch-2
...
extend custom highlight regex
2019-03-27 00:10:48 -04:00
Jérémie Astori
e3dfedf8b5
Replace mocha-webpack with mochapack
2019-03-26 23:16:39 -04:00
Pavel Djundik
04dc1feaba
Hide unknown key warning in mergeConfig test
2019-03-20 12:58:30 +02:00
Pavel Djundik
50fbf93d64
Move favicon.ico to the root folder
2019-03-18 12:56:52 +02:00
Jérémie Astori
0812ffc2e7
Run ESLint autofix after requiring new line on closing brackets
2019-02-25 00:57:48 -05:00
Jay2k1
c151ad69fa
add test for custom highlights
2019-02-19 15:21:54 +01:00
Richard Lewis
caf728a2a7
Instrument tests with nyc instead of istanbul-instrumenter-loader.
2019-02-12 12:49:05 +02:00
Pavel Djundik
dd686b563d
Remove tests, fix lint, update packages
2019-02-12 12:49:05 +02:00
Pavel Djundik
47b9924f26
Use server side rendering in parse tests
...
Co-Authored-By: Richard Lewis <richrd@users.noreply.github.com>
2019-02-12 12:49:05 +02:00
Pavel Djundik
cd94b5d655
Fix lint
2019-02-12 12:48:44 +02:00
Pavel Djundik
0730825185
Convert message actions to Vue
2019-02-12 12:48:41 +02:00
moundahiwale
c30684aad1
Assert LDAP bind failed error and search warning log messages in ldap tests
2019-01-05 23:08:10 +00:00
Pavel Djundik
e033010841
Rename manifest.json to thelounge.webmanifest
...
This makes express serve it with correct content-type of application/manifest+json
Refs:
- https://w3c.github.io/manifest/#media-type-registration
- https://webhint.io/docs/user-guide/hints/hint-manifest-file-extension/
2018-11-13 13:33:25 +02:00
Renovate Bot
2c69a28ffd
Update dependency nyc to v13.1.0
2018-10-15 11:07:00 +03:00
Pavel Djundik
88ce0cee99
Use Date.toISOString for logging
2018-09-23 21:57:40 +03:00
Pavel Djundik
b538360c5e
Limit network name length and replace spaces in log folders
2018-09-09 13:09:30 +03:00
Pavel Djundik
9bcec3bea5
Remember disconnected networks between server restarts
2018-08-25 12:11:59 +03:00
Max Leiter
9bee3eca5a
refactor getHumanDate() to accept a timestamp; fixes test
2018-07-22 00:27:49 -07:00
Pavel Djundik
11bd2dfa4c
Increase delay between links to remove random test failure
2018-07-06 12:29:21 +03:00
Pavel Djundik
08682d2448
Fix circular dependency in Helper+log
...
Fixes #2568
2018-06-19 10:09:38 +03:00
Pavel Djundik
a07b372c71
Move .nyc_output folder out of root
2018-06-16 12:13:29 +03:00
Pavel Djundik
472d618033
Remove log
from global
2018-06-15 23:31:06 +03:00
Pavel Djundik
0d48c596c8
Fix multiple <title> tags being concatenated
2018-06-11 11:32:32 +03:00
Pavel Djundik
4e2523060b
De-duplicate link fetching to one request at once
2018-06-11 10:38:03 +03:00
Ben Harris
d2987d037c
use http for protocol-less URLs
2018-06-09 13:46:46 -04:00
Pavel Djundik
c0d712c53d
Remove ability to change date format and timezone
2018-06-05 12:03:06 +03:00
Alexandre Oliveira
468427bfdb
Add support for /ignore, /unignore and /ignorelist commands
2018-05-28 16:46:12 -03:00
Pavel Djundik
0de90daa64
Merge pull request #2366 from thelounge/xpaw/refactor-userlog
...
Refactor userLog to be the same as sqlite logger
2018-05-26 23:53:17 +03:00
Pavel Djundik
5cfec76d3a
Refactor userLog to be the same as sqlite logger
...
Fixes #1392
2018-05-23 16:56:18 +03:00
Pavel Djundik
97dfdbf7c0
Default to https: for urls with no scheme
2018-05-23 16:50:59 +03:00
Pavel Djundik
d4fa6bbcb0
Use WHATWG URL parser in link prefetcher
2018-05-23 16:31:02 +03:00
Pavel Djundik
629ae8bfa4
Fix protocol-aware urls, add better link validation in previews
2018-05-23 16:31:02 +03:00
Pavel Djundik
15c14c6dea
Change test cases to match linkify-it
2018-05-23 16:31:02 +03:00
Pavel Djundik
58ec2768ec
Use linkify-it
2018-05-23 16:31:02 +03:00
Pavel Djundik
95a435c5c9
Fix merge() in parser not filling unstyled text correctly
2018-05-07 21:19:54 +03:00
Pavel Djundik
d19c00faab
Build clean text message only once
2018-05-01 14:32:13 +03:00
Pavel Djundik
886301e765
Merge pull request #2396 from thelounge/xpaw/fix-2341
...
Use per-client channel and message ids
2018-05-01 13:26:38 +03:00
Jérémie Astori
1daad45f11
Use the new logo for favicons, notifications badges, and homescreen app icons
2018-04-28 12:14:41 -04:00
Pavel Djundik
bf8a16b7fe
Use per-client channel and message ids
...
Fixes #2341
2018-04-27 13:16:23 +03:00
Pavel Djundik
e136edb6ac
Remove network ids and use uuids everywhere
2018-04-26 12:37:28 +03:00
Jérémie Astori
34f4d0abf4
Add project version in outputs that mention source SHA
2018-04-16 00:19:25 +02:00
Pavel Djundik
2bea5f67b9
Use default nick set in config for fallback
2018-04-12 10:39:03 +03:00
Pavel Djundik
c1406adcb2
Add tests for editing network
2018-04-12 10:38:35 +03:00
Pavel Djundik
f86d73972d
Implement network editing UI and object updating
2018-04-12 10:38:35 +03:00
Pavel Djundik
a222dc9237
Ensure sqlite tests are serialized
2018-03-25 16:00:48 +03:00
Pavel Djundik
ca96d09a23
Send Accept header
...
Closes #2277
2018-03-23 20:17:03 +02:00
Jérémie Astori
dbe81f1e59
Merge pull request #2254 from thelounge/astorije/sign-out-settings
...
Empty local storage on sign out and move the sign out button to the settings
2018-03-20 21:06:44 -04:00
Jérémie Astori
c86ea9463d
Use Sinon to stub the logger instead of manual stubbing
2018-03-20 01:54:04 -04:00
Jérémie Astori
d1548572d4
Move the sign out button to the settings and empty local storage on sign out
...
This change improves privacy/security by ensuring all local storage (which includes settings, etc.) is destroyed on sign out or when revoking a remote session. Because signing out is now more "risky", the button has been moved to the settings along with other existing sessions.
This commit:
- Removes the power/sign-out icon from the sidebar footer (gives additional room for when the admin panel gets added)
- Adds a "Sign out" button next to the current session info in the settings session list
- Renames "Disconnect" buttons into "Revoke" to better clarify the intent (I will admit that I borrowed the wording from Telegram)
- Fixes incorrect `localStorage.remove` method
- Uses Sinon.js to mock wrappers for `window.localStorage` and `window.location` (does not mock those themselves, in the "Do not mock what you do not own" fashion, mock our layer instead). I expect we will be able to test a bit more from the UI with this. A good next candidate will be the `mockLogger` things.
2018-03-20 01:52:22 -04:00
Jérémie Astori
22725968e8
Fix yarn coverage
script on Windows
2018-03-19 20:01:25 -04:00
Max Leiter
01753a814c
Improve accessibility for emoji
2018-03-18 12:13:48 -07:00
Jérémie Astori
00bca229f0
Enforce object literal shorthand syntax with ESLint
2018-03-15 00:22:09 -04:00
Pavel Djundik
351a203acd
Fix some URLs not being sent as-is to the client
2018-03-13 22:08:19 +02:00
Al McKinlay
5ce67ba093
Insert channel/user into channel list at alphabetically sorted point, not just the end
...
Don't sort queries/users after special chans
Set all users in tests to be of type query
Add test for not inserting infront of lobby
Break after finding the index, otherwise it always adds it to the end
Add checking for lobby in first test
Fix off-by-one error on the frontend
Fix utterly idiotic issue adding a duplicate of the channel we are on rather than the new user when we query
Check that we always insert before first special chan
2018-03-12 12:42:59 +00:00
Jérémie Astori
c28fda6b28
Switch to Font Awesome 5
2018-03-11 15:57:35 -04:00
Pavel Djundik
a15e922e27
Close sqlite database when user quits
...
Fixes #2178
2018-03-11 00:21:47 +02:00
Pavel Djundik
ddb1a280cb
Allow overriding arrays in config, warn about incorrect types
...
Fixes #2176
2018-03-10 13:59:24 +02:00
Pavel Djundik
49046be361
Try to fix sqlite test failing on CI randomly
2018-03-09 11:41:30 +02:00
Pavel Djundik
5aa9d7e1dc
Merge pull request #1839 from thelounge/sqlite
...
Add sqlite logging and reloading messages
2018-03-09 09:06:25 +02:00
Jérémie Astori
5e6e27d73f
Ignore order of preview results in unicode link tests
2018-03-08 21:01:57 -05:00
Pavel Djundik
dfc4cad712
Add test coverage for sqlite plugin
2018-03-08 20:23:29 +02:00
Pavel Djundik
941849eaa8
Add message indexing
2018-03-08 20:23:29 +02:00
Pavel Djundik
731b29c059
Generate uuid per network
2018-03-08 20:23:29 +02:00
Pavel Djundik
f475cc39ef
Normalize unicode URLs in link prefetcher
...
Fixes #1644
2018-03-08 19:43:39 +02:00
Pavel Djundik
eab823ba66
Allow setting rejectUnauthorized per network
2018-03-04 12:45:48 +02:00
Pavel Djundik
fb17107406
Increase test timeout on CI
2018-02-28 22:42:21 +02:00
Jérémie Astori
ecede860ef
Enable in-browser run of client testing
...
This gets us one step closer to cross-browser testing 🎉
2018-02-23 23:52:36 -05:00
Pavel Djundik
59ec07be87
Update all links to thelounge repository
2018-02-21 22:47:52 -05:00
William Boman
acb6179b30
relay client's preferred language in link preview requests
...
Closes #1440 .
2018-02-21 10:35:33 +01:00
Jérémie Astori
9c4ea85041
Instrument client code before running tests
...
Despite being a bit gross to look at, this brings a few advantages:
- Tests are now closer to what actually runs, so more likely to find broken stuff.
- We can start using things that were so far Webpack-only or browser-only, like ES6 imports, loading Handlebars templates, etc.
- We open ourselves to browser testing (there is some work to do, but that would be a necessary step).
- We improve the client/server separation, by making it possible to run them independently
I do some extra steps around coverage: now we have 2 reports (client + server), so I have an extra step to combine them (the `nyc report` part). This is strictly to keep feature parity (the coverage report of this code is effectively the same as before), but in the near future, we might want to keep both reports separate, for example to continue separating client/server. Another reason would be to use something like Codecov, which I believe has the ability to have multiple reports. This is down the road though, our coverage is not good enough to make hosting them somewhere be useful (I think).
A few extras with this commit:
- Coverage summary is displayed when tests are run (this is not slowing down tests)
- Tests check for leaks (see https://mochajs.org/#--check-leaks )
- Tests now output with the `dot` reporter. This is nice as `npm test` runs in parallel, the whole output holds in a few lines instead of spanning over multiple screens.
2018-02-20 15:32:30 +02:00
Pavel Djundik
c733e72e7a
Auto-fix code for padding-line-between-statements rule
2018-02-20 09:28:04 +02:00
Pavel Djundik
51684f7a2a
Switch default home location to ~/.thelounge
and remove support of .lounge_home
2018-02-19 20:43:53 +02:00
Pavel Djundik
c97352905d
Merge pull request #1962 from thelounge/xpaw/no-var
...
Enable no-var rule
2018-02-19 20:12:31 +02:00
Pavel Djundik
8886459be9
Merge pull request #2049 from thelounge/xpaw/ui-network-status
...
Sync network status and security to client UI
2018-02-19 19:57:36 +02:00
Pavel Djundik
a3e448acf5
Enable no-var rule
...
Fixes #1961
2018-02-19 19:49:39 +02:00
Jérémie Astori
8403d277b4
Replace reference to website with new URL
2018-02-19 12:23:41 -05:00
Pavel Djundik
742929280d
Merge pull request #1919 from thelounge/yamanickill/image-size-error
...
Show error if image is greater than max prefetch size
2018-02-19 18:49:18 +02:00
Pavel Djundik
b82ceb162b
Merge pull request #2059 from thelounge/xpaw/motd
...
Render MOTD with a single message
2018-02-19 18:42:16 +02:00
Jérémie Astori
416f45d1e3
Use some ES6/Node v4-only syntax when possible
2018-02-19 18:30:00 +02:00
Pavel Djundik
b57830b859
Sync network status and security to client UI
...
Co-Authored-By: Jérémie Astori <astorije@users.noreply.github.com>
2018-02-19 13:12:01 +02:00
Pavel Djundik
d1e5a8f492
Render MOTD with a single message
2018-02-14 11:00:46 +02:00
Pavel Djundik
116a73c8d0
Remove actionTypes and check templates directly
2018-02-14 11:00:45 +02:00
Pavel Djundik
7e704b2d73
Track channel state to allow removing channels user is not in
2018-02-13 12:30:26 +02:00
Pavel Djundik
4639a2528d
Merge pull request #2021 from thelounge/xpaw/ldapjs-no-dtrace
...
Use forked ldapjs to remove dtrace
2018-02-13 11:58:25 +02:00
Jérémie Astori
2c570fa9ef
Load packages from package.json, fix loading thelounge metadata from the wrong file, add tests
2018-02-13 01:06:31 -05:00
Pavel Djundik
aee1ec2739
Fix crash when hostname is changed in lockNetwork mode
...
Fixes #2040
2018-02-07 12:03:25 +02:00
Pavel Djundik
c4f6701d65
Use forked ldapjs to remove dtrace
...
Fixes #1756
2018-02-06 13:21:59 +02:00
Jérémie Astori
91e3ca88bb
UI for "Image too large" errors
2018-02-01 21:14:37 -05:00
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