Pavel Djundik
0402554563
Move cleanIrcMessage to a separate file
2017-11-19 18:19:52 +02:00
Jérémie Astori
1dc92d8934
Enforce dangling commas with ESLint
...
¯\_(ツ)_/¯
2017-11-15 01:35:15 -05:00
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
Pavel Djundik
2ffd85d89f
Update eslint and enforce key-spacing
2016-06-05 21:48:34 +03:00
Pavel Djundik
b6fa4471ab
Merge pull request #346 from maxpoulin64/sticky-fix
...
Keep chat stickied to the bottom on resize
2016-06-05 11:31:04 +03:00
Maxime Poulin
312b7eaa0c
Keep chat stickied to the bottom on resize
...
Fixes the chat not staying at the bottom when opening the on-screen keyboard on mobile.
2016-06-04 20:01:53 -04:00
Alex Howard
963cc95388
Add ! modechar to admin
...
For the odd network out that uses it!
2016-05-27 23:39:14 -04:00
Jérémie Astori
b3103e8c3f
Add light colors for dark themes Morning and Zenburn
...
These colors have been generated by the randomColor package
2016-05-15 15:21:18 -04:00
Jérémie Astori
c87d82dc48
Replace color generation with CSS classes
...
These colors were built using the current generation function to have
similar style.
2016-05-15 15:21:18 -04:00
Pavel Djundik
876ce4bc6e
Do not ignore our handlebars plugins in eslint
2016-05-12 16:07:15 +03:00
Pavel Djundik
ed700ef504
Fix unread counter not being formatted on page load
2016-05-08 22:49:53 +03:00
Pavel Djundik
d143542fe5
Add security headers to minimize XSS damage
2016-05-06 11:08:45 +03:00
Pavel Djundik
75f04e6cd0
Improve sticky scroll
2016-04-28 09:04:26 +03:00
Jérémie Astori
e799cc493c
Move the sidebar serverOptions to the according template
2016-04-10 01:04:39 -04:00
Pavel Djundik
43f58a8075
Format topic set date
2016-04-07 16:07:40 -04:00
Pavel Djundik
2bb3951476
Fix message and topic text wrapping
2016-03-22 18:04:34 +02:00
Pavel Djundik
d7750db87f
Remove moment.js from the client
2016-03-11 22:18:49 +02:00
Pavel Djundik
42ae08b6a3
Remove string.contains
2016-03-07 17:16:34 +02:00
Pavel Djundik
062fded4cc
Update socket.io to 1.4.5 and use client library provided by the dependancy
2016-03-06 11:41:19 +02:00
Pavel Djundik
253cb4afd6
Update handlebars to 4.0.5
2016-03-05 16:23:35 +02:00
Pavel Djundik
56e1d3fac7
Correctly handle inline channels in messages
...
Fixes #15 and #11
2016-03-01 11:06:14 +02:00
Pavel Djundik
3a87f982b2
Replace favico.js with our simpler solution
2016-02-28 01:27:30 +02:00
Pavel Djundik
8151e07b78
Replace bootstrap tooltips with css tooltips from Primer
2016-02-21 21:47:09 +02:00
Pavel Djundik
23d017d67f
Replace cookies with localStorage
2016-02-18 21:53:25 +02:00
Jérémie Astori
39dc4e8957
Update name and link to repo to new project
2016-02-10 06:20:05 +00:00
Pavel Djundik
cd92d1640e
Simply parse all 0-99 irc colors
2016-01-24 15:57:44 +02:00
Graeme
2274f92833
Update styled items class names
2014-12-10 22:35:17 -05:00
Graeme
635646b0f3
🎊 full mirc colour+style compliance
2014-12-10 06:30:45 -05:00
Mattias Erming
a0ed791926
Merge pull request #263 from megawac/style-parser
2014-10-27 22:52:37 +01:00
Mattias Erming
277887382c
Merge pull request #253 from codl/fix/bold+color+url
...
Fix urls preventing proper closure of bold and color tags
2014-10-27 22:48:45 +01:00
megawac
3d5e070c56
Support nested colours
2014-10-25 15:16:54 -04:00
megawac
fbe43b3b7a
Fix indentation
2014-10-25 15:07:15 -04:00
megawac
a53544b44a
Support MIRC style terminators (^O)
2014-10-25 15:02:12 -04:00
Corentin Delcourt
44c20b327d
fix urls preventing proper closure of bold and color tags
2014-10-20 13:28:29 +02:00
Mattias Erming
5b1820ca2e
Fix message parser
2014-10-12 01:53:13 +02:00
Mattias Erming
1b476bfefd
Edit color parser
2014-10-11 19:38:53 +02:00
Mattias Erming
d86005e84a
Added text color
2014-10-11 01:12:03 +02:00
Mattias Erming
eae1e661b7
Split users by mode in the sidebar
2014-10-04 12:47:27 -07:00
Mattias Erming
e1e0b4f3cc
Scrolling now works correctly when loading thumbnails
2014-09-30 14:44:29 -07:00
Mattias Erming
80b43c4eab
Added colored nicknames (optional)
2014-09-30 11:00:23 -07:00
Mattias Erming
e4f100a177
Break really long words
2014-09-27 15:01:44 -07:00
Mattias Erming
2a00fb1bb6
Added link plugin
2014-09-27 12:17:13 -07:00
Mattias Erming
4f5465df82
Use <div> instead of <button> in sidebar
2014-09-22 11:54:38 -07:00
Mattias Erming
2fd5f293f0
Minor fixes
2014-09-21 12:48:26 -07:00
Mattias Erming
e9a8f86819
Custom scrollbar in the sidebar
2014-09-19 16:12:17 -07:00
Mattias Erming
216030710a
Minor changes
2014-09-16 10:33:15 -07:00
Mattias Erming
0e7d3b93cd
Prevent link exploit
2014-09-15 09:46:46 -07:00
YuviPanda
d1b3f375c5
Implement notifications for queries and highlights
...
- Asks for permission when opening the app if it isn't already
granted
- Highlights with a notification that stays for 2s
- Clicking on the notification brings that window/channel
to focus
- Uses document.hasFocus() rather than document.hidden, since
it seems to be more accurate when the tab is in focus
but the window is not
Imlements issue #128
2014-09-13 23:51:10 +01:00
Mattias Erming
41027adc69
Normalize line endings
2014-09-13 14:29:45 -07:00
Mattias Erming
ced6227818
User/users wording
2014-09-10 09:51:05 -07:00
Mattias Erming
1338a99536
Update Handlebars
2014-09-09 14:55:45 -07:00