Commit Graph

1233 Commits

Author SHA1 Message Date
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-
205f372f76 server/tests: colorize verbose output 2016-05-11 23:47:50 +02:00
rr-
172b956e48 server/search: permit search for tags by alias 2016-05-11 23:47:50 +02:00
rr-
6179f016ae server/search: make searches case insensitive 2016-05-11 23:47:50 +02:00
rr-
82d32ba1fb server/tags: fix removing tags related to others 2016-05-11 23:47:50 +02:00
rr-
4cd5b8c1ac server/tags: fix tag category color validation
This was totally stupid...
2016-05-11 22:09:06 +02:00
rr-
a5b2d835d6 server/tags: fix wrong case in merging requests 2016-05-11 18:42:56 +02:00
rr-
59ae0a4c9a server/db: maintain order of tag aliases
First alias has a special meaning in certain contexts, such as post
serialization, where only one alias is chosen to show to the client.
2016-05-11 18:32:53 +02:00
rr-
299055c427 server/tools: fix creating counters 2016-05-11 17:02:41 +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-
03498b2d8e server/tags: add tag category color sanitization 2016-05-10 12:18:06 +02:00
rr-
14a20e55f8 server/tests: fix leftover rank strings 2016-05-10 12:15:33 +02:00
rr-
ba3678dec1 server/posts: implement FLAG_MAP 2016-05-10 12:15:33 +02:00
rr-
4ec842024c server/users: implement RANK_MAP 2016-05-10 12:15:33 +02:00
rr-
cecf620126 server/config: move config validation to app.py 2016-05-10 12:15:33 +02:00
rr-
cd15cdff7a server/scores+favorites: merge duplicate code 2016-05-10 12:15:05 +02:00
rr-
f140ae6176 server/tests: change test file name 2016-05-10 12:14:54 +02:00
rr-
174958686c server/general: disable pylint reports
They add no value whatsoever
2016-05-10 12:02:24 +02:00
rr-
3481c1072d server/general: fix a few pylint warnings 2016-05-10 12:02:24 +02:00
rr-
57297df9e1 server/tools: fix importing tag category with id=0 2016-05-10 10:05:47 +02:00
rr-
b37979546f server/tools: bump counters after import 2016-05-10 09:54:52 +02:00
rr-
b3f5486761 server/tools: add --no-data option to importer 2016-05-10 09:26:06 +02:00
rr-
ec1fccf17e server/tools: fix swapping imported tag relations 2016-05-10 09:26:01 +02:00
rr-
a668d3ef34 server/tags: output tag category usages 2016-05-09 22:39:04 +02:00
rr-
fcbfa90879 serevr/tags: fix search by post count and category 2016-05-09 22:36:29 +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-
f39e58b1bc server/db: create indexes 2016-05-09 09:43:00 +02:00
rr-
4558557656 server/tools: add parallelism to content import 2016-05-09 09:42:31 +02:00
rr-
356d5050fd server/tools: add v1.x migration script 2016-05-08 23:26:46 +02:00
rr-
2330cf017d server/db: fix mappings
Post notes had mixed up column types. I fixed that and at the same time,
I took the opportunity to convert everything into Unicode. Also, I've
changed existing migrations rather than creating new ones - it's not
like we're even close to alpha...
2016-05-08 22:18:13 +02:00
rr-
339c9a3333 server/tags: reduce number of queries
On a test page with 50 tags, 158 queries were reduced to 3:

1. Get the authenticated user
2. Get tags for given page
3. Count all tags

Looks just about right.
2016-05-08 20:33:16 +02:00
rr-
d813601d92 server/api: log queries in debug mode 2016-05-08 20:33:16 +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-
906eddc61f server/users: change avatars to PNG 2016-05-08 18:04:06 +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-
2bd02f4921 server/users: fix detecting duplicate user names 2016-05-08 18:04:05 +02:00
rr-
0214341473 server/users: prohibit using special ranks
Anonymous is self explanatory.
Nobody is used solely to mark certain operation as unavailable even to
administrators (<- nobody is higher than administrator).
2016-05-08 18:04:05 +02:00
rr-
198cb0af3e server/users: hardcode available ranks 2016-05-08 16:59:25 +02:00