Zakkumaru
58163d6678
Duplicate to README.MD
...
When the file was changed/renamed, it retained a duplicate, possibly outdated.
4 years ago
Tom Hacohen
21e5382fc4
easyconfig: make it clear that media_root needs to be set.
4 years ago
Tom Hacohen
14b3cfca55
Handle stoken being the empty string.
...
For whatever reason some users were getting this which was causing this code
to fail.
4 years ago
Tom Hacohen
b33a3c882e
Subscriptions: allow subscribing without setting an stoken.
4 years ago
Tom Hacohen
8485806046
Easy config: add support for setting redis URI.
4 years ago
Tom Hacohen
ef69954b6d
requirements.txt: Add missing deps.
4 years ago
Tom Hacohen
e4361d2364
Patch old DB migration in order to fix mysql issues.
...
Really fix #69 .
4 years ago
Tom Hacohen
0ac41e77e8
Fix DB errors when using MySQL/MariaDB.
...
Fixes #69 .
4 years ago
Tom Hacohen
233aeab98b
Support login and invitations using email rather than just username.
4 years ago
Tom Hacohen
240469342b
Move reporting item changes to a background task.
4 years ago
Tom Hacohen
61bd82f1e3
Subscriptions: stream missing items if user passed an old stoken.
4 years ago
Tom Hacohen
f52facad1c
Subscriptions: implement live subscriptions for collection items
4 years ago
Tom Hacohen
cd4131e890
Exceptions: make sure error codes aren't None.
4 years ago
Tom Hacohen
1349f99cd3
Exceptions: inherit from the fastapi HTTPException.
4 years ago
Tom Hacohen
9f0430a6da
Improve types.
4 years ago
Tom Hacohen
9bf118225d
Exceptions: fix error when transforming django validation errors.
4 years ago
Tom Hacohen
43dede57d2
Exceptions: fix types.
4 years ago
Tom Hacohen
3894fd205b
README: mention minimum requirements
4 years ago
Tom Hacohen
84870d25bf
README: mention that Windows requires WSL
4 years ago
Tom Hacohen
2e21fe4994
Django db cleanup: explicitly add it to dependencies.
...
We can't really add it manually, because some of the deps are auto included as
parameters. These were not being decorated which in turn meeant issues.
4 years ago
Tom Hacohen
5b8f667e55
Cleanup django db connections before every request and every dependency.
...
This is instead of the commit we reverted in the previous commit.
The problem is that django keeps the connection per thread and it relies
on django itself to clean them up before/after connections.
We can't do this, because django is unaware of fastapi, so we have to
manage this ourselves.
The easiest way is to call it at the beginning of evenry route and every dep.
We need to do it for each because unfortunately fastapi may send them to
different worker threads.
4 years ago
Tom Hacohen
6ec03c3d34
Revert "Add a django middleware to cleanup db connections."
...
This ended up being useless because of the way startlette and fastapi do
thread pools. The middleware is called in one thread, the path in
another, and the dependency in yet another.
This reverts commit 473448246f
.
4 years ago
Tom Hacohen
6738c2cf20
Remove unused variable.
4 years ago
Tom Hacohen
64be7f10bd
Remove all of the needless async decorators.
...
The code uses the django ORM which is sync, and fastapi handles sync paths
just fine. So having all of this extra code for handling async was unnecessary.
4 years ago
Tom Hacohen
473448246f
Add a django middleware to cleanup db connections.
...
This severely impacts performance, though without it we are getting
django.db.utils.InterfaceError once connections in the pool go stale.
4 years ago
Tom Hacohen
a7fdb4a108
More typing fixes.
4 years ago
Simon Vandevelde
6615b149c5
Update README with wiki changes ( #82 )
...
* Changed link to wiki
* Removed unneeded links (as uWSGI won't be supported)
* Added --host flag to uvicorn command, as the server is only accessible from the host machine otherwise (and not from another in the local network)
4 years ago
Tom Hacohen
981e1a9a6a
Add mypy config.
4 years ago
Tom Hacohen
8bfdbc55a3
Add typing extensions to requirements.
4 years ago
Tom Hacohen
c4235662d8
Use uvicorn[standard] in requirements to get some added extras.
4 years ago
Tom Hacohen
709bc6c1fc
Improve typing information.
4 years ago
Tom Hacohen
332f7e2332
Fix Python 3.7 compatibility
...
Both cached_property and Literal were introduced in Python 3.8 so they
can't be used.
4 years ago
Tom Hacohen
8245577dfb
Rename module to prevent confusion on import.
4 years ago
Tom Hacohen
174e54681d
Improve type annotations.
4 years ago
Tom Hacohen
62eb46ec4e
msgpack route: use the encode/decode functions from the utils module.
4 years ago
Tom Hacohen
dbdff06e68
Move all the routers under their own dir.
4 years ago
Tom Hacohen
8bf04fc286
Reformat files using black.
4 years ago
Tom Hacohen
e6b47ae1a9
Fix login_challenge to work with get_user_queryset.
4 years ago
Tom Hacohen
ff55904f49
Fix user type
4 years ago
Tom Hacohen
259e395c92
Merge: change the server to use FastAPI
...
FastAPI is much faster (twice as fast in our testing environment), though
more importantly it's much faster to develop with, much less error-prone
thanks to strong typing, and makes it easier to further extend the server.
We currently still use the Django ORM behind the scenes, which means we still
get all of the benefits of the django admin UI, and being able to use django
for the non-API parts.
Merge of #72
4 years ago
Tom Hacohen
84b6114e99
Requirements: add dev requirements and django-stubs.
4 years ago
Tom Hacohen
794b5f3983
Fix many type errors.
4 years ago
Tom Hacohen
e13f26ec56
Fix handling of legacy accounts that don't have collection type.
4 years ago
Tom Hacohen
f67730f42d
Support passing custom middlewares.
4 years ago
Tom Hacohen
a8b97e60d4
Docs: improve metadata.
4 years ago
Tom Hacohen
7714148807
Use ValidationError when appropriate.
4 years ago
Tom Hacohen
f0a8689712
Implement sendfile.
4 years ago
Tom Hacohen
c7f09d3fef
implement chunk_download.
4 years ago
Tom Hacohen
53b22602b2
Implement chunk_update.
4 years ago
Tom Hacohen
dcf81aa9ce
Fix prefetch medium.
4 years ago