| Age | Commit message (Collapse) | Author | Files | Lines |
|
A rich-text QLabel never shrinks below its content, so a slackrepo job
naming many packages widened the window past the screen. Titles longer
than TITLE_MAX characters are cut with an ellipsis; the Jobs tab still
shows them in full.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
New job kind rebuild-tree runs slackrepo_setup_SBo-danix.sh, which now
builds the fresh tree beside the live one and swaps it in. The Jobs
tab gets a Rebuild tree action behind a modal confirm.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Keystone's settings pages edit both configs. config-get returns the VM
config text, the defaults and the path; config-set validates new text
with the same check() as load_config, keeps .bak and replaces the file
atomically. Both run before load_config, so a broken config can still be
read and fixed. The GUI reloads its config when the file changes,
re-adding the watch after an atomic write replaces the inode.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Open in Hints and Open in Packages were plain links at the end of the
pane, below the fold on a long one. ui.nav_button() makes them buttons,
first in the pane; the UI guideline now says navigation buttons. The
Repository description drops slack-desc's 70-column breaks.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Packages, Size, Unpublished (opens the unpublished filter), Last publish,
in place of the one-line summary. CARD_STYLE moves to dashboard.py so
both tabs share it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
A reload or filter that drops the current row left its pane and link up,
and the link then crashed on current() being None (Packages had the same).
A .txz slackrepo replaces between glob and stat is skipped, and any
exception in the scan thread reaches the stats line instead of leaving it
at loading.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
gen_repos_files puts a long package path alone on an indented line, its
text on the next: 78 of 546 packages showed no ChangeLog. A Refresh
overtaken by a later one no longer overwrites the newer scan.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Packages gets a real version compare (new status newer: built ahead of
the target, e.g. a dropped pin) and a hint column with a hint: query
prefix. A new Repository tab reads slackrepo's built package repo from
the local /repo mount: stats, published state, ChangeLog per package.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
README says what the GUI does today and what is planned, which defaults
are the author's setup, and how to set up the VM. The specs move to
docs/design/; the implementation plans are dropped (working files, now
kept out of git). AGENTS.md links slackrepo upstream instead of a local
clone path.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
stats gains "orphans", the packages whose .info says MAINTAINER="orphaned
- no maintainer" (0.14s over the tree on the VM). The placeholder tile
shows the count and opens Packages with only the orphaned chip on.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
hint-update downloads every URL the version bump changed for its md5, not
only the first (a vendor tarball carrying the version kept its old md5).
A package named in the new [manifests] table (default: neovim's
cmake.deps/deps.txt) has its extra DOWNLOAD URLs matched to the deps list
at the new version, by GitHub repo then by stem, and moved where the
version differs: mkhint's url mode. manifest_packages and the refusal of
those packages are gone.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Title is the job (kind and args), body the outcome: succeeded in, failed
with exit code N after, killed after, lost. Icons are freedesktop names:
emblem-default, dialog-error, process-stop, dialog-warning, computer.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
The list with Add and Remove, suggestions (required names no package of
the tree has, with who needs them) to tick and add, and Apply to hints,
which starts fix-current; its end opens the diff dialog with Revert.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
The list moves to phantom_deps_file (/etc/sb-builder/phantom-deps,
mkhint's format), edited with phantom-add/phantom-remove. phantom-list
also suggests every REQUIRES name no package of the repo has, with who
needs it: SBo drops a package when it enters the official tree. The
fix-current job (and fix-current-now, inline for sbshadow) is mkhint -F:
listed deps merged into DELREQUIRES, .bak first, add only.
manifest_packages is neovim alone: openvino lives in the overlay now.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Both emitted layoutChanged without layoutAboutToBeChanged; with a filter
on and a current row, the proxy kept stale persistent indexes and Qt
crashed (Ctrl+Shift+A with orphaned + cat:games closed the app). Only
check states change, so the model now emits dataChanged on the box
column. The new test segfaults on the old code.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
QSettings in state.conf next to config.toml, saved on close: every table
header (widths, sort column) and splitter of the tabs, and the window
geometry. Tests point it at a temp file, never the user's own.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
SBo marks an orphaned package MAINTAINER="orphaned - no maintainer"
(1936 in the tree today); the inventory already carries the maintainer,
so the chip filters in the GUI alone. The shown/selected count moves next
to the search field so the chip row fits the default window width.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Chips get a button background and border, a dot in the color the table
uses for that status, and a muted label per group (overlay, status,
state, result). Search fields get a search icon and a clear button.
Phase 2 spec: why the signing key locks after the GUI quits.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Tabs are permanent and load on first show. The ribbon shows the current
tab's actions in workflow order, a small ribbon under it the view
controls; inapplicable actions are disabled with the reason as tooltip.
Starting a job stays on the tab; the Jobs tab reads (running), then shows
the end status. When a preview this session started ends, its log opens
with Run it (publish box) or Apply shadowing; Not now loses nothing, Run
it in Jobs reopens it. New hint moves to the Packages ribbon and acts on
the ticked packages without a hint.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Each gets the .info pin; Update selected sets a version later. One
package that already has a hint refuses the whole job before it starts.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Rows with only a stanza have no hint and are skipped. The deletes open
the same dialog as a hint job: each removed hint's diff and Revert, which
had no place in the GUI before.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
The highlighted row used to stand in when nothing was ticked; with row
clicks toggling the tick, that ran an action on a row just unticked.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Same as the Hints tab: the box is no longer user-checkable on its own and
one clicked handler toggles the row, so no click counts twice.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
The box is no longer user-checkable on its own, so a click on it is not
counted twice; one cellClicked handler toggles every row click.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
The search field keeps Ctrl+A for its own text.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Same pair as the Packages tab: tick every row the chips and search leave
visible, untick every row.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
'-' is illegal in a SlackBuild version, so dated tags like exploitdb's
2026-10-14 are packaged 2026_10_14 and showed as outdated forever.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Check upstream fills the upstream column and ticks the outdated hints,
Update selected starts hint-update, Delete hint acts on the VM. When a
hint job ends its SBB-RESULT opens a dialog with each changed hint's
diff, Revert per package (once) and Build these. The Packages detail
pane gets New hint and Open in Hints.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
nvchecker.toml moves from the VM into the repo. The GUI runs nvchecker
with its own [__config__] (the keyfile from [hints]) and reads versions
and per-package errors from --logger json; outdated is decided against
the hints, so no oldver, newver or nvtake.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
hint-update and hint-new run the helper's own _hint command: version
bumps as mkhint does them (also '-' and dotless URL forms, never inside
MD5SUM values), a DELREQUIRES-only hint pinned from the .info first, md5
of the first URL of each DOWNLOAD pair, --no-dl as DOWNLOAD="no", .bak
before each write and a final SBB-RESULT line that job-result returns.
hint-diff, hint-revert and hint-delete answer at once. neovim and
openvino are refused until phase 4b. Job ids accept hyphenated kinds.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
mkhint's hint logic moves into sbb-remote and the upstream check runs
nvchecker on the desktop with a config tracked in this repo.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Exec=sb-builder relies on ~/bin being on the session PATH, as for the
other launchers there. setDesktopFileName lets Wayland compositors match
the window to the entry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|