This is still early days, only rules for parsing the included tests have been added so far. The CalExtractParserService
can be used instead of Extractor via a pref for experimentation.
Differential Revision: https://phabricator.services.mozilla.com/D125291
--HG--
extra : amend_source : 3061f336f165a4a4857fc94bee4342c15fdf04fc
This adds CalExtractParser that can be configured to use lexical and parse rules
for the desired locale.
Differential Revision: https://phabricator.services.mozilla.com/D123287
--HG--
extra : amend_source : 355ef7a0796224da8912f8b3ea44940de5138f20
... and remove the last remaining traces of Mozmill from calendar tests, except where necessary to do things with mail.
Differential Revision: https://phabricator.services.mozilla.com/D122710
--HG--
extra : rebase_source : 02a23bcf0e1761a12795b52110d3d01edf833051
These tests hijack the DNS module's functions to return the intended result.
We can't use the mock servers for the tests because we only do discovery for HTTPS, and the mock servers can't speak HTTPS. Instead, we direct the code to some files on the Mochitest server.
Differential Revision: https://phabricator.services.mozilla.com/D125501
--HG--
extra : rebase_source : 3ea40a9b8e8456991f01dc087a4b4b3d480ab62a
To begin with, this new class (actually a mixin so it can be used with different base classes) has an instance of the original calFilter. In future it might consume calFilter when we no longer need that as a separate class.
No widgets currently use the mixin but I have prototyped a new Today Pane agenda which works well. I will finish that in a separate bug.
Differential Revision: https://phabricator.services.mozilla.com/D123733
--HG--
rename : calendar/base/src/calFilter.js => calendar/base/content/widgets/calendar-filter.js
extra : rebase_source : af66938088c0e7949e6fdec73ccb0ceb5debd8f4
This makes us always show the generated invite html together with the normal html part.
Invites usually have an ok display in there generated by the server or sending client, and I think we don't want to normally show both parts at the same time. This patch changes the imip invite to just show an expandable summary on top of the html from the email. By clicking the arrow the details (like we had them) will be displayed, so that it still is accessible for the cases where the html representation is not there in the email, or it's bad.
Displaying the normal html content of the email solves problems expecially for "cancelled with a note" updates where you otherwise can't see the note because it's only inside the mail content.
Based on https://github.com/Betterbird/thunderbird-patches/blob/main/91/bugs/760412-always-show-text-calendar.patch
Differential Revision: https://phabricator.services.mozilla.com/D123374
--HG--
extra : rebase_source : a472f5825b80992cbe8bb8d5a72275315959332a
We've been clicking on a button that wasn't visible yet.
Differential Revision: https://phabricator.services.mozilla.com/D120809
--HG--
extra : rebase_source : 1ea25d98daaaafcd9dcd57cb87ff9c3597f6c716
Just tidying up some mess before we get started.
Differential Revision: https://phabricator.services.mozilla.com/D119143
--HG--
rename : calendar/test/modules/CalendarTestUtils.jsm => calendar/test/CalendarTestUtils.jsm
rename : calendar/test/modules/CalendarUtils.jsm => calendar/test/CalendarUtils.jsm
rename : calendar/test/modules/ItemEditingHelpers.jsm => calendar/test/ItemEditingHelpers.jsm
extra : rebase_source : 46e3b3eabd281d283a346c8b004acf2e64e28f80
extra : histedit_source : 6c2504193020911922c4efce41bc5a0a945cefaf%2Cf5c80aeaedaee5d4fca5f6a67579f8d0f9ba4bd8
This was accomplished by making the CalTransactionManager class aware of
batch transactions which can result in peeking of the transaction stack
returning null.
Differential Revision: https://phabricator.services.mozilla.com/D118928
--HG--
extra : amend_source : 0619e7758538fb82d43216f2f4aa2f8d0da8e5f5
This eliminates almost everything remaining named "Lightning" or "ltn" and not involved in L10n or preferences somehow.
Differential Revision: https://phabricator.services.mozilla.com/D118904
--HG--
extra : rebase_source : af81cd714f2c27df4eea403b4bc539ba8a806531
extra : amend_source : 6cfa1341f8f1cb0400c5ad4f32c90a006e22a3e9
This test synchronises with the remote calendar three times. An event is added the first time and should appear. It's modified the second time and should be updated. It's deleted the third time and should disappear.
Differential Revision: https://phabricator.services.mozilla.com/D118151
--HG--
extra : rebase_source : 1ed4779f49c24d0492fd55bc9851f190fe7b4eb3
extra : amend_source : 734b59aaeed5a3525ee9b9ffb67bb2ffdd4ee13d
Redefine the calendar.notifications.times pref:
- use `END:` to mean relative to the end
- use comma as separator of entries
An example is `PT2M,END:-PT3M`.
Differential Revision: https://phabricator.services.mozilla.com/D117391
--HG--
extra : amend_source : 45d82d2baec1ffe2f7f75390bb26f7934bf69614
This patch involves:
* changing the scopes we request when connecting mail (existing accounts are unaffected because the scope we originally requested is stored per-account in the preferences)
* teaching the CardDAV and CalDAV implementations to find passwords stored by username (with either the exact scope needed or many scopes)
Calendars with a username set (not sure how this happened, but they exist) will need to re-authorise. Other address books and calendars are not required to re-authorise.
Differential Revision: https://phabricator.services.mozilla.com/D117489
--HG--
extra : amend_source : b1e20b69683e846ed542115e063aace9917f00b5
We need to know if anything is going to break in the changes we're about to make.
Differential Revision: https://phabricator.services.mozilla.com/D117488
--HG--
extra : amend_source : 14db84dd2cd908e2dfdb6a7ef317adcb2627be74
Used HTML and CSS to reduce nesting of elements and to tidy their styling.
Also, made month and multiweek views more semantically correct by placing the "days of the week" headers within the <table>, and restyled it as a CSS grid.
Also, placed the month day event items within an <ol> element.
Also, renamed some classes to make them more consistent and meaningful, and dropped some duplicate or unused classes.
Differential Revision: https://phabricator.services.mozilla.com/D114731
--HG--
extra : amend_source : d277c9b32f8a00fec20364147a1cf76e0e881f9a
Also removed the test_addReminderImages unit test since it was testing ui features without 'document' or its localization, which is needed for setting img alt text.
Differential Revision: https://phabricator.services.mozilla.com/D111594
Replace the dynamic grid behaviour for the XUL box with a single column list.
Now, both the organizer labels and attendee labels use the same constructor, to keep styling consistent. And the list of attendees is represented by an unordered list <ul>, which is more semantically correct.
Also, calendar editing, summaries and email invitations all use the same constructors for attendees, which removes code duplication and keeps styling consistent. They also share the same styling sheets and localization.
In addition, the invitation document (lightning-invitation.xhtml) was rewritten to be more semantically correct and therefore more accessible. In particular, we no longer embed a table within another table's cell for the organizer row and attendees row (the unordered list is used in the latter case). Unnecessary paragraph <p> elements were removed from the cells. Row headers were marked as <th>. And the table header was moved to a <caption>.
Differential Revision: https://phabricator.services.mozilla.com/D111411
--HG--
extra : amend_source : aee820ea0e2a8c8d66cd9ca6045f1a825e3dc383
The "43" being typed into the preferences window was going to the search box instead of the number input as it should have. I think the click on the center of the input missed somehow.
--HG--
extra : rebase_source : a5ac3b0c13dac7d2fc86c6a2911ce8acffd63d87
This makes the alarm service ignore onAddItem and onModifyItem notifications in between onStartBatch and onEndBatch.
We know that onLoad will follow, at which point we reload all alarms from the calendar in question.
Ignoring the notifications prevents the alarms from firing multiple times in quick succession as the calendar loads.
I have in mind to follow this pattern across all of the UI pieces that listen to notifications, but first I really want to be sure (with tests) that sane behaviour is occurring.
I've added tests for this and (really lightly) the unifinder with all of the calendar types. More testing will be added to this later.
The ICS calendar with offline storage doesn't quite work right (as is the case in bug 1691885) but we can still test what does work.
Differential Revision: https://phabricator.services.mozilla.com/D109274
--HG--
extra : moz-landing-system : lando
This tests each combination of calendar provider and offline storage setting to ensure they behave consistently.
To do this I've added mock CalDAV and ICS servers (forked from CardDAVServer.jsm).
Differential Revision: https://phabricator.services.mozilla.com/D109272
--HG--
rename : mailnews/addrbook/test/CardDAVServer.jsm => calendar/test/CalDAVServer.jsm
rename : mailnews/addrbook/test/CardDAVServer.jsm => calendar/test/ICSServer.jsm
extra : moz-landing-system : lando
This patch adds a calendar.notifications.times pref in the form of "PT2H PT1M" to support multiple notifications. In followup patches, will add support for calendar level notification time, and UI to set the prefs.
Differential Revision: https://phabricator.services.mozilla.com/D109035
These tests have started failing all of the time. The problem is that in
waiting for an event box, we're getting the existing box before it is
replaced by the new one we're waiting for.
Differential Revision: https://phabricator.services.mozilla.com/D109862
--HG--
extra : histedit_source : aa70d4c128685dbbf2ebd7ec04ef73bd32464234
The lookup and lookupEventBox methods require full tree paths to find elements, which makes them hard to maintain when restructuring.
These were dropped from CalendarUtils, along with the path related methods and constants.
The standard querySelector and getElementById methods were used instead.
In particular, the CalendarTestUtils module was expanded with the dayView, weekView and multiweekView submodules to replace the lookupEventBox usage.
Differential Revision: https://phabricator.services.mozilla.com/D107005
--HG--
extra : moz-landing-system : lando
This appears to be happening because an edit is happening before the previous one has finished.
Waiting for the first edit to be reflected in the UI before moving on should prevent that.
Differential Revision: https://phabricator.services.mozilla.com/D104908
--HG--
extra : rebase_source : a28f9797b78d146b02f11cb54a3d91c1ba9f59b3
extra : histedit_source : f1038ede8eefcb150be56bd053d3217feee3dedd
I made an erroneous change that stopped the events being removed from the month/multi-week view
but didn't notice because there was no test coverage. This fixes the change, performs the removal
by a different method altogether, and adds test coverage.
Differential Revision: https://phabricator.services.mozilla.com/D104650
--HG--
extra : moz-landing-system : lando
This fixes the failing test in two wayS:
* Removing events created during the test that are no longer needed.
* When the month in view changes, clear out old events from the hidden row(s) at the bottom of the view.
Differential Revision: https://phabricator.services.mozilla.com/D103725
--HG--
extra : amend_source : 78b038417aad8d7e1c3f7d63fdf42788ef71f231
The aim of this patch is to have the tests run in E10S mode and not fail. Many tests have been disabled (because they fail) and will be addressed in separate patches.
Differential Revision: https://phabricator.services.mozilla.com/D100366
--HG--
extra : moz-landing-system : lando
The menu list is only used for invitations.
The existence of the list and its descendants considerably slows down the layout of the summary custom element.
That's not a problem when there's only one element, but in the ICS file import dialog there could be hundreds.
Differential Revision: https://phabricator.services.mozilla.com/D100546
--HG--
extra : moz-landing-system : lando
With this patch we'll show a "loading…" message until everything is ready.
We'll also delay actual loading until the dialog has been displayed, so the user doesn't have to wait (what can be several seconds) for something to happen.
Finally we'll improve the performance of the item summary custom element by parsing its contents only once.
Differential Revision: https://phabricator.services.mozilla.com/D100545
--HG--
extra : moz-landing-system : lando
I've broken the UI into three panes for easier handling: the existing item selection UI, progress, and results.
Differential Revision: https://phabricator.services.mozilla.com/D100544
--HG--
extra : moz-landing-system : lando
Also adds the dot representing the calendar's colour to the UI. This matches the event editing dialog.
Differential Revision: https://phabricator.services.mozilla.com/D100542
--HG--
extra : moz-landing-system : lando
A lot of the failures are caused by an event box somehow being in editing mode. Pressing delete in that case doesn't delete the event.
Differential Revision: https://phabricator.services.mozilla.com/D101416
--HG--
extra : moz-landing-system : lando
Changes the test manifests, and uses of the `Date` object to use UTC. Plus a linter rule to prevent mistakes.
Differential Revision: https://phabricator.services.mozilla.com/D100538
--HG--
extra : moz-landing-system : lando
I've managed to remove the uses of `getChromeWindow` and `getWindows` so that they can also be removed.
Differential Revision: https://phabricator.services.mozilla.com/D100537
--HG--
extra : moz-landing-system : lando
This patch also:
* uses the name `elib` everywhere elementslib.jsm is imported, which should make future changes easier.
* updates the remaining elementslib types to ES classes, removing the dependency on utils.jsm.
Differential Revision: https://phabricator.services.mozilla.com/D100536
--HG--
extra : moz-landing-system : lando
Port of bug 1641270.
--HG--
extra : rebase_source : f63871fb1e9c162d5232644207b86da03b548af3
extra : amend_source : 70e279f005c3e7d9e306fed351d8536388323f89
Combines D80576, D80577, D80578, D80579. Paul did all the hard work. I added calendar checkbox in systemIntegrationDialog.
Differential Revision: https://phabricator.services.mozilla.com/D94548
--HG--
extra : rebase_source : ec7642c91ed11f9878699bdc0bc9764e97e5b907
extra : amend_source : fe873429605c4998c31b9077153d9135d2df4c36
Handling defaults in this function doesn't really work for
getProperty/setProperty access because the code for cloning
an object does not copy the defaults. The cloning code just iterates
mProperties and copies all of them, and setting up defaults in
makeMemeberAttr (via prototype) does not put them in mProperties.
Differential Revision: https://phabricator.services.mozilla.com/D89269
--HG--
extra : rebase_source : 3823532677dc832c437850d4d87402c62febf949
Google puts HTML tags in calendar event/task DESCRIPTION
properties, so where we display descriptions render them
as HTML rather than just showing the raw plain text.
This commit does this in these places:
- summary dialog (and ICS import dialog)
- invitation overlays in emails
- tooltips shown when mousing over an item.
Differential Revision: https://phabricator.services.mozilla.com/D88366
Depends on D88365
--HG--
extra : rebase_source : e702f30846788ea1cc138b282253b59a6fc2f328
This test was failing on Windows for some reason, so I removed
the mozmill parts. It still fails on Windows so disable it for now.
Differential Revision: https://phabricator.services.mozilla.com/D86659
Depends on D85620
This is the main patch for this bug that Philipp wrote, with
various changes made to counter bit rot, update some parts,
and rework the UI in various ways.
For example WCAP calendars are no longer supported and the
gData provider is now in its own repo, so I have removed
these parts.
The bit rot changes include using HTML table instead of XUL grid,
de-XPCOM-ing components, updating module import syntax,
replacing calendar-list-tree (no longer exists) with a
richlistbox, using 'addEventListener' instead of
'ondialogaccept' attributes since the latter were not working,
updating things related to <dialog> now being a child of
<window>, etc.
UI changes include moving away from the tabs and only
prompting for a password if needed.
Differential Revision: https://phabricator.services.mozilla.com/D78371
Depends on D78370
--HG--
rename : calendar/resources/content/calendarCreation.xhtml => calendar/base/content/dialogs/calendar-creation.xhtml
rename : calendar/base/themes/common/calendar-creation-wizard.css => calendar/base/themes/common/calendar-creation.css
Backed out changeset d287cf040cba
Backed out changeset 6602b6ca210f
--HG--
extra : histedit_source : a39c5f5f067b8a0a8bee48681f68ae8f8038187e%2C74b62d7a24c2516f032e239129453f7d9ce253ad
For lengthy content like dates with timezones we want the content
to wrap, not disappear on the right side of dialogs. Removing the
HTML input elements allows us to do that.
Differential Revision: https://phabricator.services.mozilla.com/D77976
--HG--
extra : moz-landing-system : lando
Namely start using it when the user chooses "Import..." from the
"Events and Tasks" menu, and similar UI for importing files.
This gives the user a preview of the items to be imported, lets
them only import some of the items, and gives confirmation that
the import succeeded.
--HG--
extra : rebase_source : d27abbb85fb0f81d510e47b74d6193b33c2003c2
extra : amend_source : eba39646269ed42187f80326ececd6c5619535e3
Move the part of the dialog that displays a summary of a calendar
item into a custom element so it can be reused more than once
in a given scope/dialog/ window. This will be soon be used to
show summaries of multiple events in the ICS file import dialog.
Update the code to support multiple event summaries in a given
scope.
Differential Revision: https://phabricator.services.mozilla.com/D74797
--HG--
extra : moz-landing-system : lando