-
Notifications
You must be signed in to change notification settings - Fork 5
Fix/dreamsync welcome #676
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
Conversation
📝 WalkthroughWalkthroughUpdated user display to use Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant ProfilePage as Profile Page (Svelte)
participant ProfileComponent as Profile.svelte
participant API as /api/users/:id/follow
participant Backend as Server/DB
User->>ProfileComponent: Click "Follow" button
ProfileComponent->>ProfilePage: emit follow action (bound)
ProfilePage->>ProfilePage: set isFollowing = true
ProfilePage->>API: POST /api/users/{id}/follow
API->>Backend: persist follow
Backend-->>API: 200 OK
API-->>ProfilePage: success
ProfilePage->>ProfileComponent: set didFollowed = true (bound)
ProfileComponent-->>ProfilePage: visual animation (btnScale) / display Tick
ProfilePage->>ProfilePage: wait 1s, set didFollowed = false
ProfilePage->>ProfilePage: fetchProfile() to refresh state
ProfilePage->>ProfileComponent: update props (isFollowing=false or updated)
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 3❌ Failed checks (2 warnings, 1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 📜 Recent review detailsConfiguration used: defaults Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
✏️ Tip: You can disable this entire section by setting Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@platforms/pictique/src/lib/fragments/Profile/Profile.svelte`:
- Around line 30-37: wrappedFollow currently sets requestSent unconditionally
after await handleFollow(), causing failures to be treated as success; modify
handleFollow to return a boolean success flag (or rethrow on failure) and then
update wrappedFollow to capture that return value and only set requestSent =
true when success === true; ensure btnScale.target is restored to 1 in a finally
block so the button animation resets regardless of outcome.
🧹 Nitpick comments (1)
platforms/pictique/src/lib/fragments/Profile/Profile.svelte (1)
57-83: Check button variant hierarchy for Follow vs Message.In Pictique,
variant="primary"is visually secondary whilevariant="secondary"reads as primary. If “Follow” should be the primary CTA, consider swapping variants for the follow and message buttons.Based on learnings, the Button variant mapping in this codebase is intentionally inverted for visual hierarchy.
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
platforms/dreamSync/client/src/pages/wishlist-editor.tsxplatforms/dreamSync/shared/schema.tsplatforms/pictique/src/lib/fragments/Profile/Profile.svelteplatforms/pictique/src/routes/(protected)/profile/[id]/+page.svelte
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2026-01-08T06:01:19.105Z
Learnt from: grv-saini-20
Repo: MetaState-Prototype-Project/prototype PR: 651
File: platforms/pictique/src/routes/(protected)/messages/+page.svelte:569-587
Timestamp: 2026-01-08T06:01:19.105Z
Learning: In the Pictique platform codebase at platforms/pictique, the Button component's `variant="primary"` visually appears more like a secondary button, while `variant="secondary"` appears more prominent/primary. Developers intentionally swap these variants to achieve the desired visual hierarchy.
Applied to files:
platforms/pictique/src/lib/fragments/Profile/Profile.svelte
📚 Learning: 2026-01-05T11:46:43.214Z
Learnt from: Bekiboo
Repo: MetaState-Prototype-Project/prototype PR: 653
File: platforms/pictique/src/routes/(auth)/auth/+page.svelte:173-173
Timestamp: 2026-01-05T11:46:43.214Z
Learning: In Tailwind CSS v4, gradient utilities were renamed from bg-gradient-to-{direction} to bg-linear-to-{direction}. For all Svelte components (e.g., any .svelte files in the project), replace usages like bg-gradient-to-r, bg-gradient-to-l, etc. with bg-linear-to-r, bg-linear-to-l, etc. Ensure consistency across the codebase, update any documentation or design tokens, and run visual/test checks to confirm gradients render as intended.
Applied to files:
platforms/pictique/src/lib/fragments/Profile/Profile.svelteplatforms/pictique/src/routes/(protected)/profile/[id]/+page.svelte
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: lint
- GitHub Check: build
✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@platforms/pictique/src/routes/`(auth)/auth/+page.svelte:
- Around line 150-152: The onDestroy cleanup is currently registered inside the
onMount block and can be skipped when auto-login returns early; move the
onDestroy(...) call so it is declared alongside (and before) onMount(...) to
ensure it always runs; specifically, ensure the onDestroy handler clears
timerInterval (if set) and removes the window resize listener that references
checkMobile (the same listener added earlier) so the resize listener and
interval are always cleaned up even when auto-login short-circuits.
♻️ Duplicate comments (1)
platforms/pictique/src/lib/fragments/Profile/Profile.svelte (1)
29-35: Reset button scale even if follow fails.
IfhandleFollowthrows, the scale never resets. Wrap it intry/finallyto guarantee the UI returns to normal.🐛 Suggested fix
async function wrappedFollow() { btnScale.target = 0.95; - await handleFollow(); - btnScale.target = 1; + try { + await handleFollow(); + } finally { + btnScale.target = 1; + } }
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
platforms/pictique/src/lib/fragments/Profile/Profile.svelteplatforms/pictique/src/routes/(auth)/auth/+page.svelteplatforms/pictique/src/routes/(protected)/profile/[id]/+page.svelte
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2026-01-08T06:01:19.105Z
Learnt from: grv-saini-20
Repo: MetaState-Prototype-Project/prototype PR: 651
File: platforms/pictique/src/routes/(protected)/messages/+page.svelte:569-587
Timestamp: 2026-01-08T06:01:19.105Z
Learning: In the Pictique platform codebase at platforms/pictique, the Button component's `variant="primary"` visually appears more like a secondary button, while `variant="secondary"` appears more prominent/primary. Developers intentionally swap these variants to achieve the desired visual hierarchy.
Applied to files:
platforms/pictique/src/lib/fragments/Profile/Profile.svelte
📚 Learning: 2026-01-05T11:46:43.214Z
Learnt from: Bekiboo
Repo: MetaState-Prototype-Project/prototype PR: 653
File: platforms/pictique/src/routes/(auth)/auth/+page.svelte:173-173
Timestamp: 2026-01-05T11:46:43.214Z
Learning: In Tailwind CSS v4, gradient utilities were renamed from bg-gradient-to-{direction} to bg-linear-to-{direction}. For all Svelte components (e.g., any .svelte files in the project), replace usages like bg-gradient-to-r, bg-gradient-to-l, etc. with bg-linear-to-r, bg-linear-to-l, etc. Ensure consistency across the codebase, update any documentation or design tokens, and run visual/test checks to confirm gradients render as intended.
Applied to files:
platforms/pictique/src/lib/fragments/Profile/Profile.svelteplatforms/pictique/src/routes/(auth)/auth/+page.svelteplatforms/pictique/src/routes/(protected)/profile/[id]/+page.svelte
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: lint
- GitHub Check: build
🔇 Additional comments (9)
platforms/pictique/src/lib/fragments/Profile/Profile.svelte (2)
4-25: Follow-state props wiring looks good.
Props/defaults forisFollowinganddidFollowedplus the message handler align cleanly with the new UI state surface.
54-80: Follow button state rendering is clear.
The disabled logic and Follow / Following / Followed visuals read well and should feel responsive.platforms/pictique/src/routes/(protected)/profile/[id]/+page.svelte (3)
30-31: Local follow state tracking looks good.
Clear separation ofisFollowinganddidFollowedmakes the UI state readable.
53-66: Follow request flow is solid.
SettingisFollowingbefore the request and resetting infinallykeeps UI state consistent.
105-108: Bindings correctly wire follow state to the Profile component.
Two‑way bindings match the new child props and should keep UI in sync.platforms/pictique/src/routes/(auth)/auth/+page.svelte (4)
19-20: State additions for countdown are clear.The new state and interval handle read well and are easy to follow.
74-83: Timer loop is straightforward and self-terminating.Interval decrement + reload-on-expiry is easy to reason about.
109-110: Starting the timer after QR data is fetched is appropriate.Keeps the expiry aligned with the QR/session lifetime.
226-231: Dynamic countdown messaging reads well.Conditional styling for the last 10 seconds is a nice touch.
✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.
Description of change
Fixed the dreamsync welcome with user name.

Issue Number
closes #629
Type of change
How the change has been tested
Manual
Change checklist
Summary by CodeRabbit
New Features
Bug Fixes / Improvements
Chores
✏️ Tip: You can customize this high-level summary in your review settings.