Commit Graph

790 Commits (53b09aa740bb8823fb9e75b2c34674f738602d9f)

Author SHA1 Message Date
Tom Hacohen 1489f8ec1b SyncCollections: fix the return type of the setSyncCollection action. 2020-08-08 09:45:31 +03:00
Tom Hacohen 2456b2645f Store: move the base64 serialization to the persistor serializers.
We were doing it earlier (in the store), and it was less efficient and
unnecessary. The correct place for the serialization is when actually
needing it.
2020-08-08 09:42:01 +03:00
Tom Hacohen 346dc95cee Rename Credentials2/Cache2 (left-overs from the etebase migration). 2020-08-07 18:28:02 +03:00
Tom Hacohen abf2224d31 Store: clear cache and sync items on logout. 2020-08-07 18:25:54 +03:00
Tom Hacohen 40c3a1f114 SyncManager: clean up collection handling. 2020-08-07 18:23:29 +03:00
Tom Hacohen 626771d2c5 Store: implement updating store in bulk. 2020-08-07 18:21:44 +03:00
Tom Hacohen 6e3bb42f96 Item batch: clean up reducers and update store on upload 2020-08-07 18:17:47 +03:00
Tom Hacohen 200102d222 createAction: fix the action type. 2020-08-07 17:45:50 +03:00
Tom Hacohen 2c2abbb7ae Collection upload: consolidate reducer and update store on upload. 2020-08-07 17:20:25 +03:00
Tom Hacohen 2f8794e8fd store: add a useAsyncDispatch function for type-correct async dispatch. 2020-08-07 17:17:16 +03:00
Tom Hacohen 460c2e2b4a Pim: move all of the item save/delete functions to one place. 2020-08-06 18:37:12 +03:00
Tom Hacohen 85ef564b63 Autorefresh: remove url hack. 2020-08-06 11:02:18 +03:00
Tom Hacohen dc7f2fb47c Remove redundant code. 2020-08-06 11:01:27 +03:00
Tom Hacohen e01012160b Collection edit: remove the word journal. 2020-08-06 10:58:56 +03:00
Tom Hacohen dcb1337905 Event clone: also clone collection/item Uid. 2020-08-06 10:58:43 +03:00
Tom Hacohen 1877afca50 Remove wrong hardcoded url. 2020-08-06 10:56:18 +03:00
Tom Hacohen f28d4f6af0 Fix isAdmin and isReadOnly for collections. 2020-08-06 10:51:43 +03:00
Tom Hacohen 4047638e6f Completely remove EteSync dependency. 2020-08-06 10:47:07 +03:00
Tom Hacohen 8fb50df017 Remove more redundant code. 2020-08-06 10:46:35 +03:00
Tom Hacohen 0343c80fb9 SyncManager: remove persistor force-persist. 2020-08-06 10:46:35 +03:00
Tom Hacohen c69f5e27ad Journals: remove unused journals components. 2020-08-06 10:46:35 +03:00
Tom Hacohen 2f565994b7 CollectionMembers: add pages to control collection memberships. 2020-08-06 10:46:35 +03:00
Tom Hacohen 0bb7867059 Collection: add a changelog history page. 2020-08-06 10:46:35 +03:00
Tom Hacohen 059522532a Fix setting of mtime for newly created items. 2020-08-06 10:46:35 +03:00
Tom Hacohen 26788cc749 Collections: add collection list import page. 2020-08-06 10:46:35 +03:00
Tom Hacohen 3db3720eef CollectionList: show colorbox when color is available. 2020-08-06 10:46:35 +03:00
Tom Hacohen 3a690e351a Collections: implement import. 2020-08-06 10:46:35 +03:00
Tom Hacohen 9cf37a0fb4 Collections: add a component that views the collection. 2020-08-06 10:46:35 +03:00
Tom Hacohen d5a582e842 Task edit: fix task edit (setting the collection). 2020-08-06 10:46:35 +03:00
Tom Hacohen 9077f3878e ContactEdit: fix constructor's type and rename journalUid. 2020-08-06 10:46:35 +03:00
Tom Hacohen 8e8c779fa6 Event edit: fix event edit (setting the collection). 2020-08-06 10:46:35 +03:00
Tom Hacohen 877171b2ea App: cleanup the component and make sync add to fetch count. 2020-08-06 10:46:35 +03:00
Tom Hacohen 3ebaf35f49 Implement adding new collections and editing existing 2020-08-06 10:46:35 +03:00
Tom Hacohen 96ae079145 Add a collections section. 2020-08-06 10:46:35 +03:00
Tom Hacohen 1b73899182 Appbar: make sure it changes when the location changes. 2020-08-06 10:46:35 +03:00
Tom Hacohen b804a8945d Add back the tab navigation buttons. 2020-08-06 10:46:35 +03:00
Tom Hacohen a4ee9b57c9 Fix sidemenu and drawer menu icon for the home routes. 2020-08-06 10:46:35 +03:00
Tom Hacohen 09dc82df67 Fix Debug page. 2020-08-06 10:46:35 +03:00
Tom Hacohen 7f85d304a8 Store: fix cache collection storage. 2020-08-06 10:46:35 +03:00
Tom Hacohen b39f100bdb Create tasks route. 2020-08-06 10:46:35 +03:00
Tom Hacohen 32426b2460 Create the calendar route. 2020-08-06 10:46:35 +03:00
Tom Hacohen b29f19639a Contacts: implement FAB for adding contacts. 2020-08-06 10:46:35 +03:00
Tom Hacohen 36e5f2ccff Moved contact components under Contacts and remove from Pim. 2020-08-06 10:46:35 +03:00
Tom Hacohen 460c712411 Remove PimMain. 2020-08-06 10:46:35 +03:00
Tom Hacohen b796217cd1 Implement contacts editing. 2020-08-06 10:46:35 +03:00
Tom Hacohen 2edc95cce7 snap 2020-08-06 10:46:35 +03:00
Tom Hacohen 1f1d3b6a89 basic sync 2020-08-06 10:46:35 +03:00
Tom Hacohen 1817fbf87d Etebase change to login. 2020-08-06 10:46:32 +03:00
Tom Hacohen 6d18d494a7 JournalMembers: change to be a function component. 2020-08-06 09:46:20 +03:00
Tom Hacohen 6e4689f697 JournalEntries: change to be a function component. 2020-08-05 22:14:28 +03:00
Tom Hacohen cd7739a3d1 ImportDialog: change to be a function component. 2020-08-05 21:13:25 +03:00
Tom Hacohen 749d9de581 SideMenu: change to be a function component. 2020-08-05 17:35:33 +03:00
Tom Hacohen 2eaa9b503a SearchableAddressBook: change to be a function component. 2020-08-05 12:35:29 +03:00
Tom Hacohen c1b57eecfd App: change to be a function component. 2020-08-05 12:20:52 +03:00
Tom Hacohen 9ec5d2a708 Change code to double-quotes. 2020-08-05 09:45:36 +03:00
Tom Hacohen 1327279816 Update dependencies and adjust code accordingly. 2020-08-05 09:40:03 +03:00
Tom Hacohen 0fc92b46a7 Edit pages: remove UNSAFE componentsWillReceiveProps. 2020-07-30 11:18:55 +03:00
Tom Hacohen e38181a8ae Journal: only show change log, not the items.
Was very confusing to people.
2020-07-30 10:50:12 +03:00
Tom Hacohen a1bdea6290 Contact notes: display notes as multiline text. 2020-07-23 11:39:48 +03:00
ramzan 384e12e1ba
Change 'copy' to 'duplicate' and switch to more appropriate icon (#149) 2020-07-20 20:02:51 +03:00
Ramzan 2b43463fb0 Implement Event copying.
Fixes #51.
2020-07-19 10:17:09 +03:00
Ramzan 205d7a3e1b Prevent autoRefresh from running when editing an item 2020-07-18 16:35:40 +03:00
ramzan eb199c53c3
Contact edit: allow editing of name field rather than fn field.
Fixes #80.
2020-07-17 08:44:07 +03:00
ramzan 96029a0f0c
Check if the item exists before rendering the page
Redirect to 404 page if the item doesn't exist.

Fixes #3.
2020-07-17 08:41:49 +03:00
Tom Hacohen ad6ac59c4f Task list: support infinitely deep task hierarchies.
Another step towards fixing #124.
2020-07-16 15:38:14 +03:00
Tom Hacohen 484825b1db TaskList: cleanup a bit. 2020-07-16 13:22:28 +03:00
Tom Hacohen 6ea7bd79cf Task list: implement 1-level task hierarchy.
This is the first step towards fixing #124
2020-07-16 13:22:09 +03:00
Tom Hacohen 2547fb9ae7 Contact: show a contact's photo if available. 2020-07-12 17:23:51 +03:00
Tom Hacohen 985f39930b Debug page: support printing all entries. 2020-07-05 12:45:09 +03:00
Tom Hacohen cf4513a05b Log entries: show the entry uid. 2020-07-05 12:38:18 +03:00
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 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 db2f75ae1f Fix item UIDs with illegal url characters in them by urlescaping them.
Fixes #47.
2020-06-01 11:48:58 +03:00
Daniel Saier c0cc2188c5 Add an option for changing the default API URL during the build 2020-05-31 18:37:02 +03:00
Tom Hacohen 435256bede Experimental: add dark mode.
It's been ready for a while, though we haven't bothered enabling it because the
calendar view is less than great, though I think it makes sense to enable it
now as experimental and improve it as we go.

Fixes #128.
2020-05-22 10:52:25 +03:00
Tom Hacohen f3a533ab2d Settings: change to react hooks + remove unneeded props. 2020-05-22 10:48:47 +03:00
Tom Hacohen bf7590dd91 Fix linting errors. 2020-05-13 13:32:52 +03:00
Tom Hacohen 2d778065c8 ContactEdit: make addresses multiline. 2020-05-13 13:18:26 +03:00
Andrew P Maney 04c4ae94cd Tasks: fix Edit error Toast severity 2020-04-20 10:08:02 +03:00
Andrew P Maney 508d02a0ea Tasks: batched uploads for recurring task completion 2020-04-20 10:08:02 +03:00
Andrew P Maney de94a02025 Task: add recurrence features to list view 2020-04-20 10:08:02 +03:00
Andrew P Maney aada3e6d36 Tasks: add recurrence to Edit 2020-04-20 10:08:02 +03:00
Tom Hacohen dac6ba5900 Login: automatically log out on expired token.
This is a bit of a workaround.
The problem is that we cache auth tokens, but that auth tokens can expire.
Thins means that we could have a stale auth token after coming back to
the app after a long time, so we need to fetch a new one.

Logging out is a bit of a nuclear option, but since this is a rare
scenario, it can do for now.
2020-04-18 15:34:05 +03:00
Tom Hacohen 84f7a11bbc ICAL.js: fix types of complex rrules 2020-04-11 13:49:50 +03:00
Andrew P Maney 73a3729a70 pim-types: change clone to deep clone using string
fixes #119
2020-04-05 14:03:13 +03:00
Andrew P Maney aa9e85a520 Tasks: fix priority sorting
Priority sorting had some inconsistencies. 
The Infinity was causing tasks to not be sorted (Infinity - Infinity = NaN).
Adding sortByDueDate also ensures better sorting when tasks have the same priority
2020-04-05 09:35:33 +03:00
Andrew P Maney 77f734a227 Tasks: fix alignment in Toolbar menu 2020-04-03 09:47:54 +03:00
Andrew P Maney 7a42ff04d8
UI: pretty error messages
Add Toast component for displaying error messages in a more prominent way
2020-03-31 23:09:15 +03:00
Tom Hacohen 0ce83defcc LoginGate: show an error if the user is inactive. 2020-03-31 16:09:55 +03:00
Andrew P Maney ed4ed86880 Tasks: add show/hide hidden feature 2020-03-30 18:10:41 +03:00
Andrew P Maney b78ccfbf8b MUI: fix TimezonePicker types
broken from mui/lab update
2020-03-30 09:52:59 +03:00
Andrew P Maney 36d6308c88 Tasks: change due text to date instead of time to 2020-03-30 01:58:32 +03:00
Andrew P Maney 0b5274887f Tasks: make overdue secondary text red
Also add some logic to display tasks due today as "Due today"
Tasks: fixes
2020-03-28 13:58:46 +03:00
Andrew P Maney 5eea4e89a5 Task edit: fix DateTime's not being properly stored
I messed up a boolean value with my previous pull request. It was causing DateTimes to be stored as Dates and vice-versa.
2020-03-28 10:25:26 +03:00
Andrew P Maney b6b46d2b24 Task edit: change "All Day" to "Include Time" 2020-03-27 00:15:11 +02:00
Andrew P Maney e39974105f Task edit: reword Start Date to "Hide until" 2020-03-26 11:55:18 +02:00
Andrew P Maney e06ccbd21c Tasks edit: add full width styles to timing inputs 2020-03-26 11:55:18 +02:00
Andrew P Maney 39529e66c1 Tasks: add a11y title and aria labels for Toolbar 2020-03-25 13:57:34 +02:00
Andrew P Maney 212dfc7095 Tasks: add search functionality 2020-03-25 13:57:34 +02:00
Andrew P Maney ba00be300e
RRule: handle undefined options.byday
Merge of #108
2020-03-25 13:41:55 +02:00
Andrew P Maney b90adaffb5
Tasks: improve positioning of Toolbar menus
Merges #105
2020-03-23 13:24:04 +02:00
Andrew P Maney 1de7a2ebdd
Tasks: implement sorting
Merge of #104
2020-03-22 13:55:48 +02:00
Andrew P Maney b69b51f558
Tasks: move "Show Completed" to a toolbar menu 2020-03-20 13:33:13 +02:00
Andrew P Maney 74ed60a3fb Tasks: hides Sidebar amount if value 0
Tasks: makes amount conditional more concise
2020-03-19 14:32:54 +02:00
Andrew P Maney e008bc19e8 Tasks: changes dueToday to include all times before today 2020-03-19 09:03:33 +02:00
Andrew P Maney 716240e266 Tasks: adds dueToday getter to TaskType
cleans up some code around filtering by due today
2020-03-18 22:08:13 +02:00
Andrew P Maney 9a7960556b Tasks: adds memoization to Sidebar 2020-03-18 22:04:21 +02:00
Andrew P Maney f3ba0b30ef Tasks: removes unnecessary comments 2020-03-18 21:35:50 +02:00
Andrew P Maney 8ba7709653 Tasks: moves Sidebar specific logic into Sidebar component
also adds amount to Due Today filter
2020-03-18 21:35:50 +02:00
Andrew P Maney 2980305beb Tasks: adds filter by Due Today 2020-03-18 21:35:50 +02:00
Tom Hacohen 02ac73eb25 AddressBook: add missing key property to list items.
Well actually just remove the useless div, but the driver was
to add the missing key prop.
2020-03-18 18:02:49 +02:00
Andrew P Maney effd74e0b2 Tasks: adds filter by tag feature
Squash of #94
2020-03-17 13:25:01 +02:00
Tom Hacohen ec9d8d3329 Revert "Tasks: adds filter by tag feature"
Reverting because I'm not the author. The next commit will have the
right author set.

This reverts commit b14697474c.
2020-03-17 13:23:45 +02:00
Tom Hacohen b14697474c Tasks: adds filter by tag feature
Squash of #94
2020-03-17 13:17:22 +02:00
Andrew P Maney a2d6dacbe4 Settings: change setSettings action to merge with state.
It was overriding state before.
2020-03-17 13:15:48 +02:00
Andrew P Maney 9f618ab36c Tasks: changes margin units from px to em 2020-03-14 21:36:25 +02:00
Andrew P Maney c113c8b283 Tasks: displays tags on Task list items 2020-03-14 21:36:25 +02:00
Andrew P Maney fe8fbfdfd8 Tasks: adds tags 2020-03-14 21:36:25 +02:00
Andrew P Maney 93f06f81cd Tasks: moves misplaced const
a const was accidentally placed in the middle of imports,
that has been moved
2020-03-14 08:44:15 +02:00
Andrew P Maney f04212a1e6 Tasks: renames some vars from event to task
I assume this is just some cruft from a bad copy-paste
2020-03-13 21:51:08 +02:00
Tom Hacohen 69c38d7e8f Journals list+import: move journal items to the left side. 2020-03-13 17:01:59 +02:00
Tom Hacohen e0e805d009 JournalEntries: use a virtualized list for the entries. 2020-03-13 16:56:17 +02:00
Tom Hacohen 2397cfbe6d AddressBook: use a virtualized list for the contacts. 2020-03-13 16:46:30 +02:00
Tom Hacohen 5cb8dda9cc List: move the list widget to use the material ui list.
Fixes #79.
2020-03-13 16:18:08 +02:00
Tal Leibman 6a5d959777 JournalsList: add icon to titles 2020-03-13 15:23:12 +02:00
Tom Hacohen 8aa4af46f1 TaskEdit: fix crash when saving tasks with no status set. 2020-03-13 11:19:36 +02:00
Tom Hacohen 18967ddb16 TaskEdit: use null coalescing instead of ||.
It technically works because undefined happens to be falsey, but still bad
practice and can lead to errors (especially when copy-pasting).
2020-03-13 11:17:05 +02:00
Andrew P Maney 54302c4c07 License: adds license to Colored Radio 2020-03-13 11:15:59 +02:00
Andrew P Maney 29d1e5cfe5 Tasks: adds mapPriority helper function
handles any possible issues with priorities that aren't 1, 5, or 9
2020-03-13 11:15:59 +02:00
Andrew P Maney bdd89fb533 Tasks: colors checkbox according to priority 2020-03-13 11:15:59 +02:00
Andrew P Maney 0436e9ccd0 Tasks: adds colored radio buttons
available as widget, they are being used for priority in Task Edit
2020-03-13 11:15:59 +02:00
Andrew P Maney add95621af Tasks: adds priority to Task type
with ability to edit in form
2020-03-13 11:15:59 +02:00
Andrew P Maney dc1b17f7f4 Tasks: adds secondary text displaying time until due 2020-03-12 11:02:42 +02:00
Tom Hacohen 8e1e3b8fe1 TaskListItem: change from anonymous to named function.
Other than the stylistic choice, this is also very useful for the react
dev tools, which show the component's name.
2020-03-12 10:19:16 +02:00
Andrew P Maney ad3958ae88 Tasks: adds checkbox to Task list item 2020-03-12 10:03:25 +02:00