Skip to content

fix: make iOS widget background transparent#5

Merged
dhairyashiil merged 3 commits into
mainfrom
devin/1771272773-transparent-widget-bg
Feb 17, 2026
Merged

fix: make iOS widget background transparent#5
dhairyashiil merged 3 commits into
mainfrom
devin/1771272773-transparent-widget-bg

Conversation

@PeerRich
Copy link
Copy Markdown
Member

@PeerRich PeerRich commented Feb 16, 2026

Summary

Makes the iOS home screen widget background transparent by:

  • Removing the ZStack + LinearGradient overlay (was Color.accentColor.opacity(0.05)Color.clear)
  • Changing .containerBackground(.fill.tertiary, for: .widget).containerBackground(.clear, for: .widget)

Only targets/widget/widgets.swift is modified. No Android or web changes.

Review & Testing Checklist for Human

  • Test on an iOS device or simulator — these changes cannot be verified without building the widget. Confirm the widget renders with a transparent background across all three supported sizes (small, medium, large).
  • Check text readability on varied wallpapers — with no background fill, widget text (.primary, .secondary, .accentColor) relies entirely on the system's vibrancy/contrast. Verify content is legible on both light and dark wallpapers.
  • Verify the empty state ("No upcoming bookings") is still visible without the gradient behind it.

Notes

  • The indentation changes in the diff are from un-nesting the VStack out of the removed ZStack — no logic changes beyond the background removal.
  • Requested by: @PeerRich
  • Link to Devin run

Co-Authored-By: peer@cal.com <peer@cal.com>
@devin-ai-integration
Copy link
Copy Markdown
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR that start with 'DevinAI' or '@devin'.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@devin-ai-integration devin-ai-integration Bot changed the title fix: make companion widget background transparent on web fix: make iOS widget background transparent Feb 16, 2026
@dhairyashiil dhairyashiil marked this pull request as ready for review February 17, 2026 05:34
Copy link
Copy Markdown
Member

@dhairyashiil dhairyashiil left a comment

Choose a reason for hiding this comment

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

lgtm

Image

@dhairyashiil dhairyashiil merged commit d24c985 into main Feb 17, 2026
4 checks passed
devin-ai-integration Bot pushed a commit that referenced this pull request May 23, 2026
- Reject /notify in Telegram groups with DM hint (#3)
- Validate payload fields (title, timeZone, start, end, hosts, attendees) in parseDeliverRequest (#4)
- Wrap deliverNotifications in try/catch, return 422 on formatter crash (#4)
- Add logging across route, service, and delivery modules (#5)
- Add /notify to Slack and Telegram help cards (#7)
- Add error field to DeliverResult for backend retry/unsubscribe decisions (#9)
- Change confirmation message from 'here' to 'via DM' (#10)
- Validate timeZone with Intl.DateTimeFormat before processing (#11)
- Add fallback badge for unknown notificationType (#12)
- Reject /notify in groups with 'check DMs' message (#13)
devin-ai-integration Bot pushed a commit that referenced this pull request May 29, 2026
…registration races

Addresses parallel-review findings:
- #1/#2: add a monotonic auth generation (epoch) bumped on clearAuth and every
  new login. Refreshes discard their result if the epoch changed mid-flight, and
  401 retries abort instead of replaying a stale request under a new identity.
- #3: loginFromWebSession now clears the query cache before flipping auth state
  so a previous user's in-memory cache can't be re-persisted under the new owner.
- #4: a registration that completes after logout/switch is not persisted as the
  active record; it is parked for retry instead of leaving a live subscription.
- #5: compare the full {token,userId,region,deviceId} tuple and keep unresolved
  prior registrations in a retry queue instead of clobbering the single slot.
dhairyashiil added a commit that referenced this pull request Jun 2, 2026
…es (epoch guard + auth-transition lock) (#97)

* fix(mobile): durable push registration, single-flight token refresh, identity-scoped query cache

* fix(mobile): address review feedback on push/auth/cache hardening

- write cal_auth_user_id in loginFromWebSession so web-session users keep persisted cache
- treat backend 404 on unregister as already-gone (region-aware) and clear stale record
- resolve a differing previous push registration before overwriting it
- add safe, PII-free logs (region, userId, deviceId, token hash) to push cleanup paths

* fix(mobile): guard auth session with a generation/epoch; harden push registration races

Addresses parallel-review findings:
- #1/#2: add a monotonic auth generation (epoch) bumped on clearAuth and every
  new login. Refreshes discard their result if the epoch changed mid-flight, and
  401 retries abort instead of replaying a stale request under a new identity.
- #3: loginFromWebSession now clears the query cache before flipping auth state
  so a previous user's in-memory cache can't be re-persisted under the new owner.
- #4: a registration that completes after logout/switch is not persisted as the
  active record; it is parked for retry instead of leaving a live subscription.
- #5: compare the full {token,userId,region,deviceId} tuple and keep unresolved
  prior registrations in a retry queue instead of clobbering the single slot.

* fix(mobile): close epoch-guard gaps in refresh/boot/logout/push paths

* fix(mobile): close residual epoch/partial-write and push-404 ownership gaps

* fix(mobile): close rollback/web-login/push-cleanup gaps from round 4

* fix(mobile): epoch-guard setupAfterLogin/loginWithOAuth, tighten rollback marker + late-registration cleanup

* fix(mobile): close remaining setupAfterLogin/loginWithOAuth/web-session epoch windows

* fix(mobile): serialize auth/storage marker mutations via auth-transition lock; pre-POST generation check for push registration

* fix(mobile): recheck auth generation after setupAfterLogin before installing refresh fn

* fix(mobile): coalesce concurrent logouts, re-entrancy guard for auth lock, region-safe cache envelope, pending-queue cap
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants