mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-30 07:37:38 +00:00
Second audit of the Navigation 3 move: - The share-intent guard in NavigateIfIntentRequested now read the current route as snapshot state, so the block re-ran on every navigation. Restored onto the share composer with the share still in the launch intent, the early return left the intent unconsumed, and leaving the composer reopened it (Share-to-DM likewise). The guard reads without observation and an early return now consumes the intent, which also lets the onNewIntent listener take over. - newStack onto the same destination built a new entry, so a deep link onto the screen already open (a notification while on Notifications) reset its ViewModels and saved state. The entry now takes the new arguments in place, as Navigation 2's single-top launch did. - A tab root re-argued that way was saved under its new arguments, where the bar never looks: the tab lost its state and the old entry lingered. Entries now carry tabRoute, the bar route they were opened as, and saved tabs are filed under it. - The rail derives each item's selection, and the shell derives landscape, so neither recomposes on navigations or resizes that change nothing. 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. |
| 2026-04-21-event-renderer.md | Cross-platform UI-agnostic RenderedEvent subsystem shared by Amy, Desktop, and Android. Core, 12 kind renderers and the JSON formatter shipped (amy notes show/thread/feed, notifications); the Compose formatter and the Android/Desktop switch-over remain. |
Queued
| Plan | Summary |
|---|---|
| 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. |