Commit Graph

727 Commits (109013e9ec2f6126624344657fa91cd14f105ac9)

Author SHA1 Message Date
Tom Hacohen bfa186dc35 Merge duplicate onItemSave code. 2017-12-28 17:43:16 +00:00
Tom Hacohen 78b292f1c4 Implement contact and calendar event deletion. 2017-12-28 17:43:16 +00:00
Tom Hacohen 507c0e3a1a Add a configrmation dialog widget. 2017-12-28 17:43:16 +00:00
Tom Hacohen f760becae8 Add icons to save/cancel buttons on item edit pages. 2017-12-28 17:43:16 +00:00
Tom Hacohen 5e59557335 Add a link to the etesync website from the login page. 2017-12-28 17:43:16 +00:00
Tom Hacohen 9afe347f3d
Update README 2017-12-28 16:11:38 +00:00
Tom Hacohen d869be6bc9 Revert "Only mark journals that have been shared with us as unsupported."
This is not needed, because key is set only if we have a key set for us
which means it was either shared with us, or we have a reason to have a
key (maybe changed the password).

(Kept the fixme that was added in that commit)

This reverts commit 3408e16013.
2017-12-27 10:14:43 +00:00
Tom Hacohen 52f7d4ddd5 Base JSON: serialise should return the template type. 2017-12-26 15:48:40 +00:00
Tom Hacohen 3408e16013 Only mark journals that have been shared with us as unsupported.
Journals that we've shared are supported even if we share them,
so make the check a bit more explicit so we show them.
2017-12-26 11:59:03 +00:00
Tom Hacohen 3d9155e306 EteSync: expose journal owner. 2017-12-26 11:56:56 +00:00
Tom Hacohen 763b5b757f Remove redundant filtering of shared journals.
This is already done in sync gate.
2017-12-26 11:41:14 +00:00
Tom Hacohen 84a0bf2a8e Add a cancel button when editing contacts and events.
Fixes #2.
2017-12-25 12:26:27 +00:00
Tom Hacohen 73ab88d3d2 Sync gate: better position the loading indicator. 2017-12-18 18:50:29 +00:00
Tom Hacohen eafdb02d5c Loading indicator: pass on props. 2017-12-18 18:49:56 +00:00
Tom Hacohen e9f984dee9 SearchableAddressBook: add a search icon. 2017-12-18 17:40:40 +00:00
Tom Hacohen 77d60d0681 Update sjcl. 2017-12-18 17:40:14 +00:00
Tom Hacohen ee34109d14 Addressbook: add a searchable address book that lets us filter the list 2017-12-18 16:18:44 +00:00
Tom Hacohen c6df5c800a Addressbook: support passing a filter function and memoize the sort. 2017-12-18 16:05:05 +00:00
Tom Hacohen 85982abbc6 Update the readme. 2017-12-18 16:05:05 +00:00
Tom Hacohen 724bc29e4a Merge the duplicate contact/event view/edit/log routes. 2017-12-18 15:14:53 +00:00
Tom Hacohen 7bd3051416 Unify the names of the props of ContactEdit and EventEdit. 2017-12-18 15:05:42 +00:00
Tom Hacohen 40af8a49d7 Make the event and contact itemUid the consistent.
It was different between them and compared to viewing a journal's item.
This was inconsistent and is now fixed.
2017-12-18 14:31:52 +00:00
Tom Hacohen 35b3ce7f95 Add a button to show an item's (contact/event) change history
Fixes #1
2017-12-18 14:27:34 +00:00
Tom Hacohen 30cd979ba8 Journal entries: support filtering by entry uid. 2017-12-18 14:21:57 +00:00
Tom Hacohen ab3ebbff05 Fix the calendar widget on mobile. 2017-12-18 10:39:08 +00:00
Tom Hacohen 0eaaf671e8 Add some margin between the edit button and the header. 2017-12-18 10:05:54 +00:00
Tom Hacohen 0abe801dc7 Disable pull to refresh in PWAs based on chrome. 2017-12-17 22:17:14 +00:00
Tom Hacohen 6687758a3a Add a refresh button and make it spinable.
This also adds a HOC that makes icons spinable.
2017-12-17 22:13:19 +00:00
Tom Hacohen 199cc5771c Fix background colour issue. 2017-12-17 18:15:45 +00:00
Tom Hacohen 4833a98763 Split fetching credentials and key derivation. 2017-12-17 18:15:45 +00:00
Tom Hacohen b769c18021 Show a shorter login form (only enc password) if already logged in.
This is extremely useful for iOS devices where a PWA's session storage
is deleted every time it's minimised, and it's also useful for people
having multiple tabs open.
2017-12-17 17:49:09 +00:00
Tom Hacohen 2608a354ea Add an action to derive the encryption key. 2017-12-17 17:36:37 +00:00
Tom Hacohen 232ea823d0 LoinGate: rename the incorrectly named class name. 2017-12-17 17:17:23 +00:00
Tom Hacohen 8d3a06cdfd Split the login credentials and the encryption key.
We do this so we can persist the login info to local storage, but
still keep the encryption key safe.

This version will fails if you clear the session storage. This will be
fixed in the next commit.
2017-12-17 17:17:23 +00:00
Tom Hacohen c7e508b890 Also disable back when we have no history stack.
This is useful for when we open a page directly in an inner link.
2017-12-17 15:28:36 +00:00
Tom Hacohen 50af0ac0d1 Container: fix marging to be padding so size is correct. 2017-12-17 15:12:12 +00:00
Tom Hacohen a464f019aa Fix the elastic white area on iOS and change bar to translucent. 2017-12-17 15:12:12 +00:00
Tom Hacohen 2d76164666 Fix the back button to work on first load too. 2017-12-17 13:37:22 +00:00
Tom Hacohen 054caaa56f Change the menu button to a back button on the main page. 2017-12-17 13:07:17 +00:00
Tom Hacohen 51abf02709 Fix PWA to work on the iphone. 2017-12-17 12:35:29 +00:00
Tom Hacohen b4d3cd27b1 Update the color theme in the html file. 2017-12-17 12:22:10 +00:00
Tom Hacohen f74ec6f05a Merge JournalAddressbook and JournalCalendar. 2017-12-17 12:21:39 +00:00
Tom Hacohen dd0b214702 Update the color scheme in the app's manifest. 2017-12-17 02:35:00 +00:00
Tom Hacohen a32002eabd Replace the a tag with an ExternalLink component.
This lets us handle behaviour more consistently, for example by opening
external links in a new tab.
2017-12-17 02:27:21 +00:00
Tom Hacohen ec8a1d9017 Fix react-router related types. 2017-12-16 23:12:24 +00:00
Tom Hacohen 06887c58c3 Fix event types. 2017-12-16 23:06:18 +00:00
Tom Hacohen e48ebc5137 Fix entries fetching by creating a fetchAll action. 2017-12-16 22:23:50 +00:00
Tom Hacohen e38409203c Remove fetching status from the store.
This was causing constant invalidations and therefore killing our performance.
2017-12-16 22:23:50 +00:00
Tom Hacohen e58ddf8545 Implement shallow compare for the journal reducer.
The reason why we need it is that we don't have a concept of etag for
journal fetching, which means we were setting the store on each fetch
causing everything that depends on the journals to invalidate.

This triggers a bug that causes the entries not to refresh if the
journals haven't changed.
2017-12-16 21:53:12 +00:00
Tom Hacohen 2aa92f15e7 Reducer: don't reset the store when fetching.
There were a couple of bugs there:
1. The store was reset while fetching/error because the payload was
empty/error.
2. The error status wasn't reset after for successful fetches that
follow failed ones.
2017-12-16 21:33:40 +00:00