Files
amethyst/commons/plans
Claude 284144f3f9 refactor(screens): step 6 wave 2, an AppPlatform slot and 37 more screens in commonsUI
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
2026-09-28 21:20:53 +00:00
..

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.