alpha
Login
or
Join now
h14h.com
/
glide
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Effortlessly glide through your todos
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
glide
/
src
/
widget
/
at
plan-anim
5 files
Henry Firth
Local-first architecture + single-user Convex sync; drop sortAt
5w ago
291d49de
glide-widget.tsx
Make horizontal "All clear" layout medium-widget-only The previous change put the emoji beside the title everywhere, but the horizontal layout was only wanted on the medium widget — to fix its cramped vertical spacing. The in-app view and the roomy large widget read better with the emoji stacked above the title. Parameterise emptyCard with a `row` flag: the medium widget passes it (emoji beside title); the large widget stays vertical. Revert the in-app EmptyState to its vertical layout. Verified in the simulator: in-app and large render the emoji above "All clear"; medium renders it beside. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 month ago
index.ts
Add live home-screen widget and session Done count Introduce an iOS home-screen widget (expo-widgets) that mirrors the Actioning surface outside the app: - small = a Ready/Done scoreboard (two horizontal coloured badges) - medium = Glide header + hero card with the current task - large = mini Actioning view (hero + NEXT UP list + Plan/New links) The app pushes snapshots from its live getBoard subscription via a JSON-deduped bridge (src/widget/use-glide-widget-sync.ios.ts), so the widget updates in real time whenever the app is or has been running. Tap opens the app (large deep-links to /plan and /new). Add a session-scoped Done count: a singleton meta table tracks tasks actioned since the last Plan session (readyCount + done = the ready batch). Surfaced as a purple Done badge beside the green Ready badge in the actioning header and widget headers, and as the small widget's whole purpose. startPlanSession resets it each time Plan opens. Cap task titles at TITLE_MAX_LENGTH (64) — the binding constraint is the 2x2 widget — enforced by the capture input and a server-side slice. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 month ago
use-glide-widget-sync.ios.ts
Local-first architecture + single-user Convex sync; drop sortAt Every feature now works offline with no account or network: a local MMKV-backed Zustand store is the source of truth behind a repository seam (src/data), and Convex is gone from the runtime path. Add an optional, account-scoped Convex sync engine (single-user/dogfood mode): an offline outbox of optimistic writes with idempotent upserts keyed by a client UUID and last-write-wins reconciliation, plus the push/pull backend (convex/sync.ts). Replace the over-engineered sortAt ordering with stable createdAt/completedAt, and drop the sortAt column via a zero-downtime widen->migrate->narrow (@convex-dev/migrations). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 month ago
use-glide-widget-sync.ts
Local-first architecture + single-user Convex sync; drop sortAt Every feature now works offline with no account or network: a local MMKV-backed Zustand store is the source of truth behind a repository seam (src/data), and Convex is gone from the runtime path. Add an optional, account-scoped Convex sync engine (single-user/dogfood mode): an offline outbox of optimistic writes with idempotent upserts keyed by a client UUID and last-write-wins reconciliation, plus the push/pull backend (convex/sync.ts). Replace the over-engineered sortAt ordering with stable createdAt/completedAt, and drop the sortAt column via a zero-downtime widen->migrate->narrow (@convex-dev/migrations). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 month ago
widget-payload.ts
Local-first architecture + single-user Convex sync; drop sortAt Every feature now works offline with no account or network: a local MMKV-backed Zustand store is the source of truth behind a repository seam (src/data), and Convex is gone from the runtime path. Add an optional, account-scoped Convex sync engine (single-user/dogfood mode): an offline outbox of optimistic writes with idempotent upserts keyed by a client UUID and last-write-wins reconciliation, plus the push/pull backend (convex/sync.ts). Replace the over-engineered sortAt ordering with stable createdAt/completedAt, and drop the sortAt column via a zero-downtime widen->migrate->narrow (@convex-dev/migrations). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 month ago