o does nothing on the repo list, Repo box and ★ By repo rows #117

Closed
opened 2026-10-10 07:21:10 -05:00 by deadstyle · 1 comment
Owner

Problem

PM report: "the open(o) command isn't working for forgejo. Click it and get nothing."

Reproduced (2026-10-10, Forgejo host): o opens PRs, issues, runs, releases, branches and files correctly (the system opener received the right URL and opened a tab). It silently does nothing wherever the selection is a repo itself, because the open-target lookup has no case for a repo, so the key is disabled there:

  • the repo list
  • the [6] Repo box (README tab)
  • ★ Renovate [1] By repo rows

Acceptance criteria

  • o on the repo list opens the selected repo's page in the browser (PM, 2026-10-10)
  • o on the Repo box README tab opens the repo's page (design.md → "o opens the browser for anything lazyforge doesn't cover")
  • o on a ★ By repo row opens that repo's page (same)
  • o shows in the repo-list key hints and help where it's enabled
  • Works the same on Forgejo/Gitea and GitHub

Context

  • internal/ui/actions.go webURL handles CR, Issue, Run, Release, Branch, TreeEntry but not domain.Repo (which carries WebURL). boxes.selected() returns b.repoRow (domain.Repo) for the Repo box.
  • Repo-level keys: syncKeys nils the item at levelRepos; repo-level short help doesn't list o.
  • ★ starModel.item() returns nil for By repo rows; the repo's web URL needs to come from the repo list.
  • design.md keymap table and "Action keys … work at both the box and details levels" (line 31) need a note that o also works on the repo list.
## Problem PM report: "the open(o) command isn't working for forgejo. Click it and get nothing." Reproduced (2026-10-10, Forgejo host): `o` opens PRs, issues, runs, releases, branches and files correctly (the system opener received the right URL and opened a tab). It silently does nothing wherever the selection is a repo itself, because the open-target lookup has no case for a repo, so the key is disabled there: - the repo list - the `[6]` Repo box (README tab) - ★ Renovate `[1]` By repo rows ## Acceptance criteria - `o` on the repo list opens the selected repo's page in the browser *(PM, 2026-10-10)* - `o` on the Repo box README tab opens the repo's page *(design.md → "`o` opens the browser for anything lazyforge doesn't cover")* - `o` on a ★ By repo row opens that repo's page *(same)* - `o` shows in the repo-list key hints and help where it's enabled - Works the same on Forgejo/Gitea and GitHub ## Context - `internal/ui/actions.go` `webURL` handles CR, Issue, Run, Release, Branch, TreeEntry but not `domain.Repo` (which carries `WebURL`). `boxes.selected()` returns `b.repoRow` (`domain.Repo`) for the Repo box. - Repo-level keys: `syncKeys` nils the item at `levelRepos`; repo-level short help doesn't list `o`. - ★ `starModel.item()` returns nil for By repo rows; the repo's web URL needs to come from the repo list. - design.md keymap table and "Action keys … work at both the box and details levels" (line 31) need a note that `o` also works on the repo list.
Author
Owner

🤖 merged: #119

🤖 merged: https://git.bobparsons.dev/deadstyle/lazyforge/pulls/119
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
deadstyle/lazyforge#117
No description provided.