Commit Graph

725 Commits (f6d4a726708e59044fb9f43fe696890dbd5fdda1)

Author SHA1 Message Date
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
Tom Hacohen 649a7cd281 Event view: change the text colour based on background.
This is needed to ensure a good enough contrast.

Fixes #85.
2020-03-11 20:07:13 +02:00
Andrew P Maney 9e1c7ea8d5 Tasks: adds license 2020-03-11 11:27:51 +02:00
Andrew P Maney 632ec9cacf Pim: changes how onItemSave handles post-save action
onItemSave used to automatically "go back" after saving. New behavior is
onItemSave returns a promise that resolves to the history object. This object
can then be used to go back if needed. This allows for more granular control
over post-save actions.
2020-03-11 11:27:51 +02:00
Andrew P Maney b4ef6e641d Tasks: Quick Add feature
This is a merge of #84
2020-03-11 11:26:25 +02:00
Tom Hacohen 7efb185caf RRule: sanitize byday/month before using.
It was crashing when they were not array, so this change makes sure they are.
Additionally, since we don't support the number prefixes for by day (e.g.
3SA) at least sanitize the ones we can handle which are the ones
prefixed by 1 such as 1SA, and turn them into the equivalent SA.
2020-03-10 10:10:04 +02:00
Tom Hacohen c9aefdec4c Revert "Tasks: Quick Add feature"
Completely broken, had to revert it.

This reverts commit f5eb1932e8.
2020-03-09 19:57:59 +02:00
Tom Hacohen e75e1c5c5e Revert "Tasks: add license to files"
Depends on a completely broken piece of code.

This reverts commit 75f2b50a29.
2020-03-09 19:57:47 +02:00
Andrew P Maney 75f2b50a29 Tasks: add license to files 2020-03-09 19:30:55 +02:00
Andrew P Maney f5eb1932e8 Tasks: Quick Add feature 2020-03-09 19:30:55 +02:00
Andrew P Maney 5d54ab4563 Tasks: reorganizes Tasks components into their own subfolder 2020-03-09 19:27:55 +02:00
Tom Hacohen 0b18cac914 Licensing: add license headers to source files. 2020-03-06 21:10:40 +02:00
Tom Hacohen c00f4d79c7 Member add: change confusing string.
A few users reached out about this and were confused, not understanding
what we mean by having the journal sharing disabled.
2020-03-02 20:21:04 +02:00
Andrew P Maney 41029c1da9 MUI: removes deprecated theme.spacing.unit 2020-02-29 09:46:34 +02:00
Andrew P Maney 059abe4807 Tasks: change clicking on task to go directly to edit page 2020-02-29 00:55:55 +02:00
Tom Hacohen 8e542f6fd7 Journal members: show if a member is shared with as read-only. 2020-02-25 17:41:10 +02:00
Tom Hacohen c907285d78 Journal sharing: support sharing journals as read-only. 2020-02-25 17:35:04 +02:00
Tom Hacohen 8e790ed666 Fix bug with web client not remembering a user is logged in.
Was introduced in 118d26ce83
2020-02-25 15:51:15 +02:00
Tom Hacohen 67c5275fa8 Fingerprint: add security fingerprint to settings page
I was initially trying to add it to the side menu. For a reason I just
can't understand the dialog wouldn't show from there, and I
unfortunately don't have time to debug it at the moment. Here it just
works as is "good enough" for now.
2020-02-25 15:45:55 +02:00
Tom Hacohen fe42a3c2ed Add migrations for the changes in the store's structure 2020-02-22 15:50:57 +02:00
Tom Hacohen 6ed0f02abc SyncGate: move to react hooks. 2020-02-21 16:43:42 +02:00
Tom Hacohen 06bf21248e Add journal and entry error handling to the global error handling. 2020-02-21 16:43:42 +02:00
Tom Hacohen 90392fe432 Change entries to also not be a complex fetch type. 2020-02-21 16:43:42 +02:00
Tom Hacohen 2946be464c Change journals to also not be a complex fetch type. 2020-02-21 16:43:42 +02:00
Tom Hacohen 23048cfa63 Change userInfo to also not be a complex fetch type. 2020-02-21 16:43:42 +02:00
Tom Hacohen 118d26ce83 Simplify the fetch credentials structure to not use the fetch record.
It was thrashing the redux store. We made the same change for the ios app.
2020-02-21 16:43:34 +02:00
Tom Hacohen 5301b546df LoginGate: move to be a function component. 2020-02-21 15:21:28 +02:00
Tom Hacohen 5f78657e51 Fix crash with associate accounts.
Associates accounts can't create journals, and the web client was
failing for them because the creation error wasn't being handled
correctly.
2020-02-17 17:25:42 +02:00
Tal Leibman e0904eea02 RRule: layout and style changes 2020-02-14 16:48:03 +02:00
Tal Leibman 0381d2816b JournalEdit: add ColorPicker and imporve validation
Fixes #75
2020-02-14 14:22:01 +02:00
Tal Leibman 7b0264fc50 Widgets: ColorPicker 2020-02-14 14:22:01 +02:00
Tal Leibman 643010ccfe JournalsList: show journal color 2020-02-14 14:22:01 +02:00
Andrew P Maney 399724f7e4 DateTimePicker: change to a more usable date and time picker
Note by @tasn: I actually wrote this from scratch, but slightly based it
on work by @AbleLincoln in #74 which is why I set him as the author.

Fixes #9
2020-02-14 13:22:33 +02:00
Tom Hacohen 2f199ce0c9 JournalEdit: change to react-hooks. 2020-02-14 12:32:53 +02:00
Tom Hacohen b76a909b7a Login Form: change the label to Email from Username. 2020-02-10 15:40:23 +02:00
Tom Hacohen a4c8fd6688 Helpers: fix color conversion functions and add tests. 2020-02-05 12:43:50 +02:00
Tom Hacohen cac9b21135 AddressBook: fix search when there are contacts with a full name. 2020-01-26 10:48:26 +02:00
Tom Hacohen 28c3a8395b Logout: invalidate the auth token after logging out. 2020-01-23 18:41:11 +02:00
Tom Hacohen 28b11e59ff AddressBook: fix crash when fullname is undefined. 2020-01-22 21:42:08 +02:00
Tom Hacohen 9ec759bd44 Import: mime type detection is unreliable, allow filetype matching too. 2020-01-22 21:41:44 +02:00
Tom Hacohen 4f3c8895f3 Import: hopefully fix infinite loading on import. 2020-01-22 13:16:22 +02:00
Tom Hacohen d0ec686592 Debug: added a debug route to let people easily inspect their journals.
Useful when people are helping with debugging.
2020-01-22 12:47:04 +02:00
Tom Hacohen 8567dd70b7 Import: better handle rejected files. 2020-01-20 17:17:35 +02:00
Tom Hacohen d8a0aa19ca Import: fix error handling to stop the loading and print the error. 2020-01-20 17:01:54 +02:00
Tom Hacohen d268c0fab6 Event Edit: fix handling of recurring events with an until field.
It was slightly the wrong type because of typings were wrong. We now explicitly
convert it.
2020-01-14 22:46:12 +02:00
Tom Hacohen 7b22e0e76b RRule: move filtering of empty values to inside the widget. 2020-01-14 22:40:07 +02:00
Tom Hacohen 8440cac7e8 rrule: fix spacing and locations of code. 2020-01-14 22:19:58 +02:00
Tom Hacohen 16255e4cad RRule: fix indentation. 2020-01-14 22:19:58 +02:00
Tom Hacohen e2b732f212 RRule: remove redundant checks. 2020-01-14 22:19:58 +02:00
Tom Hacohen af65d20444 rrule: handle empty/undefined values 2020-01-14 22:19:58 +02:00
Tom Hacohen 94d56c4715 rrule: force the interval to be 1 and never empty. 2020-01-14 22:19:58 +02:00
Tom Hacohen 116883e207 ical.js types: fix ICAL.Recur's type and adjust code accordingly 2020-01-14 22:19:58 +02:00
Tom Hacohen dfe5518f38 RRule: improve design a bit 2020-01-14 22:19:58 +02:00
Tom Hacohen 4b20a0db5f Event Edit: simplify code and make it persist the rrule
While at it, also fix an issue with byday needing to be string[] and not
number[]
2020-01-14 22:19:58 +02:00
Tal Leibman 3897d38fb0 components: EventEdit removed whitespace changes 2020-01-14 22:19:58 +02:00
Tal Leibman 0661190aef components: EventEdit state name "rruleOptions" to "rrule" 2020-01-14 22:19:58 +02:00
Tal Leibman bd98d833aa components: EventEdit warning message 2020-01-14 22:19:58 +02:00
Tal Leibman 0657e79e45 widgets: name change "RRuleEteSync" to "RRule" 2020-01-14 22:19:58 +02:00
Tal Leibman c7c8b09e41 widgets: RRule layout and styles 2020-01-14 22:19:58 +02:00
Tal Leibman 2dcf86238b widgets: RRule change bymonth and byday to multi Select 2020-01-14 22:19:58 +02:00
Tal Leibman 3f05e43439 widgets: RRule disable complex recurring event options 2020-01-14 22:19:58 +02:00
Tal Leibman 86bd2a5420 widgets: RRule support bymonth repeat for multiple values 2020-01-14 22:19:58 +02:00
Tal Leibman 7b17a14a84 components: EventEdit add RRule widget 2020-01-14 22:19:58 +02:00
Tal Leibman 8d9482b720 widgets: change RRule to get type ICAL.Recur as prop
in ICAL.Recur many values are an array of numbers currently the
RRule widget only handle multiple values for weekday.
this change is not final since it may cause user data to be lost
when editing an existing event
2020-01-14 22:19:58 +02:00
Tal Leibman aae9cd5d16 EventEdit: import RRuleEteSync 2020-01-14 22:19:58 +02:00
Tal Leibman 265f2a091b Event Edit: change container to Fragment 2020-01-14 22:19:58 +02:00