* feat(companion): add multi-browser OAuth support for extension
- Add browser-specific OAuth client ID and redirect URI configuration
- Support Chrome, Firefox, Safari, Edge, and Brave browsers
- Add build scripts for each browser target (ext:build-{browser})
- Fix Brave Shields compatibility for production builds
- Add EXTENSION_SETUP.md documentation
BREAKING CHANGE: None - backward compatible with existing Chrome config
* fix(companion): replace && conditional rendering with ternary operators
Replace all `{condition && (<Component />)}` patterns with explicit
`{condition ? (<Component />) : null}` syntax across the companion app.
This fixes "Unexpected text node: . A text node cannot be a child of
a <View>" errors that occur with react-native-css-interop when using
&& conditional rendering in React Native web builds.
Files updated:
- app/event-type-detail.tsx (16)
- app/booking-detail.tsx (10)
- app/(tabs)/bookings.tsx (8)
- app/(tabs)/availability.tsx (6)
- app/availability-detail.tsx (5)
- app/(tabs)/(event-types)/index.tsx (4)
- components/event-type-detail/tabs/LimitsTab.tsx (9)
- components/event-type-detail/tabs/BasicsTab.tsx (3)
- components/event-type-detail/tabs/AdvancedTab.tsx (3)
- components/event-type-detail/tabs/RecurringTab.tsx (1)
- components/event-type-detail/tabs/AvailabilityTab.tsx (1)
- components/event-type-list-item/EventTypeListItem.ios.tsx (3)
- components/BookingActionsModal.tsx (2)
- components/Tooltip.tsx (1)
- components/LocationsList.tsx (1)
- components/Header.tsx (1)
- components/EmptyScreen.tsx (1)
* correct command for edge
* dont break ci
* deslop ai
64 lines
3.2 KiB
Bash
64 lines
3.2 KiB
Bash
# Cal.com OAuth Configuration
|
|
EXPO_PUBLIC_CALCOM_OAUTH_CLIENT_ID=your_oauth_client_id_here
|
|
|
|
EXPO_PUBLIC_CALCOM_OAUTH_REDIRECT_URI=your_oauth_redirect_uri_here
|
|
|
|
# =============================================================================
|
|
# OAUTH REDIRECT URL FORMATS BY BROWSER
|
|
# =============================================================================
|
|
#
|
|
# | Browser | Redirect URL Format | Notes |
|
|
# |---------|------------------------------------------------------------------|----------------------------------------------------|
|
|
# | Chrome | https://<id>.chromiumapp.org/oauth/callback | Get ID from `chrome://extensions` |
|
|
# | Brave | https://<id>.chromiumapp.org/oauth/callback | Same extension package as Chrome |
|
|
# | Edge | https://<id>.chromiumapp.org/oauth/callback | Different ID from Chrome |
|
|
# | Firefox | https://<uuid>.extensions.allizom.org/oauth/callback | UUID from `browser.identity.getRedirectURL()` |
|
|
# | Safari | https://<team>.<bundle>.appextension/oauth/callback | Check Xcode project configuration |
|
|
#
|
|
# =============================================================================
|
|
|
|
# =============================================================================
|
|
# FIREFOX OAUTH CONFIG
|
|
# =============================================================================
|
|
EXPO_PUBLIC_CALCOM_OAUTH_CLIENT_ID_FIREFOX=
|
|
EXPO_PUBLIC_CALCOM_OAUTH_REDIRECT_URI_FIREFOX=
|
|
|
|
# =============================================================================
|
|
# SAFARI OAUTH CONFIG
|
|
# =============================================================================
|
|
EXPO_PUBLIC_CALCOM_OAUTH_CLIENT_ID_SAFARI=
|
|
EXPO_PUBLIC_CALCOM_OAUTH_REDIRECT_URI_SAFARI=
|
|
|
|
# =============================================================================
|
|
# EDGE OAUTH CONFIG
|
|
# =============================================================================
|
|
EXPO_PUBLIC_CALCOM_OAUTH_CLIENT_ID_EDGE=
|
|
EXPO_PUBLIC_CALCOM_OAUTH_REDIRECT_URI_EDGE=
|
|
|
|
# ===========================================
|
|
# CACHE CONFIGURATION (all values in MINUTES)
|
|
# ===========================================
|
|
|
|
# Default cache stale time for all queries (default: 5 minutes)
|
|
EXPO_PUBLIC_CACHE_STALE_TIME_MINUTES=5
|
|
|
|
# Garbage collection time - how long to keep unused cache (default: 1440 minutes - 24 hours)
|
|
EXPO_PUBLIC_CACHE_GC_TIME_MINUTES=1440
|
|
|
|
# Bookings cache stale time (default: 5 minutes)
|
|
# After this time, data is considered stale and will refetch in background
|
|
EXPO_PUBLIC_BOOKINGS_CACHE_STALE_TIME_MINUTES=5
|
|
|
|
# Event Types cache stale time (default: -1 = never stale)
|
|
# -1 means data only refreshes on mutations (create/update/delete) or manual pull-to-refresh
|
|
EXPO_PUBLIC_EVENT_TYPES_CACHE_STALE_TIME_MINUTES=-1
|
|
|
|
# Schedules (Availability) cache stale time (default: -1 = never stale)
|
|
EXPO_PUBLIC_SCHEDULES_CACHE_STALE_TIME_MINUTES=-1
|
|
|
|
# User Profile cache stale time (default: -1 = never stale)
|
|
EXPO_PUBLIC_USER_PROFILE_CACHE_STALE_TIME_MINUTES=-1
|
|
|
|
# required for dev/local
|
|
EXPO_PUBLIC_COMPANION_DEV_URL=http://localhost:8081
|