Skip to content

feat: improve oauth login inputs and callback UX#31

Merged
gnapse merged 4 commits into
mainfrom
ernesto/oauth-config-flow
Mar 4, 2026
Merged

feat: improve oauth login inputs and callback UX#31
gnapse merged 4 commits into
mainfrom
ernesto/oauth-config-flow

Conversation

@gnapse

@gnapse gnapse commented Mar 3, 2026

Copy link
Copy Markdown
Contributor

This updates ol auth login to accept --client-id and --base-url flags while following a bring-your-own OAuth credentials approach, with no hardcoded client ID in the repo.

The login flow now resolves base URL from --base-url, then OUTLINE_URL, and prompts only when neither is provided. The localhost OAuth callback server now returns styled UTF-8 HTML success/error pages with escaped messages, and the promise cleanup path was adjusted to avoid unhandled rejection noise.

README auth docs were updated for the new flags and OAuth callback behavior is covered by a new test file for success, state mismatch, and provider error cases.

Demo

Image CleanShot 2026-03-03 at 21 15 43

@gnapse gnapse force-pushed the ernesto/oauth-config-flow branch from 271ed70 to ba1f7c4 Compare March 3, 2026 20:34
@gnapse gnapse changed the title Improve OAuth login UX and auth config options feat: improve oauth login inputs and callback UX Mar 3, 2026
@gnapse gnapse self-assigned this Mar 3, 2026

@doistbot-app doistbot-app Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR introduces solid improvements to the OAuth login flow by adding convenient configuration flags and enhancing the local callback server's UX and test coverage. The implementation is clean and will noticeably streamline the authentication process. There is just a minor piece of dead code noted in the client ID prompt logic to review, where the fallback handling for existing client IDs might need a small adjustment depending on the intended prompt behavior.

Share FeedbackReview Logs

Comment thread src/commands/auth.ts Outdated
@gnapse gnapse marked this pull request as draft March 3, 2026 20:44
@gnapse gnapse requested a review from henningmu March 3, 2026 20:44
@gnapse gnapse marked this pull request as ready for review March 3, 2026 20:50

@doistbot-app doistbot-app Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This pull request improves the OAuth login workflow by introducing support for client ID and base URL flags and enhancing the callback server with styled HTML feedback. These updates provide greater flexibility for various environments while ensuring a more polished and reliable authentication experience for users, and no issues were flagged during the review.

Share FeedbackReview Logs

@gnapse gnapse merged commit 3011b28 into main Mar 4, 2026
3 checks passed
github-actions Bot pushed a commit that referenced this pull request Mar 25, 2026
# 1.0.0 (2026-03-25)

### Bug Fixes

* broaden CI detection to handle all truthy values ([7dc2806](7dc2806))
* exclude dist from biome checks ([0dc49a3](0dc49a3))

### Features

* add API Spinner Proxy ([#17](#17)) ([a3bc75a](a3bc75a))
* add fuzzy reference resolution ([#19](#19)) ([6c1c6f9](6c1c6f9))
* add npm publishing, new agent skills, and skill auto-update ([#36](#36)) ([bcb2e75](bcb2e75)), closes [Doist/todoist-cli#176](Doist/todoist-cli#176) [Doist/bob-cli#17](Doist/bob-cli#17) [Doist/twist-cli#101](Doist/twist-cli#101)
* add structured error formatting with codes and hints ([#18](#18)) ([17658d2](17658d2))
* implement OAuth PKCE browser login ([#20](#20)) ([b7f6eec](b7f6eec)), closes [#7](#7) [outline/outline#11254](outline/outline#11254)
* improve oauth login inputs and callback UX ([#31](#31)) ([3011b28](3011b28))
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 1.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@henningmu

Copy link
Copy Markdown
Contributor

@scottlovegrove scottlovegrove deleted the ernesto/oauth-config-flow branch May 11, 2026 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants