rr-
4cb613a5c9
server/posts: change reverse image search API
...
Add exact duplicates search; refactor to use classes over dictionaries
2017-01-07 14:07:31 +01:00
rr-
a7a5cc8180
server/posts: expose reverse image search
2016-12-26 15:00:16 +01:00
rr-
e71718c50d
server/posts: add replaceContent to post merging
2016-10-21 22:34:45 +02:00
rr-
9d6a0e0173
server/posts: add post merging
2016-10-21 21:48:38 +02:00
rr-
7fa8593b0a
client/general: improve URL escaping
...
Specifically, cater for /, + and % in URL components.
2016-09-04 02:07:22 +02:00
rr-
eff0e002f2
server/info: increase hdd usage cache time to 48h
2016-08-31 22:22:06 +02:00
rr-
ef0f74297f
server/tag-categories: fix default categories
...
- Don't cache default category in its entirety - cache only its name
- Purge cache on category name changes and default category changes
- Lock records for updates where applicable
2016-08-27 12:39:59 +02:00
rr-
ffb87f1650
server/posts: defer flush; save content lazily
...
Rather than flushing the post right away only to find out that there
were validation errors, try to postpone flushing for as long as
possible.
The previous behavior has led to too eager spending of post IDs - each
flush calls nextval(post_id_seq), and postgres sequences are not
affected by transaction rollbacks, so each erroneous post creation
discarded a post ID, which has led to gaps in post IDs.
2016-08-26 15:09:08 +02:00
rr-
73a8542220
server/posts: make anon snapshots for anon uploads
2016-08-22 20:07:39 +02:00
rr-
b7e9cbd541
server/posts: allow tagless posts
2016-08-21 23:40:01 +02:00
rr-
80af79779d
server/snapshots: rewrite
2016-08-16 21:51:25 +02:00
rr-
0320a0b55b
server/general: improve versioning effectiveness
...
...by integrating it with sqlalchemy that adds WHERE conditions for each
UPDATE and DELETE statement.
2016-08-16 17:22:33 +02:00
rr-
9aea55e3d1
server/general: embrace most of PEP8
...
Ignored only the rules about continuing / hanging indentation.
Also, added __init__.py to tests so that pylint discovers them. (I don't
buy pytest's BS about installing your package.)
2016-08-14 16:44:03 +02:00
rr-
af62f8c45a
server/general: ditch falcon for in-house WSGI app
...
For quite some time, I hated Falcon's class maps approach that caused
more chaos than good for Szurubooru. I've taken a look at the other
frameworks (hug, flask, etc) again, but they all looked too
bloated/over-engineered. I decided to just talk to WSGI myself.
Regex-based routing may not be the fastest in the world, but I'm fine
with response time of 10 ms for cached /posts.
2016-08-14 16:43:35 +02:00
rr-
53e96ba41f
server/tests: add func.tag_categories tests
2016-08-14 16:43:35 +02:00
rr-
2b3d193b7c
server/tags: don't auto-create tag categories
2016-08-14 11:38:59 +02:00
rr-
8d04df38fd
server/general: add entity versions
2016-08-07 09:55:51 +02:00
rr-
5092c2c587
server/posts: respect tag creating privilege
2016-08-02 12:44:38 +02:00
rr-
ff189a3915
server/posts: fix deleting post with comments
2016-08-02 12:27:01 +02:00
rr-
f40e41ae8b
server/tags: allow deleting used tags
2016-07-30 13:43:15 +02:00
rr-
ac23067fdf
server/general: use UTC time stamps
2016-07-03 14:46:28 +02:00
rr-
aa0463dafb
server/tags: improve creation privilege check
2016-06-23 12:51:44 +02:00
rr-
7eec347bca
server/tags: add description field
2016-06-23 00:15:25 +02:00
rr-
3c3d0dbb8d
server/info: expose a few config variables
2016-06-18 10:55:44 +02:00
rr-
162904bfc3
server/info: add serverTime field
2016-06-12 14:26:52 +02:00
rr-
616854fb1b
server/users: let authorized users GET themselves
2016-06-11 17:36:02 +02:00
rr-
b5aa3e75c4
server/comments: fix privileges
2016-06-11 17:36:02 +02:00
rr-
dfb2e3d027
server/posts: add getting posts around id
...
Leave undocumented since it add almost no value for the client
applications.
2016-06-08 22:38:35 +02:00
rr-
f3bb6c28a1
server/general: cosmetic fixes
2016-06-05 10:39:56 +02:00
rr-
508cb6e7ab
server/posts: allow anonymous uploads ( #90 )
2016-06-05 10:30:10 +02:00
rr-
59ad5fe402
server/search: refactor, extract parsing
2016-06-03 19:47:09 +02:00
rr-
037fbc61ec
server/api: add ability to select fields
2016-05-30 23:08:22 +02:00
rr-
8d1e23aa63
server/general: flatten responses
2016-05-30 22:54:33 +02:00
rr-
d0314813cb
server/general: move extra details to resources
2016-05-30 22:54:33 +02:00
rr-
abef6e5c35
server/info: return who featured the post and when
2016-05-29 12:41:22 +02:00
rr-
77998f1660
server/tags: let mods set default category
2016-05-22 22:17:11 +02:00
rr-
fa14bf714c
server/tags: create snapshots for automatic tags
2016-05-22 22:17:11 +02:00
rr-
cf3b97b8de
server/tags: change response key
...
Since we're using "results" everywhere else, it makes little sense for
tag siblings to use "siblings" node.
2016-05-22 11:05:18 +02:00
rr-
82d32ba1fb
server/tags: fix removing tags related to others
2016-05-11 23:47:50 +02:00
rr-
a5b2d835d6
server/tags: fix wrong case in merging requests
2016-05-11 18:42:56 +02:00
rr-
2bd02f4921
server/users: fix detecting duplicate user names
2016-05-08 18:04:05 +02:00
rr-
58964bcdc9
server/posts: add post listing
2016-05-07 21:50:37 +02:00
rr-
9b591c3f1b
server/posts: remember source for URL content
2016-05-05 13:46:57 +02:00
rr-
148858fde9
server/middleware: download files
2016-05-05 13:46:50 +02:00
rr-
e632324f72
server/posts: add post updating
2016-05-02 21:58:13 +02:00
rr-
ce095816d9
server/posts: add post creating
2016-05-02 00:07:33 +02:00
rr-
a567974784
server/general: refactor method names
2016-04-30 23:54:05 +02:00
rr-
da5b32feeb
server/users: fix hiding email from admins etc
2016-04-29 13:16:16 +02:00
rr-
83cc7a568d
server/posts: add post (un)favoriting
2016-04-28 19:04:44 +02:00
rr-
0b20132a2f
server/api + docs/api: organize responses
2016-04-28 18:20:50 +02:00