Commit Graph

1473 Commits (bc01714dc1d143e6ebba613d2d938a16474154f3)

Author SHA1 Message Date
Tom Hacohen d4ca0a3ec4 Errors: append in bulk rather than 1 by 1. 2020-07-05 12:28:26 +03:00
Tom Hacohen 06e4e4a5d3 Rename addError action to fix fetch count.
Fetch count increments/decrements based on all actions prefixed with add
which means addError was also triggering it.
This broke the fetchCount count.
2020-07-05 11:58:59 +03:00
Ramzan de07f76c92 Implement an auto refresh function that calls fetchAll every minute
if the user is online and logged in.

Fixes #28.
2020-07-05 10:24:23 +03:00
Tom Hacohen b394484f3c Implement an undelete function to mass-undelete changes. 2020-07-03 16:35:19 +03:00
Tom Hacohen 728ac6124f Enable eslint for type definitions and fix issues. 2020-07-02 14:46:28 +03:00
Tom Hacohen 616052ecc5 Improve journals page look and feel. 2020-07-02 14:15:14 +03:00
Tom Hacohen 7fe2cd1f60 Change default collection names from 'Default' to be descriptive
A step towards fixing https://github.com/etesync/android/issues/118
2020-07-02 13:20:31 +03:00
Tom Hacohen 64753586e3 Clear recurrence options when changing freq.
Apparently iCal.js doesn't filter it itself so we have to do it,
otherwise we can create malformed recurrence options.

Fixes #134.
2020-07-02 09:12:51 +03:00
Tom Hacohen 9400abdbf4 Revert "reset options if freq changes"
This reverts commit f64169385e.
2020-07-02 09:04:26 +03:00
Tom Hacohen 2b8fa751b7 Revert "when using multiple select must have and array with default values"
This reverts commit 7595be4df7.
2020-07-02 09:04:23 +03:00
Tal Leibman 7595be4df7 when using multiple select must have and array with default values 2020-07-01 22:07:38 +03:00
Tal Leibman f64169385e reset options if freq changes 2020-07-01 22:07:38 +03:00
Tom Hacohen fb8f3ff574 Task/Event: enable word wrapping for decsriptions.
Fixes #135.
2020-07-01 09:40:35 +03:00
Tom Hacohen f147f4ae58 Serializers: allow encryptionKey to be null. 2020-06-29 15:39:40 +03:00
Tom Hacohen 3dfceb63b1 Views: move the base64 encoding to the renderers.
Hard-coding the serialization encoding in the serializers is wrong.
This fix now enables us to change to easily change to msgpack as the
transport layer.
2020-06-29 15:39:40 +03:00
Tom Hacohen 2880673e27 drf_msgpack: add code to parse/serialise msgpack
It's not actually used by clients but it's there and can be used. It
works for receiving msgpack messages, but doesn't yet work for sending
because some of the types will be converted to base64.
2020-06-29 14:21:43 +03:00
Tom Hacohen fbf5552a62 Modify binary64 field to support binary renderers/parsers
Fixes 39c1dfc53c30e65bcbff9e0ba0bb07bfc8bfc577
2020-06-29 13:36:37 +03:00
Tom Hacohen 453275eadf Authentication: move to msgpack for the encrypted parts. 2020-06-29 11:30:59 +03:00
Tom Hacohen 85de674ee2 Move the etebase urls configuration to django_etebase. 2020-06-28 17:11:20 +03:00
Tom Hacohen 4948e91c65 django_etebase: make migration generic and not depend on myauth. 2020-06-28 16:52:14 +03:00
Tom Hacohen 785e4fae97 Merge the uidvalidator with the base64url validator and set a min length. 2020-06-26 12:14:06 +03:00
Tom Hacohen c00cf50163 Revision: remove salt field.
It's not really needed. More information in the respective change
in the js client.
2020-06-26 11:21:53 +03:00
Tom Hacohen 2b52eec41f Allow chunk UIDs to be longer. 2020-06-26 11:05:01 +03:00
Tom Hacohen 625df22989 Make item encryption key optional for collections/items
Collections still have a unique encryption key (their collection key), and items
just have a unique key per item in a collection that's derived from the main key
and if we ever want to share items across collections or do something fancy like
that we can just add an encrypted key in there.
2020-06-26 10:31:03 +03:00
Tom Hacohen cbb1d81850 Rename inline to prefetch and have it on by default. 2020-06-24 15:55:36 +03:00
Tom Hacohen c21c6af1d7 Filter by stoken: fix the done implementation for more functions
The done implementation wasn't great because it would indicate we are
not done even when we are when the last chunk returned is exactly the
size of limit.
2020-06-24 14:38:29 +03:00
Tom Hacohen 0ce2e8d996 Filter by stoken: cleanup and fix the done implementation
The done implementation wasn't great because it would indicate we are
not done even when we are when the last chunk returned is exactly the
size of limit.
2020-06-24 14:35:58 +03:00
Tom Hacohen 61383b9896 Stoken filtering: order by max_stoken to make sure we have a reliable order. 2020-06-24 13:39:59 +03:00
Tom Hacohen caa84c2a96 Stoken filtering: clean up stoken filtering and annotation.
We are now querying the database less and simplified the queries.
2020-06-24 13:39:59 +03:00
Tom Hacohen 0a19cd7e2c Stoken filtering: abstract getting the stoken id. 2020-06-24 11:30:37 +03:00
Tom Hacohen f6ef514661 Collection members: order by id so order is consistent. 2020-06-24 10:58:27 +03:00
Tom Hacohen 1bed39af9d Collection/item uid: allow base64-url not just base62. 2020-06-24 10:48:47 +03:00
Tom Hacohen 2da49bb95e Item revisions: don't exclude current, let the client decide. 2020-06-24 10:02:55 +03:00
Tom Hacohen 68365f5d75 Collection revision: support the inline parameter. 2020-06-23 18:35:09 +03:00
Tom Hacohen 7183b97541 Collection revision: implement iteration. 2020-06-23 18:25:23 +03:00
Tom Hacohen 786948c456 Item revisions: never return the current revision, only old ones. 2020-06-23 18:04:49 +03:00
Tom Hacohen 317c492688 CollectionItem: add support for filtering collections' main items.
This used to be the default, so it still is.

It only affects the list endpoint, the rest all support withCollection
anyway, because IDs are passed directly.
2020-06-23 13:50:09 +03:00
Tom Hacohen 291ebaa3f7 Items must have a uid now (not null).
This is due to the previous change.
2020-06-23 13:05:34 +03:00
Tom Hacohen 267d749c45 Collection: change collections to be an extension of items
Each collection now has an item and the item's UID is the collections
UID. This lets us manipulate collections just like items, and as part of
transactions. This is significant because it lets us change them as part
of transactions!
2020-06-23 13:03:46 +03:00
Tom Hacohen 37bae63a46 Invitations: add support for fetching using an iterator 2020-06-22 18:26:32 +03:00
Tom Hacohen d5300a76d8 Members: add support for iterators when listing members 2020-06-22 17:52:00 +03:00
Tom Hacohen b4db35bca1 List APIs: add done to APIs that didn't have it. 2020-06-22 17:27:07 +03:00
Tom Hacohen fcb58f0f4c List APIs: fix the stoken calculation for collections.
I'm not sure why it just wouldn't work with aggregate. I also couldn't get it
to work with annotate then aggregate or any other alternative.
2020-06-22 14:20:30 +03:00
Tom Hacohen 6117cac111 List APIs: return a done field to indicate the fetch is done. 2020-06-22 13:03:58 +03:00
Tom Hacohen f372f36005 Tag edit: make it possible to use non-existing tags.
This is a workaround until #133 is properly solved. The tag list still
only autocompletes from a pre-defined list, but at least now you can
just set new tags as you wish.
2020-06-21 14:43:44 +03:00
Tom Hacohen f0ec85d635 Fix link color to be nicer (especially in dark mode). 2020-06-21 14:36:59 +03:00
Tom Hacohen f80ce5b458 Theme: add a class to indicate if in dark mode. 2020-06-21 14:36:59 +03:00
Tom Hacohen fd0a83d6a2 External link: also add noreferrer. 2020-06-21 14:36:58 +03:00
Tom Hacohen 2d7b90e848 Collection items: also show deleted items.
This was a mistake. We want deleted items to show because we want to
know when things have been deleted when we ask for updates.
2020-06-18 16:14:55 +03:00
Tom Hacohen ab0d85c84f Change password: change to require a signed request, just like login.
Without this, it would be sufficient to steal an auth token to render the account
unusable because it would be possible to just reset the encrypted content
of the account. With this change we require the user to actually know
the account password in order to do it.
2020-06-17 14:38:02 +03:00