Skip to content

Wip/gmt/13015 strava oauth #13195

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 35 commits into
base: develop
Choose a base branch
from
Draft

Conversation

GregoryTravis
Copy link
Contributor

@GregoryTravis GregoryTravis commented May 29, 2025

Pull Request Description

Important Notes

Checklist

Please ensure that the following checklist has been satisfied before submitting the PR:

  • The documentation has been updated, if necessary.
  • Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
  • All code follows the
    Scala,
    Java,
    TypeScript,
    and
    Rust
    style guides. In case you are using a language not listed above, follow the Rust style guide.
  • Unit tests have been written where possible.
  • If meaningful changes were made to logic or tests affecting Enso Cloud integration in the libraries,
    or the Snowflake database integration, a run of the Extra Tests has been scheduled.
    • If applicable, it is suggested to paste a link to a successful run of the Extra Tests.

Copy link

github-actions bot commented May 29, 2025

✨ GUI Checks Results

Summary

  • 🧹 Prettier: ❌ Failed
  • 🧰 GUI Checks: ❌ Failed
  • 📚 Storybook: ✅ Deployed

⚠️ Action Required: Please review the failed checks and fix them before merging.

See individual check results for more details.

🎭 Playwright Test Results

Summary

  • ⏳ Duration: 1m 2s
  • ✅ Passed: 0 tests
  • 🔴 Failed: 0 tests
  • ⚠️ Flaky: 0 tests

📥 Download Detailed Report

All tests passed! Your changes look good.

👮 Lint GUI Results

Check Results

  • 🧠 Typecheck: ❌ Failed
  • 🧹 Lint: ✅ Passed
  • 🧪 Unit Tests: ✅ Passed

Copy link
Member

@JaroslavTulach JaroslavTulach left a comment

Choose a reason for hiding this comment

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

Consider some changes to make Strava a singleton.

@@ -0,0 +1,10 @@
name: Saas
Copy link
Member

Choose a reason for hiding this comment

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

  • Thanks a lot for putting this new functionality into its own project/library
  • and not including it in Standard.Base
  • I know it is an additional obstacle, but I'd like Standard.Base to be even smaller than it is today
  • thus thank you for your additional work with the new project/library
  • btw. the name Saas sounds enterprisy and is a good one!

Copy link
Member

Choose a reason for hiding this comment

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

Isn't the scope of this library too broad?

I imagine as Enso gets more integrations a library called Saas could grow basically indefinitely.

What is the benefit of having a big aggregator library instead of creating a separate one specifically for Strava and then separate ones for other services?

import org.enso.base.enso_cloud.ExternalLibraryCredentialHelper.AccessToken;
import org.enso.base.enso_cloud.ExternalLibraryCredentialHelper.CredentialReference;

public class StravaService {
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
public class StravaService {
public final class StravaService {

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

@GregoryTravis GregoryTravis added the CI: Clean build required CI runners will be cleaned before and after this PR is built. label Jun 11, 2025
strava_get self "https://www.strava.com/api/v3/athletes/"+id.to_text+"/stats"

private strava_get strava url =
header = Header.new "Authorization" ("Bearer " + strava.strava_service.getAccessToken.token)
Copy link
Member

Choose a reason for hiding this comment

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

I think we should prefer using Header.authorization_bearer

}

private void refresh() throws IOException {
var oat = accessToken;
Copy link
Member

Choose a reason for hiding this comment

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

unused var?

Copy link
Member

@radeusgd radeusgd left a comment

Choose a reason for hiding this comment

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

Looks like a good starting point.

I have some doubts on the library name - feels too broad.

@radeusgd
Copy link
Member

Would you mind adding some screenshots of the create credentials dialog for Strava? So that we don't have to build the GUI just to see it :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI: Clean build required CI runners will be cleaned before and after this PR is built.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants