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>
This commit is contained in:
2026-03-30 23:06:12 -04:00
parent 6191458730
commit 14efe072fa
98 changed files with 11262 additions and 109 deletions

40
tests/fixtures/sample-rss.xml vendored Normal file
View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Test RSS Feed</title>
<link>https://example.com</link>
<description>A test RSS feed for integration testing</description>
<language>en-us</language>
<lastBuildDate>Mon, 31 Mar 2026 12:00:00 GMT</lastBuildDate>
<item>
<title>Test Article 1</title>
<link>https://example.com/article1</link>
<description>This is the first test article</description>
<author>test@example.com</author>
<pubDate>Mon, 31 Mar 2026 10:00:00 GMT</pubDate>
<guid>article-1</guid>
<category>technology</category>
</item>
<item>
<title>Test Article 2</title>
<link>https://example.com/article2</link>
<description>This is the second test article</description>
<author>test@example.com</author>
<pubDate>Mon, 31 Mar 2026 11:00:00 GMT</pubDate>
<guid>article-2</guid>
<category>news</category>
</item>
<item>
<title>Test Article 3</title>
<link>https://example.com/article3</link>
<description>This is the third test article with more content</description>
<author>test@example.com</author>
<pubDate>Mon, 31 Mar 2026 12:00:00 GMT</pubDate>
<guid>article-3</guid>
<category>technology</category>
</item>
</channel>
</rss>