Repository navigation
Hybrid: every Other apps tool uses CoderHelm's app by default - #455
Merged
Merged
Conversation
Jira, Notion, Confluence and Google Drive now default to CoderHelm's app on a hybrid install, on a new install and on one that registered before. An explicit choice of the install's own app is kept: choices are stored per tool, a record from before reads its explicit picks once, and a tool for which the install has its own app set up keeps it until someone picks CoderHelm's. The install guide's choices arrive as apps on the setup settings call and are applied when the install registers. Only which app a sign-in goes through changes; nothing connects or syncs until someone connects the tool.
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.
Summary
On a hybrid install, every tool under Settings, System, Hybrid, Other apps (Jira, Notion, Confluence, Google Drive) now uses CoderHelm's app unless someone chose "Use my own app". Before, only tools an admin switched on used it. An explicit own-app choice is kept. The install guide's per-tool choices are applied when the install registers.
Turning on CoderHelm's app for a tool only changes which app its sign-in (or Jira app install) goes through. Nothing connects, relays or syncs until someone connects that tool: the broker refuses tokens without a sign-in, existing connections keep the app they were made with, and the Jira relay forwards only events from a site that installed CoderHelm's Jira app with this install's id.
Changes
common::hybrid::integrations:app_choice_ids()(the hosted tools other than GitHub) and a note on what the default means.hybrid_install.rs:Local.appsholds the choice for each tool (coderhelmorown). A tool with no entry uses CoderHelm's app, unless the install has its own app for it set up (its own Notion, Atlassian or Google client), which it keeps.migrate_apps: a record from before reads its explicit picks once. If its list named any Other apps tool, each listed tool is CoderHelm's and each offered one left off isown. A list with none was never chosen, so it gets the defaults.wanted_integrations/sync_apps: the integrations CoderHelm holds follow the choices. Sent on register, on settings changes and from status when out of date (apps_sentmeans a list CoderHelm trims to what it offers isn't sent again in a loop). This replacesdrop_unoffered, so a tool CoderHelm starts offering later is picked up.apps: {id: "coderhelm" | "own"}, and only the named tools change. The old whole-listintegrationsstill works, and only the tools it switches become choices.uses_coderhelm: what CoderHelm holds once registered, and what registering will apply before that.hybrid.mdgets a new Other apps section on the defaults, kept choices and "nothing starts by itself";setup-checks.mddocuments theappsfield.Verification
cargo fmt --check,cargo clippy -p gateway -p common --all-targets -D warnings,cargo test -p gateway -p common: 2064 passed.