Commit graph

652 commits

Author SHA1 Message Date
rr-
414f841944 client/tags: fix unbound EmptyView 2016-05-12 00:12:48 +02:00
rr-
b1deb617bc client/tags: add tag merging, editing and deleting 2016-05-11 23:47:50 +02:00
rr-
2a4241641c client/events: improve event dispatching
This commit introduces timer-less retry system:

1. Any change to URL is going to stop listening to any messages.
2. If a message is sent and there's no handler that could pick it up,
   the message gets enqueued.
3. The message is sent again to the first handler that attaches itself
   to given event type.

While in theory this is full of holes (no control over the first
handler), in practice, it works quite well.

Additionally, views.listenToMessages was attaching to completely wrong
DOM node; this commit fixes this as well.
2016-05-11 23:47:50 +02:00
rr-
09bc5f10f9 client/tags: fix hiding table for no results 2016-05-11 23:47:50 +02:00
rr-
8866a46f68 client/general: rename certain views 2016-05-11 12:17:40 +02:00
rr-
3856e9fd0d client/general: fix JSCS warnings 2016-05-10 14:13:24 +02:00
rr-
27533483b2 client/tags: make headers clickable 2016-05-10 14:06:52 +02:00
rr-
27cce56054 client/tags: add tag category editing 2016-05-10 13:26:17 +02:00
rr-
be0a70355d client/paging: replace 'var' with 'let'
Old habits die hard
2016-05-10 12:18:06 +02:00
rr-
7b342b58b5 client/users: fix links to post search queries 2016-05-10 12:18:06 +02:00
rr-
6405fbe9f2 client/general: replace handlebars with underscore 2016-05-09 22:36:29 +02:00
rr-
c34b1e3ccf client/css: fix clipped input text 2016-05-09 22:36:29 +02:00
rr-
58134ae2c6 client/css: remove nprogress spinner 2016-05-09 18:14:22 +02:00
rr-
25de62411f client/tags: improve table appearance 2016-05-09 11:21:09 +02:00
rr-
29b0fde9a7 client/paging: improve endless paging
- Change page number indicator
- Remove most of the scrolling cruft as it has no chance of working
  anyway, thanks to our benevolent browsers
- Scroll to page header if the page is not the first one (I'm surprised
  this even works)
- Use promises rather than timers
- Simplify top page detection using .elementFromPoint rather than
  iterating over all pages. Coincidentally, this seems to work slightly
  better
2016-05-09 11:17:26 +02:00
rr-
7610761ec8 client/general: add nprogress to API calls 2016-05-08 18:59:11 +02:00
rr-
f083e5fdc8 client/general: scroll to top on page change 2016-05-08 18:56:08 +02:00
rr-
da1386c7d2 client/auth: forget user when they try to log in
This is to let user log in if their login cookie is broken (for example
when it refers to a non existing user). Normally, the client should
treat errors caused by cookie logins as temporary server failures,
inform the user about it and leave the cookie, so that when the server
is up again, all user needs to do is to reload the page rather than
logging again.
2016-05-08 18:04:06 +02:00
rr-
0d2fc830a6 client/build: add missing dependency 2016-05-08 18:04:06 +02:00
rr-
198cb0af3e server/users: hardcode available ranks 2016-05-08 16:59:25 +02:00
rr-
58964bcdc9 server/posts: add post listing 2016-05-07 21:50:37 +02:00
rr-
29b57b0af0 client/nav: fix accesskey alignment 2016-04-29 13:24:01 +02:00
rr-
98738dc497 client/users: fix inability to remove email 2016-04-29 13:19:11 +02:00
rr-
d67a1b2f1c client/css: stylize focused elements 2016-04-29 12:58:56 +02:00
rr-
266f5c027f client/tags: add tag listing 2016-04-29 12:58:56 +02:00
rr-
0f90196ad5 client/users: fix listing users 2016-04-29 10:17:55 +02:00
rr-
a30886cc70 server/search: rename order: to sort: 2016-04-22 19:37:58 +02:00
rr-
a197368bc5 client/paging: fix endless pager issues 2016-04-17 09:24:05 +02:00
rr-
0bc45e9c45 server/search: support -min and -max suffixes 2016-04-17 08:31:46 +02:00
rr-
71e8e32faf client/users: change search syntax help link 2016-04-17 00:03:56 +02:00
rr-
925bfcecc5 client/help: split search help into sections 2016-04-17 00:03:45 +02:00
rr-
61d2fb88ea server/tags: add tag listing 2016-04-16 21:24:09 +02:00
rr-
e4239a199c server/api: refactor + remove ID from user JSON 2016-04-16 15:49:21 +02:00
rr-
b382f3398f client/users: add keyboard shortcuts to user list 2016-04-14 21:50:59 +02:00
rr-
ef3dc1fa75 client/paging: refactor manual pager 2016-04-14 21:50:59 +02:00
rr-
0ddbc64320 client/css: tweak help button appearance 2016-04-14 21:50:59 +02:00
rr-
c2aa497d91 client/settings: decouple settings from controller 2016-04-14 21:50:59 +02:00
rr-
00bf279396 client/views: fix access key underline 2016-04-14 21:50:59 +02:00
rr-
35c549493c server/users: support wildcards in user search 2016-04-14 21:50:59 +02:00
rr-
286df9faf3 docs+client/users: document user filtering 2016-04-14 19:58:28 +02:00
rr-
f34e83b325 client/users: add filtering 2016-04-14 17:50:46 +02:00
rr-
90559ffcdb client/build: fix IE11 transpiling 2016-04-14 17:50:38 +02:00
rr-
7cf4e6c37d client/paging: compact page no. for endless pager 2016-04-14 17:50:38 +02:00
rr-
334ff8edcd client/css: align controls in horizontal forms 2016-04-14 17:50:38 +02:00
rr-
c92c7b722f client/css: don't use monospace fonts 2016-04-14 17:50:29 +02:00
rr-
905faf3721 client/css: scale to device width 2016-04-14 17:50:04 +02:00
rr-
a83a896dde client/pager: cache state between navigations 2016-04-14 00:41:34 +02:00
rr-
43c657e371 client/paging: don't include empty parameters 2016-04-13 22:15:40 +02:00
rr-
26d46a43bf client/pager: synchronize page number with URL 2016-04-13 21:33:49 +02:00
rr-
28e85bd21a client/css: switch to stylus 2016-04-13 20:13:10 +02:00
rr-
d18a8090b1 client/build: transpile ES6 for older browsers 2016-04-13 20:13:10 +02:00
rr-
5796b07908 client/build: don't keep templates in DOM 2016-04-13 18:58:34 +02:00
rr-
b7a67fc01c views/paging: add endless pager 2016-04-13 00:27:36 +02:00
rr-
7874614be3 client/messages: fix batch messages appearance 2016-04-12 18:25:52 +02:00
rr-
d3979d63dc client/paging: notify about empty results 2016-04-12 18:25:08 +02:00
rr-
68c966ff7d client/users: fix patterns in account settings 2016-04-12 13:48:31 +02:00
rr-
21c15f4cb9 client/settings: add accountless settings 2016-04-11 22:48:47 +02:00
rr-
f5272bb5f3 client/api: fix login error handling 2016-04-11 21:43:58 +02:00
rr-
543d0fca57 client/api: cache API requests
Specifically, cache all GET requests until first POST/PUT/DELETE
request.
2016-04-11 21:43:58 +02:00
rr-
256a4e49b9 client/css: animate nav link hover color 2016-04-11 21:43:58 +02:00
rr-
c543b77aed client/nav: add user avatar 2016-04-11 21:43:58 +02:00
rr-
1086bca3c2 client/views: fix rendering non-void elements 2016-04-11 19:23:53 +02:00
rr-
d6daf84da0 client/users: add basic users listing 2016-04-11 19:23:53 +02:00
rr-
bb3f280c7f client/build: fix templates with more than 1 _ 2016-04-10 22:14:25 +02:00
rr-
4dcee37567 client/users: support avatar changing 2016-04-10 18:54:19 +02:00
rr-
4faf42ee19 client+server/general: fix config references
...some references still referred to non-existing config.ini.
2016-04-10 16:23:35 +02:00
rr-
e268d679d3 client/views: move form controls to HB helpers 2016-04-10 16:23:33 +02:00
rr-
7c1876dd5c client/views: fix radio buttons 2016-04-10 00:25:16 +02:00
rr-
58e0d2e295 client/views: replace fieldsets with divs
Although it has nice semantic name, fieldset gives troubles to flexbox,
so I'm dropping it.
2016-04-10 00:24:54 +02:00
rr-
8f5890ab67 client/general: refactor promises 2016-04-09 23:41:56 +02:00
rr-
5053598a13 client/views: extract empty view
...so that UsersController doesn't mess with DOM.
2016-04-09 22:39:13 +02:00
rr-
8e525b48a6 client/general: correct A:R for thumbnails 2016-04-09 22:38:57 +02:00
rr-
e12492bd4d client/api: fix removing cookies on login failures 2016-04-09 22:23:24 +02:00
rr-
2e1823b708 client/views: replace inheritance with composition 2016-04-09 22:23:24 +02:00
rr-
4821f2ac6c client/users: add user deletion 2016-04-09 18:41:49 +02:00
rr-
b6df2ed903 server/search: prefer hyphens to underscores 2016-04-09 08:58:06 +02:00
rr-
b78d018870 client/login: don't show pw reset w/o working smtp 2016-04-08 20:09:32 +02:00
rr-
2d8b657559 client/users: tweak settings form 2016-04-08 15:46:31 +02:00
rr-
5bd7f1fa6c client/views: move notifications to controllers 2016-04-08 13:48:23 +02:00
rr-
0ceaa8da42 client/views: refactor rendering 2016-04-08 13:48:23 +02:00
rr-
7871c69aa3 client/users: implement account settings
(Without avatars yet.)
2016-04-08 10:18:39 +02:00
rr-
90d4401024 client/api: move cookies management to API 2016-04-08 10:03:29 +02:00
rr-
51a889e3a8 client/api: protect against null error messages 2016-04-08 09:48:47 +02:00
rr-
e0516af111 client/build: enable source maps for debug builds 2016-04-08 09:48:47 +02:00
rr-
fe5946b4b0 client/misc: extract polyfills to separate file 2016-04-08 09:48:47 +02:00
rr-
d603fb3fe6 client/style: always show scrollbar 2016-04-08 09:48:47 +02:00
rr-
ea55b662ce client/style: change tabs appearance 2016-04-08 09:48:47 +02:00
rr-
8a1140eff6 client/api: convert messages to events 2016-04-08 09:48:47 +02:00
rr-
c1816a292f client/build: don't minify JS for debug build 2016-04-07 18:51:29 +02:00
rr-
26ac304e69 client/style: style focused buttons 2016-04-07 17:28:02 +02:00
rr-
10be5f422d client/style: make checkboxes focusable 2016-04-07 17:27:48 +02:00
rr-
8be93f6c70 client/users: add user view prototype 2016-04-07 00:08:18 +02:00
rr-
5f29fa12c2 client/routing: move routing to controllers 2016-04-06 22:36:04 +02:00
rr-
55cc7b59e4 client+server: switch to yaml config 2016-04-06 22:36:04 +02:00
rr-
92dd958866 client+server: finish password reminders 2016-04-06 17:56:34 +02:00
rr-
42fdb49d1a client/forms: fix disabling forms 2016-04-06 15:11:20 +02:00
rr-
9a2a587fb1 client/nav: fix link to user account 2016-04-06 08:11:37 +02:00
rr-
85ed552fce client/home: format absolute time 2016-04-05 17:57:26 +02:00
rr-
7f4708c696 client/auth: keep cookie after auto auth failures
...remove it on any login attempt.
2016-04-03 19:33:48 +02:00
rr-
baf9b1d31a server/users: track login time 2016-04-03 15:28:10 +02:00
rr-
60a677edf4 client/api: handle connection errors 2016-04-03 12:12:57 +02:00
rr-
e487adcc97 split files into client/ and server/ 2016-04-01 18:48:16 +02:00