mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-05 19:28:25 +00:00
Shared exits cut before the move: - AppPlatform (LocalAppPlatform, installed in AmethystTheme as AndroidAppPlatform) holds the app-shell pieces screens embed: the bottom navigation bar, the "around me" location label (it asks for the location permission) and the geohash location picker, dialog and inline. Screens call same-named shims in ui.platform. - PrefetchFeedMedia is common: Coil's SingletonImageLoader over LocalPlatformContext, the commons ConcurrentSet, and link previews warmed through NotePlatform.warmUrlPreview. - Amethyst.instance reads that have an AccountViewModel equivalent use it (HTTP clients, key cache, relay stats, client, NIP-05 client, LocalCache). - EventSync, the vanish screens and Namecoin settings format dates through the shared formatDateTime instead of Android's DateFormat; FeedFilterSpinner loses its unused context and permission opt-in; the Cashu reload flow uses kotlin.uuid and quartz BigDecimal. - viewModel() becomes rememberViewModel in the moving screens, and their ViewModelProvider.Factory classes override the multiplatform create(KClass, CreationExtras). Then 37 screens with no Android-only exit left move with their closures, 105 files, into commonsUI/commonMain (ui.* -> commons.ui.*): bookmark lists and groups, pinned notes, drafts, people lists, emoji packs, interest sets, the Cashu mint screens, relay and relay-group members, communities, Event Sync, the vanish screens, the feed filter spinner and the feed views they share. Two helpers the app still calls became public. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S7FuNBSKiyVecARSoE4B9P
commons plans
Audited 2026-06-30 (+ 2026-09-12 split entry, 2026-09-27 migration and one-UI entries).
In progress
| Plan | Summary |
|---|---|
| 2026-05-04-custom-feeds-plan.md | Custom feed creation/discovery/management for Desktop; core model + builder + kind 31890 + desktop UI shipped, but relay-filter layer, DVM marketplace, kind 10090 sync, and list resolution still pending. |
| 2026-05-06-nest-subscription-manager-extraction.md | Split the per-speaker subscription state machine out of NestViewModel; only the ActiveSubscription stepping-stone is extracted so far. |
| 2026-09-27-one-ui-android-desktop.md | The target. Android ships on laptops, so the whole UI (screens + navigation shell) moves to commonsUI, amethyst becomes an Android shim, and a new JVM desktopApp renders the same UI. Measures Wave 4: Account's 77-file move-group, its 5 blocked files and 14 seams, and AccountViewModel's dependencies; sequences the rest. |
| 2026-08-30-commons-migration-sweep.md | The running log of moving amethyst/ code into commons/commonsUI: waves, what moved each round. LocalCache has moved. Its STAY list and Wave 2 part B are superseded by the one-UI plan above. |
| 2026-05-30-amethyst-to-commons-migration.md | The original roadmap for the same move; superseded in practice by the sweep tracker above. |
Queued
| Plan | Summary |
|---|---|
| 2026-04-21-event-renderer.md | Cross-platform UI-agnostic RenderedEvent subsystem shared by Amy, Desktop, and Android; not started. |
| 2026-08-03-poll-results-page.md | Extended NIP-88 poll results page (per-option counts + who voted for what) for Android and Desktop; also specifies four tally-correctness fixes and the missing poll-relay subscription. Proposed, not started. |
Shipped
| Plan | Summary |
|---|---|
| 2026-09-12-audit-findings.md | Bug/performance audit of commons + commonsUI after the split: 34 verified fixes shipped, 4 deferred with rationale, 6 rejected. |
| 2026-09-12-commons-ui-split.md | Split the Compose half of commons into the new :commonsUI module (same packages, api(:commons)), so cli no longer carries Compose/Skiko; records the classification method and follow-ups. |
Archived (shipped)
| Plan | Summary |
|---|---|
| archive/2026-05-04-custom-feeds-testing-sheet.md | Test sheet recording the completed custom-feeds phases (unit + manual coverage). |
| archive/2026-05-05-feed-builder-enhancements-plan.md | Six FeedBuilderDialog enhancements (npub decode, author search, kind filters, edit/delete, save-as-feed, exclude authors) — all landed. |