Files
amethyst/commons/plans/README.md
T
Claude 9512fd886f refactor: move the unblocked amethyst/ui files to commons and commonsUI
A transitive-blocker sweep (imports plus same-package references) found
96 files under amethyst/ui that no longer depend on Android or on
app-only code. This moves 68 of them, deletes 3 app copies of code that
commons already had, and leaves 25 that are Android-only by nature.

- To commons: the chatroom-list and relay-group filters, the *LastRead
  routes, composer state (NewMessageTagger, DraftTagState, IExpiration,
  PreviewState, SplitConversor), FilterByListParams and the small feed
  states, RelayFeedViewModel, UserExternalIdentitiesViewModel,
  TorDialogViewModel, the QR structured-append accumulator, PitchShifter
  and others.
- To commonsUI: InformationDialog, UrlPreviewCard, the mention input
  transformation, the nav wrappers (ObservableNav, TwoPaneNav,
  ShareToDMNav), SettingsCatalog, KeyboardState and feature composables
  under their feature ui/ packages.
- Deleted app copies: ui/note/PubKeyFormatter, ui/note/ZapFormatter and
  the EqualImmutableLists shim; callers use the commons originals.
- commonMain fixes the moves needed: String.format, codePointAt,
  Integer.parseInt, javaClass and a Class<T> ViewModel factory replaced
  by their KMP equivalents.
- Eleven pure unit tests moved with their code.

The per-file table, the files kept in the app and why, and what the
sweep found outside ui/ are in commons/plans/2026-08-30-commons-migration-sweep.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkG4KTqmnprUK9BAcwAyc8
2026-09-27 03:28:08 +00:00

2.7 KiB

commons plans

Audited 2026-06-30 (+ 2026-09-12 split entry, 2026-09-27 migration 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-08-30-commons-migration-sweep.md The running tracker for moving amethyst/ code into commons/commonsUI: waves, what moved each round, what stays and why. LocalCache has moved; retiring DesktopLocalCache (Wave 2 part B) and the AccountViewModel hub composables are next.
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.