feat(gcal): Google Calendar integration and landing - #85
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the Google Calendar integration as
gcal: the manifest on the bundled OAuth provider from #84, a REST source that reads the user's timezone, the selected calendars, and two weeks of events (converted into the user's zone, all-day events as midnight-to-exclusive-midnight, working-location and OOO entries typed, declined and cancelled instances dropped), and the tab's landing: today's date drawn in block digits inside the folded-corner icon, a countdown to the next meeting, Google's four dots breathing, and the four destinations. The destinations toast until their views land in the next PRs, and the manifest declares no action keys yet for the same reason.The client id and secret are placeholders until the shipping PR; the live check swapped the real ones into the registry in memory.
Replicated against a real account from a scratch config:
smorg connect gcalon the CLI ran with no client-id prompt and recorded no client id, the in-app add flow routes a bundled path straight to the browser modal, a real fetch returned 4 calendars and 33 events in America/Los_Angeles, the landing rendered at 120×40 and 80×24,smorg statusreported the scope, andsmorg logout gcalrevoked the token through the bundled id.