Commit graph

116 commits

Author SHA1 Message Date
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
Pavel Djundik c733e72e7a Auto-fix code for padding-line-between-statements rule 2018-02-20 09:28:04 +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
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 e448dc711c Turn channel list into an accessible tablist 2018-02-18 09:58:44 +02:00
Pavel Djundik 51d5a4eff4 Fix #2028 - Messages are not condensed correctly 2018-02-03 10:43:39 +02:00
Pavel Djundik 6d6b5cb2a9 Remove deprecated jQuery calls
Fixes #2011
2018-02-01 12:15:51 +02:00
Pavel Djundik 31c33e43d5 Provide correct timestamp to browser notifications 2018-01-09 18:47:13 +02:00