Profile Activity Type Matching
Profiles can now be tagged as Indoor or Outdoor. When an activity comes in, Componentry checks the activity type from your provider (Strava, Wahoo, Garmin, Hammerhead) and automatically assigns the matching profile — before falling back to the default profile.
- Profile create and edit forms — a new "Default activity" dropdown lets you set a profile to Indoor, Outdoor, or None.
- Profile list — an Indoor or Outdoor badge appears next to the profile name when an activity type is set.
- Activity processing — the priority chain is now: activity-type-matched profile > default profile > no profile. This works across all providers and all activity sources (webhooks, Strava sync, bulk imports, default bike fallback).
- One per type — each bike can have at most one Indoor profile and one Outdoor profile. Already-taken types are disabled in the dropdown.
- Mobile API — profile endpoints accept and return the new
activity_typefield. Gear detail includes activity type in the profile list.
Bikes without any activity-type-tagged profiles continue to work exactly as before — no changes to existing behavior.