Tom Hacohen
28c16ccae5
Journal members: implement giving access
2019-05-28 16:02:52 +01:00
Tom Hacohen
d0c9a9c559
Crypto: Add function to get cryptomanager's encryption key.
2019-05-28 15:57:07 +01:00
Tom Hacohen
34e6fc3668
User info: make it possible to deserialize contentless user info.
2019-05-28 15:56:52 +01:00
Tom Hacohen
61a4347a64
PrettyFingerprint: add a widget for pretty showing of fingerprints.
2019-05-28 15:56:52 +01:00
Tom Hacohen
4255e9f3d8
Confirmation dialog: fix confirmation dialog titles.
2019-05-28 13:07:15 +01:00
Tom Hacohen
68b38f115f
List: implement right icon for list items.
2019-05-28 11:26:29 +01:00
Tom Hacohen
85ac4da839
Journal members: implement revoking access.
2019-05-28 11:11:39 +01:00
Tom Hacohen
a557ec1fd2
Fix creation of default journals for new accounts.
...
I don't know when it stopped working or why, but this fixes it.
It was obviously an error, and was caused by sloppy typing.
2019-05-27 20:12:26 +01:00
Tom Hacohen
46fe1ceeb6
Gracefully handle wrong encryption passwords.
...
Until now we just showed integrity error which could be one of many issues.
Now we show an explicit error message and only clear the encryption password
cache rather than the whole cache.
2019-05-21 16:56:34 +01:00
Tom Hacohen
dfd6914cd9
Fix version number when saving events/todos.
2019-05-03 09:22:40 +01:00
Tom Hacohen
d1293b08c3
Journal: implement importing entries from file
...
It still needs a bit of polished, such as proper error handling,
progress indication, chunked pushing and etc, though it does work!
Fixes #17
2019-03-27 17:11:55 +00:00
Tom Hacohen
8a58fb01fc
Journal view: fix viewing of tasks directly from the journal.
2019-03-27 17:10:24 +00:00
Tom Hacohen
5de1087a2a
Ical.js types: add support for getting all subcomponents.
2019-03-27 14:19:29 +00:00
Tom Hacohen
cd28f282fb
API helpers: split the function creating journal entry.
2019-03-15 18:45:34 +00:00
Tom Hacohen
941b47b59a
API helpers: rename createJournalEntry -> addJournalEntry.
...
Following the change from the previous commit.
2019-03-15 18:43:22 +00:00
Tom Hacohen
9b7f24eb8a
Store actions: Rename createEntries -> addEntries.
2019-03-15 18:41:29 +00:00
Tom Hacohen
49273fbc6f
Calendar: scroll to 8am when opening week and day views.
...
Fixes #40 .
2019-03-15 13:40:16 +00:00
Tom Hacohen
4b09b9832a
Task: fix allDay when a task doesn't have a startDate.
2019-02-26 08:26:31 +00:00
Tom Hacohen
494bc2e3bd
Fix viewing tasks with no start or end date.
2019-02-26 08:24:13 +00:00
Tom Hacohen
f26af1e1ac
Journal actions: split fetchAll and fetching journal entries.
2019-02-25 23:05:04 +00:00
Tom Hacohen
8cc20ec3ed
Fix removal of deleted jorunals from the journal list.
...
Fixes #36 .
2019-02-25 23:01:37 +00:00
Tom Hacohen
ae3f32cc01
Store: handle addJournal correctly (include empty entry list).
...
Fixes #35 .
2019-02-25 22:48:10 +00:00
Tom Hacohen
aeca32afa8
AddressBook: make sort case insensitive.
...
Fixes #34 .
2019-02-24 19:31:02 +00:00
Tom Hacohen
ad45ad3f83
Update tslint and fix warnings.
2019-02-22 16:27:35 +00:00
Tom Hacohen
7da0a6009b
More tslint fixes.
2019-02-22 09:43:05 +00:00
Tom Hacohen
9913adc756
Update tslint config and update code to conform.
2019-02-22 09:38:12 +00:00
Tom Hacohen
3d67ad13b6
Remove redundant semi-colons.
2019-02-21 21:36:08 +00:00
Tom Hacohen
5c94954c96
Store reducers: fix inconsistent empty lines.
2019-02-21 14:29:33 +00:00
Tom Hacohen
812c8df61a
store reducers: fix copy paste for type.
2019-02-21 14:29:13 +00:00
Tom Hacohen
7e406e4f77
Split the store construction to a separate file.
2019-02-21 14:14:46 +00:00
Tom Hacohen
a4fca53541
Rename the locale settings to locale
...
I was trying to make it easier for people, but on second thought, en-GB
is definitely not representative of Europe, so having this split was
confusing.
2019-02-16 19:35:58 +00:00
Tom Hacohen
3b7fadcc69
Set the locale based on the settings.
...
Partially fixes #4
2019-02-16 19:22:31 +00:00
Tom Hacohen
43044750e3
Add support for settings (route and store).
2019-02-16 19:22:05 +00:00
Tom Hacohen
b46291f360
Make the login screen slightly nicer.
2019-02-16 18:22:15 +00:00
Tom Hacohen
e4c2cece16
Remove the unneeded isomorphic fetch.
2019-02-15 16:11:22 +00:00
Tom Hacohen
5237b14b74
Event and task: show timezone information.
...
First steps towards #29 .
2019-02-15 10:59:49 +00:00
Tom Hacohen
172cc4ce53
Task: rename the completed property to finished and include cancelled.
2019-02-14 22:00:13 +00:00
Tom Hacohen
66d95216f7
Add support for editing a task's status.
2019-02-14 21:57:19 +00:00
Tom Hacohen
a32e2c9019
Event and task description: show the text preformatted.
...
We previously had it in a div, which was dropping newlines.
2019-02-14 21:47:32 +00:00
Tom Hacohen
47c259d803
Improve task viewing.
2019-02-14 21:47:32 +00:00
Tom Hacohen
e90a92ed57
Add a function to format just a date.
2019-02-14 21:47:32 +00:00
Tom Hacohen
c2d4027e13
Move event date formatting function to a shared place.
2019-02-14 21:47:32 +00:00
Tom Hacohen
4db3b24743
Add task edit support.
2019-02-14 21:47:32 +00:00
Tom Hacohen
09ddfe8be8
Event: fix date calculation to account for exact same dates.
2019-02-14 20:15:48 +00:00
Tom Hacohen
7336fe5527
Change the max container width to 30rem.
2019-02-14 18:23:44 +00:00
Tom Hacohen
82434cec2c
Fix exception by moving to the better props type declaration.
...
Seems like a regression with React (or a deprecation?) as it used to
work. Though the separate interface style is better and works better
with typescript anyway.
2019-02-14 11:12:56 +00:00
Tom Hacohen
2fd674a456
Add support for tasks.
2019-02-14 11:12:56 +00:00
Tom Hacohen
d11180fed6
Fix material ui depracations.
2019-02-14 11:09:05 +00:00
Tom Hacohen
59aef075f5
Fix issue with navigation in journal views.
2019-02-14 10:40:27 +00:00
Tom Hacohen
e4de0605f9
Fix all the issues that came with switching to react scripts
2019-02-14 10:21:51 +00:00
Tom Hacohen
3c05beef0b
Move to react-scripts now that it supports typescript.
2019-02-14 10:21:51 +00:00
Tom Hacohen
d09b2f964a
Journal members: add a notice for no members.
2019-02-14 08:54:23 +00:00
Tom Hacohen
57f1aadc0d
Expand containers to fill full vertical height.
2019-02-12 21:36:03 +00:00
Tom Hacohen
b24070883a
Journal: add a page for viewing members.
2019-02-12 21:36:03 +00:00
Tom Hacohen
8b438a81f6
Prettify the journals page.
2019-02-12 20:02:14 +00:00
Tom Hacohen
56f976c766
Implement journal creation and deletion.
2019-02-12 19:54:32 +00:00
Tom Hacohen
525ec58081
Journal edit: disallow editing journals we don't own.
2019-02-12 19:48:27 +00:00
Tom Hacohen
c5fc6f23f5
Jounal store: simplify the store functions and change the list to a hash
...
It's always been a massive mess, this improves it.
2019-02-12 19:48:27 +00:00
Tom Hacohen
5b79e0f107
Implement journal update.
2019-02-12 19:48:27 +00:00
Tom Hacohen
b583347473
Confirmation dialog: fix warnings.
2019-02-12 19:48:27 +00:00
Tom Hacohen
b1070ecc94
Restructure the journals route.
...
This puts the jorunal list and the journal view in the same place
and will make it easier to add new/edit.
2019-02-12 19:27:25 +00:00
Tom Hacohen
4dac9703e9
Refresh button: add title.
2019-02-12 19:27:25 +00:00
Tom Hacohen
8f13da7a39
Remove the secondary header and update the appbar instead.
2019-02-12 19:27:21 +00:00
Tom Hacohen
cf435118d4
Secondary header: add support for more than just text.
2019-02-12 13:40:12 +00:00
Tom Hacohen
20b409ffe8
Move the journals to their own page.
2019-02-12 13:26:46 +00:00
Tom Hacohen
ebb2649078
Apply the theme to the base of the app.
2019-02-09 10:41:38 +00:00
Tom Hacohen
51e436be2e
Remove the hacky getPalette function and use the theme instead.
2019-02-09 10:22:55 +00:00
Tom Hacohen
45bd0a9054
Associate account workaround: allow journal creation to fail.
2019-01-26 22:56:52 +00:00
Tom Hacohen
7d2fa215a3
Also init tasks on first run.
2019-01-26 22:47:04 +00:00
Tom Hacohen
a8c6b30456
Fix infinite loading indicator when there are no entries.
2019-01-26 22:46:48 +00:00
Tom Hacohen
9f4fb75d73
Main view: make the calendar the default view.
...
It's used much more often than the contact list, so makes sense it's
the default.
2019-01-13 19:00:26 +00:00
Tom Hacohen
a9b6978ae5
Add basic support for viewing tasks.
2019-01-07 21:12:08 +00:00
Tom Hacohen
7d5bbd5742
Allow non-email usernames when using own server
...
Fixes #19
Co-authored-by: Nemanja Nedeljković <nemanjan00@gmail.com>
2019-01-04 21:16:50 +00:00
Tom Hacohen
3fc9e32f76
Item update/delete: fetch before inserting to make sure we're up to date.
2018-12-25 12:09:57 +00:00
Tom Hacohen
e697d3d276
Make it clearer that the first encryption password entered sets it.
...
Fixes #26
2018-12-24 16:16:28 +00:00
Tom Hacohen
e3e4a5288a
Event edit: fix wording in confirmation dialog (contact -> event).
...
Fixes #27 .
2018-12-24 08:31:22 +00:00
Tom Hacohen
f4fab17fb9
Don't show recurring warning for non recurring events.
2018-12-14 16:47:42 +00:00
Tom Hacohen
6b859b0693
Change the tab text colour to black.
...
Keeping the main title white and bold for now as it pops more. Maybe also
need to change.
Fixes #25 .
2018-12-03 16:12:37 +00:00
Tom Hacohen
493343dd92
Contact edit: fix default type for jabber.
2018-11-13 10:31:18 +00:00
Tom Hacohen
87c777ac10
Appbar: fix the warning about passing an unknown props.
2018-11-13 10:28:58 +00:00
Tom Hacohen
4d386f5a0a
Contact edit: fix changing subfield types.
2018-11-13 10:26:58 +00:00
Tom Hacohen
31bb36187a
Contact edit: improve design a bit.
2018-11-13 10:07:40 +00:00
Tom Hacohen
edc662b7c0
Contact/event: fix creating items on non-default journals.
...
Fixes #22
2018-11-13 10:06:51 +00:00
Tom Hacohen
fbdd478602
App: upgrade material-ui.
2018-10-25 00:49:38 +01:00
Tom Hacohen
c1d446551b
Event Edit: upgrade material-ui.
2018-10-25 00:17:45 +01:00
Tom Hacohen
6a0b94fa0e
Contact edit: upgrade material-ui.
2018-10-25 00:07:55 +01:00
Tom Hacohen
40ad15673d
Searchable addressbook: upgrade material-ui.
2018-10-24 23:46:59 +01:00
Tom Hacohen
a936ef2b64
Journal entries: upgrade material-ui.
2018-10-24 23:40:44 +01:00
Tom Hacohen
505795c711
Address book: upgrade material-ui.
2018-10-24 23:33:43 +01:00
Tom Hacohen
a249bb4586
Sidebar: upgrade material-ui.
2018-10-24 23:29:06 +01:00
Tom Hacohen
08bb517ef1
Login form: upgrade material-ui.
2018-10-24 23:26:11 +01:00
Tom Hacohen
bc46c197ba
Confirmation dialog: upgrade material-ui.
2018-10-24 23:10:59 +01:00
Tom Hacohen
eac0508194
Loading indicator: upgrade material-ui.
2018-10-24 23:04:17 +01:00
Tom Hacohen
6d0614df63
Container: upgrade material-ui.
2018-10-24 23:03:10 +01:00
Tom Hacohen
a33bde29d4
Pim Main: upgrade materail-ui.
2018-10-24 23:01:36 +01:00
Tom Hacohen
291b8ae8a6
Pim index: upgrade material-ui.
2018-10-24 22:53:18 +01:00
Tom Hacohen
d6b7ba0240
Journal: upgrade material-ui
2018-10-24 22:41:34 +01:00
Tom Hacohen
5cdf5d5563
Contact: upgrade material-ui.
2018-10-24 22:04:30 +01:00
Tom Hacohen
0a9d4f8a10
Calendar: implement basic recurrence support.
...
At the moment it only shows recurrence in the calendar. You can't edit
specific instances, only the whole series (the first event). You can't
event edit the rrule at the moment. It's view only (mostly).
While this is not much, this is already a major boost to the usability
of etesync web.
Fixes #15 .
2018-10-23 23:38:21 +01:00
Tom Hacohen
048c591b95
ICAL types: add more types and properties.
2018-10-23 23:38:21 +01:00
Tom Hacohen
563f718597
Fix contact's birthday and anniversary date presentation.
2018-10-05 10:27:33 +01:00
Tom Hacohen
e0ec5ee6c8
Encryption password login: add autofocus.
2018-10-05 10:12:11 +01:00
Tom Hacohen
f828e3d290
Upgrade material-ui and start migrating to it.
2018-10-04 23:31:17 +01:00
Tom Hacohen
ae26e34eb4
Update react, typescript recompose and etc.
2018-10-04 22:45:30 +01:00
Tom Hacohen
01b9921b2a
Purge cache in case of an integrity error and show a nicer message.
2018-08-22 20:37:13 +01:00
Tom Hacohen
73897700d9
Automatically create the default journals if there are none.
2018-08-13 11:26:52 +01:00
Tom Hacohen
1e1033fdf1
Actions fetchAll: return a promise rather than undefined.
2018-08-13 10:28:33 +01:00
Tom Hacohen
8e7243964d
Automatically create user info when there is none.
2018-08-13 10:19:16 +01:00
Tom Hacohen
811f795304
Add an ugly fragile hack to make the calendar fill the vertical space.
...
This is very fragile, but at least if it breaks it falls back to the
previous behaviour so it's not the end of the world if it does.
Fixes #16 .
2018-08-10 15:33:49 +01:00
Tom Hacohen
c25ac2d6c0
Improve error handling.
2018-07-04 19:26:46 +01:00
rugk
6456625716
Add access prohibition for external links
2018-03-23 18:08:32 +00:00
Tom Hacohen
5842b7074a
Login form: show a better error message.
2018-03-12 15:29:55 +00:00
Tom Hacohen
94214c9617
Calendar: fix switching back to months view when going back to calendar
...
Currently we preserve the watched date, so it's preserved when going
back to a calendar page. Now we also preserve the view.
Fixes #10
2018-02-23 10:19:31 +00:00
Tom Hacohen
99ccfaf441
Item creation: fix the cancel button.
...
It wasn't working because the callback was not connected, but the
onDelete callback was connected instead (which shouldn't have been).
2018-02-22 21:01:03 +00:00
Tom Hacohen
71f7df252a
Fix event editing.
...
It was crashing due to 7917b1fbe1
.
2018-02-22 20:58:55 +00:00
Tom Hacohen
e2a418a914
Upgrade react-scripts-ts and typescript.
2018-02-22 20:38:45 +00:00
Tom Hacohen
4c441de728
Calendar: Fix navigating of month view (workaround big-calendar bug)
...
This is a workaround for:
https://github.com/intljusticemission/react-big-calendar/issues/718
2018-02-22 20:26:53 +00:00
Tom Hacohen
56c12012fe
Types: update react-big-calendar types.
2018-02-22 20:26:53 +00:00
Tom Hacohen
7917b1fbe1
Calendar: Implement clicking on a time slot to add an event
...
You can now click (or select) a time slot to create an event that is
automatically populated with the selected times.
Fixes #8
2018-02-22 20:08:56 +00:00
Tom Hacohen
d09895c655
Event edit: remove the word Date from the datetime placeholder.
...
It was confusing users who thought this was only a date picker. This makes
it more generic.
2018-01-17 16:07:32 +00:00
Tom Hacohen
ed64bff3da
Switch to react-datetime for the date time picker
...
The reason for that is because not all browsers support input
type=date/time
2018-01-17 12:17:06 +00:00
Tom Hacohen
2187f4cd22
Types ical.js: add to/from json.
2018-01-17 12:16:32 +00:00
Tom Hacohen
f0ab21172a
Types ical.js: fix fromJSDate.
2018-01-17 11:21:37 +00:00
Tom Hacohen
56a28bf9c8
Fix the type of the DateTimePicker's change callback.
2018-01-13 20:14:31 +00:00
Tom Hacohen
02bb9baea7
Add more properties needed by react-big-calendar.
2018-01-08 14:34:22 +00:00
Tom Hacohen
9c740a4c4d
Add support for saving entries to shared journals.
2017-12-30 15:58:46 +00:00
Tom Hacohen
71e20bb65f
UserInfo: Fix persistance of user info to cache.
2017-12-30 15:49:56 +00:00
Tom Hacohen
e257f427eb
Show an error message when userInfo doesn't exist.
2017-12-30 15:46:20 +00:00
Tom Hacohen
b0cae39814
Add a widget to present errors nicely.
2017-12-30 15:42:49 +00:00
Tom Hacohen
8367767006
SyncGate: only get asymmetricKey from UserInfo if needed.
2017-12-30 15:34:26 +00:00
Tom Hacohen
719b0516f0
Support shared journals in side menu too.
...
This code path needs to be merged with SyncGate.
2017-12-30 15:33:25 +00:00
Tom Hacohen
cf823f5efe
Implement fetching userInfo and opening shared journals.
2017-12-30 15:16:16 +00:00
Tom Hacohen
80e9805d22
AsymmetricCrypto: we actually using pkcs8 not 1.
2017-12-30 15:14:23 +00:00
Tom Hacohen
12b578d44c
UserInfo: Fix the HMAC calculation function.
2017-12-30 15:11:32 +00:00
Tom Hacohen
1ee224bd0b
Add an action to fetch userInfo.
2017-12-30 14:35:49 +00:00
Tom Hacohen
00045d7cb0
CryptoManager: Add an option to load an already derived key.
2017-12-30 14:15:11 +00:00
Tom Hacohen
9a8f1cd33f
Add AsymmetricCryptoManager for asymmetric encryption.
2017-12-30 13:20:25 +00:00
Tom Hacohen
3353b21162
CryptoManager: fix decrypt/encrypt bits type.
2017-12-30 13:06:49 +00:00
Tom Hacohen
1f961fbad1
UserInfo: implement setting and getting the keypair.
2017-12-30 12:32:52 +00:00
Tom Hacohen
45db0c12c5
Crypto manager: add methods to encrypt/decrypt from/to bytes.
2017-12-30 12:13:06 +00:00
Tom Hacohen
fb738622fe
API: Add API to handle UserInfo.
2017-12-30 11:45:58 +00:00
Tom Hacohen
ac31f7093f
Add a basic link about signed pages.
2017-12-29 15:47:11 +00:00
Tom Hacohen
78c19fe7c4
Fix one-day long allDay events.
2017-12-29 12:19:28 +00:00
Tom Hacohen
2056c62b80
Use the error boundary component to semi-gracefully catch errors.
2017-12-29 11:46:06 +00:00
Tom Hacohen
5a79fdb6b8
Add an error boundary component to catch errors.
2017-12-29 11:45:26 +00:00
Tom Hacohen
e956ef3059
Change the delete confirmation dialog label.
2017-12-28 20:47:20 +00:00
Tom Hacohen
074fc8e6c0
Implement a common interface for pim types.
2017-12-28 17:43:17 +00:00
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
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
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
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
f74ec6f05a
Merge JournalAddressbook and JournalCalendar.
2017-12-17 12:21:39 +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
Tom Hacohen
b876a90a5a
Fix the calendar component to avoid re-rendering.
2017-12-16 20:59:08 +00:00
Tom Hacohen
8186055537
Syncgate: don't create the router aware components on each render.
2017-12-16 20:55:37 +00:00
Tom Hacohen
4613a65365
Don't recreate the persistant calendar component on each render.
2017-12-16 20:54:25 +00:00
Tom Hacohen
331d85d3a2
history persistor: follow the recommended HOC guidelines.
2017-12-16 20:29:50 +00:00
Tom Hacohen
5a1b3af9b0
Calendar: fix the unnecessary recration of closures.
2017-12-16 20:23:22 +00:00
Tom Hacohen
0d6ecfdbdf
Calendar: remove the unneccesary events sort.
2017-12-16 20:21:50 +00:00
Tom Hacohen
e085c0c40a
Side menu journals: don't trigger recalcs on route changes.
2017-12-16 20:10:23 +00:00
Tom Hacohen
a77e9077bf
Address book: make a component out of the list item.
2017-12-16 19:46:38 +00:00
Tom Hacohen
cec318f41f
Api: rename tsx files to ts.
2017-12-16 18:14:22 +00:00
Tom Hacohen
0ee6bbd340
Bring back list margin and remove the explicit contact padding
2017-12-16 18:11:36 +00:00
Tom Hacohen
98686f197a
Move all of the side menu items to one place.
2017-12-16 18:08:26 +00:00
Tom Hacohen
1da58da23e
Move all of the Pim related files to one dir.
2017-12-16 18:08:26 +00:00
Tom Hacohen
62dbc4b08d
Move all of the Journal related files to one dir.
2017-12-16 18:08:26 +00:00
Tom Hacohen
441549f41d
Move LoginForm to the component dir.
2017-12-16 17:54:31 +00:00
Tom Hacohen
e710e89200
Remove server url awareness from LoginForm making it a cleaner component.
2017-12-16 17:53:08 +00:00
Tom Hacohen
9f5da61dfb
Remove the hack we used for React.Fragment.
2017-12-16 17:46:00 +00:00
Tom Hacohen
6a586ac38f
Rename the Root to LoginGate because that's all it does.
2017-12-16 16:30:59 +00:00
Tom Hacohen
5ee24d054d
Move all of the view-only components to their own directory.
2017-12-16 16:30:59 +00:00
Tom Hacohen
85f5f91f36
Move the constants to their own module.
2017-12-16 16:30:59 +00:00
Tom Hacohen
4722207308
Change the suffix of helpers from .tsx to .ts.
...
They are not jsx files.
2017-12-16 16:30:59 +00:00
Tom Hacohen
d06b7610cd
Move the basic widgets to their own directory.
2017-12-16 16:05:21 +00:00
Tom Hacohen
9029d365bc
Move types to their own directory.
2017-12-16 15:57:09 +00:00
Tom Hacohen
48cd22b464
Move the store into its own module and split it up.
2017-12-16 15:52:46 +00:00
Tom Hacohen
e9db374206
Contact: fix virtual artefact with dividers.
2017-12-16 13:57:54 +00:00
Tom Hacohen
b93049f7a0
List: filter some of the props.
2017-12-16 13:57:19 +00:00
Tom Hacohen
b76ac00d78
Fix the ListDivider to be a list item.
2017-12-16 12:51:47 +00:00
Tom Hacohen
87e670ac97
Use the new MUI-like List API.
...
We had to change away from MUI because the list efficiency was abysmal.
Everything is an order of magnitude faster now.
2017-12-16 12:17:29 +00:00
Tom Hacohen
fdaef3a9f7
Make our List widget more like the mui one.
2017-12-16 12:15:12 +00:00
Tom Hacohen
3bb6d92be7
Add very basic error handling.
2017-12-16 00:19:20 +00:00
Tom Hacohen
2f96977646
Store fetching: fix the return record to include the error and fetching status.
2017-12-16 00:10:58 +00:00
Tom Hacohen
7b7c96719d
Optimise PIM page a bit more.
2017-12-15 18:31:51 +00:00
Tom Hacohen
95c8bff9be
Cache the Pim related calculations.
...
No need to recalc everything if the input is the same.
2017-12-15 18:24:59 +00:00
Tom Hacohen
58eedd1c37
Cache the SyncGate calculations.
...
This was taking quite a lot of time and caching this significantly
improves performance.
We only need it because of the react-redux-router bug, but good to have
it in the meanwhile.
2017-12-15 18:11:08 +00:00
Tom Hacohen
360a6ad826
Create our own dedicated avatar widget.
2017-12-15 16:57:29 +00:00
Tom Hacohen
1a1bdc77af
Add our own list widget.
...
The material ui one is extremely inefficient and was causing noticeable
delays.
2017-12-15 16:50:51 +00:00
Tom Hacohen
97eaa756fe
Add FIXMEs for the withRouter workaround
...
Because of: https://github.com/ReactTraining/react-router/issues/5795
We have to use withRouter which triggers a lot of extra renderings.
This means that until the bug is fixed we have to use withRouter and
some memoization to make sure we don't recalc everything all the time.
2017-12-15 12:52:22 +00:00
Tom Hacohen
264145eb72
Pim: no longer pass the match object.
2017-12-14 14:35:29 +00:00
Tom Hacohen
9f396173b0
Move etsync decryption logic to sync gate.
...
This shares more of the code, and also lets us be more efficient because
we now do these calculations less.
2017-12-14 14:31:17 +00:00
Tom Hacohen
6c4f077d0f
Add missing new for records.
2017-12-14 12:06:12 +00:00
Tom Hacohen
4f88ff6364
Adjust code to work with es5 as a target.
2017-12-14 11:13:01 +00:00
Tom Hacohen
a6ad199023
Make all of the React.Components Pure.
2017-12-14 10:58:25 +00:00
Tom Hacohen
c3e686002e
Move the store to immutable.js
...
This significantly helps with reducing the number of copies we do,
because in most cases a refresh will not change a journal.
2017-12-14 10:58:25 +00:00
Tom Hacohen
ce71c5422f
Pim: cleanup the syncenttry and journals processing..
2017-12-14 10:58:25 +00:00
Tom Hacohen
cabd82b382
Journal: remove accidental ; in content.
2017-12-13 15:56:41 +00:00
Tom Hacohen
ce2c89aa50
Login form: disallow connecting to HTTP addresses in production.
2017-12-13 15:48:44 +00:00
Tom Hacohen
3231131e7e
Add basic validation for events.
2017-12-13 15:31:04 +00:00
Tom Hacohen
f12bc374f4
ContactEdit: remove unset properties.
2017-12-13 15:23:37 +00:00
Tom Hacohen
c51804d7fe
Event and contact: update last modified.
2017-12-13 15:22:00 +00:00
Tom Hacohen
de3f96a10d
ContactEdit: add IMPP.
2017-12-13 15:12:25 +00:00
Tom Hacohen
29ffb5a74b
Add a few more contact fields.
2017-12-13 15:01:58 +00:00
Tom Hacohen
1524600e4b
In iCal, all day events are until the end date not including
...
Adjust accordingly, and add some basic validation.
2017-12-13 14:40:06 +00:00
Tom Hacohen
29ae3005ea
EventEdit: don't discard fields we don't handle and add a note about it.
2017-12-13 14:18:45 +00:00
Tom Hacohen
da935c0836
Fix editing events of a journal other than the default.
2017-12-13 14:11:56 +00:00
Tom Hacohen
6d4c9c01e0
Fix saving of contacts.
2017-12-13 14:11:56 +00:00
Tom Hacohen
8c3adcdc94
Don't save empty properties.
2017-12-13 14:11:56 +00:00
Tom Hacohen
fec1edf711
Make contact view more ressilient.
2017-12-13 14:11:56 +00:00
Tom Hacohen
cf396ff904
Add missing version properties.
2017-12-13 14:11:56 +00:00
Tom Hacohen
a7eb74bee1
Cleanup ContactEdit a bit and add address support.
2017-12-13 14:11:56 +00:00
Tom Hacohen
574df977c2
Store: fix test.
2017-12-13 14:11:56 +00:00