Uh oh!
There was an error while loading. Please reload this page.
feat(google): namespace calendar and tasks channel ids on saved links - #383
Merged
Conversation
Adds a host-seam wrapper for the integrations tool so links saved by the calendar and tasks products carry product-namespaced channel ids (calendar:<id>, tasks:<id>), matching how this connector registers its channels. Products keep raw provider ids internally. archiveLinks filters match both eras during the transition. Mail is deliberately excluded so mail links stay label-agnostic. Claude-Session: https://claude.ai/code/session_01FHoQc2TdA62Wp4BwUxvR6P Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…annel ids Claude-Session: https://claude.ai/code/session_01FHoQc2TdA62Wp4BwUxvR6P Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
… ids The compose picker hands onCreateLink the registered channel id, which this connector namespaces (tasks:<listId>); the Google Tasks API needs the raw list id, and the link's meta.listId feeds the status write-back. Parse once at the entry; raw ids pass through unchanged. Claude-Session: https://claude.ai/code/session_01FHoQc2TdA62Wp4BwUxvR6P Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
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 freeto 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.
Summary
The combined Google connector registers its channels under product-namespaced ids (
calendar:<id>,tasks:<listId>) but stamped RAW provider ids on the links it saves, so a saved link'schannelIdnever matched the connector's registered channels. This PR aligns them at the host seam:withNamespacedChannelIdswrapper: the calendar and tasks hosts hand their products an integrations tool whosesaveLink/saveLinksnamespacelink.channelIdon the way out. Products keep using raw provider ids internally — no churn in the sync code.archiveLinks({channelId})filters match BOTH forms during the transition, so links saved before this change still archive on channel disable.get) andchannelSyncCompletedpass through untouched.onCreateLinkfor tasks receives the registered (namespaced) channel id from the picker; it now parses the raw list id for the Google Tasks API call and stamps the raw id intometa.listIdso status write-back routes correctly. Raw ids pass through unchanged.Test plan
saveLinksand taskssaveLink/archiveLinksreach the platform namespaced; token reads stay raw.tsc --noEmitclean,plot lintclean.🤖 Generated with Claude Code
https://claude.ai/code/session_01FHoQc2TdA62Wp4BwUxvR6P