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

52
tests/fixtures/sample-atom.xml vendored Normal file
View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Test Atom Feed</title>
<link href="https://example.com" rel="alternate"/>
<link href="https://example.com/feed.xml" rel="self"/>
<id>https://example.com/feed.xml</id>
<updated>2026-03-31T12:00:00Z</updated>
<author>
<name>Test Author</name>
<email>test@example.com</email>
</author>
<generator>RSSuper Test Generator</generator>
<entry>
<title>Test Article 1</title>
<link href="https://example.com/article1" rel="alternate"/>
<id>https://example.com/article1</id>
<updated>2026-03-31T10:00:00Z</updated>
<published>2026-03-31T10:00:00Z</published>
<author>
<name>Test Author</name>
</author>
<summary type="html">This is the first test article</summary>
<category term="technology"/>
</entry>
<entry>
<title>Test Article 2</title>
<link href="https://example.com/article2" rel="alternate"/>
<id>https://example.com/article2</id>
<updated>2026-03-31T11:00:00Z</updated>
<published>2026-03-31T11:00:00Z</published>
<author>
<name>Test Author</name>
</author>
<summary type="html">This is the second test article</summary>
<category term="news"/>
</entry>
<entry>
<title>Test Article 3</title>
<link href="https://example.com/article3" rel="alternate"/>
<id>https://example.com/article3</id>
<updated>2026-03-31T12:00:00Z</updated>
<published>2026-03-31T12:00:00Z</published>
<author>
<name>Test Author</name>
</author>
<summary type="html">This is the third test article with more content</summary>
<category term="technology"/>
</entry>
</feed>