Commit graph

542 commits

Author SHA1 Message Date
Val Lorentz 8edec1a5a8 Make sure the leading '<' is select when copypasting a message
Firefox does not seem to select leading (or trailing) characters that are
too small; so this commit sets a very small width, that is still large
enough to be selected.

This commit also adds `display: inline-block`, so the width is not
ignored; but this causes Chrome to ignore the space after `>`, so I made
it a non-breakable space.

An alternative is to make only the leading `only-copy` an
`inline-block`, but I think the non-breakable space is a good idea
regardless.
2022-02-12 13:59:31 +01:00
Max Leiter 4be9a282fa
Add the option to mute channels, queries, and networks (#4282)
Co-authored-by: Reto <reto@labrat.space>
2022-02-10 17:56:17 -08:00
Taavi Väänänen be498e8f93
Count number of mode changes, not MODE messages
Update the code in MessageCondensed that generates the condensed
messages ("X users have joined, Y modes were set") to count the number
of actual mode changes instead of the raw count of MODE messages. One
mode message can contain multiple mode changes.

Signed-off-by: Taavi Väänänen <hi@taavi.wtf>
2021-12-31 23:32:17 +02:00
itsjohncs 763047889d Remove uses of window.event.
window.event is a deprecated global that's set to the currently
dispatched event.

- Opened and closed mentions box by clicking its icon in the top bar
- Left and right clicked on an inline channel name and saw context menu
  open both times
- Two-finger swiped on iOS and saw channel change
- Long-touched and dragged channel in network list on iOS and reordered
  the list successfully
2021-12-20 15:34:28 -08:00
Reto Brunner 1953e03253 Add RPL_UMODEIS msg handler 2021-12-06 07:24:21 +01:00
Max Leiter 304d207820
Merge pull request #4361 from supertassu/kickban 2021-12-01 18:25:09 -08:00
Reto 3c70fab7c6
Fix vue/this-in-template linter warning (#4418) 2021-11-30 12:01:45 -08:00
Taavi Väänänen 324fb9023e
Add /kickban
This commit adds a new command, /kickban, that is a combination of /kick
and /ban: it kicks the specific user from the channel and then sets the
+b mode to ban the user from the channel.
2021-11-30 12:07:11 +02:00
sfan5 1d5291929c
Add context menu when clicking inline channel name (#4376) 2021-11-29 15:35:26 -08:00
Max Leiter af96f7771c
Revert "Preserve location on first and last line when scrolling through inputs" (#4367)
This reverts commit c5f6b4617f.
2021-11-20 18:43:51 -08:00
Reto 9dbf647f7e
Make esc key close mentions window (#4365)
* Mentions: rename method to what it's doing
* Mentions: make <esc> dismiss the window
2021-11-18 17:54:44 -08:00
Max Leiter 371ebfb810
Close search results with escape 2021-11-18 13:32:21 -08:00
Max Leiter c439e51617
Clear search input on close 2021-11-18 13:31:01 -08:00
Max Leiter 58110189fe
Allow esc key to close search input 2021-11-18 13:27:52 -08:00
Max Leiter 40a5ee70b6
Disable /search and hide help item if searching is disabled 2021-11-17 20:23:51 -08:00
Max Leiter 0381cd11bf
Merge pull request #4345 from itsjohncs/small-db-cleanups
Small cleanup of messageStorage/sqlite.
2021-11-03 15:45:48 -07:00
Max Leiter 3cab39c59b
Merge pull request #4340 from itsjohncs/long-channel-names
Improve responsiveness of channel name and topic.
2021-11-02 13:18:39 -07:00
itsjohncs 393d4fe591 Enable Android's context menus in network list.
After #4326 Android users could no longer long-touch to bring up the
context menu for channels in the network list. Now they can again.
2021-10-30 02:06:35 -07:00
itsjohncs 044cd2403b Small cleanup of messageStorage/sqlite.
* Extend test coverage to the `search` function.
* Test sort order of messages from `getMessages` and `search`
* Move reversal of `search` results from Vue to messageStorage.
* Remove unnecessary uses of `sqlite.serialize` in tests.
* Return promises from test functions where possible.
2021-10-28 00:48:11 -07:00
Nachtalb 578b1947e2
Fix authenticated proxy 2021-10-23 01:11:54 +02:00
itsjohncs 56d4a6afde Improve responsiveness of channel name and topic.
This commit makes two changes:

1. Long channel names are truncated.
2. Topics cannot be shrinked into non-existence.
2021-10-22 13:57:13 -07:00
Reto 3ba7fb6de4
Prevent autocomplete for highlight settings (#4337)
Chrome seems to somewhat often auto fill the text input of the
highlight exception list with my username as the next field that
follows is of type password.
Try to work around that by telling chrome not to autofill either of
those.

Do note that this is only a hint... The broser vendors apply some
$magic heuristics and if they trigger they ignore the hint.
2021-10-20 18:34:31 -07:00
John Sullivan 80acbc7c06
Fix sporadic rounding on message search bar. (#4333)
This is fixed in the same way as #4328.
2021-10-17 22:11:08 -07:00
John Sullivan 5d76ed888c
Clean up global listener in Sidebar component. (#4331)
Every time the component was mounted it would add another listener.
Since old listeners would often error this could cause a lot of log
spam, particularly when using the hotloader on a mobile device.
2021-10-13 13:19:34 -07:00
William Boman 2693db4274
client/Mentions: change button copy to "Dismiss all" (#4322)
* client/Mentions: change button copy to "Dismiss all"

* s/hide/dismiss/g
2021-10-12 15:56:39 -07:00
Max Leiter 1d33e0195a
Merge pull request #4324 from itsjohncs/gestures-next-channel
Two-finger swipe now switches windows (#3901)
2021-10-12 15:53:54 -07:00
Max Leiter fcffab1259
Merge pull request #4326 from itsjohncs/mobile-channel-list-sorting
Allow network list reordering via touch.
2021-10-12 15:53:18 -07:00
John Sullivan 8a57f90b65
Prevent sporadic rounding of search input on iOS. (#4328) 2021-10-11 10:23:20 -07:00
Noah van der Aa 9a0ba1da6c
Add keyboard shortcut for help screen (#4315)
* Add keyboard shortcut for help screen

* Make escape key go back to the previous screen

* Use key instead of which

* Use router for navigating back

* Use alt instead of cmd/ctrl
2021-10-10 20:48:28 -07:00
itsjohncs 5c614785bf Suppress iOS long touch behavior in network list.
When a user long touches on iOS, they will select the nearest
selectable text. This causes a distracting visual bug when reordering
the network list (which also uses a long press).
2021-10-10 17:08:17 -07:00
itsjohncs a48f449c59 Allow network list reordering via touch.
Users can now long touch and drag a channel or network to change its
ordering in the sidebar.
2021-10-10 14:40:08 -07:00
itsjohncs 91a0815bb5 Add Gestures section to help window.
This documents the two gestures that The Lounge currently supports.

The section is only visible if your device supports touch.
2021-10-07 13:39:30 -07:00
Taavi Väänänen 7873847a7e
Do not condense single messages (#4313) 2021-09-29 12:33:40 -07:00
Max Leiter beb5530c65
Revert "Support animated webp images" (#4287)
This reverts pull/4186.
2021-08-31 12:27:43 -07:00
Max Leiter 7fdd363ee8
Merge pull request #4205 from Nachtalb/ne/fix-input-history-scroll-behaviour
Only scroll history when cursor is on first or last row
2021-07-06 01:27:06 -07:00
JeDaYoshi 372d74db69
Add warning for HTTPS requirement on notifications 2021-07-04 20:22:49 +00:00
Max Leiter d05cf5fe62
Fix linter warnings for aria-label placement 2021-07-01 12:14:02 -07:00
Max Leiter 3e4b22255d
Merge pull request #4201 from thelounge/maxleiter/accessiblityImprovements
Initial accessibility improvements
2021-07-01 12:05:22 -07:00
Max Leiter d106889127
Merge branch 'master' into feature/socks-support 2021-06-29 22:48:00 -07:00
Max Leiter 5a9f3c5f70
Aria label for userlist 2021-06-21 22:26:43 -07:00
Max Leiter f23cc0712c
Aria-label improvements for chatuserlist/networklist 2021-06-21 22:21:36 -07:00
Max Leiter 7107372a6f
Fix channel alt text in user list to mention type 2021-06-21 22:14:00 -07:00
Max Leiter 867fff33c0
Adjust chat layout so messages directly above input 2021-06-21 21:55:54 -07:00
Mary Strodl e7a8476cfe
NetworkForm: lint 2021-06-15 13:55:54 -04:00
Mary Strodl a3f0314f6b
NetworkForm: only show proxy options if enabled 2021-06-15 13:52:39 -04:00
Markus Cisler 243f514243 Only toggle mentions popup if connected to network
The top bar is only shown if the user is connected to at least one
network. Only then it is possible to open the recent mentions popup.

Only toggle the recent mentions popup if the user is connected to at
least one network so the popup will not open over the connect view.
2021-06-13 01:49:23 +02:00
Markus Cisler a93ccd680f Toggle recent mentions popup with alt-m
This adds a keybind to toggle the recent mentions popup using alt+m (or
opt+m on macOS).

Relates to #4175
2021-06-13 01:08:40 +02:00
Max Leiter 0fa37a6a05
Merge branch 'master' into maxleiter/accessiblityImprovements 2021-06-06 23:49:34 -07:00
Max Leiter 8fc7a6c0df
Merge pull request #4242 from brunnre8/master
MessageSearchForm: do not focus input if search is closed
2021-06-05 00:33:42 -07:00
Max Leiter 6182d23758
Merge pull request #4235 from angerson/patch-1
Render styling for colored host masks
2021-06-02 00:18:40 -07:00
Reto Brunner c369a764ed MessageSearchForm: do not focus input if search is closed
Else whenever the element gets created (switch from server chan to a normal one)
the browser tries to focus the hidden element
2021-05-27 09:44:44 +02:00
Austin Anderson 4d310cd545 Render styling for colored host masks
On some IRC networks, users have vanity host masks with colors or other text styling.
Rizon is one such network.

For example, a user connecting from 127.0.0.1 could instead have the host
angerson@this.is.my.host.mask. this.is.my.host.mask may have IRC color code
characters in it, which without this change would be displayed as a bunch of jumbled
garbage in the /whois response or join/part messages.

Resolves #4232.
2021-05-26 09:24:12 -07:00
Max Leiter fc6c916e7c
Merge pull request #4213 from Nachtalb/na/search-command
Add new "/search query" command to open the search window
2021-05-25 21:31:17 -07:00
Mary Strodl df5befb60e
Merge remote-tracking branch 'origin/master' into feature/socks-support 2021-05-19 19:01:42 -04:00
Nachtalb 042cfb7582
Fix missing users in userlist after removing searchinput
Because the "Username" components still had the same ":key" vue tried to in-place update them. This doesn't quite work for objects (in this case "user" or "user.original"). Thus we change the key for the search so that it actually inits a new component and thus evaluates its content correctly.
2021-05-09 23:33:35 +02:00
Anthony Atkinson a3229f1cdf classes for unread and highlight 2021-05-05 21:51:35 -04:00
Nachtalb cadcc4b97c
Autofocus search input in case no query is present 2021-05-06 03:24:20 +02:00
Nachtalb 24a738d521
Add new command to open the search window 2021-05-06 03:22:09 +02:00
Mary Strodl abcad094d1
network: add support for SOCKS (closes #1375) 2021-05-05 20:06:00 -04:00
Max Leiter 26a38b12ab
Merge pull request #4197 from Nachtalb/richrd/message-search
Message Search: Re-Rebase + Fixes / Adjustments
2021-05-03 16:18:15 -07:00
Nachtalb c5f6b4617f
Preserve location on first and last line when scrolling through inputs 2021-05-01 00:51:55 +02:00
Nachtalb c66f9c885e
Only scroll history when cursor is on first or last row
Needs to be on first to go up and on last to go down
2021-05-01 00:51:25 +02:00
Nachtalb bb41871873
Add close search button 2021-04-30 01:53:08 +02:00
Nachtalb ddff3ac162
Stay in chan during search by searching on /chat-:id/search 2021-04-30 01:53:07 +02:00
Max Leiter 0aabacd549
Initial accessibility improvements
Set aria-hidden to true for cosmetic and repetitive elements
Improve channel/network aria labels in network list
Experiment with different aria-roles for landmarks
2021-04-20 18:04:40 -07:00
Max Leiter 0fb6dae8a6
Merge pull request #4186 from Nachtalb/na/remove-metadata-without-breaking-files
Support animated webp images
2021-04-13 13:14:55 -07:00
Nachtalb c2c66031c0
Auto rotate images based on exif orientation
This makes sure that the orientation of the images work in all viewrs.
2021-04-13 18:24:33 +02:00
Nachtalb 846da41b01
Rename uploadCanvas to a more appropriate removeImageMetadata
Including backwards compatibility
2021-04-13 18:24:33 +02:00
Nachtalb 1b13905195
Improved search header
- Highlight both channel and search query
- By moving search query to topic we can ensure nice behaviour for long search queries (eg. when searching for an url)
2021-04-13 01:56:53 +02:00
Nachtalb 13d4f035df
More consistent color scheme and usage
Only show search by click on search icon (desktop as well)
Improved color scheme
Keep search open search page
2021-04-13 01:56:53 +02:00
Nachtalb 3fb9c8523a
Enable searching for the same query again
Previously we got an error instead, but in the meantime new messages could have come in. As such we should allow to search again
2021-04-13 01:23:44 +02:00
Nachtalb 544594a7ad
Keep search term in search input after commiting 2021-04-13 00:43:52 +02:00
Nachtalb e36ae64c83
Replace search term path with query
A search term is dynamic and not a pointer to a resource such as a channel as such it should be a query.

For now the network as well as the channels are still in the path even though we should take them out of there as well (in the case we want a global / network search later on). As for now we can keep in as there is no such filter / facet yet.
2021-04-13 00:01:00 +02:00
Nachtalb be141bea65
Fix 2 line wrapped message timestamp 2021-04-12 23:46:44 +02:00
Nachtalb 40aaa17c9b
Fix user context menus in in search results view 2021-04-12 23:40:29 +02:00
Nachtalb de86c144b5
Disable search if we have no message provider
If we have no message provider:
- Search input field not renderd
- Search endpoint retuns empty resultset

Also removed redundancy by setting a main message provider.
2021-04-12 23:12:11 +02:00
Mary Strodl 49cd90d0e9
SearchResults: lint 2021-04-12 22:00:51 +02:00
Mary Strodl e6856a9e7d
client: lay some groundwork for jump to message 2021-04-12 22:00:51 +02:00
Mary Strodl 283ef445e5
Merge remote-tracking branch 'origin/master' into richrd/message-search 2021-04-12 22:00:49 +02:00
Nachtalb 08f45eabb2
Restrict what the browser should try to autocomplete
Browsers often autocomplete into wrong fields. Eg. wanting to put the password in a fields in the settings screen and then use a sudo random other fields for username etc.
This is rather annoying and can break someones configuration, thus we should only enable it on fields where it somewhat makes sense (name, server & password fields).
2021-04-12 14:10:33 +02:00
Max Leiter df4f78098c
Merge pull request #4190 from Nachtalb/na/improved-handling-of-empty-userdata
Improved handling of empty userdata
2021-04-11 20:12:35 -07:00
Nachtalb 0ccbb90d98
Improved handling of empty userdata
Does not show gecos and account data in join message if they are an empty string
2021-04-11 15:59:42 +02:00
Reto Brunner c6d7bd4b4a Settings: show label for nick autocompletion postfix 2021-04-06 15:27:23 +02:00
Reto Brunner a496ba8cfc NetworkForm: s/away message/leave message/
877e4acf7d - Add network specific leave message
introduced the wrong label for the leave message.
2021-04-05 19:19:36 +02:00
Max Leiter c974ecb14a
Adjust placeholder away message 2021-02-12 14:07:48 -08:00
Nachtalb 877e4acf7d
Add network specific leave message 2020-12-18 10:53:37 +01:00
Yorick Bosman 651a7ac2e9 Add extended join information to join message. 2020-11-19 00:25:28 +01:00
Pavel Djundik 1c004cbd17 Upgrade eslint-plugin-vue and fix rules 2020-09-30 17:44:07 +03:00
Pavel Djundik 3fde2aa7b9 Always use multi-prefix modes
Fixes #323
2020-09-01 11:45:08 +03:00
Pavel Djundik 27b3e50a64
Merge pull request #4055 from thelounge/xpaw/enterkeyhint
Add enterkeyhint on chat input and topic save
2020-08-31 13:14:24 +03:00
Pavel Djundik 5b602c72dc Add enterkeyhint 2020-08-29 11:46:11 +03:00
Max Leiter 570890f2f9 Set lang to unknown for #chat-container 2020-08-28 14:23:02 -07:00
Max Leiter ea5c95ac94 Add HTML lang and labelled-by field to upload 2020-08-27 18:57:12 -07:00
Pavel Djundik b74b692391 Update prettier and apply formatting 2020-08-25 12:49:53 +03:00
Jay2k1 b97b145df1 add highlight exceptions 2020-08-19 00:00:56 +02:00
Pavel Djundik 89165d798b Add break-word on mentions popup content 2020-07-27 17:27:06 +03:00
Pavel Djundik 63a420ac21 Implement generic monospace blocks for INFO and MOTD numerics
Fixes #3961
2020-07-20 10:07:49 +03:00
Pavel Djundik 531ea920e0 Improvements to mentions window
- Add hide all button
- Only show overflow scroll when necessary
- Fix key in v-for loop
- Increase window height if browser size allows for it
2020-07-19 17:29:52 +03:00
Pavel Djundik 5e6b5f7400 Add certfp to whois 2020-07-13 10:25:54 +03:00
Pavel Djundik d7c641ffc7 Add password field for private+locknetwork 2020-07-08 15:42:34 +03:00