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
Tom Hacohen
fcf8f1af58
Upgrade material-ui.
5 years ago
Tom Hacohen
9abb3dcad9
Make parse errors non-fatal
...
Before this patch, parse errors would make the whole app stop and show
an error. Now we handle them more gracefully by showing the parsing
errors in a non-fatal way.
This was implemented in a hacky way, and will be changed once the web
app is refactored to better resemble the iOS app.
Fixes #48 .
5 years ago
Tom Hacohen
95944d87b5
PrettyError: redesign to make more reusable.
5 years ago
Tom Hacohen
8fe360751e
Address book: handle contact names with length 0.
...
We were handling non existent contact names, but not
ones with length 0. This fixes this.
Fixes #62 .
5 years ago
Tom Hacohen
fbb3aa154c
Login Form: fix new user detection following promise middleware changes.
5 years ago
Tom Hacohen
7edb1abfb4
promise middleware: fix to correctly return an error promise on error.
5 years ago
Tom Hacohen
c7d4a15f5f
Move the etesync-js API to its own repo.
5 years ago
Tom Hacohen
f3de2a641a
eslint: changed unused-args to always warn.
5 years ago
Tom Hacohen
566261b91a
lint: fix all remaining warnings!
5 years ago
Tom Hacohen
ab5495e221
Eslint: update rules and adjust code accordingly.
5 years ago
Tom Hacohen
29d4153e60
Fix some tsserver suggestions.
5 years ago
Tom Hacohen
18c7dcc816
EteSync test: fix eslint errors.
5 years ago
Tom Hacohen
b9aa69aba2
EteSync: update from iOS repo.
5 years ago
Tom Hacohen
11dd883f5f
lint: replace tslint with eslint and fix new warnings and errors.
5 years ago
Tom Hacohen
f29edf1563
Update ical.js types.
5 years ago
Tom Hacohen
ad9b0717f8
Fix eslint complaint.
5 years ago
Tom Hacohen
514f4ccddb
Login: show text about setting the encryption key on first login.
5 years ago
Tom Hacohen
25afd02ba5
Remove recompose dep and use React.memo instead.
5 years ago
Tom Hacohen
a252078d65
Use the new getCryptoManager when editing journals/userInfos.
...
This also fixes an issue when editing and deleting journals after an encryption
password change.
5 years ago
Tom Hacohen
f5df8cb4e1
api: import updated version from the ios repo.
...
Improves types and adds functionality to getting crypto managers.
5 years ago
Tom Hacohen
5aa9640987
store: fix fetchCount to include fetching entries and userInfo.
5 years ago
Tom Hacohen
77c70ffae6
Remove redundant sjcl collectors.
...
We don't need this because we rely on the browser to provide
good enough random values (which browsers do nowadays).
5 years ago
Tom Hacohen
631a8d1f25
Fix typing issues in EteSync.ts
5 years ago
Tom Hacohen
ba8d899d5d
Fix eslint warnings.
5 years ago
Claus Niesen
ff47e38845
Fix display of recurring events.
...
Fixes #56
5 years ago
Tom Hacohen
41848aa7e3
Remove useless constructor
5 years ago
Tom Hacohen
21e7d7d822
Add missing img alt text.
5 years ago
Tom Hacohen
8d76e134e8
Contact: change the field copy button to use the correct icon.
5 years ago
Tal Leibman
6d45c31f98
Contacts: Add a button to copy fields to clipboard
...
Fixes #39
5 years ago
Tom Hacohen
ea67bb4b87
AddressBook: fix handling of contacts with empty names.
...
Fixes #49
5 years ago
Tom Hacohen
c0c5af0cab
Fix issue with different items across collections sharing the same uid
...
The existing code falsely (and accidentally) assumed that all items
(even across different collections) will have unique uids. This is a
false assumption, especially when importing one collection into the
other.
5 years ago
Tom Hacohen
e85d611aa6
Block sharing of old-style journals.
6 years ago
Tom Hacohen
a0da029631
Sync helpers: add a function to create journal entry from sync entry.
6 years ago
Tom Hacohen
28c16ccae5
Journal members: implement giving access
6 years ago
Tom Hacohen
d0c9a9c559
Crypto: Add function to get cryptomanager's encryption key.
6 years ago
Tom Hacohen
34e6fc3668
User info: make it possible to deserialize contentless user info.
6 years ago
Tom Hacohen
61a4347a64
PrettyFingerprint: add a widget for pretty showing of fingerprints.
6 years ago
Tom Hacohen
4255e9f3d8
Confirmation dialog: fix confirmation dialog titles.
6 years ago
Tom Hacohen
68b38f115f
List: implement right icon for list items.
6 years ago