Changelog
Recent updates from the Rep app.
Development Activity
- 1c33909
Major performance improvement with chat dialog (#41)
Faster, smoother OpenAI chat streaming — text renders incrementally as it arrives instead of re-rendering the full response each time.
- cd717e5
Photo picker for Rep AI (#40)
Upload photos directly in the AI chat to turn images into spaced repetition flashcards.
- a01196c
OpenAI officially added as new data source (#39)
Create flashcards from notes, PDFs, photos, and AI chats. Full streaming chat UI with file upload support — a second way to feed Rep alongside Notion.
- c115e3d
Page import + parsing refactor (#38)
Overhauled Notion page parsing for faster, more reliable imports. Consolidated data manager with improved caching and parallel task processing.
- 2d1dea7
Skeleton loader (#37)
Added skeleton loading states when your page list is empty, so the app feels responsive while content loads.
- b388c61
Prevent syncing of deleted pages, general bug fixes (#36)
Fixed deleted Notion pages reappearing after sync. List rendering and Supabase calls are faster with background tasks.
- 5cec209
App Store compliance updates
Removed pro badges and updated terms-of-service compliance for App Store review.
- 886078b
Reliable sync on app launch (#35)
Notes now sync automatically and reliably every time you open the app.
- 60bf681
UI Enhancements (#34)
Visual refinements across the app for a cleaner, more polished experience.
- 7d74d77
Auto sync feature (#33)
Your imported Notion pages now automatically stay up to date — no manual refresh needed.
- e4e51ab
Hyper mode functionality for pro tier (#32)
Conditional shorter interval selection option set for hyper mode, will be gated by payment wall later.
- c7e5e5d
Support for lists and headings (#31)
Heading block types and bulleted lists as well as numbered lists now parse into Rep. Notion's special bullet characters won't appear (they're from Notion's UI renderer), but text from those block types will. Also tweaked liquid glass styling.
- 0221d21
Slider option displayed per-tab
Interval slider state is now shown per tab.
- 28de81f
Fixed timestamp staggering bug (#30)
Concurrency fix: previous task is cancelled after every slider change and a new task is created. Timestamps are dynamically staggered instead of chained. Base Date() is computed per-page so multiple tabs don't build on each other's timestamps.
- 4c9eecf
Payment sheet UI, basic StoreKit backend (#29)
Payment popover front-end and WIP StoreKit setup.
- cf625b2
Text formatting improvements
Improved how note content is formatted when displayed in the app.
- 507dbb9
Migrated auth bridge to Supabase
Authentication now uses Supabase as the backend.