Skip to content

feat: feed sort, push test, shortcut validation, scroll polish#33

Merged
GraysonCAdams merged 9 commits intomainfrom
feat/feed-sort-validation-polish
Mar 1, 2026
Merged

feat: feed sort, push test, shortcut validation, scroll polish#33
GraysonCAdams merged 9 commits intomainfrom
feat/feed-sort-validation-polish

Conversation

@GraysonCAdams
Copy link
Copy Markdown
Collaborator

Summary

  • Feed sort order: Per-user preference to sort feed by oldest-first or round-robin (interleaves clips from different members). Watched tab always sorts by most-recently-watched.
  • Push notification test: New "Send test notification" button in notification settings with a 10-second server-side delay and 24-hour cooldown display.
  • Shortcut validation: Validate iCloud shortcut URLs before saving — shows blockers, soft warnings, and unreachable states with retry/save-anyway actions.
  • Dynamic bottom nav height: Replace hardcoded env(safe-area-inset-bottom) with a ResizeObserver-measured --bottom-nav-height CSS variable across all overlay components.
  • Scroll improvements: One-reel-at-a-time wheel scrolling, scroll-snap-stop: always, hidden scrollbar, correct filter tab on deep-link navigation.
  • Brand icon: Inline SVG with currentColor for dynamic accent color.
  • Service worker: Updated notification icon/badge paths to SVG.

Test plan

  • Verify feed sort toggle in Settings switches between oldest-first and round-robin
  • Verify round-robin interleaves clips from different members
  • Verify watched tab still sorts by most-recently-watched regardless of sort preference
  • Test "Send test notification" button delivers a push notification after ~10 seconds
  • Verify shortcut URL validation shows warnings/blockers before saving
  • Verify bottom nav height adapts correctly on devices with/without safe area insets
  • Test trackpad/mouse wheel scrolling advances one reel at a time
  • Verify deep-linking to a clip from notifications navigates to the correct filter tab
  • Verify brand logo on join page uses the group accent color

Replace hardcoded env(safe-area-inset-bottom) calculations with a
measured --bottom-nav-height CSS variable, adapting to real device
safe-area insets automatically.
Add a per-user feed sort preference (oldest-first or round-robin) stored
in the users table. Round-robin interleaves clips from different members
so no single poster dominates the feed. Watched tab always sorts by
most-recently-watched regardless of preference.
Add a test notification endpoint and UI button in notification settings
so users can verify their push setup is working. Includes a 10-second
server-side delay and 24-hour cooldown display.
Validate iCloud shortcut URLs before saving by hitting a validation
endpoint first. Show blockers, soft warnings, and unreachable states
with appropriate save/retry actions. Extract ValidationResults into a
shared component to keep ShortcutManager under the line limit.
Switch brand icon from img element to inline SVG with currentColor so it
inherits the group accent color dynamically.
Point push notification icon and badge to the new SVG icon paths.
Add one-reel-at-a-time wheel scrolling to prevent trackpad inertia from
skipping multiple reels. Enable scroll-snap-stop: always, hide the
scrollbar, and navigate to the correct filter tab on deep-link.
Move the iOS shortcut sheet content (iCloud URL input, validation,
token management) into a dedicated ShortcutSheet component to keep
ShortcutManager under the line limit.
Adjust clip tests to match the new behavior where only ready clips
appear in the feed. Add a second ready clip to the seed for pagination
coverage and simulate download completion in the auto-watched test.
@GraysonCAdams GraysonCAdams merged commit 6159ab8 into main Mar 1, 2026
17 checks passed
@GraysonCAdams GraysonCAdams deleted the feat/feed-sort-validation-polish branch March 1, 2026 23:16
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.

1 participant