2.1 KiB
2.1 KiB
TODO
Fork support
- Add UI for fork (see
PLAN.mdsection 1):- Fork badge on repo list cards (
repo_list.rs::render_card). - "Forked from …" text button in the repo detail header (
repo_detail/mod.rs::render_header) and About dialog. - Clicking the upstream opens it as a center panel (shared
open_repo_panelhelper).
- Fork badge on repo list cards (
Pull request improvement (see PLAN.md section 2)
- P1:
branch-nametag +rEUC tag on PR creation; draft checkbox in the new-PR dialog. - P1:
RepoStore::update_pull_request(kind 1619 + root-revision patch) with an author-only "Update" button on the PR detail header. - P1:
latest_updatefilters by PR author. - P2: local checkout picker + generated patch + pre-publish apply check (also enables
merge-base). - P3: push tip to grasp, truthful
clonetags, size-aware patch series. - P4:
merge-commit/applied-as-commitstags on merge status.
Performance: render path
- Virtualize issue/PR comment threads (
issue_detail.rs::render_comments,pull_request_detail.rs::render_comments). Harder than the list tabs: comment cards have variable heights and live inside a scrolling page together with the body and the comment form, so this needs either measured item sizes or restructuring the whole discussion tab into one virtual list. (Comment bodies are already cached asSharedString, so re-renders are cheap element constructions, not byte copies.)
Performance: relay/subscription behavior
- Narrow
RepoStore'sBackendEvent::NostrUpdaterelevance filter (crates/signed_state/src/repo.rs:65-98): any comment/status/label/deletion from anywhere wakes every open repo store; match only events referencing this repo's roots or coordinate. - Reconsider
ban_relay_on_mismatch(true)(crates/signed_nostr/src/backend.rs:49): combined with many short-lived auto-close subscriptions, a late event after EOSE can permanently ban a relay for the session. - Relays added for a repo stay in the pool forever and grow unboundedly (
crates/signed_state/src/backend.rs); consider removing repo relays when the last panel for that repo closes.