Commit graph

26 commits

Author SHA1 Message Date
rr-
9014baab92 client/snapshots: add snapshots browser 2016-08-20 13:01:17 +02:00
rr-
6b77404ecf client/tags: fix handling malformed tag export 2016-08-13 13:38:37 +02:00
rr-
394e51ed21 client/general: improve scrolling 2016-07-13 17:18:28 +02:00
rr-
5d8dd9cb05 client/paging: fix endless scroll return path
Since some refactors it has always been returning to page 1.
2016-07-08 00:54:24 +02:00
rr-
54e3099c56 client/general: refactor control flow
- Controller lifetime is bound to route lifetime
- View lifetime is bound to controller lifetime
- Control lifetime is bound to view lifetime
- Enhanced event dispatching
- Enhanced responsiveness in some places
- Views communicate user input to controllers via new event system
2016-06-18 10:35:20 +02:00
rr-
6fcf81e55d client/posts: split controllers 2016-06-14 07:50:22 +02:00
rr-
95b3b09cbc client/router: remember scroll position 2016-06-12 21:58:05 +02:00
rr-
e10ed4bce8 client/router: refactor call chains 2016-06-12 21:57:19 +02:00
rr-
76882b59ef client/router: introduce own router
I'm tired of page.js lack of documentation around finer quirks, and
being forced to read its crap code. Refactored into classes, removed
unused cruft.
2016-06-12 21:43:20 +02:00
rr-
7e8a9a0948 client/comments: add comment list view for post 2016-06-12 12:54:08 +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-
3856e9fd0d client/general: fix JSCS warnings 2016-05-10 14:13:24 +02:00
rr-
27cce56054 client/tags: add tag category editing 2016-05-10 13:26:17 +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-
b382f3398f client/users: add keyboard shortcuts to user list 2016-04-14 21:50:59 +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-
1086bca3c2 client/views: fix rendering non-void elements 2016-04-11 19:23:53 +02:00
rr-
90d4401024 client/api: move cookies management to API 2016-04-08 10:03:29 +02:00
rr-
fe5946b4b0 client/misc: extract polyfills to separate file 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-
5f29fa12c2 client/routing: move routing to controllers 2016-04-06 22:36:04 +02:00
rr-
92dd958866 client+server: finish password reminders 2016-04-06 17:56:34 +02:00
rr-
85ed552fce client/home: format absolute time 2016-04-05 17:57:26 +02:00
rr-
e487adcc97 split files into client/ and server/ 2016-04-01 18:48:16 +02:00
Renamed from static/js/main.js (Browse further)