Tom Hacohen
cd7739a3d1
ImportDialog: change to be a function component.
4 years ago
Tom Hacohen
749d9de581
SideMenu: change to be a function component.
4 years ago
Tom Hacohen
2eaa9b503a
SearchableAddressBook: change to be a function component.
4 years ago
Tom Hacohen
c1b57eecfd
App: change to be a function component.
4 years ago
Tom Hacohen
9ec5d2a708
Change code to double-quotes.
4 years ago
Tom Hacohen
1327279816
Update dependencies and adjust code accordingly.
4 years ago
Tom Hacohen
0fc92b46a7
Edit pages: remove UNSAFE componentsWillReceiveProps.
4 years ago
Tom Hacohen
e38181a8ae
Journal: only show change log, not the items.
...
Was very confusing to people.
4 years ago
Tom Hacohen
a1bdea6290
Contact notes: display notes as multiline text.
4 years ago
ramzan
384e12e1ba
Change 'copy' to 'duplicate' and switch to more appropriate icon ( #149 )
4 years ago
Ramzan
2b43463fb0
Implement Event copying.
...
Fixes #51 .
4 years ago
Ramzan
205d7a3e1b
Prevent autoRefresh from running when editing an item
4 years ago
ramzan
eb199c53c3
Contact edit: allow editing of name field rather than fn field.
...
Fixes #80 .
4 years ago
ramzan
96029a0f0c
Check if the item exists before rendering the page
...
Redirect to 404 page if the item doesn't exist.
Fixes #3 .
4 years ago
Tom Hacohen
ad6ac59c4f
Task list: support infinitely deep task hierarchies.
...
Another step towards fixing #124 .
4 years ago
Tom Hacohen
484825b1db
TaskList: cleanup a bit.
4 years ago
Tom Hacohen
6ea7bd79cf
Task list: implement 1-level task hierarchy.
...
This is the first step towards fixing #124
4 years ago
Tom Hacohen
2547fb9ae7
Contact: show a contact's photo if available.
4 years ago
Tom Hacohen
985f39930b
Debug page: support printing all entries.
4 years ago
Tom Hacohen
cf4513a05b
Log entries: show the entry uid.
4 years ago
Tom Hacohen
d4ca0a3ec4
Errors: append in bulk rather than 1 by 1.
4 years ago
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.
4 years ago
Ramzan
de07f76c92
Implement an auto refresh function that calls fetchAll every minute
...
if the user is online and logged in.
Fixes #28 .
4 years ago
Tom Hacohen
b394484f3c
Implement an undelete function to mass-undelete changes.
4 years ago
Tom Hacohen
728ac6124f
Enable eslint for type definitions and fix issues.
4 years ago
Tom Hacohen
616052ecc5
Improve journals page look and feel.
4 years ago
Tom Hacohen
7fe2cd1f60
Change default collection names from 'Default' to be descriptive
...
A step towards fixing https://github.com/etesync/android/issues/118
4 years ago
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 .
4 years ago
Tom Hacohen
9400abdbf4
Revert "reset options if freq changes"
...
This reverts commit f64169385e
.
4 years ago
Tom Hacohen
2b8fa751b7
Revert "when using multiple select must have and array with default values"
...
This reverts commit 7595be4df7
.
4 years ago
Tal Leibman
7595be4df7
when using multiple select must have and array with default values
4 years ago
Tal Leibman
f64169385e
reset options if freq changes
4 years ago
Tom Hacohen
fb8f3ff574
Task/Event: enable word wrapping for decsriptions.
...
Fixes #135 .
4 years ago
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.
5 years ago
Tom Hacohen
f0ec85d635
Fix link color to be nicer (especially in dark mode).
5 years ago
Tom Hacohen
f80ce5b458
Theme: add a class to indicate if in dark mode.
5 years ago
Tom Hacohen
fd0a83d6a2
External link: also add noreferrer.
5 years ago
Tom Hacohen
db2f75ae1f
Fix item UIDs with illegal url characters in them by urlescaping them.
...
Fixes #47 .
5 years ago
Daniel Saier
c0cc2188c5
Add an option for changing the default API URL during the build
5 years ago
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 .
5 years ago
Tom Hacohen
f3a533ab2d
Settings: change to react hooks + remove unneeded props.
5 years ago
Tom Hacohen
bf7590dd91
Fix linting errors.
5 years ago
Tom Hacohen
2d778065c8
ContactEdit: make addresses multiline.
5 years ago
Andrew P Maney
04c4ae94cd
Tasks: fix Edit error Toast severity
5 years ago
Andrew P Maney
508d02a0ea
Tasks: batched uploads for recurring task completion
5 years ago
Andrew P Maney
de94a02025
Task: add recurrence features to list view
5 years ago
Andrew P Maney
aada3e6d36
Tasks: add recurrence to Edit
5 years ago
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.
5 years ago
Tom Hacohen
84f7a11bbc
ICAL.js: fix types of complex rrules
5 years ago
Andrew P Maney
73a3729a70
pim-types: change clone to deep clone using string
...
fixes #119
5 years ago
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
5 years ago
Andrew P Maney
77f734a227
Tasks: fix alignment in Toolbar menu
5 years ago
Andrew P Maney
7a42ff04d8
UI: pretty error messages
...
Add Toast component for displaying error messages in a more prominent way
5 years ago
Tom Hacohen
0ce83defcc
LoginGate: show an error if the user is inactive.
5 years ago
Andrew P Maney
ed4ed86880
Tasks: add show/hide hidden feature
5 years ago
Andrew P Maney
b78ccfbf8b
MUI: fix TimezonePicker types
...
broken from mui/lab update
5 years ago
Andrew P Maney
36d6308c88
Tasks: change due text to date instead of time to
5 years ago
Andrew P Maney
0b5274887f
Tasks: make overdue secondary text red
...
Also add some logic to display tasks due today as "Due today"
Tasks: fixes
5 years ago
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.
5 years ago
Andrew P Maney
b6b46d2b24
Task edit: change "All Day" to "Include Time"
5 years ago
Andrew P Maney
e39974105f
Task edit: reword Start Date to "Hide until"
5 years ago
Andrew P Maney
e06ccbd21c
Tasks edit: add full width styles to timing inputs
5 years ago
Andrew P Maney
39529e66c1
Tasks: add a11y title and aria labels for Toolbar
5 years ago
Andrew P Maney
212dfc7095
Tasks: add search functionality
5 years ago
Andrew P Maney
ba00be300e
RRule: handle undefined options.byday
...
Merge of #108
5 years ago
Andrew P Maney
b90adaffb5
Tasks: improve positioning of Toolbar menus
...
Merges #105
5 years ago
Andrew P Maney
1de7a2ebdd
Tasks: implement sorting
...
Merge of #104
5 years ago
Andrew P Maney
b69b51f558
Tasks: move "Show Completed" to a toolbar menu
5 years ago
Andrew P Maney
74ed60a3fb
Tasks: hides Sidebar amount if value 0
...
Tasks: makes amount conditional more concise
5 years ago
Andrew P Maney
e008bc19e8
Tasks: changes dueToday to include all times before today
5 years ago
Andrew P Maney
716240e266
Tasks: adds dueToday getter to TaskType
...
cleans up some code around filtering by due today
5 years ago
Andrew P Maney
9a7960556b
Tasks: adds memoization to Sidebar
5 years ago
Andrew P Maney
f3ba0b30ef
Tasks: removes unnecessary comments
5 years ago
Andrew P Maney
8ba7709653
Tasks: moves Sidebar specific logic into Sidebar component
...
also adds amount to Due Today filter
5 years ago
Andrew P Maney
2980305beb
Tasks: adds filter by Due Today
5 years ago
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.
5 years ago
Andrew P Maney
effd74e0b2
Tasks: adds filter by tag feature
...
Squash of #94
5 years ago
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
.
5 years ago
Tom Hacohen
b14697474c
Tasks: adds filter by tag feature
...
Squash of #94
5 years ago
Andrew P Maney
a2d6dacbe4
Settings: change setSettings action to merge with state.
...
It was overriding state before.
5 years ago
Andrew P Maney
9f618ab36c
Tasks: changes margin units from px to em
5 years ago
Andrew P Maney
c113c8b283
Tasks: displays tags on Task list items
5 years ago
Andrew P Maney
fe8fbfdfd8
Tasks: adds tags
5 years ago
Andrew P Maney
93f06f81cd
Tasks: moves misplaced const
...
a const was accidentally placed in the middle of imports,
that has been moved
5 years ago
Andrew P Maney
f04212a1e6
Tasks: renames some vars from event to task
...
I assume this is just some cruft from a bad copy-paste
5 years ago
Tom Hacohen
69c38d7e8f
Journals list+import: move journal items to the left side.
5 years ago
Tom Hacohen
e0e805d009
JournalEntries: use a virtualized list for the entries.
5 years ago
Tom Hacohen
2397cfbe6d
AddressBook: use a virtualized list for the contacts.
5 years ago
Tom Hacohen
5cb8dda9cc
List: move the list widget to use the material ui list.
...
Fixes #79 .
5 years ago
Tal Leibman
6a5d959777
JournalsList: add icon to titles
5 years ago
Tom Hacohen
8aa4af46f1
TaskEdit: fix crash when saving tasks with no status set.
5 years ago
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).
5 years ago
Andrew P Maney
54302c4c07
License: adds license to Colored Radio
5 years ago
Andrew P Maney
29d1e5cfe5
Tasks: adds mapPriority helper function
...
handles any possible issues with priorities that aren't 1, 5, or 9
5 years ago
Andrew P Maney
bdd89fb533
Tasks: colors checkbox according to priority
5 years ago
Andrew P Maney
0436e9ccd0
Tasks: adds colored radio buttons
...
available as widget, they are being used for priority in Task Edit
5 years ago
Andrew P Maney
add95621af
Tasks: adds priority to Task type
...
with ability to edit in form
5 years ago
Andrew P Maney
dc1b17f7f4
Tasks: adds secondary text displaying time until due
5 years ago
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.
5 years ago
Andrew P Maney
ad3958ae88
Tasks: adds checkbox to Task list item
5 years ago
Tom Hacohen
649a7cd281
Event view: change the text colour based on background.
...
This is needed to ensure a good enough contrast.
Fixes #85 .
5 years ago
Andrew P Maney
9e1c7ea8d5
Tasks: adds license
5 years ago
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.
5 years ago
Andrew P Maney
b4ef6e641d
Tasks: Quick Add feature
...
This is a merge of #84
5 years ago
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.
5 years ago
Tom Hacohen
c9aefdec4c
Revert "Tasks: Quick Add feature"
...
Completely broken, had to revert it.
This reverts commit f5eb1932e8
.
5 years ago
Tom Hacohen
e75e1c5c5e
Revert "Tasks: add license to files"
...
Depends on a completely broken piece of code.
This reverts commit 75f2b50a29
.
5 years ago
Andrew P Maney
75f2b50a29
Tasks: add license to files
5 years ago
Andrew P Maney
f5eb1932e8
Tasks: Quick Add feature
5 years ago
Andrew P Maney
5d54ab4563
Tasks: reorganizes Tasks components into their own subfolder
5 years ago
Tom Hacohen
0b18cac914
Licensing: add license headers to source files.
5 years ago
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.
5 years ago
Andrew P Maney
41029c1da9
MUI: removes deprecated theme.spacing.unit
5 years ago
Andrew P Maney
059abe4807
Tasks: change clicking on task to go directly to edit page
5 years ago
Tom Hacohen
8e542f6fd7
Journal members: show if a member is shared with as read-only.
5 years ago
Tom Hacohen
c907285d78
Journal sharing: support sharing journals as read-only.
5 years ago
Tom Hacohen
8e790ed666
Fix bug with web client not remembering a user is logged in.
...
Was introduced in 118d26ce83
5 years ago
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.
5 years ago
Tom Hacohen
fe42a3c2ed
Add migrations for the changes in the store's structure
5 years ago
Tom Hacohen
6ed0f02abc
SyncGate: move to react hooks.
5 years ago
Tom Hacohen
06bf21248e
Add journal and entry error handling to the global error handling.
5 years ago
Tom Hacohen
90392fe432
Change entries to also not be a complex fetch type.
5 years ago
Tom Hacohen
2946be464c
Change journals to also not be a complex fetch type.
5 years ago
Tom Hacohen
23048cfa63
Change userInfo to also not be a complex fetch type.
5 years ago
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.
5 years ago
Tom Hacohen
5301b546df
LoginGate: move to be a function component.
5 years ago
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.
5 years ago
Tal Leibman
e0904eea02
RRule: layout and style changes
5 years ago
Tal Leibman
0381d2816b
JournalEdit: add ColorPicker and imporve validation
...
Fixes #75
5 years ago
Tal Leibman
7b0264fc50
Widgets: ColorPicker
5 years ago
Tal Leibman
643010ccfe
JournalsList: show journal color
5 years ago
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
5 years ago
Tom Hacohen
2f199ce0c9
JournalEdit: change to react-hooks.
5 years ago
Tom Hacohen
b76a909b7a
Login Form: change the label to Email from Username.
5 years ago
Tom Hacohen
a4c8fd6688
Helpers: fix color conversion functions and add tests.
5 years ago
Tom Hacohen
cac9b21135
AddressBook: fix search when there are contacts with a full name.
5 years ago
Tom Hacohen
28c3a8395b
Logout: invalidate the auth token after logging out.
5 years ago
Tom Hacohen
28b11e59ff
AddressBook: fix crash when fullname is undefined.
5 years ago
Tom Hacohen
9ec759bd44
Import: mime type detection is unreliable, allow filetype matching too.
5 years ago
Tom Hacohen
4f3c8895f3
Import: hopefully fix infinite loading on import.
5 years ago
Tom Hacohen
d0ec686592
Debug: added a debug route to let people easily inspect their journals.
...
Useful when people are helping with debugging.
5 years ago
Tom Hacohen
8567dd70b7
Import: better handle rejected files.
5 years ago
Tom Hacohen
d8a0aa19ca
Import: fix error handling to stop the loading and print the error.
5 years ago
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.
5 years ago
Tom Hacohen
7b22e0e76b
RRule: move filtering of empty values to inside the widget.
5 years ago
Tom Hacohen
8440cac7e8
rrule: fix spacing and locations of code.
5 years ago
Tom Hacohen
16255e4cad
RRule: fix indentation.
5 years ago
Tom Hacohen
e2b732f212
RRule: remove redundant checks.
5 years ago
Tom Hacohen
af65d20444
rrule: handle empty/undefined values
5 years ago
Tom Hacohen
94d56c4715
rrule: force the interval to be 1 and never empty.
5 years ago
Tom Hacohen
116883e207
ical.js types: fix ICAL.Recur's type and adjust code accordingly
5 years ago
Tom Hacohen
dfe5518f38
RRule: improve design a bit
5 years ago
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[]
5 years ago
Tal Leibman
3897d38fb0
components: EventEdit removed whitespace changes
5 years ago
Tal Leibman
0661190aef
components: EventEdit state name "rruleOptions" to "rrule"
5 years ago
Tal Leibman
bd98d833aa
components: EventEdit warning message
5 years ago
Tal Leibman
0657e79e45
widgets: name change "RRuleEteSync" to "RRule"
5 years ago
Tal Leibman
c7c8b09e41
widgets: RRule layout and styles
5 years ago
Tal Leibman
2dcf86238b
widgets: RRule change bymonth and byday to multi Select
5 years ago
Tal Leibman
3f05e43439
widgets: RRule disable complex recurring event options
5 years ago
Tal Leibman
86bd2a5420
widgets: RRule support bymonth repeat for multiple values
5 years ago
Tal Leibman
7b17a14a84
components: EventEdit add RRule widget
5 years ago
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
5 years ago
Tal Leibman
aae9cd5d16
EventEdit: import RRuleEteSync
5 years ago
Tal Leibman
265f2a091b
Event Edit: change container to Fragment
5 years ago
Tal Leibman
3f1194f8bd
widgets: RRuleOptions to match RecurData in ical.js from etesync IOS
5 years ago
Tal Leibman
47ba581a24
widgets: change RRule wrapper to React.Fragment
5 years ago
Tom Hacohen
e88adc60e3
Update ical.js types.
5 years ago
Tom Hacohen
7e6ed69e35
SyncGate: fix issue with empty journals not working.
...
Before this we weren't able to import/add entries to empty journals.
This was introduced in c6eafadb8b
5 years ago
Tom Hacohen
db75d82322
Import: make sure imported contacts/events/tasks have a uid.
...
Fixes #71 .
5 years ago
Tom Hacohen
b54f25eee9
Handle contacts with null for a uid.
...
It seems like we aren't setting a uid for contacts without one when importing
so it's possible to get ones without a uid.
Opened ticket #71 to track this issue.
5 years ago
Tal Leibman
e54e24d8c1
DateTimePicker : add disabled property
5 years ago
Tal Leibman
6446777c79
widgets: add RRule widget
...
First step towards fixing #50
RRule widget for repeating tasks and calendar events
5 years ago
Tom Hacohen
c6eafadb8b
Store actions fetchAll: cleanup and only fetch if there's new data.
5 years ago
Tom Hacohen
0dffd71276
Import Dialog: log potential import errors to console and close dialog.
5 years ago
Tom Hacohen
a9611f4117
Remove debug log that got committed.
5 years ago
Tom Hacohen
052543261f
Unify ICAL parsing and omit property group names.
...
The property groups were causing us issues and making it very hard
to handle these properties. And since we were not dealing with them
anyway, it's better to just remove them (standard allows this).
ical.js doesn't deal with them correctly, which is the source of this
problem. More info:
https://github.com/mozilla-comm/ical.js/issues/411
5 years ago
Tom Hacohen
b4634abff4
Fix new account setup.
...
We were getting a 404 because the user info doesn't exist, and were erroring
because of it, which was not calling the then (just the catch).
We now handle the error condition.
5 years ago
Tom Hacohen
583e9090d8
TaskList: make it possible to view completed items.
5 years ago
Tom Hacohen
1eb561342f
TaskEdit: fix editing of tasks without a start/due/completion date.
5 years ago
Tom Hacohen
ec5d1faaa1
TaskList: convert to a pure functional component.
5 years ago
Tom Hacohen
1d792add0f
Update ical.js types.
5 years ago
Tom Hacohen
3730300411
Event/task edit: handle timezones.
...
Fixes #29
5 years ago
Tom Hacohen
bfc54018ce
Widgets: add TimezonePicker widget.
5 years ago
Tom Hacohen
6a0fc11ab3
Event/task edit: improve design.
5 years ago
Tom Hacohen
fed79fcfea
Task/event: show current timezone next to events with timezones.
...
We were previously showing the original timezone which was confusing.
5 years ago
Tom Hacohen
52d4ad9967
ImportDialog: adjust to the changes in the previous commit.
5 years ago
Tom Hacohen
d1b3d82024
pim-types: sync from iOS app.
...
Mainly about adding timezone support.
5 years ago
Tom Hacohen
80e249c958
Task list: fix typing.
5 years ago
Tom Hacohen
9ae370ac01
Task list: simplify sort function.
5 years ago
Tom Hacohen
d3b4145269
Use the new UNSAFE_componentWillReceiveProps function name
...
We should redesign these, but until then, this should unbreak linting.
5 years ago
Tom Hacohen
58e432efec
Import: reset loading state when done importing.
5 years ago
Tal Leibman
ad10d75dab
Journals List Import: remove add journal button
5 years ago
Tom Hacohen
284cb2413a
Journals List Import: fix type error.
5 years ago
Tal Leibman
4318e064b3
Journal Import: add an import link to the sidebar
...
Fixes #55
5 years ago
Tal Leibman
a8bdc076d9
JournalsList: change to a functional component
5 years ago
Tom Hacohen
2c02ec839e
List: don't set the pointer cursor for non-clickable items.
5 years ago
Tom Hacohen
e407976e58
Journal Entries: make parse errors non-fatal here too.
...
This is in continuation to 9abb3dcad9
.
Fixes #48
5 years ago
Tom Hacohen
fc4b3294f1
Login screen: gracefully handle wrong encryption passwords.
5 years ago
Tom Hacohen
8656d1076f
Update react-big-calendar.
5 years ago