Cover the gotoBottomOriginY origin math (scroll-past-bottom on/off, content
shorter than the view, empty content) and the isDoublePress timing used to
detect the vim-style "gg" double press.
When the main panel is focused (e.g. the Container Config screen) the options
bar now lists the gg/G scroll-to-top/bottom shortcuts alongside the existing
scroll and navigation hints.
Pressing 'gg' jumps to the top and 'G' jumps to the bottom of the main panel,
matching vim navigation. The bindings are scoped to the main view so they apply
across all of its tabs (Config, Logs, Env, Stats, Top).
Add handlers that scroll the main panel to the top and bottom. gotoTopMain
implements the vim-style "gg" double press (gocui has no native key-sequence
support) by tracking the last 'g' press timestamp in the gui state, while
gotoBottomMain jumps to the final line, honouring the ScrollPastBottom config.
The origin math and double-press timing are factored into pure helpers so they
can be unit tested.
Addresses Copilot review comments on PR #797:
- Containers panel title, initial focus selection, and the local-project
inclusion in getDiscoveredProjects all switched from
InDockerComposeProject to IsProjectScoped, so they stay consistent
when -p is given outside a compose dir.
- Adds TestIsProjectScoped table test covering all four combinations.
InDockerComposeProject is still used at the call sites that genuinely
require a compose dir (renderDockerComposeConfig, GetServices).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Upgrade Docker client from v27.1.1 to v28.5.2
- Update hardcoded API version from 1.25 to 1.52
- Enable API version negotiation for better compatibility
- Fix compatibility with Docker Engine 29.0.0 and newer versions
Resolves issues with lazydocker not working with latest Docker clients.
A la lazygit, we can now navigate between panels using numbers
(1,2,3,4,5,6,7)
Add translation for number navigation
reformat
oops
fix translation case & generate docs
pluralize networks
Turns out that upon switching to a subprocess we were cancelling ALL
periodic tasks, which includes re-rendering the main view ever 30ms.
This completely broke our log rendering and meant that it only updated
when an event occurred
Previously we separately obtained container details every second,
meaning there was a second of not knowing whether a given container was
using a TTY or not, and that meant we were using the wrong streaming
method for logs, which led to a black screen.
This commit fix a Portuguese word gender typo "todos as redes" as "redes" (network) represent a female portuguese word. The word "todos" (all) which is a male word should be "todas" (female) to follow the word "as" to match the gender.