Pavel Djundik
f2cbd1efed
Pass PREFIX and CHANTYPES to parser
2019-02-12 12:48:44 +02:00
Pavel Djundik
cebfa6ac84
A little cleanup
2019-02-12 12:48:44 +02:00
Pavel Djundik
104692007f
Use attr() instead of data()
2019-02-12 12:48:44 +02:00
Pavel Djundik
a10ac4e7da
Make a single function to initialize channel variables
2019-02-12 12:48:44 +02:00
Pavel Djundik
ad0f638487
Add jump-to-bottom arrow when scrolled up
2019-02-12 12:48:44 +02:00
Pavel Djundik
c70b4d4c80
Fix unread marker being off by one on the server
2019-02-12 12:48:44 +02:00
Pavel Djundik
0e7880a049
Fix autocompleting multiple times not working
2019-02-12 12:48:44 +02:00
Pavel Djundik
1bfaef1985
Keep pendingMessage on reconnect
2019-02-12 12:48:44 +02:00
Pavel Djundik
0ba6200bb7
Keep scrolledToBottom on reconnect
2019-02-12 12:48:44 +02:00
Pavel Djundik
86ddce974d
Update lobby name correctly when editing network
2019-02-12 12:48:44 +02:00
Pavel Djundik
c42fc55c6f
Fix reconnection state
2019-02-12 12:48:44 +02:00
Pavel Djundik
04d86a3550
Fix channel sort not working
2019-02-12 12:48:44 +02:00
Pavel Djundik
36b6fdcc88
Reference scrolledToBottom variable instead of recalculating on message received
2019-02-12 12:48:44 +02:00
Pavel Djundik
bb0450cb31
Move history logic to MessageList, fix previews not keeping scroll
2019-02-12 12:48:43 +02:00
Pavel Djundik
8e130f0259
Fix incorrectly trimming channel
2019-02-12 12:48:43 +02:00
Pavel Djundik
b88a186d05
Fix history not loading after trimming
2019-02-12 12:48:43 +02:00
Pavel Djundik
6a82114b62
Cleanup msg event
2019-02-12 12:48:43 +02:00
Pavel Djundik
8931570c02
Port join-channel completely to Vue
2019-02-12 12:48:43 +02:00
Pavel Djundik
80a12d98b4
Update topic in channel state
2019-02-12 12:48:43 +02:00
Pavel Djundik
a8c777c797
Remove render.js
2019-02-12 12:48:43 +02:00
Pavel Djundik
499beb0257
Keep scroll position when scrolling up
2019-02-12 12:48:43 +02:00
Pavel Djundik
a5625ba203
Remove scroll code from more
event
2019-02-12 12:48:43 +02:00
Pavel Djundik
5792bff49d
Display previews as they come in; fix image viewer
2019-02-12 12:48:43 +02:00
Pavel Djundik
c369f0fdb7
Some fixes with unread marker
2019-02-12 12:48:43 +02:00
Pavel Djundik
30bdfe9d3f
Hide 'show more history' button if there are no more messages
2019-02-12 12:48:42 +02:00
Pavel Djundik
595915fefd
Render link previews in Vue
2019-02-12 12:48:42 +02:00
Pavel Djundik
5f5b5fef3d
Enable .js linter
2019-02-12 12:48:42 +02:00
Pavel Djundik
db803a8548
Port channel list to Vue
2019-02-12 12:48:42 +02:00
Pavel Djundik
121dd35c3b
Port ban lists to Vue
2019-02-12 12:48:42 +02:00
Pavel Djundik
aa1446c19d
Some fixes for unread marker
2019-02-12 12:48:42 +02:00
Pavel Djundik
084e01cf46
Implement message trimming
2019-02-12 12:48:42 +02:00
Pavel Djundik
aea779cfdf
Remove some unnecessary code
2019-02-12 12:48:42 +02:00
Pavel Djundik
9ab5b9d791
Implement condensed messages in Vue
2019-02-12 12:48:42 +02:00
Pavel Djundik
dee76adc0c
Implement network collapsing in Vue
2019-02-12 12:48:41 +02:00
Pavel Djundik
a229138ca6
Add connected state
2019-02-12 12:48:41 +02:00
Pavel Djundik
3300276c27
Delete some files and undo server change
2019-02-12 12:48:41 +02:00
Pavel Djundik
09fa3e5c86
Fix autocompletion
2019-02-12 12:48:41 +02:00
Pavel Djundik
0e930c9356
Make history loading work
2019-02-12 12:48:41 +02:00
Pavel Djundik
25840dfef4
Single chat container (with buffered input), user list in vue
2019-02-12 12:48:41 +02:00
Pavel Djundik
1d2a11729f
Render chat/messages in Vue (mostly broken)
2019-02-12 12:48:41 +02:00
Pavel Djundik
0b269423aa
Remove remaining DOM references to badge/highlight
2019-02-12 12:48:41 +02:00
Pavel Djundik
d4a23ffc98
Fix loading disappearing too soon
2019-02-12 12:48:41 +02:00
Pavel Djundik
7e332b817d
Channel list rendering with Vue
...
Co-Authored-By: Tim Miller-Williams <timmw@users.noreply.github.com>
2019-02-12 12:48:41 +02:00
Pavel Djundik
9003768d56
Fix up link insertion after uploads to be saner
2019-01-30 20:00:59 +02:00
William Boman
658dc5a3a2
fix automatically closing sidebar on some mobile viewports
...
Co-authored-by: Pavel Djundik <github@xpaw.me>
Mobile viewports whose width is equal to the upper boundary
of the mobile viewport breakpoint would not automatically
close the sidebar when selecting an item in it.
Closes #2783 .
2018-09-19 09:37:03 +02:00
Pavel Djundik
ce212e001c
Add file uploading support
...
Co-Authored-By: Max Leiter <hello@maxleiter.com>
Co-Authored-By: Jérémie Astori <astorije@users.noreply.github.com>
2018-09-03 10:30:05 +03:00
Max Leiter
50661b5947
Hide Native App
settings section when no items are available
2018-08-19 12:24:19 -07:00
Pavel Djundik
b1dcbd3811
Merge pull request #2601 from thelounge/xpaw/fix-2572
...
Make menu state consistent on desktop and mobile; fix sliding on desktop
2018-08-17 09:25:43 +03:00
Jérémie Astori
13e6f37eda
Make sure the network name cannot be changed through URL override when the network info is not displayed
2018-08-11 18:12:49 -04:00
Jérémie Astori
174c6c744c
Disallow URL override of network-related fields on the client when the network is locked
2018-08-11 18:06:23 -04:00
Jérémie Astori
7b926f7c32
Merge pull request #2515 from thelounge/xpaw/transparent-sw-cache
...
Network-first service worker caches
2018-07-25 00:57:20 -04:00
realies
8f5182b379
Change alert sound from ogg to wav
2018-07-17 09:14:58 +03:00
Pavel Djundik
0f6fd4dac5
Listen for beforeinstallprompt to trigger 'add to home'
2018-07-06 15:38:57 +03:00
Pavel Djundik
cdebd532ce
Make menu state consistent on desktop and mobile; fix sliding on desktop
...
Fixes #2572
2018-07-06 12:27:26 +03:00
Jérémie Astori
21c4dea8a9
Merge pull request #2599 from thelounge/xpaw/userlist
...
Make userlist state consistent on mobile and desktop
2018-07-06 01:29:23 -04:00
Pavel Djundik
19ac4f72aa
Implement irc:// protocol handler
2018-07-05 13:01:10 +03:00
Pavel Djundik
d63f0ccc50
Make userlist state consistent on mobile and desktop
2018-07-04 10:26:07 +03:00
Pavel Djundik
d00cf72614
Reset highlights on self messages; update title when other client opens a channel
2018-06-21 16:51:07 +03:00
Pavel Djundik
9a808b58e9
Do not remove date marker when loading history if date changes
...
Fixes #2566
2018-06-17 11:46:31 +03:00
Jay2k1
a0a2e91928
add highlight count to page title
2018-06-13 19:06:32 +02:00
Pavel Djundik
7a3008aec6
Synchronize number of highlighted messages to client
...
Also fixes #1791
2018-06-11 14:29:57 +03:00
Pavel Djundik
000d56a96d
Show connect window when last network is removed
2018-05-29 13:07:18 +03:00
Jérémie Astori
e30984a13d
Merge pull request #2429 from c-ciobanu/c-ciobanu/feature-2360
...
Add password visibility toggle feature
2018-05-28 19:02:16 -04:00
Jérémie Astori
d185a78af7
Merge pull request #2197 from RockyTV/rockytv
...
Add support for /ignore, /unignore and /ignorelist commands
2018-05-28 18:33:51 -04:00
Alexandre Oliveira
468427bfdb
Add support for /ignore, /unignore and /ignorelist commands
2018-05-28 16:46:12 -03:00
Pavel Djundik
929047b6a5
Replace URIjs with native URLSearchParams
2018-05-28 10:16:00 +03:00
qwe
0294643403
minor fixes
2018-05-10 20:37:10 +02:00
qwe
bdfc367c6c
refactor password visibility toggle feature
2018-05-10 01:25:17 +02:00
qwe
2d49e34805
add password toggle to connect and login
2018-05-08 23:40:39 +02:00
qwe
97b178dbdb
Add password visibility toggle feature
2018-05-08 01:52:54 +02:00
Pavel Djundik
94f1d8dde0
Override server provided defaults with parameters passed in the URL if they match the data type
2018-05-02 13:08:00 +03:00
Pavel Djundik
ee5e82fe9a
Fix connect window opening twice in public mode
2018-05-02 13:08:00 +03:00
Pavel Djundik
b3e57a013f
Fix join channel ui moving when sorting channels
...
Fixes #2218
2018-05-01 11:18:39 +03:00
Jérémie Astori
37a35eeece
Merge pull request #2398 from thelounge/xpaw/data-attr
...
Use attr() on user-controlled data
2018-04-29 02:13:07 -04: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
14cc8b7827
Use attr() on user-controlled data
...
See https://www.reddit.com/r/javascript/comments/8f57i1/psa_there_are_over_1000_people_in_the_us_named/dy0rib2/
2018-04-28 11:19:49 +03:00
Pavel Djundik
e136edb6ac
Remove network ids and use uuids everywhere
2018-04-26 12:37:28 +03:00
Jérémie Astori
1762db8bd4
Make "Show older messages" style consistent with other buttons
...
Also store the loading text in a `data` attribute instead of duplicate in template + JS, in order to help with future internationalization
2018-04-18 00:12:24 +02:00
Pavel Djundik
a392a08c7a
Remove nick editor
2018-04-15 22:17:30 +03:00
Pavel Djundik
f86d73972d
Implement network editing UI and object updating
2018-04-12 10:38:35 +03:00
Jérémie Astori
b08b23d59e
Merge pull request #2328 from thelounge/astorije/local-themes
...
Local themes
2018-04-12 00:23:11 -04:00
Jérémie Astori
62fb5524ae
Switch client to default theme when it is using a theme that has been removed
2018-04-02 23:51:59 -04:00
creesch
95dc519019
Sync on both load and reconnect.
2018-03-30 09:49:02 +02:00
creesch
e967859d5f
Force sync button
2018-03-30 09:32:20 +02: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
Pavel Djundik
103c3395dd
Store visibility status of sidebar menus
...
Fixes #51
Closes #1606
2018-03-16 09:03:16 +02:00
Pavel Djundik
3de3d05b8a
Rework how unread marker is moved when status messages are hidden
...
Fixes #2214
2018-03-15 17:52:04 +02:00
Jérémie Astori
00bca229f0
Enforce object literal shorthand syntax with ESLint
2018-03-15 00:22:09 -04: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
Pavel Djundik
b2eb11b5ef
Merge pull request #1851 from creesch/settingSync
...
Optional syncing of client settings.
2018-03-09 12:37:17 +02:00
creesch
27393bb804
Offer optional syncing of client settings
...
Write synced settings to localstorage.
move settings and webpush init to init.js
stub for server sending clientsettings
get very basic setting sync working
Also update client.config.clientSettings on settings:set
Full setting sync with mandatory and excluded sync options
Actually check client preferences.
Further settings restructuring.
Refactor options.js make storage act in a sane manner.
Add new parameter to applySetting
Do not sync if the setting is stored as a result of syncing
General clean up, commenting and restructing.
sync from server on checking "sync"
offer initial sync
Better deal with DOM being ready and instances of inital sync showing
Don't try to disable autocompletion when not enabled.
Restructure option.js to seperate functions from settings.
More consistency in naming options vs settings
Switch processSetting and applySetting names reflecting their functionality better.
move options init back to configuration.
simplify how settings are synced around.
move options init after template building.
Remove unneeded hasOwnProperty
Use global for #theme and only apply theme in applySetting
Return when no server side clientsettings excist.
Autocompletion options to options.settings
Make nocss param in url work again.
Actually filter out empty highlight values.
Clarify alwaysSync comment.
Remove manual step for initial sync
change attr to prop in options.js
replace unbind with off in autocompletion.js
Do not sync settings when the lounge is set to public.
fix eslint error
Fix merge error
Do not show sync warning after page refresh when sync is enabled
Move setting sync label in actual label.
Improve server setting sync handling performance and failure potential.
Don't give impression that the desktop notificiation is off when the browser permission is denied.
Refine showing and hiding of notification warnings.
rename all setting socket events to singular setting.
add experimental note and icon to settingsync.
fix css linting error
2018-03-09 10:36:29 +01:00
Pavel Djundik
73755ce973
Remove .chanlist wrapper
...
Added in 04046719c1
, but it's not necessary
2018-03-08 08:50:04 +02:00
Pavel Djundik
bb066ecb02
Do not listen to touch events until client is initialized
...
Fixes #2148
2018-03-07 10:02:02 +02:00
Pavel Djundik
e719e4ff81
Cleanup chat/userlist to use flexbox, fix a couple of bugs
2018-03-05 18:17:13 +02:00
Al McKinlay
7fec928ba8
Make networks collapsable
2018-03-02 08:57:12 +00:00
Jérémie Astori
2dbb150463
Merge pull request #2109 from thelounge/xpaw/fix-stuck-rendering
...
Fix "rendering..." getting stuck on first connection
2018-02-23 20:27:56 -05:00
Jérémie Astori
f18a7b2fe6
Merge pull request #2107 from thelounge/xpaw/correct-scroller
...
Always correctly trigger sticky scroll on .chat container
2018-02-23 19:38:57 -05:00
Pavel Djundik
bd2907c13f
Use document.body when wrapping it in a jquery object
2018-02-23 21:22:05 +02:00
Pavel Djundik
7ce1f1cf9e
Fix "rendering..." getting stuck on first connection
2018-02-23 21:18:42 +02:00
Pavel Djundik
63828b95e0
Always correctly trigger sticky scroll on .chat container
...
`.chat` has the overflow on it, and not `.messages` so stuff like scrollTop only works on `.chat`
2018-02-23 18:21:42 +02:00