Commit Graph

31 Commits

Author SHA1 Message Date
8f20175089 Fix StackOverflowError in SyncWorker chunked() extension
The custom chunked() extension function recursively called itself instead of
using Kotlin's standard library chunked() method, causing StackOverflowError.

Removed the buggy custom extension - Kotlin's List<T>.chunked() is already
available in the standard library.
2026-03-31 02:11:44 -04:00
dd4e184600 Fix critical iOS notification service issues
- Fixed authorization handling in NotificationService
- Removed invalid icon and haptic properties
- Fixed deliveryDate API usage
- Removed invalid presentNotificationRequest call
- Fixed notification trigger initialization
- Simplified notification categories with delegate implementation
- Replaced UNNotificationBadgeManager with UIApplication.shared.applicationIconBadgeNumber
- Eliminated code duplication in badge update logic
- Fixed NotificationPreferencesStore JSON encoding/decoding
2026-03-30 23:54:39 -04:00
14efe072fa feat: implement cross-platform features and UI integration
- iOS: Add BackgroundSyncService, SyncScheduler, SyncWorker, BookmarkViewModel, FeedViewModel
- iOS: Add BackgroundSyncService, SyncScheduler, SyncWorker services
- Linux: Add settings-store.vala, State.vala signals, view widgets (FeedList, FeedDetail, AddFeed, Search, Settings, Bookmark)
- Linux: Add bookmark-store.vala, bookmark vala model, search-service.vala
- Android: Add NotificationService, NotificationManager, NotificationPreferencesStore
- Android: Add BookmarkDao, BookmarkRepository, SettingsStore
- Add unit tests for iOS, Android, Linux
- Add integration tests
- Add performance benchmarks
- Update tasks and documentation

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 23:06:12 -04:00
6191458730 Implement iOS settings/preferences store
Some checks failed
CI - Multi-Platform Native / Build iOS (RSSuper) (push) Has been cancelled
CI - Multi-Platform Native / Build macOS (push) Has been cancelled
CI - Multi-Platform Native / Build Android (push) Has been cancelled
CI - Multi-Platform Native / Build Linux (push) Has been cancelled
CI - Multi-Platform Native / Build Summary (push) Has been cancelled
- Created Settings directory with core store files
- Implemented SettingsStore with UserDefaults/App Group support
- Created AppSettings for app-wide configuration
- Created UserPreferences for unified preferences access
- Added enableAll/disableAll methods to ReadingPreferences
- Added enableAll/disableAll methods to NotificationPreferences
- Created SettingsMigration framework for version migrations

This implements the core settings infrastructure for iOS.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 17:07:42 -04:00
c2e1622bd8 restructure
Some checks failed
CI - Multi-Platform Native / Build iOS (RSSuper) (push) Has been cancelled
CI - Multi-Platform Native / Build macOS (push) Has been cancelled
CI - Multi-Platform Native / Build Android (push) Has been cancelled
CI - Multi-Platform Native / Build Linux (push) Has been cancelled
CI - Multi-Platform Native / Build Summary (push) Has been cancelled
2026-03-30 16:39:18 -04:00
a8e07d52f0 ignore build
Some checks failed
CI - Multi-Platform Native / Build iOS (RSSuper) (push) Has been cancelled
CI - Multi-Platform Native / Build macOS (push) Has been cancelled
CI - Multi-Platform Native / Build Android (push) Has been cancelled
CI - Multi-Platform Native / Build Linux (push) Has been cancelled
CI - Multi-Platform Native / Build Summary (push) Has been cancelled
2026-03-30 16:34:12 -04:00
8e075a655d duplicate
Some checks failed
CI - Multi-Platform Native / Build iOS (RSSuper) (push) Has been cancelled
CI - Multi-Platform Native / Build macOS (push) Has been cancelled
CI - Multi-Platform Native / Build Android (push) Has been cancelled
CI - Multi-Platform Native / Build Linux (push) Has been cancelled
CI - Multi-Platform Native / Build Summary (push) Has been cancelled
2026-03-30 16:33:22 -04:00
3a367408cc fluff
Some checks failed
CI - Multi-Platform Native / Build Summary (push) Has been cancelled
CI - Multi-Platform Native / Build iOS (RSSuper) (push) Has been cancelled
CI - Multi-Platform Native / Build macOS (push) Has been cancelled
CI - Multi-Platform Native / Build Android (push) Has been cancelled
CI - Multi-Platform Native / Build Linux (push) Has been cancelled
2026-03-30 16:32:11 -04:00
a6da9ef9cf Auto-commit 2026-03-30 16:30 2026-03-30 16:30:46 -04:00
5fc7ed74c4 Convert remaining tasks to issues (FRE-527 through FRE-551) 2026-03-30 13:00:37 -04:00
e5197e6a2d linux feed-fetcher
Some checks failed
CI - Multi-Platform Native / Build iOS (RSSuper) (push) Has been cancelled
CI - Multi-Platform Native / Build macOS (push) Has been cancelled
CI - Multi-Platform Native / Build Android (push) Has been cancelled
CI - Multi-Platform Native / Build Linux (push) Has been cancelled
CI - Multi-Platform Native / Build Summary (push) Has been cancelled
2026-03-30 12:33:35 -04:00
1fe72401f0 clean 2026-03-30 11:26:33 -04:00
533dc1ba14 11: Update README to mark Linux feed parser as complete 2026-03-30 09:40:58 -04:00
bbc1363bcc 11: Implement Linux RSS/Atom feed parser 2026-03-30 09:38:06 -04:00
d84b8ff4e8 Implement Android RSS/Atom feed parser
- Add FeedParser.kt with automatic feed type detection
- Add RSSParser.kt for RSS 2.0 feeds
- Add AtomParser.kt for Atom 1.0 feeds
- Add comprehensive unit tests for both parsers
- Support iTunes namespace and enclosures
- Fix pre-existing compilation issues in the codebase
- Update build.gradle.kts with proper dependencies and AGP 8.5.0
2026-03-30 09:01:49 -04:00
ac5250b2af Fix database layer migration and test issues
- Embed schema directly in database.vala for simpler test deployment
- Fix test subscription_id values to match actual subscription IDs
- Fix search history test to handle non-deterministic ordering

All database tests now pass successfully.
2026-03-30 00:33:39 -04:00
18cf219a7d type sensitive?
Some checks failed
CI - Multi-Platform Native / Build iOS (RSSuper) (push) Has been cancelled
CI - Multi-Platform Native / Build macOS (push) Has been cancelled
CI - Multi-Platform Native / Build Android (push) Has been cancelled
CI - Multi-Platform Native / Build Summary (push) Has been cancelled
CI - Multi-Platform Native / Build Linux (push) Has been cancelled
2026-03-30 00:03:12 -04:00
e572437f37 linux db
Some checks failed
CI - Multi-Platform Native / Build iOS (RSSuper) (push) Has been cancelled
CI - Multi-Platform Native / Build macOS (push) Has been cancelled
CI - Multi-Platform Native / Build Android (push) Has been cancelled
CI - Multi-Platform Native / Build Summary (push) Has been cancelled
CI - Multi-Platform Native / Build Linux (push) Has been cancelled
2026-03-30 00:02:12 -04:00
dc17a71be4 grundle
Some checks failed
CI - Multi-Platform Native / Build iOS (RSSuper) (push) Has been cancelled
CI - Multi-Platform Native / Build macOS (push) Has been cancelled
CI - Multi-Platform Native / Build Android (push) Has been cancelled
CI - Multi-Platform Native / Build Linux (push) Has been cancelled
CI - Multi-Platform Native / Build Summary (push) Has been cancelled
2026-03-29 23:04:47 -04:00
473457df2f feat: implement Android database layer with Room
- Add SubscriptionEntity, FeedItemEntity, SearchHistoryEntity
- Create SubscriptionDao, FeedItemDao, SearchHistoryDao with CRUD operations
- Implement RssDatabase with FTS5 virtual table for full-text search
- Add type converters for Date, String lists, and FeedItem lists
- Implement cascade delete for feed items when subscription is removed
- Add comprehensive unit tests for all DAOs
- Add database integration tests for entity round-trips and FTS
- Configure Room testing dependencies
2026-03-29 20:41:51 -04:00
f0922e3c03 Implement Linux data models (C/Vala)
- Add FeedItem, Feed, FeedSubscription models
- Add SearchResult, SearchFilters, SearchQuery models
- Add NotificationPreferences, ReadingPreferences models
- Implement JSON serialization/deserialization for all models
- Add equality comparison methods
- Following GNOME HIG naming conventions
- Build system configured with Meson/Ninja
2026-03-29 17:40:59 -04:00
fdd4fd8a46 feat: implement Android data models in Kotlin
- Add FeedItem, Feed, FeedSubscription models with Moshi JSON support
- Add SearchResult, SearchFilters models with sealed classes for enums
- Add NotificationPreferences, ReadingPreferences models
- Add Room Entity annotations for database readiness
- Add TypeConverters for Date and List<String> serialization
- Add Parcelize for passing models between Activities/Fragments
- Write comprehensive unit tests for serialization/deserialization
- Write tests for copy(), equals/hashCode, and toString functionality
2026-03-29 15:40:38 -04:00
fade9fd5b1 feat: Update iOS submodule with data models implementation 2026-03-29 15:13:51 -04:00
d346b527e6 migration start
Some checks failed
CI - Multi-Platform Native / Build iOS (RSSuper) (push) Has been cancelled
CI - Multi-Platform Native / Build macOS (push) Has been cancelled
CI - Multi-Platform Native / Build Android (push) Has been cancelled
CI - Multi-Platform Native / Build Linux (push) Has been cancelled
CI - Multi-Platform Native / Build Summary (push) Has been cancelled
2026-03-29 14:12:17 -04:00
af87f9f571 Design shared data models for native platforms
- Define core entities: FeedItem, FeedSubscription, SearchHistoryItem
- Document entity relationships with diagram
- Create database schema with SQLite and FTS5
- Provide type mapping guide for Swift/Kotlin/C
- Define value types vs reference types
- Document enumeration types for all platforms
- Specify serialization/deserialization requirements
- Outline indexing strategy for performance
- Include memory considerations and future extensibility
2026-03-29 14:02:34 -04:00
5f4d5a52e8 docs: Document current Expo architecture for native migration
- Document technology stack (Expo, TypeScript, Zustand, SQLite)
- Map out all data models and types
- Document service dependencies and architecture
- Create component dependency diagrams
- Document data flow for feed sync and search
- Provide migration checklist with priorities
- Identify pure TypeScript vs native-dependent services

This analysis provides the foundation for migrating business logic
from Expo/TypeScript to native platforms (iOS, Android, Linux).
2026-03-29 11:43:46 -04:00
a7d4f4e4d3 pause 2026-03-29 09:21:33 -04:00
821e71b387 fix import 2026-03-28 23:58:07 -04:00
cf46257521 livin on the carary 2026-03-28 23:53:42 -04:00
e56e3ba531 init 2026-03-28 23:51:50 -04:00
0a477300f4 Initial commit
Generated by create-expo-app 3.5.3.
2026-03-28 10:37:16 -04:00